-
Couldn't load subscription status.
- Fork 3
feat!: inlined schema definitions inside the KafkaSchema custom resource #1
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
Conversation
|
halo, greate work! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
|
I've been waiting for this - thank you! |
dde7c66 to
38f6ddd
Compare
v1beta1 approach was based on the convention that the actual schema (payload/structure) was stored in configmap and only referenced by KafkaSchema resource. There are a few problems related to that approach: 1. inconsistent behaviour - when you create a schema resource, configmap needs to be already applied in your namespace. but finalizer deletes that configmap during cleanup 2. race condition between K8S resources - during reconciliation, it's assumed that configmap was updated prior to updating KafkaSchema. If it wasn't, changes will not be applied. On the other hand, configmap has to be deleted after the custom resource, otherwise finalizer will fail. 3. difficulties in managing "independent" K8S resources in a single chart - it's not easy/recommended to use owner references from within a single chart, and playing with finalizers to "block deletion" of configmap is tricky Instead, I would like to propose a simpler approach, where the entire KafkaSchema resource is self-contained. You can define your schema payload directly in the resource or use helm templating to populate it from an external file BREAKING CHANGE: CR no longer supports reference to schema configmap through spec.data.configRef
…r resource KafkaSchema resource now has a schemaRegistry that overrides defaults (configured as env variables of the operator) BREAKING CHANGE: I've decided to change apigroup from pannoi to incubly due to incompatibility of CRD in previous PR
4ea9f49 to
4ec05f9
Compare
4ec05f9 to
6f322c4
Compare
4a870f1 to
60062aa
Compare
60062aa to
9bba282
Compare
790c587 to
52ddab1
Compare
52ddab1 to
dc8a9e2
Compare
dc8a9e2 to
b333d0c
Compare
b333d0c to
5c6276d
Compare
0741e8c to
3f00745
Compare
|
Inline definitions are ok, but plaintext credentials for schema registry in CR don't make me happy 😄 There could be |
|
@Brightside56 agreed. I'll fix that in another PR. Please don't use it for the time being ;) |
|
@Brightside56 that is just a comment or you need to use credentials in your use case? because we wanted to drop authentication feature for now, as there is a plan to do it in more sophisticated way to allow different auth methods, not only Basic |
|
@slomkarafa Yes, I need to use credentials and I need them to be processed securely |
For now it's more than ok. I'm concerned more with issues like absence of schema validation and possibility to check resources health using CR status |
|
@Brightside56 |
|
@Brightside56 on schema validation - schema registry should do that for you. do you think we should duplicate that responsibility in operator? Anyway, I've enabled issues in this repo for you to start throwing darts at me. When I think what this operator should actually do, I'm considering creating a completely new api group and start from scratch, as I won't be able to maintain any compatibility. |
v1beta1 approach was based on the convention that the actual schema (payload/structure) was stored in configmap and only referenced by KafkaSchema resource. There are a few problems related to that approach:
Instead, I would like to propose a simpler approach, where the entire KafkaSchema resource is self-contained. You can define your schema payload directly in the resource or use helm templating to populate it from an external file
BREAKING CHANGE: CR no longer supports reference to schema configmap through spec.data.configRef