FEAT: Migration secrets CI — Vault → Infisical dédié Forgejo #104
Labels
No labels
bug
chore
design
dx:ci
dx:database
dx:dotnet
dx:infra
dx:security
dx:tests
dx:ui
etape-1
etape-2
etape-3
etape-4
etape-5
etape-6
etape-7
feature
priority-high
priority-low
priority-medium
security
spec
tech-debt
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
nonobis/Heimdall#104
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Contexte
Les templates CI utilisent HashiCorp Vault (OIDC) pour injecter les secrets (
vault-secrets). Une instance Infisical dédiée pour le Forgejo remplace le Vault.Architecture validée (2026-08-12)
VAULT_URL,VAULT_CLIENT_ID,VAULT_CLIENT_SECRET(déjà créés dans
nonobis/templates— ⚠️ voir la contrainte repo ci-dessous)SONARQUBE_URL,SONARQUBE_TOKEN,DOCKER_USERNAME,DOCKER_PASSWORD,REGISTRY_URL,REGISTRY_USER,REGISTRY_TOKEN,FORGEJO_TOKEN…infisical-secrets: auth universal-auth (client-id/secret depuis les secrets Forgejo) → export du projet Infisical → injection$GITHUB_ENV.⚠️ Contrainte technique Forgejo (vérifiée)
Les secrets d'un repo ne sont PAS accessibles depuis les workflows des AUTRES repos.
VAULT_URL/VAULT_CLIENT_ID/VAULT_CLIENT_SECRETcréés danstemplatesne sont donc pas lisibles par les workflows Heimdall/Sleipnir/Njord.➡️ Action requise : déclarer ces 3 secrets au niveau organisation
nonobis(Settings → Actions → Secrets, une seule fois, accessible par tous les repos) — OU les dupliquer dans chaque repo projet.Fait (templates, prêt à l'emploi)
infisical-secrets: universal-auth → injection$GITHUB_ENV(délimiteur EOF)ci-full/ci-release: inputsecrets-provider(vaultdéfaut |infisical) + inputsinfisical-domain/project-id/client-id/client-secret/envÀ faire
nonobis:VAULT_URL,VAULT_CLIENT_ID,VAULT_CLIENT_SECRET(ou par repo)forgejo-ci) + env prodSONARQUBE_URL,SONARQUBE_TOKEN, Docker, Registry…secrets-provider: infisical(inputs depuissecrets.*)*-ciune fois la bascule validéeCritères d'acceptation
secrets-provider: infisical(secrets lus depuis Forgejo + Infisical)SONARQUBE_URL/SONARQUBE_TOKEN(#101)secrets-provider: vaultcontinue de fonctionnerRéférence
Templates :
infisical-secrets,ci-full,ci-release. Skill :infisical(instance Hermes) — section instance dédiée Forgejo ajoutée.