Skip to content

Commit 2487022

Browse files
authored
Merge pull request #915 from snyk/feat/use-credentials-helper
feat: user credentials helper for ACR, GCR, ECR
2 parents cb39b19 + 5edec0f commit 2487022

File tree

4 files changed

+1246
-1040
lines changed

4 files changed

+1246
-1040
lines changed

Dockerfile

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,25 @@
11
#---------------------------------------------------------------------
2-
# STAGE 1: Build skopeo and ecr-credentials-helper inside a temporary container
2+
# STAGE 1: Build skopeo inside a temporary container
33
#---------------------------------------------------------------------
44
FROM fedora:32 AS skopeo-build
55

66
RUN dnf install -y golang git make
77
RUN dnf install -y go-md2man gpgme-devel libassuan-devel btrfs-progs-devel device-mapper-devel
8-
RUN git clone --depth 1 -b 'v1.4.1' https://github.com/containers/skopeo $GOPATH/src/github.com/containers/skopeo
8+
RUN git clone --depth 1 -b 'v1.5.1' https://github.com/containers/skopeo $GOPATH/src/github.com/containers/skopeo
99
RUN cd $GOPATH/src/github.com/containers/skopeo \
1010
&& make bin/skopeo DISABLE_CGO=1 \
1111
&& make install
1212

13+
#---------------------------------------------------------------------
14+
# STAGE 2: Build credential helpers inside a temporary container
15+
#---------------------------------------------------------------------
16+
FROM golang:1.17 AS cred-helpers-build
17+
1318
RUN go get -u github.com/awslabs/amazon-ecr-credential-helper/ecr-login/cli/docker-credential-ecr-login
14-
RUN cp $HOME/go/bin/docker-credential-ecr-login /usr/local/bin/docker-credential-ecr-login
19+
RUN go get -u github.com/chrismellard/docker-credential-acr-env
1520

1621
#---------------------------------------------------------------------
17-
# STAGE 2: Build the kubernetes-monitor
22+
# STAGE 3: Build the kubernetes-monitor
1823
#---------------------------------------------------------------------
1924
FROM registry.access.redhat.com/ubi8/ubi:8.5
2025

@@ -31,7 +36,7 @@ ENV NODE_ENV production
3136
RUN curl -sL https://rpm.nodesource.com/setup_16.x | bash -
3237
RUN yum install -y nodejs
3338

34-
RUN curl -L -o /usr/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v1.2.2/dumb-init_1.2.2_amd64
39+
RUN curl -L -o /usr/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_x86_64
3540
RUN chmod 755 /usr/bin/dumb-init
3641

3742
RUN groupadd -g 10001 snyk
@@ -43,10 +48,13 @@ RUN bash /install.sh --disable-prompts --install-dir=/ && rm /google-cloud-sdk/b
4348
ENV PATH=/google-cloud-sdk/bin:$PATH
4449
RUN rm /install.sh
4550

51+
# Copy credential helpers
52+
COPY --chown=snyk:snyk --from=cred-helpers-build /go/bin/docker-credential-ecr-login /usr/bin/docker-credential-ecr-login
53+
COPY --chown=snyk:snyk --from=cred-helpers-build /go/bin/docker-credential-acr-env /usr/bin/docker-credential-acr-env
54+
4655
WORKDIR /srv/app
4756

4857
COPY --chown=snyk:snyk --from=skopeo-build /usr/local/bin/skopeo /usr/bin/skopeo
49-
COPY --chown=snyk:snyk --from=skopeo-build /usr/local/bin/docker-credential-ecr-login /usr/bin/docker-credential-ecr-login
5058
COPY --chown=snyk:snyk --from=skopeo-build /etc/containers/registries.d/default.yaml /etc/containers/registries.d/default.yaml
5159
COPY --chown=snyk:snyk --from=skopeo-build /etc/containers/policy.json /etc/containers/policy.json
5260

0 commit comments

Comments
 (0)