Align enso remote paths with enso-deploy conventions

**Motivations:**
- Project conf remote_data_access should match deploy script variables (absolute paths on target hosts).

**Correctifs:**
- Replace /var/lib/enso/... placeholders with ENSO_REMOTE_ROOT and default docv dossiers-permanents path.
- Use ssh_host_alias values aligned with ENSO_SSH_HOST per env in enso-deploy.env.example.

**Evolutions:**
- Document optional remote_app_root and script references in remote-deployed-data-ssh.md and projects/README.md.
This commit is contained in:
Nicolas Cantu 2026-04-03 18:06:37 +02:00
parent 4d04eed0f3
commit 1265be0d11
3 changed files with 28 additions and 11 deletions

View File

@ -52,8 +52,9 @@ Les chemins **locaux** vers clones (`project_path`, `deploy.repository_root`, et
Bloc optionnel **`smart_ide`** (ignoré par les outils qui ne le lisent pas, ex. parties d**ia_dev** qui ne sélectionnent que leurs champs) :
- **`remote_data_access.environments.<test|pprod|prod>`** : pour chaque environnement,
- **`ssh_host_alias`** : nom d**hôte SSH** tel que défini dans **`~/.ssh/config`** (recommandé : `Host enso-test-app`, `ProxyJump`, `IdentityFile`, etc.).
- **`remote_data_directories`** : liste dobjets `{ "role": "…", "path_on_server": "…" }` décrivant les chemins **sur la machine déployée** (ex. répertoire docv, dossier de pièces jointes, répertoire de dumps). Les chemins sont **indicatifs** : les ajuster sur chaque ferme.
- **`ssh_host_alias`** : nom d**hôte SSH** tel que défini dans **`~/.ssh/config`** (`Host …`). Pour **enso**, le déploiement lit **`ENSO_SSH_HOST`** dans le fichier **`enso-deploy.env`** de lenvironnement (exemples dans **`enso/deploy/enso-deploy.env.example`** : `test`, `pprod`, `prod`). Si votre `Host` local diffère (ex. `enso-test-app`), renseigner **ce** libellé ici pour que les outils SSH du poste ciblent la bonne entrée.
- **`remote_app_root` (optionnel)** : chemin **absolu sur le serveur** de la racine du clone applicatif lorsquil est fixé par les scripts de déploiement. Pour **enso**, même sémantique que **`ENSO_REMOTE_ROOT`** (ex. `/home/ncantu/enso` dans lexemple du dépôt enso ; sous **`$HOME`** sur la cible pour les unités systemd utilisateur, voir commentaire dans **`enso-deploy.env.example`**).
- **`remote_data_directories`** : liste dobjets `{ "role": "…", "path_on_server": "…" }` avec **`path_on_server` en chemin absolu sur la machine déployée**. Pour **enso**, les rôles **`enso_monorepo_clone`** et **`docv_dp_git_data`** reflètent **`ENSO_REMOTE_ROOT`** et le sous-chemin par défaut **`data/dossiers-permanents`** décrit dans **`enso/deploy/enso-deploy.env.example`** et **`enso/docs/features/DOSSIERS_PERMANENTS_DATA_GIT.md`**. Ajuster si **`DOCV_DP_GIT_REPO_ROOT`** / **`DOCV_DP_GIT_DATA_SUBPATH`** sur la cible divergent.
- **`database` (optionnel)** : description **non secrète** du besoin (moteur, stratégie dump) ; pas dURL ni mot de passe dans le JSON versionné.
- **`anythingllm_workspace_slug` (optionnel)** : objet ou chaînes par env — slugs de workspace alignés sur [anythingllm-workspaces.md](../anythingllm-workspaces.md).

View File

@ -17,6 +17,7 @@ Les dépôts sources des produits (ex. backend **docv** sous un chemin du type `
## `enso`
- Fichier : [`enso/conf.json`](./enso/conf.json) — clone **enso** frère du monorepo (`project_path` typique `../enso`), déploiement `deploy/scripts_v2`, forge **4nk/enso** (wiki / issues), mails ticketing `AI.ENSO.*@4nkweb.com`.
- Chemins **absolus sur les serveurs** déclarés sous **`smart_ide.remote_data_access`** (clone, dossiers permanents docv) sont alignés sur **`ENSO_REMOTE_ROOT`**, **`ENSO_SSH_HOST`** et le sous-chemin **`data/dossiers-permanents`** tels que documentés dans le dépôt **enso** (`deploy/enso-deploy.env.example`, sync docv). Les valeurs réelles par ferme restent dans les **`enso-deploy.env`** non versionnés.
- Cron fragment : [`cron/fragments/enso.cron`](../cron/fragments/enso.cron).
- Pour que **`ia_dev`** résolve `projects/enso/conf.json`, créer sous `ia_dev/projects/` un lien symbolique `enso``../../projects/enso` (même principe que `smart_ide`).

View File

@ -47,29 +47,44 @@
"remote_data_access": {
"environments": {
"test": {
"ssh_host_alias": "enso-test-app",
"ssh_host_alias": "test",
"remote_app_root": "/home/ncantu/enso",
"remote_data_directories": [
{
"role": "docv_storage",
"path_on_server": "/var/lib/enso/test/data"
"role": "enso_monorepo_clone",
"path_on_server": "/home/ncantu/enso"
},
{
"role": "docv_dp_git_data",
"path_on_server": "/home/ncantu/enso/data/dossiers-permanents"
}
]
},
"pprod": {
"ssh_host_alias": "enso-pprod-app",
"ssh_host_alias": "pprod",
"remote_app_root": "/home/ncantu/enso",
"remote_data_directories": [
{
"role": "docv_storage",
"path_on_server": "/var/lib/enso/pprod/data"
"role": "enso_monorepo_clone",
"path_on_server": "/home/ncantu/enso"
},
{
"role": "docv_dp_git_data",
"path_on_server": "/home/ncantu/enso/data/dossiers-permanents"
}
]
},
"prod": {
"ssh_host_alias": "enso-prod-app",
"ssh_host_alias": "prod",
"remote_app_root": "/home/ncantu/enso",
"remote_data_directories": [
{
"role": "docv_storage",
"path_on_server": "/var/lib/enso/prod/data"
"role": "enso_monorepo_clone",
"path_on_server": "/home/ncantu/enso"
},
{
"role": "docv_dp_git_data",
"path_on_server": "/home/ncantu/enso/data/dossiers-permanents"
}
]
}