Skip to content

chore: modernize stack tooling and add e2e tests#16

Merged
leocavalcante merged 2 commits intomainfrom
chore/modernize-and-e2e-tests
Apr 10, 2026
Merged

chore: modernize stack tooling and add e2e tests#16
leocavalcante merged 2 commits intomainfrom
chore/modernize-and-e2e-tests

Conversation

@leocavalcante
Copy link
Copy Markdown
Member

Summary

Modernizes all Docker Compose components to current stable versions and adds a full e2e test suite.

Stack script

  • Reverse compose detection order: docker compose V2 first, then V1, then podman

Image upgrades

Component Before After
postgres 14 17.4
pgadmin 7.x 9.2
mysql 8 9.3
redis 6 7.4
redisinsight redislabs/redisinsight:1.14 redis/redisinsight:3.2.0
mongo 6 8.0
mongo-express 1.0.0-alpha 1.0.2
kafka bitnami/kafka:3.5 apache/kafka:3.9.0
kafka-ui kafbat/kafka-ui:v1.4.2
rabbitmq 3 4.1-management-alpine
localstack 2.2.0 4.14.0
hyperdx latest 2.23.2 (pinned)
otel-collector unpinned 0.123.0
jaeger unpinned 1.76.0
prometheus unpinned v3.3.0
grafana unpinned 11.6.0

Compose improvements

  • Drop deprecated version: '3' field
  • Add healthchecks + service_healthy dependencies across all services
  • Kafka: migrated from Bitnami env vars (KAFKA_CFG_*) to Apache Kafka env var schema
  • RabbitMQ: upgraded to v4 (rabbitmqadmin v2/Rust rewrite)
  • OTel: removed deprecated jaeger receiver; traces pipeline uses only [otlp]
  • Removed legacy Jaeger ports (14268, 6832)

Tests

  • tests/lib.sh — shared helpers: wait_healthy, wait_http, wait_port, port_in_use, assert_contains, report
  • Individual test scripts for all 10 components (postgres, mysql, redis, mongo, kafka, rabbitmq, aws, aws-ministack, hyperdx, o11y)
  • tests/run-all.sh — suite runner with pass/fail summary
  • make test target
  • .github/workflows/e2e.yml — CI workflow on push/PR to main

leocavalcante and others added 2 commits April 10, 2026 16:44
- Reverse compose detection order: docker compose V2 > V1 > podman

Image upgrades:
- postgres 17.4, pgadmin 9.2
- mysql 9.3 (remove deprecated auth flag)
- redis 7.4, RedisInsight redislabs→redis/redisinsight:3.2.0 (port 5540)
- mongo 8.0, mongo-express 1.0.2
- kafka bitnami→apache/kafka:3.9.0, kafbat/kafka-ui:v1.4.2
- rabbitmq 4.1-management-alpine
- localstack 4.14.0
- hyperdx 2.23.2
- otel-collector 0.123.0, jaeger 1.76.0, prometheus v3.3.0, grafana 11.6.0

Compose improvements:
- Drop deprecated `version: '3'` field
- Add healthchecks + `service_healthy` dependencies across all services
- Remove jaeger receiver from OTel config (deprecated)
- Remove legacy Jaeger ports (14268, 6832)

Docs:
- Fix pgAdmin port (8039), remove defunct Jaeger rows, fix -d→-f typo

Tests:
- Add tests/lib.sh with shared helpers (wait_healthy, wait_http, wait_port, etc.)
- Add e2e tests for all 10 stack components
- Add tests/run-all.sh suite runner with pass/fail summary
- Add `make test` target
- Add .github/workflows/e2e.yml CI workflow

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…hecks

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@leocavalcante leocavalcante merged commit d424ca4 into main Apr 10, 2026
1 check passed
@leocavalcante leocavalcante deleted the chore/modernize-and-e2e-tests branch April 10, 2026 20:09
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