From b3e3302ecf20032e56510fa704c2a109bfc6f607 Mon Sep 17 00:00:00 2001 From: Shubham Agrawal Date: Fri, 5 Feb 2021 20:02:25 +0530 Subject: [PATCH] Added AWS codecommit support using access & secret keys --- docker/Dockerfile.linux.amd64 | 26 ++++++++++++++++++++++++++ posix/clone | 12 ++++++++++++ 2 files changed, 38 insertions(+) diff --git a/docker/Dockerfile.linux.amd64 b/docker/Dockerfile.linux.amd64 index af4bfde..d90fa68 100644 --- a/docker/Dockerfile.linux.amd64 +++ b/docker/Dockerfile.linux.amd64 @@ -1,5 +1,31 @@ FROM alpine:3.12 RUN apk add --no-cache ca-certificates git git-lfs openssh curl perl +ENV GLIBC_VER=2.31-r0 +RUN apk --no-cache add \ + binutils \ + curl \ + && curl -sL https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub -o /etc/apk/keys/sgerrand.rsa.pub \ + && curl -sLO https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VER}/glibc-${GLIBC_VER}.apk \ + && curl -sLO https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VER}/glibc-bin-${GLIBC_VER}.apk \ + && apk add --no-cache \ + glibc-${GLIBC_VER}.apk \ + glibc-bin-${GLIBC_VER}.apk \ + && curl -sL https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.1.24.zip -o awscliv2.zip \ + && unzip awscliv2.zip \ + && aws/install \ + && rm -rf \ + awscliv2.zip \ + aws \ + /usr/local/aws-cli/v2/*/dist/aws_completer \ + /usr/local/aws-cli/v2/*/dist/awscli/data/ac.index \ + /usr/local/aws-cli/v2/*/dist/awscli/examples \ + && apk --no-cache del \ + binutils \ + curl \ + && rm glibc-${GLIBC_VER}.apk \ + && rm glibc-bin-${GLIBC_VER}.apk \ + && rm -rf /var/cache/apk/* + ADD posix/* /usr/local/bin/ ENTRYPOINT ["/usr/local/bin/clone"] diff --git a/posix/clone b/posix/clone index c197f73..3dc7c27 100755 --- a/posix/clone +++ b/posix/clone @@ -29,6 +29,18 @@ if [[ ! -z "${DRONE_SSH_KEY}" ]]; then ssh-keyscan -H ${DRONE_NETRC_MACHINE} > /etc/ssh/ssh_known_hosts 2> /dev/null fi +# AWS codecommit support using AWS access key & secret key +# Refer: https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-https-unixes.html + +if [[ ! -z "$DRONE_AWS_ACCESS_KEY" ]]; then + aws configure set aws_access_key_id $DRONE_AWS_ACCESS_KEY + aws configure set aws_secret_access_key $DRONE_AWS_SECRET_KEY + aws configure set default.region $DRONE_AWS_REGION + + git config --global credential.helper '!aws codecommit credential-helper $@' + git config --global credential.UseHttpPath true +fi + # configure git global behavior and parameters via the # following environment variables: