ATLAS-5219: Docker setup update to keep containers immutable#654
Open
kumaab wants to merge 2 commits into
Open
ATLAS-5219: Docker setup update to keep containers immutable#654kumaab wants to merge 2 commits into
kumaab wants to merge 2 commits into
Conversation
Contributor
Author
|
Build successful: https://github.com/kumaab/atlas/actions/runs/26692464938/job/78671216653 |
There was a problem hiding this comment.
Pull request overview
Updates the dev-support Docker setup to keep the Atlas container immutable by externalizing configuration/credentials as read-only mounts and moving Postgres initialization into a dedicated one-shot init service.
Changes:
- Mount
atlas-application.properties(backend-specific) andusers-credentials.propertiesread-only into the Atlas container; simplifyatlas.shto validate prerequisites rather than mutating the image at runtime. - Reduce Atlas image size and enforce an expanded webapp by extracting
atlas.warduring the image build. - Replace the custom Postgres image flow with the upstream
postgres:13.21image and a newatlas-db-initone-shot initializer driven bydocker-compose.atlas-postgres.yml.
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| dev-support/atlas-docker/scripts/atlas.sh | Removes first-run mutation logic; validates mounted config/credentials and expanded webapp before starting Atlas. |
| dev-support/atlas-docker/README.md | Updates docker-compose instructions and documents the new Postgres overlay/init flow. |
| dev-support/atlas-docker/Dockerfile.atlas | Extracts atlas.war at build time and removes the WAR to support immutable runtime behavior and reduce size. |
| dev-support/atlas-docker/docker-compose.atlas.yml | Adds read-only mounts for backend-specific config and user credentials into /opt/atlas/conf. |
| dev-support/atlas-docker/docker-compose.atlas-postgres.yml | Introduces atlas-db-init one-shot init container to create roles/db/schema before Atlas starts. |
| dev-support/atlas-docker/docker-compose.atlas-common.yml | Switches atlas-db to upstream postgres:13.21 and sets required env. |
| dev-support/atlas-docker/config/init_postgres.sh | Reworks Postgres init to be idempotent and parameterized for use from the init container. |
| dev-support/atlas-docker/config/atlas/users-credentials.properties | Adds a static file-auth credentials file for the dev docker setup. |
| dev-support/atlas-docker/config/atlas/postgres/atlas-application.properties | Adds a Postgres-backed Atlas configuration suitable for docker-compose deployment. |
| dev-support/atlas-docker/config/atlas/hbase/atlas-application.properties | Adds an HBase-backed Atlas configuration suitable for docker-compose deployment. |
Comments suppressed due to low confidence (1)
dev-support/atlas-docker/config/atlas/users-credentials.properties:19
- This file includes the plaintext password in a comment. Even for dev-support assets, committing plaintext credentials makes it easier to accidentally reuse them elsewhere. Consider removing the password comment (the README already documents the default login) and keep only the hash.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
What changes were proposed in this pull request?
atlas-application.propertiesis mounted read-only according to${ATLAS_BACKEND}users-credentials.propertiesis mounted read-onlyatlas-db-initdriven from docker compose file:dev-support/atlas-docker/docker-compose.atlas-postgres.yml, thereafterDockerfile.atlas-dbis no longer required - postgres image is pulled directly.How was this patch tested?
atlas-db-initcomes up and sets up the database and quits thereafter/var/log/atlas/application.log