Skip to content

feat(infra): add lightweight Docker Compose quickstart - #616

Merged
bmscomp merged 1 commit into
mainfrom
feat/docker-compose-quickstart
Nov 7, 2026
Merged

bmscomp merged 1 commit into
mainfrom
feat/docker-compose-quickstart

Conversation

@bmscomp

@bmscomp bmscomp commented Nov 7, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds docker-compose.yml at the repository root for zero-Kubernetes local evaluation on macOS and Linux (amd64 / arm64): starts postgres:16.15-alpine, single-broker KRaft apache/kafka:4.3.1 and ghcr.io/bmscomp/kates:1-native (which bundles /usr/local/bin/kates), bound strictly to 127.0.0.1:8080 with single-broker workload defaults (RF=1, min.insync.replicas=1) and host.docker.internal host-gateway support.
  • Updates README.md under Quick start with a 60-second zero-clone Docker Compose path right above the multi-zone Kind lab, keeping all existing section anchors intact.
  • Extends scripts/check-versions.sh and .github/workflows/ci.yml so the Compose apache/kafka and postgres tags stay pinned to versions.env (STRIMZI_KAFKA_VERSION) and charts/kates/values.yaml (postgresql.image.tag).

Verification

  • End-to-end local Docker Compose run (amd64/arm64 native):
    • Booted all 3 services healthy in ~8.3 s (cached) / ~39 s (including initial image pulls).
    • Measured docker stats --no-stream: 433 MiB total RAM at idle (postgres 30 MiB, kafka 337 MiB, kates native 66 MiB) and 738 MiB after running LOAD, INTEGRITY, ROUND_TRIP, kates gate (Grade B, 299.5k rec/s, P99 15.9 ms) and kates security audit (46 CIS checks, Grade D).
    • Verified zero-clone standalone boot (docker-compose.yml in an isolated temp directory) and host CLI connectivity on http://127.0.0.1:8080.
  • Local static gates: docker compose config -q, yamllint, shellcheck, actionlint, ./scripts/check-versions.sh, ./scripts/check-book-style.sh, ./scripts/check-mermaid.sh --quiet and lychee --offline --include-fragments.

Add a root docker-compose.yml that boots PostgreSQL 16.15-alpine, a single-broker KRaft Apache Kafka 4.3.1 cluster and the GraalVM native Kates API (ghcr.io/bmscomp/kates:1-native, which bundles the kates CLI) in ~8 s cached and ~433 MiB idle RAM with no Kind or Kubernetes required.

Document the 60-second Docker Compose evaluation path in README.md alongside the multi-zone Kind lab, and assert the Compose Kafka and PostgreSQL image pins in scripts/check-versions.sh.
@bmscomp
bmscomp merged commit bd649fb into main Nov 7, 2026
63 checks passed
@bmscomp
bmscomp deleted the feat/docker-compose-quickstart branch November 7, 2026 11:15
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.

1 participant