# The car server: one static Go binary on distroless, running as non-root. # Configuration comes from the environment at runtime; nothing secret is baked in. FROM docker.io/library/golang:1.26.9-alpine AS build WORKDIR /src ENV CGO_ENABLED=0 GOFLAGS=-trimpath GOTOOLCHAIN=local COPY go.mod go.sum ./ RUN go mod download && go mod verify COPY *.go ./ RUN go vet ./... && go test ./... && go build -ldflags="-s -w" -o /out/server . FROM gcr.io/distroless/static-debian12:nonroot COPY --from=build /out/server /server USER 65532:65532 EXPOSE 8080 ENTRYPOINT ["/server"]