github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/build/orbos/Dockerfile (about)

     1  FROM golang:1.16-alpine3.14 as build
     2  
     3  RUN apk update && \
     4      apk add -U --no-cache ca-certificates git curl openssh build-base && \
     5      go get github.com/go-delve/delve/cmd/dlv
     6  
     7  # Runtime dependencies
     8  RUN mkdir /dependencies && \
     9      curl -L "https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv3.4.0/kustomize_v3.4.0_linux_amd64.tar.gz" |tar xvz && \
    10      mv ./kustomize /dependencies/kustomize && \
    11      curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.17.0/bin/linux/amd64/kubectl && \
    12      chmod +x ./kubectl && \
    13      mv ./kubectl /dependencies/kubectl && \
    14      curl -L "https://get.helm.sh/helm-v2.17.0-linux-amd64.tar.gz" |tar xvz && \
    15      mv linux-amd64/helm /dependencies/helm && \
    16      chmod +x /dependencies/helm
    17  
    18  COPY artifacts/orbctl-Linux-x86_64 /orbctl
    19  COPY artifacts/gen-charts /gen-charts
    20  
    21  RUN cp /dependencies/helm /usr/local/bin/helm
    22  RUN mkdir -p /boom
    23  RUN /gen-charts -basepath "/boom"
    24  
    25  COPY dashboards /boom/dashboards
    26  
    27  ENV PATH="/dependencies:${PATH}"
    28  
    29  ENTRYPOINT [ "dlv", "exec", "/orbctl", "--api-version", "2", "--headless", "--listen", "127.0.0.1:2345", "--" ]
    30  
    31  FROM alpine:3.13.1 as prod
    32  
    33  RUN apk update && \
    34      addgroup -S -g 1000 orbiter && \
    35      adduser -S -u 1000 orbiter -G orbiter
    36  
    37  ENV GODEBUG madvdontneed=1
    38  
    39  COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
    40  COPY --from=build --chown=1000:1000 /orbctl /orbctl
    41  COPY --from=build --chown=1000:1000 /boom /boom
    42  COPY --from=build --chown=1000:1000 /dependencies /usr/local/bin/
    43  
    44  USER orbiter
    45  
    46  ENTRYPOINT [ "/orbctl" ]
    47  CMD [ "--help" ]