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 :
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.
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)
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
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Le dépôt neuf
arcodange-org/recodanse-infradécrit en OpenTofu la zonerecodanse.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 decms:Elle crée :
gitea_cicd_recodanse-infra;recodanse-infra-ops: lecture dekvv1/cloudflare/recodanse-infra*etkvv1/ovh/recodanse-infra*(les jetons dédiés), écriture dekvv2/recodanse-infra/*(le jeton du tunnel, les clés R2), rôle Kubernetesrecodanse-infra*;factory__cf_r2_arcodange_tf: l'état OpenTofu dans le bucket R2arcodange-tf;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 pasrecodanse_infra: un_serait refusé par Kubernetes, et des cheminskvv1/cloudflare/recodanse/…ne seraient PAS couverts parkvv1/cloudflare/recodanse-infra*.Preuves
tofu fmt -check -diff terraform.tfvars: 0.tofu consolesurvariables.tf+terraform.tfvars: la nouvelle entrée se convertit au type deapplications(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, puishelm templatedu charthashicorp-vault: letfvarsvit sous ce chart) ; la publication du chart n'a lieu qu'au push surmain.PR liée : arcodange-org/recodanse-infra (premier jet).
🤖 Generated with Claude Code
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.