The chart's appVersion is 1.0.0-beta.63. Authup beta.64 changes the process topology, configuration document, and image filesystem layout, so the next chart release must move all three together.
Release blockers
1. Retire the old admin-console workload
adminConsole.enabled currently deploys the retired client/admin-console process. Replace that workload and remove _admin-console-env.tpl, the NUXT_PUBLIC_* / NUXT_API_URL wiring, the second-origin URL model, and the TRUSTED_ORIGINS auto-append for that origin.
The supported CLI roles are:
authup start: API plus every enabled console on one listener (the default)authup start core: API and IdP onlyauthup start worker: background worker only; no listener and no migrationsauthup start console [admin|account|auth]: one console service, or every enabled console, on the configured console ports
Do not emit the retired server/core prefix. Do not use authup core, authup worker, authup console ..., or authup start --worker; all exit 1.
2. Mount the configuration where beta.64 reads it
Both configuration ConfigMaps must use the key authup.yml and mount it as:
mountPath: /etc/authup/authup.ymlsubPath: authup.yml
The image runs from /opt/authup and passes --configDirectory /etc/authup, so keeping the old mount path leaves server.configuration unread. The document uses unprefixed sections (core:, adminConsole:, accountConsole:, authConsole:, theme:); server.core.* and the rest of the server.* namespace are retired.
3. Move provisioning and log storage to the new paths
- Replace
WRITABLE_DIRECTORY_PATH with PROVISIONING_DIRECTORY_PATH and mount operator-authored provisioning at /etc/authup/provisioning (the variable names the directory itself). - Set
LOG_DIRECTORY_PATH=/var/log/authup and provide a writable volume there when readOnlyRootFilesystem is enabled. - Remove
/var/lib/authup and WRITABLE_DIRECTORY_PATH from reserved values and templates.
Without these changes file provisioning silently stops and file logging violates the chart's read-only-root claim.
Decided topology
- Keep the single
authup start Deployment as the default. It needs no split routing and works without Redis at one replica. - Repurpose
templates/admin-console/ and add sibling account-console/ and auth-console/ workloads. Each runs authup start console <name> and exposes its configured console port. - Console services hold no credential, database, Redis connection, migrations, or worker components. They serve at the root of their listener, so ingress rules must strip
/console/<name> before forwarding. - Keep these cookie-login routes on the API workload with exact-match precedence:
/console/admin/login/start, /console/admin/callback, /console/account/login/start, and /console/account/callback. - Route every other path under each console URL to that console service. Mount the theme ConfigMap on the console pods.
- On every split console workload set
INTERNAL_URL=http://<server-fullname>:<core-port>. authup start console deliberately does not derive this value; without it server-side console calls go through the public ingress and can 502. - Redis remains required when the API workload has multiple replicas; sqlite cannot be used for a split deployment.
Worker and migration ownership
Implement the worker workload tracked by #28 with authup start worker.
- The worker pod sets
WORKER_ENABLED=true and has no HTTP probes or port. - API pods set
WORKER_ENABLED=false while the dedicated worker is enabled. - When the migration hook is enabled, API pods set
MIGRATION_ENABLED=false; the migration Job remains the one DDL owner. - The worker does not run migrations and must start after the migration Job.
NetworkPolicy
The same rewrite must update templates/server/networkpolicy.yaml:
Work
This issue supersedes #25 and #26. #22 remains the detailed pre-existing migration NetworkPolicy report; its fix belongs in this same template rewrite.
The chart's
appVersionis1.0.0-beta.63. Authup beta.64 changes the process topology, configuration document, and image filesystem layout, so the next chart release must move all three together.Release blockers
1. Retire the old admin-console workload
adminConsole.enabledcurrently deploys the retiredclient/admin-consoleprocess. Replace that workload and remove_admin-console-env.tpl, theNUXT_PUBLIC_*/NUXT_API_URLwiring, the second-origin URL model, and theTRUSTED_ORIGINSauto-append for that origin.The supported CLI roles are:
authup start: API plus every enabled console on one listener (the default)authup start core: API and IdP onlyauthup start worker: background worker only; no listener and no migrationsauthup start console [admin|account|auth]: one console service, or every enabled console, on the configured console portsDo not emit the retired
server/coreprefix. Do not useauthup core,authup worker,authup console ..., orauthup start --worker; all exit 1.2. Mount the configuration where beta.64 reads it
Both configuration ConfigMaps must use the key
authup.ymland mount it as:The image runs from
/opt/authupand passes--configDirectory /etc/authup, so keeping the old mount path leavesserver.configurationunread. The document uses unprefixed sections (core:,adminConsole:,accountConsole:,authConsole:,theme:);server.core.*and the rest of theserver.*namespace are retired.3. Move provisioning and log storage to the new paths
WRITABLE_DIRECTORY_PATHwithPROVISIONING_DIRECTORY_PATHand mount operator-authored provisioning at/etc/authup/provisioning(the variable names the directory itself).LOG_DIRECTORY_PATH=/var/log/authupand provide a writable volume there whenreadOnlyRootFilesystemis enabled./var/lib/authupandWRITABLE_DIRECTORY_PATHfrom reserved values and templates.Without these changes file provisioning silently stops and file logging violates the chart's read-only-root claim.
Decided topology
authup startDeployment as the default. It needs no split routing and works without Redis at one replica.templates/admin-console/and add siblingaccount-console/andauth-console/workloads. Each runsauthup start console <name>and exposes its configured console port./console/<name>before forwarding./console/admin/login/start,/console/admin/callback,/console/account/login/start, and/console/account/callback.INTERNAL_URL=http://<server-fullname>:<core-port>.authup start consoledeliberately does not derive this value; without it server-side console calls go through the public ingress and can 502.Worker and migration ownership
Implement the worker workload tracked by #28 with
authup start worker.WORKER_ENABLED=trueand has no HTTP probes or port.WORKER_ENABLED=falsewhile the dedicated worker is enabled.MIGRATION_ENABLED=false; the migration Job remains the one DDL owner.NetworkPolicy
The same rewrite must update
templates/server/networkpolicy.yaml:component=admin-consoleworkload;component=migrationand otherwise receives no database/DNS allowance in a default-deny namespace).Work
/etc/authup/authup.yml./var/log/authupvolume/mount.INTERNAL_URLonly on split console workloads.authup start worker, withWORKER_ENABLED=falseon API replicas #28's worker workload and theWORKER_ENABLEDenv pair.MIGRATION_ENABLED=falseon the server Deployment when the migration hook is enabled.DESIGN.md, and.agents/references/authup.md.make docs schemaplusmake test.This issue supersedes #25 and #26. #22 remains the detailed pre-existing migration NetworkPolicy report; its fix belongs in this same template rewrite.