Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: klip-67: Make internal topic prefix configurable #9170

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ocadaruma
Copy link

@ocadaruma ocadaruma commented Jun 3, 2022

Description

Testing done

  • N/A

Reviewer checklist

  • Ensure docs are updated if necessary. (eg. if a user visible feature is being added or changed).
  • Ensure relevant issues are linked (description should include text like "Fixes #")

@ocadaruma ocadaruma requested a review from a team as a code owner June 3, 2022 11:15
@CLAassistant
Copy link

CLAassistant commented Jun 3, 2022

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@ocadaruma ocadaruma changed the title docs: klip-64: Make internal topic prefix configurable docs: klip-67: Make internal topic prefix configurable Sep 20, 2022
@colinhicks
Copy link
Contributor

Thanks for the thoughtful PR, @ocadaruma. While the reasoning outlined in your proposal makes sense, I have some concerns. A broad surface area of the product relies on the internal-topic naming convention. Allowing it to be user-configured would yield implications and risks for data isolation, compatibility, and security.

Beyond the config and command_log topics you mentioned, the current naming convention applies to other internal resources, including changelog topics.

Because these internal topics are used as durable storage, their names are not expected to change during a KSQL cluster's lifecycle. If the value of the proposed new configuration were changed to a new prefix, it seems there would need to be a migration of data and state from topics with the previous naming convention. There's a similar consideration for access control: If the internal topic prefix changes, what would be the expectation for the respective ACLs that need to transition from the old to new prefix?

@ocadaruma
Copy link
Author

@colinhicks Thanks for taking a look.

the current naming convention applies to other internal resources, including changelog topics.
...Because these internal topics are used as durable storage, their names are not expected to change during a KSQL cluster's lifecycle.

I think similar implications as ksql.service.id applies.
ksql.service.id is already used in command topic and changelog topics to isolate KSQL deployments, and it's not expected to be changed over entire KSQL lifecycle.

So the new customizable internal-topic name prefix also treated similarly. It's not expected to be changed once deployed.

Hmm, maybe there are several documentations necessary to be updated in addition to server-configuration.md (most relevant one seems to be this section: https://github.com/confluentinc/ksql/blob/master/docs/operate-and-deploy/installation/server-config/security.md#acls-on-prefixed-resource-pattern in terms of ACL)

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.

3 participants