Obelica Docs
Sicurezza

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 .env sensibili.

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/.env

Path segreti

/opt/obelica/secrets
/opt/obelica/secrets/apps
/opt/obelica/secrets/apps/forgejo.env
/opt/obelica/infra/traefik/letsencrypt/acme.json

Backup 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:

TokenScopeUso
server-git-ops-20260703write:repositoryoperazioni git del server (~/.git-credentials di bona)
mac-git-ops-20260703write:repositorypush/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.

On this page