fix: repair crash-looping CLI flags, close values.yaml coverage gaps - #6
Conversation
--enable-totp-login/--enable-mfa/--enable-email-otp/--enable-sms-otp don't exist in the authorizer binary; cobra rejects unknown flags so every release from this chart crash-loops on boot. Renamed to the current --disable-totp-login/--disable-webauthn-mfa/--disable-email-otp/ --disable-sms-otp/--disable-mfa flags. Fixed COUCHBASE_RAM_QUOTA: the env var was defined as COUCHBASE_BUCKET_RAM_QUOTA while args read $COUCHBASE_RAM_QUOTA, so couchbase_bucket_ram_quota silently never reached the flag. Wired --url (CWE-640 host-header-injection mitigation): AUTHORIZER_URL was set as an env var but never passed as a flag, so authorizer_url in values.yaml was a no-op. Added --oauth2-1-strict and --enable-org-discovery. Exposed ~25 toggles in values.yaml that were previously hardcoded into the args template with no values.yaml key at all (enable_signup, enforce_mfa, app_cookie_secure, enable_basic_authentication, disable_admin_header_auth, and friends) — operators had no way to override them. Re-pinned appVersion to 2.4.0-rc.7: 2.3.0 predates the flag rename above, so it doesn't have the --disable-* flags either. Move to the stable 2.4.0 tag once it ships.
✅ Deploy Preview for authorizer-helm-chart ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
The flag-coverage work on this branch was rebased into PR #7 and merged there. Main is the superset: it additionally replaced the `| default true` pattern with the authorizer.bool helper (so an explicit false is honoured) and set the enforce_mfa default to false to match 2.4.0. Conflicts resolved entirely in main's favour so merging this PR cannot regress either fix. # Conflicts: # Chart.yaml # templates/deployment.yaml # values.yaml
|
Merging this as a no-op, deliberately, rather than as a content change. This branch's flag-coverage work was rebased into #7 and merged there, so main already has it. Main is also the superset — #7 additionally:
Merging this branch as it stood would have regressed both. A dry-run merge conflicted in So I merged main into this branch and resolved every conflict in main's favour. The branch tree is now byte-identical to main: Verified after resolution: 14 Net effect: this PR closes out as merged and main is unchanged. If you'd rather have clean history, closing it as superseded is equivalent — say so and I'll do that instead. |
Summary
--enable-totp-login/--enable-mfa/--enable-email-otp/--enable-sms-otpdon't exist in the authorizer binary; cobra rejects unknown flags and exits 1, so every release from this chart currently crash-loops on boot. Renamed to the current--disable-totp-login/--disable-webauthn-mfa/--disable-email-otp/--disable-sms-otp/--disable-mfaflags.COUCHBASE_RAM_QUOTA: the env var was defined asCOUCHBASE_BUCKET_RAM_QUOTAwhile the args template read$COUCHBASE_RAM_QUOTA, soauthorizer.couchbase_bucket_ram_quotain values.yaml silently never reached the flag.--url(CWE-640 host-header-injection mitigation):AUTHORIZER_URLwas set as a pod env var but never passed as a CLI flag, soauthorizer.authorizer_urlin values.yaml was a no-op. Added--oauth2-1-strictand--enable-org-discovery, both previously missing entirely.values.yamlthat were previously hardcoded into the args template with no values.yaml key at all —enable_signup,enforce_mfa,app_cookie_secure,enable_basic_authentication,disable_admin_header_auth, and others. Operators had no way to override them; defaults are unchanged.host,env,log_levelas values.yaml keys (previously only settable by editing the template).appVersionto2.4.0-rc.7and bumped chartversionto2.3.0:2.3.0predates the flag rename above, so it doesn't have the--disable-*flags either. Move to the stable2.4.0tag once it ships.Test plan
helm lint .passeshelm templaterenders valid YAML with all values set; verified all 130 flags fromcmd/root.goappear in the rendered argsquay.io/authorizer/authorizer:2.4.0-rc.7image — container boots and serves/healthz(previously exited 1 on the phantom flags)