Skip to content

fix: complete Dockerfile multi-stage build and fix Helm configmap mou…#370

Open
sathiraumesh wants to merge 1 commit into
delimitrou:masterfrom
sathiraumesh:fix/hotel-reservation-dockerfile-and-helm-mounts
Open

fix: complete Dockerfile multi-stage build and fix Helm configmap mou…#370
sathiraumesh wants to merge 1 commit into
delimitrou:masterfrom
sathiraumesh:fix/hotel-reservation-dockerfile-and-helm-mounts

Conversation

@sathiraumesh
Copy link
Copy Markdown

@sathiraumesh sathiraumesh commented Apr 13, 2026

Summary

The hotelReservation application cannot be deployed on Kubernetes due to two bugs:

  • Incomplete Dockerfile: The multi-stage build is missing its final FROM stage. The builder stage compiles Go binaries into /go/bin/ via go install, but there is no runtime stage to copy them into a minimal image. This causes all Go microservice containers (geo, frontend, profile, rate, recommendation, reservation, search, user) to crash with:

…nt paths for hotelReservation

The hotelReservation Dockerfile was missing its final stage, causing all Go
microservice containers to crash with "exec ./geo: no such file or directory".
The builder stage compiled binaries into /go/bin/ via `go install`, but no
second stage existed to copy them into a minimal runtime image.

Additionally, the Helm chart values for all 8 Go services used a relative
`mountPath: config.json` for the configmap volume mount. Kubernetes interprets
this as /config.json (root), while the app runs from WORKDIR /app and reads
/app/config.json — so the Helm-generated config (with correct FQDNs for
consul, jaeger, mongodb, etc.) was never applied, and services fell back to
the default baked-in config.json with short hostnames that don't resolve.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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