Repository navigation
Proposal: configure the TLS subject builder via the Kubernetes Operator - #146
Merged
k-wall merged 3 commits intoOct 27, 2026
Merged
Conversation
…erator Co-Assisted-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: AdityaThakur1998 <adthakur@redhat.com>
tombentley
reviewed
Oct 22, 2026
tombentley
left a comment
Member
There was a problem hiding this comment.
Hi @AdityaThakur1998 thanks for pushing this forward, it would be nice to support for sure. Mostly this is a good proposal, but I feel the need to push back a bit on what you're saying about the need for secret interpolation.
AdityaThakur1998
added a commit
to AdityaThakur1998/design
that referenced
this pull request
Oct 22, 2026
…us#146) Use configTemplate with the same Secret and ConfigMap references as KafkaProtocolFilter, so custom subject builders can take credentials without them appearing in the clear. Clarify that SASL subject builders are out of scope, and that certificate fields can map to any principals. Co-Assisted-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: AdityaThakur1998 <adthakur@redhat.com>
AdityaThakur1998
added a commit
to AdityaThakur1998/design
that referenced
this pull request
Oct 22, 2026
…us#146) Use configTemplate with the same Secret and ConfigMap references as KafkaProtocolFilter, so custom subject builders can take credentials without them appearing in the clear. Clarify that SASL subject builders are out of scope, and that certificate fields can map to any principals. Co-Assisted-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: AdityaThakur1998 <adthakur@redhat.com>
AdityaThakur1998
force-pushed
the
proposal-tls-subject-builder-crd
branch
from
October 22, 2026 13:57
eb66025 to
d9fc504
Compare
…us#146) Use configTemplate with the same Secret and ConfigMap references as KafkaProtocolFilter, so custom subject builders can take credentials without them appearing in the clear. Clarify that SASL subject builders are out of scope, and that certificate fields can map to any principals. Co-Assisted-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: AdityaThakur1998 <adthakur@redhat.com>
AdityaThakur1998
force-pushed
the
proposal-tls-subject-builder-crd
branch
from
October 22, 2026 14:46
d9fc504 to
b83921d
Compare
AdityaThakur1998
marked this pull request as ready for review
October 22, 2026 14:47
tombentley
approved these changes
Oct 22, 2026
tombentley
left a comment
Member
There was a problem hiding this comment.
Thanks @AdityaThakur1998 this LGTM
k-wall
approved these changes
Oct 26, 2026
k-wall
left a comment
Member
There was a problem hiding this comment.
Couple of nits and comments, but LGTM
Clarify that the proxy falls back to anonymous when no subject builder is configured. Move the per-ingress alternative from rejected to future work, noting it needs proxy changes and is deferred until requested. Co-Assisted-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: AdityaThakur1998 <adthakur@redhat.com>
k-wall
approved these changes
Oct 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Design proposal for kroxylicious/kroxylicious#3032 — configuring the TLS subject builder through the Kubernetes Operator.
What it proposes
An optional
tlsSubjectBuilderfield onVirtualKafkaCluster, with atypeand aconfigTemplate, matching the shape of the proxy's existing virtual clustersubjectBuilder. As withKafkaProtocolFilter,configTemplatecan refer to Secrets and ConfigMaps, which the Operator resolves before writing the result into the generated proxy configuration. When the field is unset, behaviour is the same as today, so the change is purely additive.The proxy already supports subject builders; the Operator just has no way to set one. The proposal exposes an existing capability rather than adding a new one, and needs no proxy changes.
Why it matters
Authorization decides what a client may do based on its principal. Clients that authenticate with SASL get a principal from the SASL filters. Clients that authenticate with a TLS client certificate need a subject builder to turn the certificate into a principal, and under the Operator there's no way to configure one. Operator users who rely on certificates therefore can't use Authorization at all.
Points reviewers may want to weigh in on
tlsSubjectBuilderwas chosen oversubjectBuilder, because the SASL filters already usesubjectBuilderfor something different. The cost is that the name differs from the proxy's own config key.configTemplatethrough unchecked, and the proxy rejects invalid config at startup. One proxy serves all its virtual clusters, so one cluster's mistake stops the proxy for all of them. Operator-side validation is listed as future work, covering all plugin config.Assisted-by: Claude Sonnet 4.6 noreply@anthropic.com