docs(runbook) — chapitre « service compagnon » (namespace + stack partagés) #42

Merged
arcodange merged 1 commits from arcodange/runbook-service-compagnon into main 2026-07-24 10:40:14 +02:00
Owner

Le runbook new-web-app couvre très bien l'app autonome (dépôt / base / Vault / namespace propres, tout nommé <app>). Il manquait le cas du service compagnon : un second service qui partage le namespace — et parfois le stack Vault/DB — d'une app existante (une API cœur à côté de son front, une façade d'analyse).

Ce cas a déjà deux précédents vivants non documentés : kadans-jobs (namespace seul) et kadans-api (namespace + base + Vault). Rédiger le déploiement de kadans-api a fait remonter le piège que cette page capture.

Le piège documenté

Le VaultDynamicSecret a besoin d'un CR VaultAuth dans son namespace. Quand un compagnon réutilise le stack d'une app primaire qui ne consomme pas Vault (un front statique, comme kadans), personne n'a créé de VaultAuth — ni le chart du front, ni le compagnon par défaut. Le compagnon doit alors poser le sien, mais pointant le rôle et le SA du primaire (pas les siens) : c'est la seule entorse à la règle « tout est nommé <app> ».

Changements

  • Nouvelle page 09-service-compagnon.md : compagnon vs app autonome (critères) ; les deux formes (sans état / partage Vault+DB) ; le piège du VaultAuth manquant ; carte mermaid ; précédents ; delta de checklist (saute étapes 2 et 5).
  • 07-argocd-register.md : ajoute la ligne namespace: aux options (elle existe dans values.yaml via kadans-jobs, mais n'était pas documentée) ; corrige le callout qui affirmait le namespace « non configurable ».
  • conventions.md : note l'exception compagnon à la règle « tout est <app> ».
  • README.md : entrée 09 dans l'index + Last Updated.

Vérifs

  • VaultAuth d'erp bien nommé auth (claim de la page vérifié contre le chart réel).
  • Connexion via pgbouncer.tools (déjà la doctrine du chapitre 4).
  • Tous les liens internes .md résolus.

Doc pure — aucune ressource déployée modifiée. Indépendante de #41 (fichiers disjoints).

🤖 Generated with Claude Code

Le runbook `new-web-app` couvre très bien l'**app autonome** (dépôt / base / Vault / namespace propres, tout nommé `<app>`). Il manquait le cas du **service compagnon** : un second service qui partage le namespace — et parfois le stack Vault/DB — d'une app existante (une **API cœur** à côté de son front, une **façade d'analyse**). Ce cas a déjà **deux précédents vivants non documentés** : `kadans-jobs` (namespace seul) et `kadans-api` (namespace + base + Vault). Rédiger le déploiement de `kadans-api` a fait remonter le **piège** que cette page capture. ## Le piège documenté Le `VaultDynamicSecret` a besoin d'un CR `VaultAuth` dans son namespace. Quand un compagnon réutilise le stack d'une app primaire **qui ne consomme pas Vault** (un front statique, comme `kadans`), **personne** n'a créé de `VaultAuth` — ni le chart du front, ni le compagnon par défaut. Le compagnon doit alors poser le sien, mais pointant le **rôle et le SA du primaire** (pas les siens) : c'est la seule entorse à la règle « tout est nommé `<app>` ». ## Changements - **Nouvelle page** `09-service-compagnon.md` : compagnon vs app autonome (critères) ; les deux formes (sans état / partage Vault+DB) ; le piège du VaultAuth manquant ; carte mermaid ; précédents ; delta de checklist (saute étapes 2 et 5). - `07-argocd-register.md` : ajoute la ligne **`namespace:`** aux options (elle existe dans `values.yaml` via `kadans-jobs`, mais n'était pas documentée) ; corrige le callout qui affirmait le namespace « non configurable ». - `conventions.md` : note l'exception compagnon à la règle « tout est `<app>` ». - `README.md` : entrée 09 dans l'index + `Last Updated`. ## Vérifs - `VaultAuth` d'`erp` bien nommé `auth` (claim de la page vérifié contre le chart réel). - Connexion via `pgbouncer.tools` (déjà la doctrine du chapitre 4). - Tous les liens internes `.md` résolus. Doc pure — aucune ressource déployée modifiée. Indépendante de #41 (fichiers disjoints). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
arcodange added 1 commit 2026-07-24 10:38:46 +02:00
Le runbook new-web-app couvre l'app autonome (dépôt/base/Vault/namespace propres,
tout nommé <app>). Il manquait le cas du SERVICE COMPAGNON : un second service qui
partage le namespace — et parfois le stack Vault/DB — d'une app existante (API cœur
à côté de son front, façade d'analyse). Deux précédents vivants non documentés :
kadans-jobs (namespace seul) et kadans-api (namespace + base + Vault).

- Nouvelle page 09-service-compagnon.md : compagnon vs app autonome ; les deux
  formes (sans état / partage Vault+DB) ; le PIÈGE du VaultAuth manquant quand
  l'app primaire ne consomme pas Vault (front statique) → le compagnon pose son
  propre VaultAuth mais avec le rôle+SA du PRIMAIRE ; carte, précédents, delta de
  checklist.
- 07-argocd-register.md : ajoute la ligne `namespace:` aux options (elle existait
  dans values.yaml — kadans-jobs — mais n'était pas documentée) ; corrige le
  callout qui affirmait le namespace « non configurable ».
- conventions.md : note l'exception compagnon à la règle « tout est <app> ».
- README.md : entrée 09 dans l'index + Last Updated.

Vérifié : VaultAuth erp nommé `auth` ; connexion via pgbouncer.tools ; liens
internes tous résolus.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
Claude-Session: https://claude.ai/code/session_013ws8L74dVZmp97Wu36fm8j
arcodange merged commit 97b2f49d49 into main 2026-07-24 10:40:14 +02:00
arcodange deleted branch arcodange/runbook-service-compagnon 2026-07-24 10:40:15 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: arcodange-org/factory#42