1- # syntax=docker/dockerfile:1
21#---------------------------------------------------------------------
3- # PRE-BUILD STAGE: Build the acr credential helper binary
4- # This is due to the fact that the acr credential helper is not being actively released
2+ # STAGE 1: Build credential helpers inside a temporary container
53#---------------------------------------------------------------------
6- FROM --platform=linux/amd64 golang:1.16 as cred-helpers-build
4+ FROM --platform=linux/amd64 golang:1.23 as cred-helpers-build
75
8- RUN go install github.com/chrismellard/docker-credential-acr-env@82a0ddb2758901b711d9d1614755b77e401598a1
6+ RUN go install github.com/awslabs/amazon-ecr-credential-helper/ecr-login/cli/docker-credential-ecr-login@bef5bd9384b752e5c645659165746d5af23a098a
7+ RUN --mount=type=secret,id=gh_token,required=true \
8+ git config --global url."https://$(cat /run/secrets/gh_token):
[email protected] /snyk".insteadOf "https://github.com/snyk" && \
9+ go env -w GOPRIVATE=github.com/snyk && \
10+ go install github.com/snyk/docker-credential-acr-env@8fa416c5b20b174e9032df1899843b4ebe2adda8 && \
11+ git config --global --unset url."https://$(cat /run/secrets/gh_token):
[email protected] /snyk".insteadOf
912
1013#---------------------------------------------------------------------
11- # STAGE 1 : Build kubernetes-monitor application
14+ # STAGE 2 : Build kubernetes-monitor application
1215#---------------------------------------------------------------------
13- FROM --platform=linux/amd64 registry.access.redhat.com/ubi9/nodejs-18:1-84 AS build
16+ FROM --platform=linux/amd64 registry.access.redhat.com/ubi9/nodejs-18:1-123 AS build
1417
1518ENV NODE_ENV production
1619
@@ -26,14 +29,14 @@ COPY --chown=1001:1001 . ./
2629RUN npm run build
2730
2831#---------------------------------------------------------------------
29- # STAGE 2 : Install containers-common to obtain configuration files
32+ # STAGE 3 : Install containers-common to obtain configuration files
3033#---------------------------------------------------------------------
3134FROM --platform=linux/amd64 registry.access.redhat.com/ubi9/ubi:9.4 AS containers-common
3235
3336RUN dnf install -y containers-common
3437
3538#---------------------------------------------------------------------
36- # STAGE 3 : Build the kubernetes-monitor final image
39+ # STAGE 4 : Build the kubernetes-monitor final image
3740#---------------------------------------------------------------------
3841FROM --platform=linux/amd64 registry.access.redhat.com/ubi9/ubi:9.4
3942
@@ -43,14 +46,8 @@ ARG NODE_18_LATEST_VERSION_TAR_GZ_FILE_SHASUM256
4346ARG DUMB_INIT_VERSION=1.2.5
4447ARG DUMB_INIT_BINARY_FILE_SHASUM256=e874b55f3279ca41415d290c512a7ba9d08f98041b28ae7c2acb19a545f1c4df
4548# https://github.com/lework/skopeo-binary/releases
46- ARG SKOPEO_VERSION=1.13.2
47- ARG SKOPEO_BINARY_FILE_SHASUM256=2f00be6ee1c4cbfa7f2452be90a1a2ce88fd92a6d0f6a2e9d901bd2087bd9092
48- # https://github.com/awslabs/amazon-ecr-credential-helper/releases
49- # for sha: download SHA256 for the linux-amd64/docker-credential-ecr-login, then `cat docker-credential-ecr-login.sha256`
50- ARG ECR_CREDENTIAL_HELPER_VERSION=0.9.0
51- ARG ECR_CREDENTIAL_HELPER_BINARY_FILE_SHASUM256=dd6bd933e439ddb33b9f005ad5575705a243d4e1e3d286b6c82928bcb70e949a
52- # since this is built from a commit, you will need to build it locally to get the sha
53- ARG ACR_CREDENTIAL_HELPER_BINARY_SHASUM256=598bbd4ad2741ae2e68ac55e938a4542e71952e418e6278a74baf6213ef8ce76
49+ ARG SKOPEO_VERSION=1.16.1
50+ ARG SKOPEO_BINARY_FILE_SHASUM256=8813fb7fcd7a723196ac287683dd929d280f6fe7f0782eace452fe1e3ff2b7eb
5451
5552LABEL name="Snyk Controller" \
5653@@ -60,7 +57,7 @@ LABEL name="Snyk Controller" \
6057
6158COPY LICENSE /licenses/LICENSE
6259
63- ENV NODE_ENV production
60+ ENV NODE_ENV= production
6461
6562RUN yum upgrade -y
6663
@@ -83,17 +80,12 @@ COPY --chown=snyk:snyk --from=containers-common /etc/containers/registries.d/def
8380COPY --chown=snyk:snyk --from=containers-common /etc/containers/policy.json /etc/containers/policy.json
8481
8582# Install credential helpers
86- RUN curl -sSfLo /usr/local/bin/docker-credential-ecr-login "https://amazon-ecr-credential-helper-releases.s3.us-east-2.amazonaws.com/${ECR_CREDENTIAL_HELPER_VERSION}/linux-amd64/docker-credential-ecr-login" && \
87- chmod 755 /usr/local/bin/docker-credential-ecr-login && \
88- echo "${ECR_CREDENTIAL_HELPER_BINARY_FILE_SHASUM256} /usr/local/bin/docker-credential-ecr-login" | sha256sum --check --status
83+ COPY --chown=snyk:snyk --from=cred-helpers-build /go/bin/docker-credential-ecr-login /usr/bin/docker-credential-ecr-login
8984COPY --chown=snyk:snyk --from=cred-helpers-build /go/bin/docker-credential-acr-env /usr/local/bin/docker-credential-acr-env
90- RUN echo "${ACR_CREDENTIAL_HELPER_BINARY_SHASUM256} /usr/local/bin/docker-credential-acr-env" | sha256sum --check --status
91-
9285
9386# Install gcloud
9487RUN curl -sSfL https://sdk.cloud.google.com | bash -s -- --disable-prompts --install-dir=/ && \
95- rm -f /google-cloud-sdk/bin/anthoscli && \
96- rm -rf /google-cloud-sdk/platform
88+ rm -rf /google-cloud-sdk/platform /google-cloud-sdk/bin/anthoscli /google-cloud-sdk/bin/gcloud-crc32c
9789ENV PATH=/google-cloud-sdk/bin:$PATH
9890
9991# Install node
0 commit comments