Files
attest-provider/Dockerfile

38 lines
959 B
Docker
Raw Permalink Normal View History

2024-05-23 10:52:35 -05:00
ARG BUILDERIMAGE="golang:1.22"
2024-05-23 10:19:55 -05:00
ARG BASEIMAGE="gcr.io/distroless/static:nonroot"
FROM ${BUILDERIMAGE} AS builder
2024-05-23 10:19:55 -05:00
ENV CGO_ENABLED=0
2024-05-23 10:19:55 -05:00
2024-06-28 16:59:35 +01:00
WORKDIR /app
2024-05-23 10:19:55 -05:00
# --- This block can be removed when github.com/docker/attest is public
2024-05-23 10:52:35 -05:00
ENV GOPRIVATE="github.com/docker/attest"
RUN --mount=type=secret,id=GITHUB_TOKEN <<EOT
2024-05-23 10:52:35 -05:00
set -e
GITHUB_TOKEN=${GITHUB_TOKEN:-$(cat /run/secrets/GITHUB_TOKEN)}
if [ -n "$GITHUB_TOKEN" ]; then
echo "Setting GitHub access token"
git config --global "url.https://x-access-token:${GITHUB_TOKEN}@github.com.insteadof" "https://github.com"
fi
EOT
# ---
2024-06-11 11:22:57 +01:00
RUN --mount=type=bind,source=.,target=/app \
--mount=type=cache,target=$GOPATH/pkg/mod \
--mount=type=cache,target=/root/.cache/go-build \
go build -o /bin/attest main.go
2024-05-23 10:19:55 -05:00
FROM ${BASEIMAGE} AS production
2024-05-23 10:19:55 -05:00
COPY --from=builder /bin/attest /
2024-05-23 10:19:55 -05:00
USER 65532:65532
2024-05-23 10:52:35 -05:00
ENTRYPOINT ["/attest"]
FROM production AS dev
2024-07-01 15:01:44 +01:00
COPY --chown=65532:65532 certs/tls.crt certs/tls.key /certs/