From fe90821fcfe1dabe7211dc90b38f5f1a5c6d5c40 Mon Sep 17 00:00:00 2001 From: Cyril Levis <git@levis.name> Date: Sat, 14 Sep 2024 16:47:34 +0200 Subject: [PATCH] fix: static build --- Dockerfile | 31 +++++++++++++++++++++++++++---- Makefile | 2 +- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index b1d67c477..31eb3d436 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,32 @@ -FROM golang:1.22 +FROM golang:1.22 as builder +ARG VERSION="dev" WORKDIR /usr/src/app +ENV CGO_ENABLED=0 +ENV GO111MODULE=on COPY go.mod go.sum ./ RUN go mod download && go mod verify COPY . . RUN make build \ - && mv bin/manager /manager_amd64 \ - && ln -s /manager_amd64 /manager -ENTRYPOINT ["/manager"] + && mv bin/manager /manager_amd64 + +FROM alpine:latest +ARG VERSION="dev" +ENV SUMMARY="CloudNativePG Operator Container Image." \ + DESCRIPTION="This Docker image contains CloudNativePG Operator." +LABEL summary="$SUMMARY" \ + description="$DESCRIPTION" \ + io.k8s.display-name="$SUMMARY" \ + io.k8s.description="$DESCRIPTION" \ + name="CloudNativePG Operator" \ + vendor="CloudNativePG Contributors" \ + url="https://cloudnative-pg.io/" \ + version="$VERSION" \ + release="1" +WORKDIR / +RUN apk --no-cache add ca-certificates tzdata +COPY licenses /licenses +COPY LICENSE /licenses +COPY --from=builder /manager_amd64 /bin/ +RUN ln -sf /bin/manager_amd64 manager +USER 65532:65532 +ENTRYPOINT [ "/manager" ] diff --git a/Makefile b/Makefile index 05c8ba986..1a5fab8c6 100644 --- a/Makefile +++ b/Makefile @@ -32,7 +32,7 @@ COMMIT := $(shell git rev-parse --short HEAD || echo unknown) DATE := $(shell git log -1 --pretty=format:'%ad' --date short) VERSION := $(shell git describe --tags --match 'v*' | sed -e 's/^v//; s/-g[0-9a-f]\+$$//; s/-\([0-9]\+\)$$/-dev\1/') REPLACE_VERSION := $(shell git describe --tags --abbrev=0 $(shell git describe --tags --match 'v*' --abbrev=0)^) -LDFLAGS= "-X github.com/cloudnative-pg/cloudnative-pg/pkg/versions.buildVersion=${VERSION} $\ +LDFLAGS= "-s -w -X github.com/cloudnative-pg/cloudnative-pg/pkg/versions.buildVersion=${VERSION} $\ -X github.com/cloudnative-pg/cloudnative-pg/pkg/versions.buildCommit=${COMMIT} $\ -X github.com/cloudnative-pg/cloudnative-pg/pkg/versions.buildDate=${DATE}" DIST_PATH := $(shell pwd)/dist -- GitLab