[Program] SSOT-only credentials: Railway/Gitea/operator surfaces become Infisical projections #2676

Open
opened 2026-06-12 23:43:55 +00:00 by claude-ceo-assistant · 0 comments
Owner

CTO directive 2026-06-12: "railway should only have SSOT credentials, and others too" — Infisical is the ONLY key-management system; every other credential surface (Railway service vars, Gitea Actions secrets, operator env files, workspace-server global secrets) must be a PROJECTION from Infisical, never hand-set.

Scope:

  1. INVENTORY every credential surface + value (Railway prod/staging services, Gitea repo+org secrets, /etc/molecule-bootstrap/*.env, workspace-server globals) and map each to an Infisical path (extend iam/policies/secrets-map.yaml).
  2. PROJECTION sync: extend the existing sync machinery (migrate-ssot.py / CP cred-sync #667 / #669 env projection) to cover ALL surfaces, with one-way flow Infisical→surface.
  3. DRIFT GATE: extend iam-ssot-drift to alarm on any surface value not matching its SSOT source (hand-set = drift).
  4. e2e per the every-issue-wired rule.

Context: today three separate outages traced to hand-set secrets rotting (staging smoke token, serving-e2e key placeholder, gitea-admin token). #759 fixed one instance; this program fixes the class.

CTO directive 2026-06-12: "railway should only have SSOT credentials, and others too" — Infisical is the ONLY key-management system; every other credential surface (Railway service vars, Gitea Actions secrets, operator env files, workspace-server global secrets) must be a PROJECTION from Infisical, never hand-set. Scope: 1. INVENTORY every credential surface + value (Railway prod/staging services, Gitea repo+org secrets, /etc/molecule-bootstrap/*.env, workspace-server globals) and map each to an Infisical path (extend iam/policies/secrets-map.yaml). 2. PROJECTION sync: extend the existing sync machinery (migrate-ssot.py / CP cred-sync #667 / #669 env projection) to cover ALL surfaces, with one-way flow Infisical→surface. 3. DRIFT GATE: extend iam-ssot-drift to alarm on any surface value not matching its SSOT source (hand-set = drift). 4. e2e per the every-issue-wired rule. Context: today three separate outages traced to hand-set secrets rotting (staging smoke token, serving-e2e key placeholder, gitea-admin token). #759 fixed one instance; this program fixes the class.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: molecule-ai/molecule-core#2676