Skip to content

ref(taskbroker): Migrate to new kafka_clusters/kafka_topics config format#4363

Merged
untitaker merged 4 commits into
masterfrom
markusunterwaditzer/stream-1095-migrate-self-hosted-to-new-config-format
Jun 3, 2026
Merged

ref(taskbroker): Migrate to new kafka_clusters/kafka_topics config format#4363
untitaker merged 4 commits into
masterfrom
markusunterwaditzer/stream-1095-migrate-self-hosted-to-new-config-format

Conversation

@untitaker

@untitaker untitaker commented Jun 3, 2026

Copy link
Copy Markdown
Member

See getsentry/taskbroker#667 for details.

The short version of this is, we are making some changes to kafka configuration that affect every user. The change is already out in the latest version of self-hosted and users should already get deprecation warnings as per getsentry/taskbroker#663

The config change is desired so we can configure multiple kafka topics and clusters for a single taskbroker container. All of this can be configured in envvars, too, but at this point it'll be more readable to move to yaml (which taskbroker supported all along)

ALso, taskworker-dlq can't be defined as a topic via envvars (hyphens aren't permitted there), which is the main reason this moves the topic config into a mounted yaml file.

…rmat

Move the taskbroker service (and the external-kafka patch variant) off the
deprecated kafka_cluster/kafka_deadletter_cluster fields onto the new
kafka_clusters/kafka_topics format. Single consumed topic (taskworker) plus
produce-only deadletter; retries fall back to the consumed topic. The
external-kafka patch now layers per-cluster auth onto the shared default
cluster.

ref STREAM-1095

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@linear-code

linear-code Bot commented Jun 3, 2026

Copy link
Copy Markdown

STREAM-1095

untitaker and others added 2 commits June 3, 2026 13:36
Move topic declarations into a mounted ./taskbroker/config.yml (like
symbolicator) instead of TASKBROKER_KAFKA_TOPICS__* env vars, so topic names
can keep their hyphen (taskworker-dlq) — env-var config keys can't contain
hyphens. The cluster address/auth stay as env vars (no hyphens needed, and the
external-kafka patch overrides them). Regenerated the external-kafka patch
accordingly; verified it applies with patch -p0.

ref STREAM-1095

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The regenerated external-kafka patch dropped the tab+timestamp from its
--- / +++ header lines, which made GNU patch (Linux) resolve the target to the
wrong filename. Restore the original header format so 'patch -p0' targets
docker-compose.yml. Also trim the config.yml comment to a link to the docs PR.

ref STREAM-1095

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@untitaker untitaker marked this pull request as ready for review June 3, 2026 11:47
@untitaker untitaker requested review from aldy505 and markstory June 3, 2026 11:47
@untitaker untitaker merged commit 14640b2 into master Jun 3, 2026
20 checks passed
@untitaker untitaker deleted the markusunterwaditzer/stream-1095-migrate-self-hosted-to-new-config-format branch June 3, 2026 15:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants