chore(environment): name the runtime image for what it carries - #136
Merged
Merged
Conversation
Dockerfile.server built only the server; it now builds the CLI too, so the name no longer describes it. Renamed to Dockerfile.runtime. The published image name is unchanged, so nothing downstream moves. The server service mounted data/ as a whole, which hid the data/tabula baked into the image behind the host's copy. Anything tested there was testing the host's CSVs, so the no-host-mount configuration the image is built for was never exercised by this file. The dataset directories are now mounted individually. Verified: with the old mount the CSVs come from the host; with the new one they come from the image while the host's lod2 tiles still arrive; with no mounts at all the image carries all 20. The service comment described `go run` against the dev image, no separate build target, and data/ being excluded from the image. None of those had been true since the runtime image was added.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
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.
Two loose ends from #135, both in files that PR could not touch.
The name
Dockerfile.serverhas built the CLI as well as the server since #135, so the name stopped describing it. Renamed toDockerfile.runtime; git records it as a 100% rename so history follows. The published image nameghcr.io/thd-spatial-ai/city2tabula-serveris unchanged, so no caller, compose file or deployment moves.The mount
The server service mounted
./../../data:/app/data, which hid thedata/tabulabaked into the image behind the host's copy. So the configuration the image is built for — running with no TABULA files on the host at all — was never exercised by our own compose, and anything tested there was testing the host's CSVs.Mounting the dataset directories individually fixes it. Demonstrated rather than reasoned:
The middle row is the fix; the bottom row is what a deployment actually does.
Four false statements removed
The service comment claimed
go runagainst the already-COPY'd source in the dev image, no separate build target, thatdata/was.dockerignored, and that the TABULA import therefore needed the volume mount. None had been true since the runtime image was added, and the last one was the stated justification for the mount that caused the shadowing.Verification
docker compose configvalid,up --dry-runcreates all services, image builds under the new name, unit suite green. The three mount shapes above were each run against the built image.