refactor(minio) — lever la restriction « un seul bucket par app »
Helm Charts / Detect changed charts (pull_request) Successful in 17s
Helm Charts / Detect changed charts (push) Successful in 16s
MinIO / Auth with gitea for vault (pull_request) Failing after 8m32s
MinIO / Tofu - minio IAC (pull_request) Has been skipped
Hashicorp Vault / Auth with gitea for vault (pull_request) Failing after 8m32s
Hashicorp Vault / Tofu - Vault IAC (pull_request) Has been skipped
Helm Charts / Application charts pgcat (push) Has been cancelled
Helm Charts / Library charts tool (push) Has been cancelled
MinIO / Tofu - minio IAC (push) Has been cancelled
MinIO / Auth with gitea for vault (push) Has started running
Helm Charts / Library charts tool (pull_request) Has been skipped
Helm Charts / Application charts pgcat (pull_request) Has been skipped
Helm Charts / Detect changed charts (pull_request) Successful in 17s
Helm Charts / Detect changed charts (push) Successful in 16s
MinIO / Auth with gitea for vault (pull_request) Failing after 8m32s
MinIO / Tofu - minio IAC (pull_request) Has been skipped
Hashicorp Vault / Auth with gitea for vault (pull_request) Failing after 8m32s
Hashicorp Vault / Tofu - Vault IAC (pull_request) Has been skipped
Helm Charts / Application charts pgcat (push) Has been cancelled
Helm Charts / Library charts tool (push) Has been cancelled
MinIO / Tofu - minio IAC (push) Has been cancelled
MinIO / Auth with gitea for vault (push) Has started running
Helm Charts / Library charts tool (pull_request) Has been skipped
Helm Charts / Application charts pgcat (pull_request) Has been skipped
« Pourquoi sommes-nous restreints sur les buckets ? » (fondateur, 26/07) — parce
que JE l'avais décidé, pour rendre tout dérivable d'un seul nom. Rien ne
l'imposait, et la restriction aurait mordu au pas suivant : l'ADR-018 de Kadans
prévoit DEUX paliers de transfert (aperçu 240p régénérable, travail 360p à
garder), donc deux cycles de vie, donc potentiellement deux buckets aux
politiques de purge différentes.
Chaque bucket déclare désormais son app (`app: kadans`). C'est toujours la SEULE
déclaration, au même endroit — mais le nom du bucket redevient libre, et
`kadans-videos` retrouve un nom qui dit ce qu'il contient.
Le compte de service devient par APP et non par bucket : une seule clé, autorisée
sur tous ses buckets et eux seuls. Ajouter un bucket à une app existante ne crée
donc aucune nouvelle clé — le compte existant gagne l'accès. Le secret porte
`MINIO_BUCKETS` (tous) en plus de `MINIO_BUCKET` (le premier), pour que l'app
n'ait pas à les redéclarer de son côté.
Un bucket sans `app:` est ignoré plutôt que de faire échouer le plan : il n'aura
simplement pas de compte de service, ce qui se voit immédiatement et ne casse
rien d'existant.
Vérifié sur le VRAI fichier, pas en théorie : le groupement rend bien
{"kadans" = ["kadans-videos"]}, et avec un second bucket de la même app,
{"kadans" = ["kadans-videos", "kadans-apercus"]} — le cas ADR-018 exact.
tofu fmt propre, tofu validate réussi.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01CoafGWmRVESaWX819USUUA
This commit is contained in:
+11
-5
@@ -61,12 +61,18 @@ minio: &minio_config
|
||||
# Buckets créés au déploiement. `versioning: false` assumé : ces objets sont
|
||||
# DÉRIVÉS et re-générables depuis le master local — versionner doublerait le
|
||||
# stockage pour un filet dont on n'a pas besoin.
|
||||
# ⚠ UN BUCKET PAR APP, NOMMÉ COMME ELLE. Tout en découle sans rien redéclarer :
|
||||
# le compte de service (iac/consumers.tf), le chemin Vault `kvv2/minio/<nom>`,
|
||||
# et la policy que le module central accorde déjà à `kvv2/data/minio/<app>`.
|
||||
# Créer un bucket ici EST la déclaration — il n'y a pas d'autre liste à tenir.
|
||||
# Chaque bucket dit À QUELLE APP il appartient (`app:`) — et c'est la SEULE
|
||||
# déclaration à faire : `iac/consumers.tf` lit ce fichier, groupe les buckets
|
||||
# par app, et provisionne UN compte de service par app, autorisé sur tous SES
|
||||
# buckets. Ses clés atterrissent dans `kvv2/minio/<app>`, que le module Vault
|
||||
# central autorise déjà l'app à lire.
|
||||
#
|
||||
# Une app peut donc avoir PLUSIEURS buckets, aux cycles de vie différents —
|
||||
# l'ADR-018 de Kadans prévoit déjà deux paliers (aperçu 240p régénérable,
|
||||
# travail 360p à garder), qui n'ont pas la même politique de purge.
|
||||
buckets:
|
||||
- name: kadans
|
||||
- name: kadans-videos
|
||||
app: kadans
|
||||
policy: none # privé : l'accès passe par des URL signées (ADR-0002 du dossier)
|
||||
purge: false
|
||||
versioning: false
|
||||
|
||||
Reference in New Issue
Block a user