Repository navigation
feat(helm): optional zitadelLinkSecret for the identity link client - #447
Conversation
#435 signs a person in to ZITADEL with a confidential client whose id and secret the zitadel-iac Job writes into mctl-api-oidc-zitadel (mctl-gitops #1592). The chart reads both keys from a named Secret, optionally, so a missing key leaves the link flow answering 503 instead of failing the pod. Refs #435 Claude-Session: https://claude.ai/code/session_01D1kGUJMWeA8hyhQuxKuHd2
|
Claude finished @mashkovd's task in 1m 25s —— View job Reviewing PR #447
Summary: This chart change mirrors the existing One gap found:
Review verdict: Changes requested (1 P2, 0 P1, 0 P3). |
Antigravity (agy) review — informationalModel: gemini-3.8-flash-medium · commit No significant issues found. |
A literal env entry and the secretKeyRef would render two env entries of the same name, which server-side apply refuses. Mirror the oidcProvidersSecret guard: fail on a non-empty literal, and skip an empty one in the env range. Claude-Session: https://claude.ai/code/session_01D1kGUJMWeA8hyhQuxKuHd2
|
Claude finished @mashkovd's task in 1m 41s —— View job Reviewing PR #447 (commit
|
Antigravity (agy) review — informationalModel: gemini-3.8-flash-medium · commit No significant issues found. |
There was a problem hiding this comment.
No P1/P2 findings (0 P3). The prior P2 (missing conflict guard between zitadelLinkSecret and literal env.ZITADEL_LINK_CLIENT_ID/_SECRET) is now fixed: deployment.yaml adds the same fail-guard and range-exclusion pattern used by oidcProvidersSecret, with matching tests (conflict, empty-literal, byte-identical default, env-sourcing, lint). Good to merge.
Chart prerequisite for #435 (explicit identity linking, #446). It mirrors
oidcProvidersSecretfrom #440.What
zitadelLinkSecret, empty by default. When set, the chart rendersZITADEL_LINK_CLIENT_IDandZITADEL_LINK_CLIENT_SECRETfromsecretKeyRef(same key names,optional: true).mctl-api-oidc-zitadel, which the zitadel-iac Job fills (feat(zitadel): confidential link client for mctl-api identity linking mctl-gitops#1592).cmd/api(feat(principals): explicit ZITADEL identity linking and admin merge #446) then keeps the link browser flow off (503) and logs why. The pod never fails on it.Tests
go test ./helm/adds three checks:optional: true;helm lintpasses with the value set.optionalfrom the secret's ref fails the test.Production is unaffected until mctl-gitops sets the value, which happens in the wiring PR after #446 is released.
Refs #435
🤖 Generated with Claude Code
https://claude.ai/code/session_01D1kGUJMWeA8hyhQuxKuHd2