docs(kogus): centralize secret paths in README; align agents and tracked docs
This commit is contained in:
parent
69427fc263
commit
7610ff437d
@ -99,7 +99,7 @@ Si un point est non applicable (ex. périmètre absent du projet, avec justifica
|
||||
- **Même sans modification de code** (ex. run limité à push + change-to-all-branches) : exécuter les vérifications ci-dessous sur le dépôt du projet et indiquer le résultat par périmètre (Réalisées avec précision, ou Non réalisées encore avec précision).
|
||||
- **Vérifications concrètes obligatoires** :
|
||||
- **3. Helpers** : Parcourir les zones concernées (fichiers modifiés ou build_dirs) ; indiquer « Réalisées » si création/usage de helpers où pertinent, « Non réalisées encore » si duplication ou logique à extraire en helper. Préciser le périmètre concerné.
|
||||
- **4. i18n + env-full** : Vérifier textes en dur dans l'UI, présence de `.secrets/<env>/env-full*` ; « Réalisées » si conforme, « Non réalisées encore » sinon. Préciser.
|
||||
- **4. i18n + env-full** : Vérifier textes en dur dans l'UI, présence des **`env-full-*`** sous **`.secrets/<site>/<env>/`** sur `LECOFFRE_REPO` ; « Réalisées » si conforme, « Non réalisées encore » sinon. Préciser.
|
||||
- **5. Fallback interdits** : Parcourir le code (modifié ou périmètre) pour fallback, valeurs par défaut masquant des erreurs ; « Réalisées » si aucun, « Non réalisées encore » si présents.
|
||||
- **6. Modifications similaires** : Vérifier s'il existe ailleurs dans le dépôt des patterns similaires à appliquer ; « Réalisées » si étendu ou rien à faire, « Non réalisées encore » si à faire. Préciser.
|
||||
- **7. Optimisation / mutualisation / centralisation** : Vérifier duplication ou centralisation possible ; « Réalisées » ou « Non réalisées encore » avec précision.
|
||||
|
||||
@ -38,7 +38,7 @@ Tu appliques les règles ci-dessous **lorsqu'il y a du code à produire** (évol
|
||||
## Liste ordonnée d'actions obligatoires pour coder
|
||||
|
||||
1. **Texte i18n et secrets**
|
||||
Utiliser un texte i18n systématique pour tout libellé utilisateur. Tenir à jour `.secrets/<env>/env-full-<env>-for-bdd-injection.txt` selon l'environnement.
|
||||
Utiliser un texte i18n systématique pour tout libellé utilisateur. Tenir à jour **`env-full-<env>-for-bdd-injection.txt`** sous **`.secrets/<site>/<env>/`** sur le monorepo LeCoffre (voir `docs/features/multi-site-architecture.md`).
|
||||
|
||||
2. **Référence aux standards**
|
||||
Consulter et respecter la page wiki **Code-Standards** du projet (URL dans `projects/<id>/conf.json` → `git.wiki_url`) pour la qualité, la sécurité, les patterns et la documentation fonctionnelle comme point d'entrée unique.
|
||||
|
||||
@ -34,7 +34,7 @@ Chacune des actions ci-dessous est **obligatoire** et doit être réalisée **de
|
||||
| Action | Obligation |
|
||||
| --- | --- |
|
||||
| **Helpers** | Créer ou réutiliser des helpers dès que la logique est réutilisable ; pas de duplication. |
|
||||
| **i18n / env-full** | Textes sous i18n ; variables sensibles et env dans `.secrets/<env>/env-full` ; pas de chaînes en dur. |
|
||||
| **i18n / env-full** | Textes sous i18n ; variables sensibles et env sous **`.secrets/<site>/<env>/env-full-*`** sur le clone LeCoffre (ligne notaire : **`lecoffreio`**) — voir `docs/features/multi-site-architecture.md` ; pas de chaînes en dur. |
|
||||
| **Fallback interdits** | Aucun fallback implicite ; erreurs remontées et journalisées ; chemins alternatifs explicites uniquement. |
|
||||
| **Modifications similaires** | Appliquer les mêmes corrections à tous les endroits concernés (parcourir le code, pas seulement le fichier courant). |
|
||||
| **Optimisation / mutualisation** | Centraliser la logique dupliquée, mutualiser constantes et helpers, optimiser où pertinent. |
|
||||
|
||||
@ -164,7 +164,7 @@ Pour chaque point, indiquer **réalisé** ou **non réalisé** et, le cas éché
|
||||
- **Même sans modification de code dans ce run** : exécuter les vérifications ci-dessous sur le dépôt du projet et indiquer le résultat par périmètre (Réalisées avec précision, ou Non réalisées encore avec précision).
|
||||
- **Vérifications concrètes obligatoires** :
|
||||
- **3. Helpers** : Parcourir les zones concernées (fichiers modifiés ou build_dirs) ; « Réalisées » si création/usage de helpers où pertinent, « Non réalisées encore » si duplication ou logique à extraire. Préciser le périmètre.
|
||||
- **4. i18n + env-full** : Vérifier textes en dur dans l'UI, présence de `.secrets/<env>/env-full*` ; « Réalisées » si conforme, « Non réalisées encore » sinon.
|
||||
- **4. i18n + env-full** : Vérifier textes en dur dans l'UI, présence des **`env-full-*`** sous **`.secrets/<site>/<env>/`** sur `LECOFFRE_REPO` (voir `docs/features/multi-site-architecture.md`) ; « Réalisées » si conforme, « Non réalisées encore » sinon.
|
||||
- **5. Fallback interdits** : Parcourir le code pour fallback, valeurs par défaut masquant des erreurs ; « Réalisées » si aucun, « Non réalisées encore » si présents.
|
||||
- **6. Modifications similaires** : Vérifier patterns similaires à appliquer ailleurs ; « Réalisées » si étendu ou rien à faire, « Non réalisées encore » si à faire.
|
||||
- **7. Optimisation / mutualisation / centralisation** : Vérifier duplication ou centralisation possible ; « Réalisées » ou « Non réalisées encore » avec précision. Si « Non réalisées encore », justification obligatoire par périmètre (voir `.smartIde/agents/closure-point-7-justification.md`).
|
||||
|
||||
@ -8,7 +8,7 @@ Ce document consolide la documentation des APIs externes utilisées par LeCoffre
|
||||
|
||||
### Vue d'ensemble
|
||||
|
||||
Le backend appelle l’API **ai_working_help** pour les opérations **ask** (legacy), **enqueue** et **getResponse**. L’URL de base est configurée via `NOTARY_AI_AGENT_URL`. Le projet et l’env sont identifiés par le token Bearer ; l’API résout le projet via `projects/<id>/.secrets/<env>/ia_token`. Filtrage IP 192.168.1.* côté API.
|
||||
Le backend appelle l’API **ai_working_help** pour les opérations **ask** (legacy), **enqueue** et **getResponse**. L’URL de base est configurée via `NOTARY_AI_AGENT_URL`. Le projet et l’env sont identifiés par le token Bearer ; côté **serveur ia_dev**, l’API résout le projet en parcourant les fichiers **`projects/<id>/.secrets/<env>/ia_token`** (arborescence **ia_dev**, distincte des secrets monorepo LeCoffre sous **`<repository_root>/.secrets/<site>/<env>/`** — voir [README kogus — Chemins secrets](./README.md#chemins-secrets-monorepo-et-legacy)). Filtrage IP 192.168.1.* côté API.
|
||||
|
||||
### Authentification
|
||||
|
||||
|
||||
@ -4,7 +4,9 @@
|
||||
**Version** : 2.0.1
|
||||
**Auteur** : Équipe 4NK
|
||||
|
||||
**Référence unique (checks de déploiement)** : [`docs/DEPLOYMENT.md#cartographie-des-checks-de-déploiement-source-unique`](./DEPLOYMENT.md#cartographie-des-checks-de-déploiement-source-unique)
|
||||
**Référence unique (checks de déploiement)** : [`Deployment.md`](./Deployment.md).
|
||||
|
||||
**Chemins disque (monorepo LeCoffre)** : [README — Chemins secrets](./README.md#chemins-secrets-monorepo-et-legacy). Pour les exemples ci-dessous, **`SECRETS_LINE_DIR`** = typiquement **`.secrets/lecoffreio/<env>/`** après migration multisite.
|
||||
|
||||
---
|
||||
|
||||
@ -581,19 +583,19 @@ Tous les paramètres système sont stockés dans la table `system_configuration`
|
||||
|
||||
**Script** : `npm run config:import-env`
|
||||
|
||||
**Fichiers** : `.secrets/<env>/env-full-<env>-for-bdd-injection.txt`
|
||||
**Fichiers** : **`SECRETS_LINE_DIR/env-full-<env>-for-bdd-injection.txt`** (voir [README — Chemins secrets](./README.md#chemins-secrets-monorepo-et-legacy))
|
||||
|
||||
**Exécution** :
|
||||
```bash
|
||||
cd /home/debian/sites/<env>-lecoffreio.4nkweb.com
|
||||
set -a && source .secrets/<env>/.env.<env> && set +a
|
||||
set -a && source SECRETS_LINE_DIR/.env.<env> && set +a
|
||||
# Note: scripts_v2 utilise systemd. Sur le serveur, dans le répertoire backend :
|
||||
cd lecoffre-back-main && npm run config:import-env -- --env <env>
|
||||
```
|
||||
|
||||
**Ce que fait le script** :
|
||||
|
||||
- Lit `.secrets/<env>/env-full-<env>-for-bdd-injection.txt`
|
||||
- Lit **`SECRETS_LINE_DIR/env-full-<env>-for-bdd-injection.txt`**
|
||||
- Exclut les variables `DATABASE_*`
|
||||
- Crée ou met à jour chaque variable dans la BDD
|
||||
- Catégorise automatiquement selon le mapping
|
||||
@ -777,7 +779,7 @@ LeCoffre.io dispose d'un système pour recréer et importer une base de données
|
||||
|
||||
**Usage** :
|
||||
```bash
|
||||
# Reset avec le fichier par défaut (.secrets/test/bdd.test)
|
||||
# Reset avec le fichier par défaut (ex. SECRETS_LINE_DIR/bdd.test → .secrets/lecoffreio/test/bdd.test)
|
||||
./deploy/scripts/build-and-deploy.sh test --resetDatabase
|
||||
|
||||
# Reset avec un dump spécifique
|
||||
@ -795,7 +797,7 @@ Après **chaque** reset/import, exécuter immédiatement :
|
||||
|
||||
```bash
|
||||
cd /home/debian/sites/<env>-lecoffreio.4nkweb.com
|
||||
set -a && source .secrets/<env>/.env.<env> && set +a
|
||||
set -a && source SECRETS_LINE_DIR/.env.<env> && set +a
|
||||
# Note: scripts_v2 utilise systemd. Sur le serveur, dans le répertoire backend :
|
||||
cd lecoffre-back-main && npm run config:import-env -- --env <env>
|
||||
```
|
||||
@ -940,9 +942,9 @@ psql ... -c "SELECT COUNT(*) FROM role_permissions_matrix;"
|
||||
|
||||
### Fichiers de configuration
|
||||
|
||||
- **Variables d'environnement** : `.secrets/<env>/.env.<env>`
|
||||
- **Injection BDD** : `.secrets/<env>/env-full-<env>-for-bdd-injection.txt`
|
||||
- **Dumps SQL** : `.secrets/<env>/bdd.<env>`
|
||||
- **Variables d'environnement (ligne site)** : **`SECRETS_LINE_DIR/.env.<env>`** (ex. `.secrets/lecoffreio/<env>/.env.<env>`)
|
||||
- **Injection BDD** : **`SECRETS_LINE_DIR/env-full-<env>-for-bdd-injection.txt`**
|
||||
- **Dumps SQL** : **`SECRETS_LINE_DIR/bdd.<env>`**
|
||||
|
||||
---
|
||||
|
||||
|
||||
@ -2,6 +2,8 @@
|
||||
|
||||
**Référence** : `deploy/scripts_v2/deploy.sh`, `deploy/scripts_v2/import-v1.sh`
|
||||
|
||||
**Chemins disque (monorepo LeCoffre)** : [README — Chemins secrets](./README.md#chemins-secrets-monorepo-et-legacy). Dans les tableaux ci-dessous, **`SECRETS_LINE_DIR`** = typiquement **`.secrets/lecoffreio/ENV/`** pour l’import V1 (ligne notaire).
|
||||
|
||||
---
|
||||
|
||||
## 1. Script principal de déploiement (`deploy.sh`)
|
||||
@ -15,14 +17,13 @@
|
||||
|
||||
| Fichier local | Destination cible |
|
||||
| --------------------------------------------------- | ----------------------------------------------------------------------- |
|
||||
| `.secrets/ENV/env-full-ENV-for-bdd-injection.txt` | `$APP_ROOT/deploy/env-full-ENV-for-bdd-injection.txt` |
|
||||
| `.secrets/ENV/.env.ENV.connectDB` | via `deploy.sh` → `/etc/lecoffreio/<domain>/connectDB.env` |
|
||||
| `SECRETS_LINE_DIR/env-full-ENV-for-bdd-injection.txt` (ex. `.secrets/lecoffreio/ENV/`) | `$APP_ROOT/deploy/env-full-ENV-for-bdd-injection.txt` |
|
||||
| `SECRETS_KOGUS_DIR/.env.ENV.connectDB` ou résolution `connect-db-paths` (voir LeCoffre) | via `deploy.sh` / cible (fichiers sous `APP_ROOT` ou `.secrets/...` selon phase) |
|
||||
|
||||
### Prérequis déploiement standard
|
||||
|
||||
|
||||
- **`.secrets/<env>/.env.<env>`** (ex. `.secrets/test/.env.test`) : connexion SSH et config déploiement (DEPLOY_SSH_*, etc.) — à ne pas confondre avec connectDB.
|
||||
- `.secrets/ENV/.env.ENV` avec variables `DEPLOY_*`
|
||||
- **`.env.<env>`** ligne site (**`SECRETS_LINE_DIR`**) et/ou **`.secrets/kogus/<env>/.env.<env>`** (orchestrateur) : variables `DEPLOY_*`, SSH — ne pas confondre avec **connectDB** (voir LeCoffre `docs/features/secrets-multisite-kogus-and-sites.md`).
|
||||
- Clé SSH configurée (proxy 4nk.myftp.biz)
|
||||
- `env-full-ENV-for-bdd-injection.txt` (optionnel mais recommandé pour build frontend et setSettings)
|
||||
|
||||
@ -140,7 +141,7 @@ Pour le détail des flux (qui lit/écrit, où), voir **docs/OPERATIONS.md** sect
|
||||
|
||||
- **Import au déploiement** (`import-v1-data-direct-into-v2.sh`) : V1 strictement en lecture (SELECT, pg_dump, COPY TO STDOUT) ; toutes les écritures (INSERT, UPDATE, TRUNCATE, ANALYZE) ciblent V2 uniquement via `psql_admin` (base DATABASE_NAME).
|
||||
- **Sync au login** (backend `V1ToV2LoginSyncService`) : connexion V1 en lecture seule (SELECT, scoped by user offices) ; upsert et ancrage uniquement en V2 (Prisma).
|
||||
- **backend.env** : n'existe plus sur les cibles ; sauvegardé dans `.secrets/<env>/backup/` puis supprimé à chaque sync. Source unique BDD : `.env.<env>.connectDB`.
|
||||
- **backend.env** : n'existe plus sur les cibles ; sauvegardé sous le répertoire secrets utilisé pour les backups (souvent **`SECRETS_LINE_DIR/backup/`** ou équivalent documenté sur la cible) puis supprimé à chaque sync. Source unique BDD : **`.env.<env>.connectDB`** résolu par les scripts (voir LeCoffre `remote/_lib.sh`).
|
||||
|
||||
---
|
||||
|
||||
|
||||
@ -4,7 +4,9 @@
|
||||
**Date** : 2026-01-XX
|
||||
**Version** : 2.0.0
|
||||
|
||||
**Référence unique (checks de déploiement)** : [`docs/DEPLOYMENT.md#cartographie-des-checks-de-déploiement-source-unique`](./DEPLOYMENT.md#cartographie-des-checks-de-déploiement-source-unique)
|
||||
**Référence unique (checks de déploiement)** : [`Deployment.md`](./Deployment.md) (cartographie des checks — fichier **`Deployment.md`** à la racine de ce dossier).
|
||||
|
||||
**Chemins disque (monorepo LeCoffre)** : [README — Chemins secrets](./README.md#chemins-secrets-monorepo-et-legacy). Dans la suite, **`SECRETS_LINE_DIR`** = typiquement **`.secrets/lecoffreio/<env>/`** pour la ligne notaire après migration multisite ; **`SECRETS_KOGUS_DIR`** = **`.secrets/kogus/<env>/`**.
|
||||
|
||||
## 📋 Vue d'Ensemble
|
||||
|
||||
@ -84,7 +86,7 @@ Les RIB en V1 étaient stockés en clair sur S3. En V2, ils sont chiffrés avec
|
||||
|
||||
#### Variables V2 (Application Production)
|
||||
|
||||
Les variables suivantes sont définies dans `.secrets/<env>/infos_v2.json` et sont **utilisées par l'application V2 en production**.
|
||||
Les variables suivantes sont définies dans **`SECRETS_LINE_DIR/infos_v2.json`** (canonique) ou, en **legacy**, `.secrets/<env>/infos_v2.json`, et sont **utilisées par l'application V2 en production**.
|
||||
|
||||
**Base de Données** :
|
||||
|
||||
@ -137,7 +139,7 @@ Les variables suivantes sont définies dans `.secrets/<env>/infos_v2.json` et so
|
||||
|
||||
#### Variables Migration V1 (Ne PAS utiliser en V2)
|
||||
|
||||
Les variables suivantes sont définies dans `.secrets/<env>/infos.json`, `.secrets/<env>/infos_v1.json` et, pour la BDD V1, dans `.secrets/<env>/.env.<env>.connectDB` (DATABASE_V1_*). Elles sont **uniquement utilisées par les scripts de migration V1 vers V2**. Elles ne doivent **JAMAIS** être utilisées par l'application V2 en production.
|
||||
Les variables suivantes sont définies dans **`SECRETS_LINE_DIR/infos.json`**, **`SECRETS_LINE_DIR/infos_v1.json`** et, pour la BDD V1, dans **`SECRETS_LINE_DIR/.env.<env>.connectDB`** ou **`SECRETS_KOGUS_DIR/.env.<env>.connectDB`** selon où les scripts résolvent le **connectDB** (voir LeCoffre `remote/_lib.sh` / `connect-db-paths.sh`). En **legacy** plat : `.secrets/<env>/...`. Elles sont **uniquement utilisées par les scripts de migration V1 vers V2**. Elles ne doivent **JAMAIS** être utilisées par l'application V2 en production.
|
||||
|
||||
**Scaleway S3 (Migration uniquement)** :
|
||||
|
||||
@ -197,12 +199,12 @@ L'application V2 **ne charge JAMAIS** directement les fichiers `infos.json` ou `
|
||||
|
||||
**Fichiers utilisés** :
|
||||
|
||||
- `.secrets/<env>/env-full-<env>-for-bdd-injection.txt` : Variables injectées dans `system_configuration`
|
||||
- **`SECRETS_LINE_DIR/env-full-<env>-for-bdd-injection.txt`** : variables injectées dans `system_configuration` (legacy : `.secrets/<env>/env-full-<env>-for-bdd-injection.txt`)
|
||||
- **PAS** `infos.json` ou `infos_v1.json` pour l'application V2
|
||||
|
||||
**Scripts de Migration V1** :
|
||||
|
||||
Les scripts de migration V1 chargent les credentials BDD V1 depuis `.secrets/<env>/.env.<env>.connectDB` (DATABASE_V1_*). Ils peuvent charger depuis `infos.json` **uniquement** pour :
|
||||
Les scripts de migration V1 chargent les credentials BDD V1 depuis le **connectDB** résolu (**`SECRETS_KOGUS_DIR/.env.<env>.connectDB`** ou **`SECRETS_LINE_DIR/.env.<env>.connectDB`**, selon phase — voir LeCoffre `deploy/scripts_v2/remote/_lib.sh`) ; en **legacy** : `.secrets/<env>/.env.<env>.connectDB` (DATABASE_V1_*). Ils peuvent charger depuis `infos.json` **uniquement** pour :
|
||||
|
||||
- Variables Scaleway S3 (migration fichiers V1 → V2)
|
||||
|
||||
@ -245,9 +247,9 @@ Les variables Scaleway sont **isolées** pour la migration uniquement :
|
||||
|
||||
#### Fichiers de Configuration
|
||||
|
||||
**Structure** :
|
||||
**Structure** (équivalente sous **`SECRETS_LINE_DIR`** ; plat historique = **`.secrets/<env>/`** ) :
|
||||
```text
|
||||
.secrets/<env>/
|
||||
SECRETS_LINE_DIR/ # ex. .secrets/lecoffreio/<env>/
|
||||
├── infos_v2.json # Variables utilisées par l'application V2 (PRODUCTION)
|
||||
├── infos-migration-scaleway.json # Variables Scaleway S3 (migration uniquement, PRIORITÉ)
|
||||
├── infos.json # Variables migration V1 (NE PAS UTILISER EN V2, fallback Scaleway)
|
||||
@ -307,7 +309,7 @@ Les variables Scaleway sont **isolées** pour la migration uniquement :
|
||||
- `.env.<env>.connectDB` : Credentials base de données
|
||||
- `env-full-<env>-for-bdd-injection.txt` : Variables supplémentaires
|
||||
|
||||
**Scripts hors déploiement** (dans `deploy/scripts_v2`) : tous les scripts qui se connectent à la base sans être des scripts de déploiement (ex. ensure-license, check-logs-and-db, ensure-role-permissions-matrix, promote-super-admins, seed-site-texts, reanchor-all, etc.) utilisent `.secrets/<env>/.env.<env>.connectDB` pour la connexion à la base. Les scripts de déploiement (deploy-app, migrate-resolve-database, prisma-baseline, set-settings, reset-database-from-schema-export, apply-connectdb, install-systemd-units) utilisent `.env.<env>.connectDB` (backend.env n'est plus utilisé ; voir OPERATIONS.md).
|
||||
**Scripts hors déploiement** (dans `deploy/scripts_v2`) : ils résolvent le **connectDB** via **`load_connectdb_v2`** sur la cible (chemin **imbriqué** canonique — voir [README — Chemins secrets](./README.md#chemins-secrets-monorepo-et-legacy)) ; en **legacy** seulement, lecture depuis **`.secrets/<env>/.env.<env>.connectDB`**. Les scripts de déploiement (deploy-app, migrate-resolve-database, prisma-baseline, set-settings, reset-database-from-schema-export, apply-connectdb, install-systemd-units) utilisent `.env.<env>.connectDB` (backend.env n'est plus utilisé ; voir OPERATIONS.md).
|
||||
|
||||
### Utilisation des Variables V2
|
||||
|
||||
@ -693,7 +695,7 @@ export default MyService;
|
||||
|
||||
- [ ] **Extraction des clés V1** (si pas déjà fait)
|
||||
```bash
|
||||
./deploy/scripts_v2/backup/extract-v1-file-keys.sh .secrets/<env>/bdd.<env>
|
||||
./deploy/scripts_v2/backup/extract-v1-file-keys.sh SECRETS_LINE_DIR/bdd.<env> # ex. .secrets/lecoffreio/test/bdd.test
|
||||
```
|
||||
|
||||
- [ ] **Récupération des fichiers** : Déchiffrement V1 → Re-chiffrement V2
|
||||
|
||||
@ -4,6 +4,21 @@
|
||||
**Wiki** : https://git.4nkweb.com/4nk/lecoffre_ng/wiki
|
||||
**Correspondance fichier → page wiki** : nom du fichier sans `.md`, `_` → `-`, title-case par segment (ex. `README.md` → Readme, `Operations.md` → Operations).
|
||||
|
||||
## Chemins secrets (monorepo et legacy)
|
||||
|
||||
Cette section évite de dupliquer les tableaux détaillés dans chaque page de ce dossier. Elle vise le clone **LeCoffre** (`deploy.repository_root` dans `projects/kogus/conf.json`). Elle ne décrit **pas** l’arborescence interne des jetons **ia_dev** sous **`projects/<id>/.secrets/...`** (ex. fichier **`ia_token`** par projet), qui reste propre au dépôt **ia_dev**.
|
||||
|
||||
| Rôle | Chemin canonique (scripts `deploy/scripts_v2`, `deploy-site.sh`) |
|
||||
|------|------------------------------------------------------------------|
|
||||
| Secrets par **ligne produit** (`SITE_CODE` / 2ᵉ argument de `deploy-site.sh`) | **`.secrets/<site>/<env>/`** avec **`<site> ∈ { lecoffreio, enso, genealogie }`** |
|
||||
| **Kogus** (orchestrateur SSH, `connectDB` partagé, précontrôle `deploy-site.sh`) | **`.secrets/kogus/<env>/`** (`.env.<env>`, `.env.<env>.connectDB`) |
|
||||
|
||||
**Documentation canonique (dépôt LeCoffre, branche suivie)** : `docs/features/multi-site-architecture.md`, `docs/features/secrets-multisite-kogus-and-sites.md`, `docs/features/secrets-devai-kogus-sites-and-imports.md`, `docs/features/multisite-data-policy-lecoffre-vs-ia-dev.md`, manifeste `deploy/secrets-layout-manifest.json`. Exemple d’URL Gitea (adapter la branche) : `https://git.4nkweb.com/4nk/kogus/src/branch/test/docs/features/multi-site-architecture.md`.
|
||||
|
||||
**Legacy** : arbre **plat** **`.secrets/<env>/`** uniquement en phase de migration ; pont **symlinks** documenté avec **`LECOFFRE_LEGACY_FLAT_SECRETS_SYMLINKS=1`** côté orchestration **ia_dev** — état cible = répertoires **réels** par **`<site>`**.
|
||||
|
||||
Les pages **MIGRATION**, **DATABASE_COMPLETE**, **Frontend**, **IMPORT_V1_DEPENDENCIES** peuvent encore mentionner **`.secrets/<env>/`** pour l’historique V1→V2 : pour un déploiement multisite aligné, lire **`.secrets/lecoffreio/<env>/`** (ligne notaire) ou le **`<site>`** réel à la place du plat.
|
||||
|
||||
## Pages disponibles (docs/ racine)
|
||||
|
||||
| Fichier | Page wiki | Description |
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user