Files
kmsvc-manage/Dockerfile
T

18 lines
716 B
Docker
Raw Normal View History

FROM golang:1.26 AS build
WORKDIR /src
ENV GOPRIVATE=forgejo.riotpiao.homelab.com
# forgejo.riotpiao.homelab.com's cert is signed by a homelab-private CA, not
# a public one -- without this, `go mod download` can't fetch kmsvc-proto.
COPY hack/homelab-ca.pem /usr/local/share/ca-certificates/homelab-ca.crt
RUN update-ca-certificates
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath -o /out/kmsvc-server ./cmd/server
FROM gcr.io/distroless/static-debian12:nonroot
COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
COPY --from=build /out/kmsvc-server /kmsvc-server
USER nonroot:nonroot
ENTRYPOINT ["/kmsvc-server"]