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

Add Kafka 3.1.0 to CI matrix, migrate to bitnami kafka image #2124

Merged
merged 4 commits into from
Feb 1, 2022
Merged

Conversation

bai
Copy link
Contributor

@bai bai commented Jan 31, 2022

Migrate from cp-kafka proprietary kafka docker image to bitnami one.

As you could see in the diff, we've had quite some hackery around handling the fact that Confluent Platform versioning scheme is very off with Kafka one.
Not only that, Confluent Platform lags behind quite noticeably — we add workarounds to pretend we're really testing against the latest Kafka version, while we're not.

To mitigate these annoyances, in this PR I'm migrating to a more actively maintained Bitnami Kafka docker image that seems to be pretty up to date with mainstream Kafka releases. Thanks Bitnami folks!

@caution-tape-bot
Copy link

We noticed that this PR either modifies or introduces code that pipes the output of curl or wget into a shell. This is dangerous because it grants full control over the machine that downloads and executes the script, with no way to control or monitor what is executed.
Code should be fetched in a way where its authenticity can be verified, for instance through a package manager, or by verifying a cryptographic hash or signature.
If you are unsure how to do this, please check the developer handbook or ask in #help-infrasec and we'll be happy to take a look. cc: @Shopify/infrasec

@dnwe
Copy link
Collaborator

dnwe commented Jan 31, 2022

@bai I’m +1 for moving away from proprietary images so we can get closer to main releases of kafka. However, should we just build our own images rather than rely on bitnami ones?

@bai
Copy link
Contributor Author

bai commented Feb 1, 2022

I’m +1 for moving away from proprietary images so we can get closer to main releases of kafka. However, should we just build our own images rather than rely on bitnami ones?

I'll take a look at that; want to see if bitnami even works and improves the compatibility. To be honest I'm a bit "lazy" to maintain our own Kafka docker images since IIRC it's not trivial to build them - albeit we have to do it once.

@bai
Copy link
Contributor Author

bai commented Feb 1, 2022

Oh wow, didn't think it's going to work just like that. @dnwe could you please take a look at this PR once again? 🙏🏼

(Obviously I'll squash and rename commits, but wanted to see if it looks good to you.)

@@ -1,7 +1,7 @@
version: '3.7'
services:
zookeeper-1:
image: 'confluentinc/cp-zookeeper:${CONFLUENT_PLATFORM_VERSION:-7.0.1}'
image: 'confluentinc/cp-zookeeper:7.0.1'
Copy link
Contributor Author

@bai bai Feb 1, 2022

Choose a reason for hiding this comment

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

I don't expect Zookeeper version requirement to change as often as Kafka versions change, so oped to hardcode Zookeeper version instead of adding an extra configuration parameter.

We might explore moving to non-proprietary zookeeper docker image in future.

@bai bai changed the title Kinda add Kafka 3.1.0 to CI matrix Add Kafka 3.1.0 to CI matrix Feb 1, 2022
@bai bai requested a review from dnwe February 1, 2022 08:19
@bai bai changed the title Add Kafka 3.1.0 to CI matrix Add Kafka 3.1.0 to CI matrix, migrate to bitnami kafka image Feb 1, 2022
@dnwe
Copy link
Collaborator

dnwe commented Feb 1, 2022

@bai good work — I wonder if it's worth keeping 2.8.1 around in the CI matrix for a bit longer as well? Whilst I know our official support statement is N-1, I think as 3.1.0 has only just released we probably want a bit of coverage on the 2.x series
Unless you think 6 (3 x 1.16, 3 x 1.17) runs of the test suite is too much?

Aside: I wonder if we should split up the matrix so that we run the non-functional unittests with Go 1.16.x and 1.17.x and then run the functional tests against the Kafka versions matrix with just 1.17.x

@bai
Copy link
Contributor Author

bai commented Feb 1, 2022

@dnwe — thanks for feedback. I've updated the build matrix to reflect it, I think it's a great suggestion. Let me know what you think.

Copy link
Collaborator

@dnwe dnwe left a comment

Choose a reason for hiding this comment

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

Looks great!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants