Vault : le rôle CI de recodanse-infra (gitea_cicd_recodanse-infra) #63

Open
arcodange wants to merge 1 commits from arcodange/role-recodanse-infra into main
Owner

Le dépôt neuf arcodange-org/recodanse-infra décrit en OpenTofu la zone recodanse.fr, ses serveurs de noms chez OVH, le tunnel « recodanse », le stockage R2 et les règles de débit de la bêta (arbitrage du fondateur, 2026-10-07 : « ses propres jetons, un rôle Vault à lui » — kadans-dossier#249).

Une ligne dans hashicorp-vault/iac/terraform.tfvars, sur le modèle de cms :

{
  name                  = "recodanse-infra"
  ops_policies          = ["factory__cf_r2_arcodange_tf"]
  service_account_names = ["cloudflared"]
},

Elle crée :

  • le rôle JWT gitea_cicd_recodanse-infra ;
  • la politique recodanse-infra-ops : lecture de kvv1/cloudflare/recodanse-infra* et kvv1/ovh/recodanse-infra* (les jetons dédiés), écriture de kvv2/recodanse-infra/* (le jeton du tunnel, les clés R2), rôle Kubernetes recodanse-infra* ;
  • factory__cf_r2_arcodange_tf : l'état OpenTofu dans le bucket R2 arcodange-tf ;
  • le compte de service cloudflared (sans usage depuis que le connecteur tourne sur la VM de la bêta ; inoffensif, retirable).

⚠ Le nom fixe tout d'un coup : le rôle, les chemins permis, et le namespace. D'où recodanse-infra (le nom du dépôt) et pas recodanse_infra : un _ serait refusé par Kubernetes, et des chemins kvv1/cloudflare/recodanse/… ne seraient PAS couverts par kvv1/cloudflare/recodanse-infra*.

Preuves

  • tofu fmt -check -diff terraform.tfvars : 0.
  • tofu console sur variables.tf + terraform.tfvars : la nouvelle entrée se convertit au type de applications (envs = ["prod"] par défaut, comme cms).

Effet seulement après le workflow « Hashicorp Vault » (à la demande, passage OIDC). La fusion seule ne déploie rien. Cette PR déclenche Helm Charts (détection, puis helm template du chart hashicorp-vault : le tfvars vit sous ce chart) ; la publication du chart n'a lieu qu'au push sur main.

PR liée : arcodange-org/recodanse-infra (premier jet).

🤖 Generated with Claude Code

Le dépôt neuf `arcodange-org/recodanse-infra` décrit en OpenTofu la zone `recodanse.fr`, ses serveurs de noms chez OVH, le tunnel « recodanse », le stockage R2 et les règles de débit de la bêta (arbitrage du fondateur, 2026-10-07 : « ses propres jetons, un rôle Vault à lui » — kadans-dossier#249). Une ligne dans `hashicorp-vault/iac/terraform.tfvars`, sur le modèle de `cms` : ```hcl { name = "recodanse-infra" ops_policies = ["factory__cf_r2_arcodange_tf"] service_account_names = ["cloudflared"] }, ``` Elle crée : - le rôle JWT `gitea_cicd_recodanse-infra` ; - la politique `recodanse-infra-ops` : lecture de `kvv1/cloudflare/recodanse-infra*` et `kvv1/ovh/recodanse-infra*` (les jetons dédiés), écriture de `kvv2/recodanse-infra/*` (le jeton du tunnel, les clés R2), rôle Kubernetes `recodanse-infra*` ; - `factory__cf_r2_arcodange_tf` : l'état OpenTofu dans le bucket R2 `arcodange-tf` ; - le compte de service `cloudflared` (sans usage depuis que le connecteur tourne sur la VM de la bêta ; inoffensif, retirable). ⚠ Le nom fixe tout d'un coup : le rôle, les chemins permis, et le namespace. D'où `recodanse-infra` (le nom du dépôt) et pas `recodanse_infra` : un `_` serait refusé par Kubernetes, et des chemins `kvv1/cloudflare/recodanse/…` ne seraient PAS couverts par `kvv1/cloudflare/recodanse-infra*`. ## Preuves - `tofu fmt -check -diff terraform.tfvars` : 0. - `tofu console` sur `variables.tf` + `terraform.tfvars` : la nouvelle entrée se convertit au type de `applications` (`envs = ["prod"]` par défaut, comme cms). Effet seulement après le workflow « Hashicorp Vault » (à la demande, passage OIDC). La fusion seule ne déploie rien. Cette PR déclenche `Helm Charts` (détection, puis `helm template` du chart `hashicorp-vault` : le `tfvars` vit sous ce chart) ; la publication du chart n'a lieu qu'au push sur `main`. PR liée : arcodange-org/recodanse-infra (premier jet). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
arcodange added 1 commit 2026-10-07 19:49:54 +02:00
Vault : le rôle CI de recodanse-infra (gitea_cicd_recodanse-infra)
Helm Charts / Detect changed charts (pull_request) Successful in 3m13s
Helm Charts / Library charts tool (pull_request) Skipped
Helm Charts / Application charts alloy (pull_request) Skipped
Helm Charts / Application charts chart (pull_request) Skipped
Helm Charts / Application charts crowdsec (pull_request) Skipped
Helm Charts / Application charts grafana (pull_request) Skipped
Helm Charts / Application charts loki (pull_request) Skipped
Helm Charts / Application charts minio (pull_request) Skipped
Helm Charts / Application charts pgbouncer (pull_request) Skipped
Helm Charts / Application charts pgcat (pull_request) Skipped
Helm Charts / Application charts prometheus (pull_request) Skipped
Helm Charts / Application charts redis (pull_request) Skipped
Helm Charts / Application charts hashicorp-vault (pull_request) Successful in 31s
95f86ffd19
Le dépôt neuf arcodange-org/recodanse-infra décrit en OpenTofu la zone
recodanse.fr, ses serveurs de noms chez OVH, le tunnel « recodanse » et les
règles de débit de la bêta (arbitrage du fondateur, 2026-10-07 : « ses propres
jetons, un rôle Vault à lui »).

Une ligne dans `applications`, sur le modèle de `cms` :
- le rôle JWT `gitea_cicd_recodanse-infra` et la politique `recodanse-infra-ops`
  (lecture de kvv1/cloudflare/recodanse-infra* et kvv1/ovh/recodanse-infra*,
  écriture de kvv2/recodanse-infra/*, rôle Kubernetes recodanse-infra*) ;
- `factory__cf_r2_arcodange_tf`, pour l'état OpenTofu dans le bucket R2 ;
- le compte de service `cloudflared`, qui lit le jeton du tunnel.

Le nom est celui du dépôt, donc celui du namespace qu'ArgoCD lui donnera :
un `_` y serait refusé par Kubernetes.

Effet seulement après le workflow `Hashicorp Vault` (à la demande).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
All checks were successful
Helm Charts / Detect changed charts (pull_request) Successful in 3m13s
Helm Charts / Library charts tool (pull_request) Skipped
Helm Charts / Application charts alloy (pull_request) Skipped
Helm Charts / Application charts chart (pull_request) Skipped
Helm Charts / Application charts crowdsec (pull_request) Skipped
Helm Charts / Application charts grafana (pull_request) Skipped
Helm Charts / Application charts loki (pull_request) Skipped
Helm Charts / Application charts minio (pull_request) Skipped
Helm Charts / Application charts pgbouncer (pull_request) Skipped
Helm Charts / Application charts pgcat (pull_request) Skipped
Helm Charts / Application charts prometheus (pull_request) Skipped
Helm Charts / Application charts redis (pull_request) Skipped
Helm Charts / Application charts hashicorp-vault (pull_request) Successful in 31s
You are not authorized to merge this pull request.
This pull request can be merged automatically.
This branch is out-of-date with the base branch
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin arcodange/role-recodanse-infra:arcodange/role-recodanse-infra
git checkout arcodange/role-recodanse-infra
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/tools#63