Skip to content

Conversation

@iamtakingiteasy
Copy link

@iamtakingiteasy iamtakingiteasy commented Nov 15, 2025

  • Breaking change? -- Shouldn't be, configuration changes are append-only, unspecified store type is considered as JKS/PKCS12 (both can be handled under either and technically only a preference hint).

What changes did you make?
Resolves #1437

Adds support for PEM keystore/truststore and mTLS configuration, replacing manual KeyManagerFactory/TrustManagerFactory calls with spring boot SslBundle to parametrize the kafka client and http/netty clients.

  • TruststoreConfig/KeystoreConfig extended with truststoreType/keystoreType with possible values of JKS, PKCS12 and PEM
  • KeystoreConfig is extended with keystoreCertificate for [pem] client certificate file.
  • Cluster is extended with securityProtocol and kafkaSsl for mTLS client certificate.

Out-of-the scope FE change: ApplicationConfigPropertiesKafkaSchemaRegistrySsl -> KeystoreConfig as reusable DTO is introduced, auto-generated one no longer exists.

Is there anything you'd like reviewers to focus on?

How Has This Been Tested? (put an "x" (case-sensitive!) next to an item)

  • No need to
  • Manually Tested on mTLS cluster with PEM, JKS and PKCS12 keystores
  • Unit checks
  • Integration checks
  • Covered by existing automation

Checklist (put an "x" (case-sensitive!) next to all the items, otherwise the build will fail)

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation (e.g. ENVIRONMENT VARIABLES) -- no environment variable changes is necessary in documentation compose files
  • My changes generate no new warnings (e.g. Sonar is happy)
  • I have added tests that prove my fix is effective or that my feature works -- a rather heavy setup would be required
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged -- no dependencies

Check out Contributing and Code of Conduct

A picture of a cute animal (not mandatory but encouraged)

@iamtakingiteasy iamtakingiteasy requested review from a team as code owners November 15, 2025 03:12
@kapybro kapybro bot added status/triage Issues pending maintainers triage status/triage/manual Manual triage in progress status/triage/completed Automatic triage completed and removed status/triage Issues pending maintainers triage labels Nov 15, 2025
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi iamtakingiteasy! 👋

Welcome, and thank you for opening your first PR in the repo!

Please wait for triaging by our maintainers.

Please take a look at our contributing guide.

@iamtakingiteasy iamtakingiteasy force-pushed the be-support-pem-mtls branch 4 times, most recently from ce8c9fa to dc3d50c Compare November 15, 2025 04:10
@Haarolean Haarolean requested a review from germanosin November 23, 2025 13:29
@Haarolean Haarolean added type/enhancement En enhancement/improvement to an already existing feature scope/backend Related to backend changes and removed status/triage/manual Manual triage in progress labels Nov 23, 2025
@iamtakingiteasy
Copy link
Author

iamtakingiteasy commented Nov 23, 2025

Playwright E2E seem flaky, passed on the same commit on fork repo; requesting re-run from someone with permissions.

@iamtakingiteasy
Copy link
Author

Wait, no. it's actually was ran on different commit than PR branch.

Uses: kafbat/kafka-ui/.github/workflows/e2e-playwright-run.yml@refs/pull/1503/merge (0440282)

which is a merge into current upstream, when passing commit is dc3d50c -- nonconflicting, but as of now already behind the upstream main branch, rebased.

@Haarolean
Copy link
Member

@iamtakingiteasy hi, we've merged a lil planned feature, could you rebase please?

@Haarolean
Copy link
Member

@iamtakingiteasy but please, don't force push, otherwise the whole diff is marked as new for us

@iamtakingiteasy
Copy link
Author

iamtakingiteasy commented Nov 24, 2025

@Haarolean If you do mean *rebase*, it would rewrite history and require force-pushing to the PR branch while keeping changeset as single clean commit. *Merging* with upstream is possible without force-pushing, but will result in extra merge commit.

@iamtakingiteasy
Copy link
Author

Seeing merge commits are quite common in PRs of this repo, I assume merging was implied.

@Haarolean Haarolean self-requested a review November 26, 2025 11:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

scope/backend Related to backend changes status/triage/completed Automatic triage completed type/enhancement En enhancement/improvement to an already existing feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Allow Kafka-UI container to use Kafka certificates directly (.key, .cert, .ca) without manual Java keystore conversion

2 participants