Skip to content

chore: delete the dead auth-config.json tail and the stray EFS RFC - #5579

Merged
viktormarinho merged 4 commits into
mainfrom
chore/root-cleanup
Aug 3, 2026
Merged

chore: delete the dead auth-config.json tail and the stray EFS RFC#5579
viktormarinho merged 4 commits into
mainfrom
chore/root-cleanup

Conversation

@viktormarinho

@viktormarinho viktormarinho commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Root-of-repo cleanup. Two strays that landed via #5575 (a sandbox-daemon PR that swept in local files), plus the entire dead tail behind one of them.

auth-config.json is dead — everywhere

Auth is configured by AUTH_* environment variables (apps/api/src/auth/auth-env.ts); core/config.ts explicitly warns and ignores an auth key if it finds one in a config file. Nothing reads auth-config.json. Its tail, all deleted/fixed:

where what
auth-config.json (root) tracked since #5575, read by nothing — deleted
apps/api/auth-config.example.json example of a format nothing parses — deleted
tests/resilience/auth-config.test.json referenced by nothing — deleted
.github/workflows/e2e.yml wrote the file before every e2e run, for nothing — step deleted
.cursor/worktrees.json copied a file that doesn't exist — line deleted
apps/api/src/auth/index.ts header claimed the exact opposite of reality ("file-based, not environment variables") — fixed
AGENTS.md (CLAUDE.md) config line, config.example.json pointer, .gitignore entry stale — fixed/removed
deploy/helm/studio/README.md documented a configmap-auth.yaml template that does not exist in templates/section removed, following sections renumbered
deploy/helm/studio/README.md + examples/secrets-example.yaml still documented configMap.authConfig values and a second deco-studio-auth-secrets Secret with camelCase keys (googleClientId, …) — nothing in the chart consumes either (no template references them since #3048). Replaced with the real mechanism: AUTH_* env keys via envFrom

efs-spec.md — deleted

An L2 golden-cache RFC draft that landed at the root in #5575. Referenced by nothing in the repo.

decostudio-alias/ — left at the root, on purpose

Answered while here: it's the published npm alias (bunx decostudio → runs decocms) with its own publish workflow (publish-decostudio-npm.yaml). It lives at the root deliberately — the workspaces globs are apps/* and packages/*, and moving it into packages/ would make it a workspace member, which would workspace-link its "decocms": "*" dependency to the local package instead of resolving against the npm registry. Not junk; not moved.

apps/api/spec/ — deleted

Initially left as "historical", then confirmed useless: 001.md describes the file-based auth-config.json design that #3048/#5120 replaced with AUTH_* env vars, plus the pre-split architecture. Its two referrers went with it: the apps/api README link, and the add-mcp-tools skill's "Document in Spec" step — which was instructing contributors to document new tools inside a spec describing a system that no longer exists. monitoring-share-plugin.md had zero referrers.

Verified against the real deployment (decocms/deco-apps-cd)

Cloned the CD repo and checked how prod/stg actually configure auth. Both apps/deco-studio/values.yaml and deco-studio-stg carry a full configMap.authConfig block (google, resend, magic-link) that renders to nothing — chart 0.12.4 (the exact pinned version) has no template consuming it. Auth works in prod because the ExternalSecret pulls AUTH_* keys from AWS Secrets Manager into the one K8s Secret the deployment envFroms. So: prod never depended on any of what this PR deletes, and the stale chart docs already claimed their first victim — the prod values file itself. (Cleaning those dead blocks out of deco-apps-cd is a follow-up in that repo.)

Testing

  • bun run check clean (all 14 workspaces), bun run lint at baseline, knip exit 0.
  • bun test apps/api/src/auth green.
  • Post-cleanup grep for auth-config in tracked code: only the historical spec and apps/web's unrelated auth-config-provider.tsx (a frontend provider, different thing that happens to share the name).

Auth moved to AUTH_* environment variables (auth-env.ts) — core/config.ts even
warns that a config-file 'auth' key is ignored. Nothing reads auth-config.json
anymore, but its tail survived everywhere:

- auth-config.json at the repo root: snuck in via #5575 (a sandbox-daemon PR),
  tracked ever since, read by nothing. Deleted.
- apps/api/auth-config.example.json, tests/resilience/auth-config.test.json:
  referenced by nothing. Deleted.
- .github/workflows/e2e.yml wrote the file before every run — for nothing.
  Step deleted.
- .cursor/worktrees.json copied a file that does not exist. Line deleted.
- apps/api/src/auth/index.ts's header claimed the exact opposite of reality
  ('file-based, not environment variables'). Fixed, with the .gitignore entry,
  the AGENTS.md config line, and config.example.json's pointer.
- deploy/helm/studio/README.md documented a configmap-auth.yaml template that
  does not exist in templates/. Section removed, following ones renumbered.

efs-spec.md (an L2 golden-cache RFC draft) also landed at the root in #5575.
Deleted — it was never referenced by anything in the repo.

Not touched: decostudio-alias/ stays at the root on purpose — it is the
published npm alias (decostudio → decocms) with its own publish workflow, and
it must stay OUT of the workspaces globs so its 'decocms': '*' dependency
resolves against the registry instead of being workspace-linked. spec/001.md's
auth-config mentions are a historical design document and were left alone.
…othing

The chart has had no template consuming .Values.configMap.authConfig or
secret.authConfigSecretName since configmap-auth.yaml was deleted (#3048,
env-var auth) — but the README and examples/secrets-example.yaml kept
documenting both, including a second Secret with camelCase keys
(googleClientId, resendApiKey) the server never reads. This is an active
trap: the real prod values in deco-apps-cd carry a full authConfig block
(google, resend, magic-link) that renders to nothing — auth there actually
works because the ExternalSecret feeds AUTH_* keys via envFrom.

README now shows the real mechanism (AUTH_* in meshConfig/Secret, schema in
apps/api/src/auth/auth-env.ts) and the example Secret carries AUTH_* keys.
001.md described the file-based auth-config.json design that #3048/#5120
replaced with AUTH_* env vars, plus a pre-split architecture; nothing links to
it except its README entry and one step of the add-mcp-tools skill, both
removed (the skill's 'Document in Spec' step told contributors to document new
tools in a file that described a system that no longer exists).
monitoring-share-plugin.md was referenced by nothing at all.
Stale editor config from 2024 (last touched in #1218); the paths it excluded
no longer exist in the repo.
@viktormarinho
viktormarinho enabled auto-merge (squash) August 3, 2026 03:15
@viktormarinho
viktormarinho merged commit 868fd3e into main Aug 3, 2026
28 checks passed
@viktormarinho
viktormarinho deleted the chore/root-cleanup branch August 3, 2026 03:18
decocms Bot pushed a commit that referenced this pull request Aug 3, 2026
PR: #5579 chore: delete the dead auth-config.json tail and the stray EFS RFC
Bump type: patch

- decocms (apps/api/package.json): 4.160.6 -> 4.160.7
- @decocms/native (apps/native/package.json): 4.160.6 -> 4.160.7

Deploy-Scope: server
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant