Move local environment to docker compose managed services - #1384
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR migrates the local development environment from standalone docker run commands to a Docker Compose-based setup, addressing reliability issues in CI/CD pipelines. The migration introduces explicit service health dependencies and supports testing variations including TLS-terminated Kibana and Elasticsearch bearer token authentication.
Key Changes:
- Replaced manual Docker container orchestration with Docker Compose configurations
- Added support for TLS testing via
USE_TLS=1environment variable - Simplified acceptance test execution through compose profiles
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
docker-compose.yml |
New base compose configuration defining elasticsearch, kibana, fleet services and test profiles |
docker-compose.tls.yml |
New TLS variant extending base configuration with certificate generation and HTTPS setup |
Makefile |
Simplified targets to use docker compose commands, removed manual retry/health check logic |
.env |
New environment variables file centralizing configuration for compose services |
.buildkite/scripts/update-kibana-client.sh |
Removed manual sleep wait, relying on compose health checks |
internal/elasticsearch/logstash/pipeline_test.go |
Fixed pipeline ID generation to meet API requirements |
tobio
added a commit
that referenced
this pull request
Oct 23, 2025
* origin/main: Add resource to manage ML anomaly detection jobs (#1329) chore(deps): pin alpine/mkcert docker tag to a8f4f5a (#1389) Bump version in Makefile (#1388) Update changelog for 0.11.19 and 0.12.1 (#1387) Security Detection Rule schema validation improvements (#1381) Remove connector client generation make task (#1386) Fixup changelog link Move local environment to docker compose managed services (#1384) chore(deps): update golang:1.25.3 docker digest to 8c945d3 (#1385)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #1309
Moves the plain
docker runconfiguration from the Makefile to a Docker compose based setup. The old method was unreliable within Buildkite runners, presumably there's some timing issue there which we could track down, but Compose allows us to define service health dependencies explicitly. Buildkite runs for this branch are available hereThe same Make targets continue to work as expected, though we can now much more easily execute acceptance tests variations:
USE_TLS=1 make docker-testacc. The other make targets respect this variable, so bringing up a TLS terminated environment for manual testing is simplified.make docker-testacc-with-token.