28 lines
1.4 KiB
Docker
28 lines
1.4 KiB
Docker
# syntax=docker/dockerfile:1@sha256:87999aa3d42bdc6bea60565083ee17e86d1f3339802f543c0d03998580f9cb89
|
|
FROM golang:1.25-bookworm@sha256:908f8ff2ec296df2f349563072c7925775cd28b50361a52ed834a8a37399b9bf AS build
|
|
WORKDIR /src
|
|
COPY go.mod go.sum ./
|
|
RUN --mount=type=cache,target=/go/pkg/mod go mod download
|
|
COPY . .
|
|
ARG TARGETOS=linux
|
|
ARG TARGETARCH
|
|
ARG VERSION=dev
|
|
ARG COMMIT=unknown
|
|
RUN --mount=type=cache,target=/go/pkg/mod --mount=type=cache,target=/root/.cache/go-build \
|
|
CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -trimpath -buildvcs=false \
|
|
-ldflags="-s -w -X main.version=$VERSION -X main.commit=$COMMIT" -o /out/dogama ./cmd/dogama && \
|
|
CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -trimpath -buildvcs=false \
|
|
-ldflags="-s -w -X main.version=$VERSION -X main.commit=$COMMIT" -o /out/dogama-agent ./cmd/dogama-agent
|
|
|
|
FROM gcr.io/distroless/static-debian12:nonroot@sha256:f5b485ea962d9bd1186b2f6b3a061191539b905b82ec395de78cbfae51f20e35 AS dogama
|
|
WORKDIR /var/lib/dogama
|
|
COPY --from=build /out/dogama /usr/local/bin/dogama
|
|
EXPOSE 8080
|
|
ENTRYPOINT ["/usr/local/bin/dogama"]
|
|
|
|
FROM gcr.io/distroless/static-debian12:latest@sha256:a9fcaedd4c9b59e12dd65d954f0b5044f19b0647a8a3712e77205df9e7b102cd AS dogama-agent
|
|
WORKDIR /var/lib/dogama-agent
|
|
COPY --from=build /out/dogama-agent /usr/local/bin/dogama-agent
|
|
EXPOSE 8081
|
|
ENTRYPOINT ["/usr/local/bin/dogama-agent"]
|