Skip to content

Conversation

amotl
Copy link
Member

@amotl amotl commented Oct 5, 2025

About

By using {Docker,Podman} Compose, a significant amount of code and configuration noise can be reduced on the prose document, but maintained within a compose.yaml file instead. It aims to improve usability and might also open the door for automated testing within a reasonable range of efforts.

References

Copy link

coderabbitai bot commented Oct 5, 2025

Walkthrough

Refactors many integration docs to use Docker/Podman Compose: adds/updates compose.yaml files, rewrites usage guides to a compose-centric workflow, normalizes examples (CRATE_HEAP_SIZE=1g), removes explicit single-node flags, and adds small CLI/tool services and helper volumes where needed.

Changes

Cohort / File(s) Change summary
Compose: new or updated stacks
docs/integrate/amqp/compose.yaml, docs/integrate/collectd/compose.yaml, docs/integrate/influxdb/compose.yaml, docs/integrate/mongodb/compose.yaml, docs/integrate/mqtt/compose.yaml, docs/integrate/mysql/compose.yaml, docs/integrate/oracle/compose.yaml, docs/integrate/postgresql/compose.yaml, docs/integrate/statsd/compose.yaml, docs/integrate/telegraf/compose.yaml, docs/integrate/opentelemetry/.../compose.yaml
Added or updated Docker/Podman Compose stacks: cratedb with ports+HTTP healthcheck, integration brokers/databases, CLI/tool services (often profiles: ["cli"]), and some added volumes (e.g., uv-cache).
Usage guides → Compose workflow
docs/integrate/amqp/usage.md, docs/integrate/collectd/usage-collectd.md, docs/integrate/collectd/usage-telegraf.md, docs/integrate/influxdb/usage.md, docs/integrate/mongodb/usage.md, docs/integrate/mqtt/usage.md, docs/integrate/mysql/usage.md, docs/integrate/oracle/usage.md, docs/integrate/postgresql/usage.md, docs/integrate/statsd/usage.md, docs/integrate/telegraf/usage.md, docs/integrate/opentelemetry/.../usage.md
Replaced per-OS/docker-run instructions with Files/Services/Submit data/Explore data flow using docker compose / podman compose (up/run/exec). Added Podman notes and standardized example table/namespace names (e.g., doc.*_demo).
Auxiliary tooling & envs
docs/integrate/opentelemetry/collector/compose.yaml, docs/integrate/opentelemetry/telegraf/compose.yaml, docs/integrate/opentelemetry/collector/.env, docs/integrate/opentelemetry/telegraf/.env, docs/integrate/amqp/compose.yaml, docs/integrate/mqtt/compose.yaml
Introduced auxiliary CLI/tool services (nc, uv, amqpcat, lorrystream, ctk*), added uv-cache volume, and set OTEL env vars (OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_SERVICE_NAME).
Telegraf config & collectd snippets
docs/integrate/telegraf/telegraf.conf, docs/integrate/collectd/telegraf.conf, docs/integrate/collectd/collectd-*.conf
Added Telegraf configurations (CPU input, agent defaults, CrateDB output) and collectd-related config snippets; some files gained doc header comments.
Heap size & run flags normalization
docs/install/container/docker.rst, docs/admin/troubleshooting/jcmd/docker.md, docs/feature/search/fts/analyzer.md, various docs/integrate/*/*
Changed example CRATE_HEAP_SIZE from 2g1g, removed -Cdiscovery.type=single-node in many examples, and simplified/compacted docker run examples.
Formatting / command compaction / minor edits
docs/integrate/kafka/docker-python.md, docs/integrate/influxdb/cloud.md, docs/integrate/mongodb/cloud.md, docs/integrate/kafka/index.md, docs/integrate/airflow/getting-started.md, select other pages
Consolidated multi-line commands into single-line forms, minor wording/whitespace fixes, added documentation header links in several files, and small presentation tweaks across integration docs.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  participant User
  participant Compose as "Docker/Podman Compose"
  participant CrateDB
  participant Broker as "Integration Broker/DB"
  participant Tool as "CLI/Tool (ctk/amqpcat/nc/uv)"

  User->>Compose: docker compose up
  Compose->>CrateDB: start cratedb (HTTP healthcheck)
  Compose->>Broker: start broker/db (depends_on)
  Note over CrateDB,Broker: services wait on cratedb healthcheck

  User->>Compose: docker compose run --rm Tool submit
  Tool->>Broker: produce/ingest data
  Broker->>CrateDB: forward/write data
  User->>Compose: docker compose exec cratedb psql / query
  CrateDB-->>User: query results
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested labels

refactoring

Suggested reviewers

  • bmunkholm
  • kneth
  • karynzv
  • surister

Poem

I hopped through stacks with a cheerful thump,
Compose files lined up in one tidy clump.
One gig of heap, services spin and meet,
Brokers hum, metrics dance to the beat.
A carrot-squeak cheer — docs polished and neat! 🥕🐇

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title Check ✅ Passed The title succinctly describes the main change of using Docker and Podman Compose in usage guides and omits unnecessary details, accurately reflecting the PR’s focus on consolidating configuration into compose.yaml files.
Description Check ✅ Passed The description clearly outlines the motivation for the changes, explaining the benefits of using Docker and Podman Compose to reduce documentation noise while maintaining usability, and it references relevant issues, demonstrating that it stays on topic with the changeset.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch more-docker-compose

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@amotl amotl marked this pull request as ready for review October 5, 2025 12:39
coderabbitai[bot]

This comment was marked as resolved.

@amotl amotl added sanding-500 Sanding medium-sized details. guidance Matters of layout, shape, and structure. maintenance C'est la vie. labels Oct 5, 2025
@amotl amotl force-pushed the more-docker-compose branch from 8bed5de to b37dcb5 Compare October 6, 2025 01:37
@amotl amotl force-pushed the more-docker-compose branch from b37dcb5 to 8125152 Compare October 6, 2025 01:38
coderabbitai[bot]

This comment was marked as resolved.

coderabbitai[bot]

This comment was marked as resolved.

@amotl amotl requested review from bmunkholm and kneth October 6, 2025 02:25
Comment on lines 62 to 41
psql "postgresql://crate:crate@cratedb:5432/" <<SQL
docker compose run --rm --no-TTY psql psql "postgresql://crate:crate@cratedb:5432/" <<SQL
Copy link
Member Author

Choose a reason for hiding this comment

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

psql psql reads like a typo to some. Maybe let's rename the first fragment (Docker Compose service name), which is at our disposal?

Copy link
Member Author

Choose a reason for hiding this comment

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

Fixed with 6e258d9.

Comment on lines 70 to 35
mongosh --host mongodb --db test --eval 'db.demo.insert({"temperature": 42.84, "humidity": 83.1})'
docker compose run --rm --no-TTY mongosh mongosh --host mongodb --db test --eval 'db.demo.insert({"temperature": 42.84, "humidity": 83.1})'
Copy link
Member Author

Choose a reason for hiding this comment

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

Dito.

Copy link
Member Author

Choose a reason for hiding this comment

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

Fixed with 6e258d9.

ctk load table \
"mongodb://mongodb/test/demo" \
--cluster-url="crate://cratedb/doc/mongodb_demo"
docker compose run --rm --no-TTY ctk ctk load table "mongodb://mongodb/test/demo" --cluster-url="crate://cratedb/doc/mongodb_demo"
Copy link
Member Author

Choose a reason for hiding this comment

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

Dito.

Copy link
Member Author

Choose a reason for hiding this comment

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

Fixed with 6e258d9.

Comment on lines 1 to 2
# Service composition file for Docker Compose or Podman Compose

Copy link
Member Author

@amotl amotl Oct 6, 2025

Choose a reason for hiding this comment

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

Does it make sense to add a reference URL to the very documentation slot? Relevant are the compose.yaml files and any other configuration files.

Copy link
Member Author

Choose a reason for hiding this comment

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

Fixed with 1d14227.

@amotl amotl force-pushed the more-docker-compose branch 2 times, most recently from 49771fd to 59dd261 Compare October 6, 2025 16:09
amotl added 2 commits October 6, 2025 18:31
When they are identical, they might as a typo to some.
This gives users more orientation after downloading usage guide assets.
coderabbitai[bot]

This comment was marked as resolved.

@amotl amotl merged commit 17253d4 into main Oct 6, 2025
2 of 3 checks passed
@amotl amotl deleted the more-docker-compose branch October 6, 2025 20:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

guidance Matters of layout, shape, and structure. maintenance C'est la vie. sanding-500 Sanding medium-sized details.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant