github.com/verrazzano/verrazzano-monitoring-operator@v0.0.30/docker-images/verrazzano-monitoring-operator/Dockerfile (about) 1 # Copyright (C) 2020, 2022, Oracle and/or its affiliates. 2 # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. 3 FROM ghcr.io/oracle/oraclelinux:7-slim AS build_base 4 5 RUN yum update -y \ 6 && yum-config-manager --save --setopt=ol7_ociyum_config.skip_if_unavailable=true \ 7 && yum install -y oracle-golang-release-el7 \ 8 && yum-config-manager --disable ol7_developer_golang\* \ 9 && yum-config-manager --enable ol7_developer_golang117 \ 10 && yum -y install golang \ 11 && yum clean all \ 12 && go version 13 14 ARG BUILDVERSION 15 ARG BUILDDATE 16 17 # Need to use specific WORKDIR to match verrazzano-monitoring-operator's source packages 18 WORKDIR /root/go/src/github.com/verrazzano/verrazzano-monitoring-operator 19 ENV GOPATH /root/go 20 ENV CGO_ENABLED 0 21 COPY . . 22 RUN go build \ 23 -ldflags '-extldflags "-static"' \ 24 -ldflags "-X main.buildVersion=${BUILDVERSION} -X main.buildDate=${BUILDDATE}" \ 25 -o /usr/bin/verrazzano-monitoring-operator ./cmd/verrazzano-monitoring-ctrl 26 27 28 FROM ghcr.io/oracle/oraclelinux:7-slim AS final 29 30 RUN yum update -y \ 31 && yum install -y openssl \ 32 && yum clean all \ 33 && rm -rf /var/cache/yum 34 35 COPY --from=build_base /usr/bin/verrazzano-monitoring-operator /usr/local/bin/verrazzano-monitoring-operator 36 37 WORKDIR /usr/local/bin/ 38 RUN groupadd -r verrazzano-monitoring-operator && useradd --no-log-init -r -g verrazzano-monitoring-operator -u 1000 verrazzano-monitoring-operator 39 RUN chown 1000:verrazzano-monitoring-operator /usr/local/bin/verrazzano-monitoring-operator && chmod 500 /usr/local/bin/verrazzano-monitoring-operator 40 USER 1000 41 42 ENTRYPOINT ["/usr/local/bin/verrazzano-monitoring-operator"]