Skip to content

feat: change kafka to redpanda #1771

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

Draft
wants to merge 5 commits into
base: develop
Choose a base branch
from

Conversation

TartanLeGrand
Copy link
Contributor

This pull request introduces support for Redpanda as an alternative to Kafka in the Sentry Helm chart. The changes include adding Redpanda as a dependency, updating templates to handle Redpanda-specific configurations, and modifying default values to enable Redpanda by default while disabling Kafka. Below is a summary of the most important changes grouped by theme.

Dependency Management

  • Added Redpanda as a dependency in Chart.yaml, with its repository and version specified, and a condition to enable it via redpanda.enabled.

Template Updates for Redpanda

  • Updated sentry.kafka.fullname to use "redpanda" in the name when Redpanda is enabled.
  • Modified Kafka-related templates to include support for Redpanda configurations, such as ports, authentication methods, and SASL settings. These changes ensure compatibility with Redpanda's configuration structure. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

Job Hook Adjustments

  • Updated the sentry-db-check.job.yaml hook to account for Redpanda when checking Kafka Kraft controllers and external Kafka clusters. [1] [2]

Default Values

  • Added a new redpanda section in values.yaml with default configurations for Redpanda, including cluster settings, listeners, and authentication. Enabled Redpanda by default and disabled Kafka.

@TartanLeGrand TartanLeGrand changed the title Feat/change kafka to redpanda feat: change kafka to redpanda May 29, 2025
# Settings for Kafka.
# See https://github.com/bitnami/charts/tree/master/bitnami/kafka
kafka:
enabled: true
enabled: false
Copy link

Choose a reason for hiding this comment

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

Hi!
I think the default broker should be set as kafka, changing it would cause every user to lost all the data stored in kafka.

Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think it will be that much of a big deal, one could lose some unprocessed events in the transition but isn't that's something to be excepted when doing an upgrade anyways?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes I make a guide for upgrade.

Comment on lines +2215 to +2217
auth:
sasl:
enabled: false
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
auth:
sasl:
enabled: false
auth:
sasl:
enabled: false
external:
enabled: false
logging:
usageStats:
enabled: false

I suggest disabling external access as I don't think it is necessary and is best left disabled as a security measure.

Also, usage stats sent to Redpanda are enabled by default.

@pavelbrylov
Copy link

@TartanLeGrand FYI I tried to deploy this changes, first it failed on a wrong authenticationMethod:

Error: UPGRADE FAILED: values don't meet the specifications of the schema(s) in the following chart(s):
redpanda:
- listeners.kafka.authenticationMethod: Must validate one and only one schema (oneOf)
- listeners.kafka.authenticationMethod: listeners.kafka.authenticationMethod must be one of the following: "sasl", "none", "mtls_identity"

When I switched it to none, just to try - it fails on missing certificates:

Error: UPGRADE FAILED: [resource mapping not found for name: "sentry-redpanda-default-root-certificate" namespace: "tools" from "": no matches for kind "Certificate" in version "cert-manager.io/v1"
ensure CRDs are installed first, resource mapping not found for name: "sentry-redpanda-external-root-certificate" namespace: "tools" from "": no matches for kind "Certificate" in version "cert-manager.io/v1"
ensure CRDs are installed first, resource mapping not found for name: "sentry-redpanda-default-cert" namespace: "tools" from "": no matches for kind "Certificate" in version "cert-manager.io/v1"
ensure CRDs are installed first, resource mapping not found for name: "sentry-redpanda-external-cert" namespace: "tools" from "": no matches for kind "Certificate" in version "cert-manager.io/v1"
ensure CRDs are installed first, resource mapping not found for name: "sentry-redpanda-default-selfsigned-issuer" namespace: "tools" from "": no matches for kind "Issuer" in version "cert-manager.io/v1"
ensure CRDs are installed first, resource mapping not found for name: "sentry-redpanda-default-root-issuer" namespace: "tools" from "": no matches for kind "Issuer" in version "cert-manager.io/v1"
ensure CRDs are installed first, resource mapping not found for name: "sentry-redpanda-external-selfsigned-issuer" namespace: "tools" from "": no matches for kind "Issuer" in version "cert-manager.io/v1"
ensure CRDs are installed first, resource mapping not found for name: "sentry-redpanda-external-root-issuer" namespace: "tools" from "": no matches for kind "Issuer" in version "cert-manager.io/v1"
ensure CRDs are installed first]

@Mokto
Copy link
Contributor

Mokto commented Jul 21, 2025

👋 Hi, @TartanLeGrand,
I detected conflicts against the base branch 🙊
You'll want to sync 🔄 your branch with upstream!

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

Successfully merging this pull request may close these issues.

5 participants