Skip to content

Commit 6b8b892

Browse files
committed
feat: user credentials helper for ACR, GCR, ECR
1 parent cb39b19 commit 6b8b892

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

Dockerfile

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,10 @@ RUN cd $GOPATH/src/github.com/containers/skopeo \
1010
&& make bin/skopeo DISABLE_CGO=1 \
1111
&& make install
1212

13+
FROM golang:1.17 AS cred-helpers-build
14+
1315
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
16+
RUN go get -u github.com/chrismellard/docker-credential-acr-env
1517

1618
#---------------------------------------------------------------------
1719
# STAGE 2: Build the kubernetes-monitor
@@ -31,7 +33,7 @@ ENV NODE_ENV production
3133
RUN curl -sL https://rpm.nodesource.com/setup_16.x | bash -
3234
RUN yum install -y nodejs
3335

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
36+
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
3537
RUN chmod 755 /usr/bin/dumb-init
3638

3739
RUN groupadd -g 10001 snyk
@@ -43,10 +45,13 @@ RUN bash /install.sh --disable-prompts --install-dir=/ && rm /google-cloud-sdk/b
4345
ENV PATH=/google-cloud-sdk/bin:$PATH
4446
RUN rm /install.sh
4547

48+
# Copy credential helpers
49+
COPY --chown=snyk:snyk --from=cred-helpers-build /go/bin/docker-credential-ecr-login /usr/bin/docker-credential-ecr-login
50+
COPY --chown=snyk:snyk --from=cred-helpers-build /go/bin/docker-credential-acr-env /usr/bin/docker-credential-acr-env
51+
4652
WORKDIR /srv/app
4753

4854
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
5055
COPY --chown=snyk:snyk --from=skopeo-build /etc/containers/registries.d/default.yaml /etc/containers/registries.d/default.yaml
5156
COPY --chown=snyk:snyk --from=skopeo-build /etc/containers/policy.json /etc/containers/policy.json
5257

test/setup/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,15 +46,15 @@ export async function removeMonitor(): Promise<void> {
4646
} else {
4747
await platforms[testPlatform].clean();
4848
}
49-
} catch (error) {
49+
} catch (error: any) {
5050
console.log(`Could not remove the Kubernetes-Monitor: ${error.message}`);
5151
}
5252
}
5353

5454
export async function removeLocalContainerRegistry(): Promise<void> {
5555
try {
5656
await exec('docker rm kind-registry --force');
57-
} catch (error) {
57+
} catch (error: any) {
5858
console.log(
5959
`Could not remove container registry, it probably did not exist: ${error.message}`,
6060
);
@@ -64,7 +64,7 @@ export async function removeLocalContainerRegistry(): Promise<void> {
6464
export async function removeUnusedKindNetwork(): Promise<void> {
6565
try {
6666
await exec('docker network rm kind');
67-
} catch (error) {
67+
} catch (error: any) {
6868
console.log(`Could not remove "kind" network: ${error.message}`);
6969
}
7070
}

0 commit comments

Comments
 (0)