# Build stage FROM golang:1.23-alpine AS build WORKDIR /src COPY . . ARG VERSION=dev ARG VCS_REF=unknown ARG BUILD_DATE RUN --mount=type=cache,target=/root/.cache/go-build \ --mount=type=cache,target=/go/pkg/mod \ apk add --no-cache ca-certificates && \ CGO_ENABLED=0 go build -ldflags "-s -w -X main.version=${VERSION} -X main.commit=${VCS_REF} -X main.builtAt=${BUILD_DATE}" -o /out/sojuboy ./cmd/sojuboy # Final image FROM gcr.io/distroless/static WORKDIR / COPY --from=build /out/sojuboy /sojuboy COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt EXPOSE 8080 HEALTHCHECK --interval=30s --timeout=3s --retries=3 CMD ["/sojuboy","--health"] ENTRYPOINT ["/sojuboy"]