Skip to content

CASSSIDECAR-419 : Add Docker compose setup for CDC#330

Open
jyothsnakonisa wants to merge 1 commit intoapache:trunkfrom
jyothsnakonisa:cdc-docker-compose
Open

CASSSIDECAR-419 : Add Docker compose setup for CDC#330
jyothsnakonisa wants to merge 1 commit intoapache:trunkfrom
jyothsnakonisa:cdc-docker-compose

Conversation

@jyothsnakonisa
Copy link
Copy Markdown
Contributor

No description provided.

Comment thread docker/cdc-demo/README.md

## Architecture

```
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Looks nice, easy to understand for new users

Copy link
Copy Markdown
Contributor

@skoppu22 skoppu22 left a comment

Choose a reason for hiding this comment

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

LGTM


YAML="/etc/cassandra/cassandra.yaml"

patch_yaml() {
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Would it be worth adding a "didn't find it, couldn't patch" style warning or error here?

Comment thread docker/cdc-demo/Dockerfile.sidecar Outdated
Comment thread build.gradle Outdated
@jyothsnakonisa jyothsnakonisa force-pushed the cdc-docker-compose branch 3 times, most recently from 06c2451 to 1cd0b8d Compare April 6, 2026 20:00

WORKDIR /build

# Build descriptors first — keeps the dependency-download layer cached separately.
Copy link
Copy Markdown
Contributor

@smiklosovic smiklosovic Apr 8, 2026

Choose a reason for hiding this comment

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

this is confusing a bit as the user has to do "gradle jar" at least least before this is executed. Without doing "jar", what you copy will not contain "sidecar.version" and then it all passes but it fails to start like this

sidecar-1         | INFO  [main] 2026-04-08 16:14:45,333 SidecarSchemaModule.java:59 - Registering table schema: sidecar_internal.restore_range_v1
sidecar-1         | INFO  [main] 2026-04-08 16:14:45,333 SidecarSchemaModule.java:59 - Registering table schema: sidecar_internal.restore_slice_v3
sidecar-1         | Exception in thread "main" com.google.inject.ProvisionException: Unable to provision, see the following errors:
sidecar-1         | 
sidecar-1         | 1) [Guice/ErrorInCustomProvider]: IllegalStateException: Failed to retrieve Sidecar version from resource /sidecar.version
sidecar-1         |   at UtilitiesModule.sidecarVersionProvider(UtilitiesModule.java:88)
sidecar-1         |   at ConfigurationModule.instancesMetadata(ConfigurationModule.java:175)
sidecar-1         |       \_ for 4th parameter
sidecar-1         |   at ConfigurationModule.instancesMetadata(ConfigurationModule.java:175)
sidecar-1         |   at InstanceMetadataFetcher.<init>(InstanceMetadataFetcher.java:51)

# ── Kafka UI ─────────────────────────────────────────────────────────────────
# Browse topics and messages at http://localhost:8080
kafka-ui:
image: provectuslabs/kafka-ui:latest
Copy link
Copy Markdown
Contributor

@smiklosovic smiklosovic Apr 8, 2026

Choose a reason for hiding this comment

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

I suggest we switch to ghcr.io/kafbat/kafka-ui.

That is the fork of provectuslabs, provectuslabs is not longer developed (last change 2 years ago, kafbat is actively developed). Both are Apache licenced. It is same UI etc ...

# ./scripts/start.sh --clean # build + start, wipe all data
set -euo pipefail

# ANSI color codes
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

it would be nice if there is some way to also have "stop" script.

Copy link
Copy Markdown
Contributor

@smiklosovic smiklosovic Apr 8, 2026

Choose a reason for hiding this comment

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

What am I supposed to do when it is all started and I want to just stop it. Doing docker-compose down on my own? "stop.sh" is more intuitive. "stopping" should also ideally remove the containers, I would like to not see see Exited containers in "docker ps"

@smiklosovic
Copy link
Copy Markdown
Contributor

smiklosovic commented Apr 8, 2026

I suggest to also include this to make it more robust. I like to be explicit in the creation of a topic. If somebody starts the stack and goes to kafka-ui then there will not be any topic for them to see messages in which might be confusing.

7eb33fc

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.

4 participants