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"]