Skip to content

fix: exclude credential secret from Azure KbsConfig - #138

Merged
butler54 merged 1 commit into
validatedpatterns:mainfrom
butler54:fix/azure-kbs-credential-secret
Aug 31, 2026
Merged

fix: exclude credential secret from Azure KbsConfig#138
butler54 merged 1 commit into
validatedpatterns:mainfrom
butler54:fix/azure-kbs-credential-secret

Conversation

@butler54

Copy link
Copy Markdown
Collaborator

Problem

KBS deployment fails on Azure with:

2026-08-31T13:07:19Z INFO kbsconfig-controller Error in creating/updating KBS deployment {"kbsconfig": "trustee-operator-system", "err": "Secret \"credential\" not found"}

Root cause: trustee-chart's KbsConfig CR unconditionally lists
kbs.extraSecrets (default: ["credential"]) in
spec.kbsSecretResources. The only thing that creates a Secret literally
named credential in trustee-operator-system is an ACM
ConfigurationPolicy (pull-secret-credential-policy.yaml) that is
explicitly skipped on Azure — peer-pod CDH doesn't fetch registry
credentials from KBS there.

Confirmed this is genuinely fine to skip on Azure, not just
theoretically: on a live Azure cluster, sandboxed-policies-chart's
pull-secret-distribution mechanism is already deployed and working —
pull-secret Secrets exist in workload namespaces (hello-openshift,
kbs-access) and the default ServiceAccount in those namespaces already
has imagePullSecrets patched to use it. Registry auth for Azure peer-pods
does not depend on KBS at all.

Fix

Override kbs.extraSecrets: [] in overrides/values-trustee-azure.yaml.

This is a workaround at the currently-pinned trustee chartVersion: 0.10.*.
The proper fix — gating the extraSecrets range in trustee-chart's
templates/kbs.yaml with the same condition used by
pull-secret-credential-policy.yaml — is in
validatedpatterns/trustee-chart#42.
Once that's merged and released as >= 0.10.1, this override becomes
redundant (both agree extraSecrets should be empty on Azure) but harmless,
and can be dropped in a follow-up.

Verification

Rendered KbsConfig via helm template against the currently published
trustee-chart 0.10.0, stacking overrides/values-trustee.yaml +
overrides/values-trustee-azure.yaml exactly as values-azure.yaml's
extraValueFiles does: kbsSecretResources no longer includes
"credential". Bare metal is unaffected — this override only applies via
values-trustee-azure.yaml, loaded for the Azure topology only.

Related

On Azure, KBS deployment fails with:
  Error in creating/updating KBS deployment: Secret "credential" not found

trustee-chart's default kbs.extraSecrets (['credential']) is unconditionally
added to KbsConfig.spec.kbsSecretResources, but the ACM ConfigurationPolicy
that creates that Secret (pull-secret-credential-policy.yaml) is skipped on
Azure -- peer-pod CDH doesn't fetch registry credentials from KBS there.

Override kbs.extraSecrets: [] in overrides/values-trustee-azure.yaml so
KbsConfig on Azure never lists a Secret that will never exist.

Confirmed on a live Azure cluster that sandboxed-policies-chart's
pull-secret-distribution mechanism (per-namespace 'pull-secret' Secret +
default ServiceAccount imagePullSecrets patch) is already deployed and
working -- the KBS-based credential path is genuinely redundant on Azure,
not just theoretically unused.

This is a workaround for the currently-pinned trustee chartVersion (0.10.*).
The proper fix (gate extraSecrets in kbs.yaml the same way as the policy) is
in validatedpatterns/trustee-chart#42; once merged and released as >= 0.10.1,
this override becomes redundant but harmless and can be dropped.
@butler54
butler54 requested a review from a team August 31, 2026 15:14
@butler54
butler54 merged commit 5e71f90 into validatedpatterns:main Aug 31, 2026
5 checks passed
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