Files
Cibello-app/docs/SECRETS.md
T
Sven (AAMOS AI) c32a7e33c7
CI / Typecheck, test & build (push) Failing after 2s
ci: trigga på master + formatfix inför Gitea Actions
2026-08-13 17:25:14 +07:00

3.1 KiB

Hemligheter och miljövariabler — Cibello

Enda sanningskälla: AWS Systems Manager Parameter Store (/cibello/prod/* i eu-north-1). Serverns /opt/cibello-platform/.env härleds ALLTID ur SSM via sync-env-from-ssm.py. Inga handkopior får drifta.

SSM-parameter → env-var

SSM-parameter Miljövariabel Kommentar
/cibello/prod/aamos-api-key AAMOS_API_KEY Endast när AAMOS_MODE=http
/cibello/prod/db-password byggd in i DATABASE_URL / TEST_DATABASE_URL RDS-användare cibello_admin
/cibello/prod/entitlement-signing-secret ENTITLEMENT_SIGNING_SECRET Signerar prenumerationsrättigheter
/cibello/prod/eoc-push-token EOC_PUSH_TOKEN Ops-summary push till EOC
/cibello/prod/gemini-api-key GEMINI_API_KEY AAMOS_MODE=gemini
/cibello/prod/google-service-account-json GOOGLE_SERVICE_ACCOUNT_JSON Google Play service account (JSON)
/cibello/prod/jwt-access-secret JWT_ACCESS_SECRET Access-token-signering
/cibello/prod/jwt-refresh-secret JWT_REFRESH_SECRET Refresh-token-signering
/cibello/prod/smtp-pass SMTP_PASS SMTP-lösen för hello@cibello.app

Föråldrade / dubbla parametrar (rensas vid tillfälle): /cibello/prod/entitlement-signing, /cibello/prod/jwt-access, /cibello/prod/jwt-refresh.

Icke-hemliga värden

Följande ligger fortfarande hårdkodade i infrastructure/deployment/sync-env-from-ssm.py och kan flyttas till SSM (String-typ) om de behöver ändras ofta:

  • API_BASE_URL, VITE_API_BASE_URL, CORS_ORIGINS
  • S3_BUCKET, S3_REGION, S3_MODE
  • GEMINI_MODEL, GEMINI_TIMEOUT_MS, GEMINI_DAILY_BUDGET_USD
  • DATABASE_CA_CERT, DB-host/name/user (kan överstyras via env)

Rotation

  1. Skriv nytt värde till SSM:
    aws ssm put-parameter --name /cibello/prod/<namn> --value '<värde>' --type SecureString --overwrite --region eu-north-1
  2. Kör på prod-servern:
    python3 /opt/cibello-platform/infrastructure/deployment/sync-env-from-ssm.py
  3. Starta om API + worker.
  4. Verifiera /readyz och kör röktest.

Regler

  • Aldrig committa .env, secrets eller nycklar.
  • Aldrig skriva secrets i chatt, loggar eller shell-historik (set +x).
  • Produktionsserverns instansroll (cibello-app) har endast ssm:GetParameter; skrivrättigheter kräver gateway-operator med platform-admin.
  • RDS-lösenordet roteras med både ALTER ROLE ... WITH PASSWORD och SSM-uppdatering; sync-env-from-ssm.py bygger om DATABASE_URL automatiskt.