Config e segreti
Separazione tra configurazione, secret env e dati sensibili
Regola base
Config e secret non sono la stessa cosa.
Config documentabile:
- nomi variabili;
- path;
- porta;
- dominio;
- image version;
- network;
- owner operativo.
Secret non documentabile:
- password;
- token;
- API key;
- JWT/private keys;
- cookie;
- certificati privati;
- valori
.envsensibili.
Path config
/opt/obelica/infra/config/infrastructure.env
/opt/obelica/infra/config/domains.env
/opt/obelica/infra/traefik/.env
/opt/obelica/infra/forgejo/.env
/opt/obelica/apps/whoami/.env
/opt/obelica/apps/obelica-docs/.envPath segreti
/opt/obelica/secrets
/opt/obelica/secrets/apps
/opt/obelica/secrets/apps/forgejo.env
/opt/obelica/infra/traefik/letsencrypt/acme.jsonBackup dei segreti
obelica backup non copia i valori dei secret nella parte config.
Produce invece manifest redatti con:
- path;
- owner;
- mode;
- nomi variabili;
- valori sostituiti con
<redacted>.
Attenzione: i dump e gli archivi app-data possono contenere segreti reali. Trattarli come materiale sensibile.
Token Forgejo — stato 2026-07-03
Tutti i token di bootstrap di giugno risultavano gia' revocati. Il 2026-07-03
sono stati revocati anche gli ultimi due token residui (migration-cli e
obelica-docs-push-1782470613, entrambi scope all) e sostituiti con token
a scope minimo:
| Token | Scope | Uso |
|---|---|---|
server-git-ops-20260703 | write:repository | operazioni git del server (~/.git-credentials di bona) |
mac-git-ops-20260703 | write:repository | push/pull dalla workstation via tunnel |
Policy: nessun token con scope all; ogni token nuovo nasce con lo scope
minimo necessario e un nome datato. Lo snapshot pre-revoca e' stato archiviato
nella cartella secrets/ del framework locale sulla workstation e rimosso dal
droplet (2026-07-03 pomeriggio).
Nota post-rotazione: 12 repo in /opt/obelica/repos avevano il vecchio token
embedded nell'URL del remote — fetch/push rotti dopo la revoca. I remote
sono stati normalizzati a http://127.0.0.1:3333/bona/<repo>.git (l'auth passa
dal credential store). Alla prossima rotazione controllare: ~/.git-credentials
di bona, il credential store del runner
(infra/forgejo-runner/obelica-docs/data/.git-credentials) e che nessun remote
abbia credenziali embedded.
Se un push dalla workstation risponde 401, la credenziale nel keychain
macOS e' quella vecchia revocata: sostituirla con il token conservato nel
framework locale (secrets/forgejo-mac-token.txt).
I valori non sono salvati nella documentazione.