github.com/percona/percona-xtradb-cluster-operator@v1.14.0/build/Dockerfile (about) 1 FROM golang:1.21 AS go_builder 2 WORKDIR /go/src/github.com/percona/percona-xtradb-cluster-operator 3 4 COPY . . 5 6 ARG GIT_COMMIT 7 ARG GIT_BRANCH 8 ARG BUILD_TIME 9 ARG GO_LDFLAGS 10 ARG GOOS=linux 11 ARG CGO_ENABLED=0 12 13 RUN go mod download \ 14 && mkdir -p build/_output/bin \ 15 && GOOS=$GOOS CGO_ENABLED=$CGO_ENABLED GO_LDFLAGS=$GO_LDFLAGS \ 16 go build -ldflags "-w -s -X main.GitCommit=$GIT_COMMIT -X main.GitBranch=$GIT_BRANCH -X main.BuildTime=$BUILD_TIME" \ 17 -o build/_output/bin/percona-xtradb-cluster-operator \ 18 cmd/manager/main.go \ 19 && cp -r build/_output/bin/percona-xtradb-cluster-operator /usr/local/bin/percona-xtradb-cluster-operator 20 21 RUN go build -o build/_output/bin/peer-list cmd/peer-list/main.go \ 22 && cp -r build/_output/bin/peer-list /usr/local/bin/ 23 24 FROM registry.access.redhat.com/ubi9/ubi-minimal AS ubi9 25 RUN microdnf -y update && microdnf clean all 26 27 LABEL name="Percona XtraDB Cluster Operator" \ 28 vendor="Percona" \ 29 summary="Percona XtraDB Cluster is an active/active high availability and high scalability open source solution for MySQL clustering" \ 30 description="Percona XtraDB Cluster is a high availability solution that helps enterprises avoid downtime and outages and meet expected customer experience." \ 31 maintainer="Percona Development <info@percona.com>" 32 33 COPY LICENSE /licenses/ 34 COPY --from=go_builder /usr/local/bin/percona-xtradb-cluster-operator /usr/local/bin/percona-xtradb-cluster-operator 35 COPY --from=go_builder /usr/local/bin/peer-list /peer-list 36 COPY build/pxc-entrypoint.sh /pxc-entrypoint.sh 37 COPY build/pxc-init-entrypoint.sh /pxc-init-entrypoint.sh 38 COPY build/unsafe-bootstrap.sh /unsafe-bootstrap.sh 39 COPY build/pxc-configure-pxc.sh /pxc-configure-pxc.sh 40 COPY build/liveness-check.sh /liveness-check.sh 41 COPY build/readiness-check.sh /readiness-check.sh 42 COPY build/pmm-prerun.sh /pmm-prerun.sh 43 COPY build/get-pxc-state /get-pxc-state 44 45 USER 2