2026-04-24 21:17:42 -05:00
|
|
|
FROM golang:1.26-alpine AS build
|
|
|
|
|
|
|
|
|
|
WORKDIR /src
|
|
|
|
|
COPY go.mod go.sum ./
|
|
|
|
|
RUN go mod download
|
|
|
|
|
|
|
|
|
|
COPY cmd/ ./cmd/
|
|
|
|
|
COPY pkg/ ./pkg/
|
|
|
|
|
|
2026-04-24 21:19:10 -05:00
|
|
|
RUN go test -count=1 ./...
|
|
|
|
|
|
2026-04-24 21:17:42 -05:00
|
|
|
ARG GIT_SHA=unknown
|
|
|
|
|
RUN CGO_ENABLED=0 go build -trimpath \
|
|
|
|
|
-ldflags="-s -w -X main.gitSHA=${GIT_SHA}" \
|
|
|
|
|
-o /out/flock ./cmd/flock \
|
|
|
|
|
&& CGO_ENABLED=0 go build -trimpath \
|
|
|
|
|
-ldflags="-s -w -X main.gitSHA=${GIT_SHA}" \
|
2026-04-24 22:33:48 -05:00
|
|
|
-o /out/flock-agent ./cmd/flock-agent \
|
|
|
|
|
&& CGO_ENABLED=0 go build -trimpath \
|
|
|
|
|
-ldflags="-s -w -X main.gitSHA=${GIT_SHA}" \
|
|
|
|
|
-o /out/flock-installer ./cmd/flock-installer
|
2026-04-24 21:17:42 -05:00
|
|
|
|
|
|
|
|
FROM alpine:3.21
|
2026-04-25 09:25:58 -05:00
|
|
|
RUN apk add --no-cache iproute2 bird nftables ca-certificates
|
2026-04-24 22:33:48 -05:00
|
|
|
COPY --from=build /out/flock /usr/local/bin/flock
|
|
|
|
|
COPY --from=build /out/flock-agent /usr/local/bin/flock-agent
|
|
|
|
|
COPY --from=build /out/flock-installer /usr/local/bin/flock-installer
|
2026-04-24 21:17:42 -05:00
|
|
|
ENTRYPOINT ["/usr/local/bin/flock-agent"]
|