diff --git a/.drone.yml b/.drone.yml index 5bea361066ad4..f231cc2426f7a 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1330,233 +1330,6 @@ volumes: - name: dockersock temp: {} ---- -kind: pipeline -type: kubernetes -name: teleport-docker-cron - -trigger: - cron: - - teleport-docker-cron - repo: - include: - - gravitational/teleport - -workspace: - path: /go - -clone: - disable: false - -steps: - - name: Set up variables and Dockerfile - image: docker:git - environment: - # increment these variables when a new major/minor version is released to bump the automatic builds - # this only needs to be done on the master branch, as that's the branch that the Drone cron is configured for - # build major version images which are just teleport:x - CURRENT_VERSION_ROOT: v11 - PREVIOUS_VERSION_ONE_ROOT: v10 - PREVIOUS_VERSION_TWO_ROOT: v9 - commands: - - apk --update --no-cache add curl go - - mkdir -p /go/build && cd /go/build - # CURRENT_VERSION - - (cd /go/build.assets/tooling && go run ./cmd/query-latest $CURRENT_VERSION_ROOT > /go/build/CURRENT_VERSION_TAG.txt) - - echo "$(cat /go/build/CURRENT_VERSION_TAG.txt | cut -d. -f1 | tr -d '^v')" > /go/build/CURRENT_VERSION_TAG_GENERIC.txt - # PREVIOUS_VERSION_ONE - - (cd /go/build.assets/tooling && go run ./cmd/query-latest $PREVIOUS_VERSION_ONE_ROOT > /go/build/PREVIOUS_VERSION_ONE_TAG.txt) - - echo "$(cat /go/build/PREVIOUS_VERSION_ONE_TAG.txt | cut -d. -f1 | tr -d '^v')" > /go/build/PREVIOUS_VERSION_ONE_TAG_GENERIC.txt - # PREVIOUS_VERSION_TWO - - (cd /go/build.assets/tooling && go run ./cmd/query-latest $PREVIOUS_VERSION_TWO_ROOT > /go/build/PREVIOUS_VERSION_TWO_TAG.txt) - - echo "$(cat /go/build/PREVIOUS_VERSION_TWO_TAG.txt | cut -d. -f1 | tr -d '^v')" > /go/build/PREVIOUS_VERSION_TWO_TAG_GENERIC.txt - # list versions - - for FILE in /go/build/*.txt; do echo $FILE; cat $FILE; done - # wait for Docker to be ready - - sleep 3 - - - name: Build/push Teleport Lab Docker image - image: docker:git - environment: - OS: linux - ARCH: amd64 - settings: - username: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME - password: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD - volumes: - - name: dockersock - path: /var/run - commands: - - export TELEPORT_TAG=$(cat /go/build/CURRENT_VERSION_TAG.txt | tr -d '^v') - - export TELEPORT_LAB_IMAGE_NAME="quay.io/gravitational/teleport-lab:$(cat /go/build/CURRENT_VERSION_TAG_GENERIC.txt)" - # Check out code - - mkdir -p /go/src/github.com/gravitational/teleport - - cd /go/src/github.com/gravitational/teleport - - git init && git remote add origin ${DRONE_REMOTE_URL} - - git fetch origin - - git checkout -qf ${DRONE_COMMIT_SHA} - # Build and push Teleport lab image - - docker login -u="$PLUGIN_USERNAME" -p="$PLUGIN_PASSWORD" quay.io - - docker build --build-arg TELEPORT_TAG=$TELEPORT_TAG -t $TELEPORT_LAB_IMAGE_NAME /go/src/github.com/gravitational/teleport/docker/sshd - - docker push $TELEPORT_LAB_IMAGE_NAME - -services: - - name: Start Docker - image: docker:dind - privileged: true - volumes: - - name: dockersock - path: /var/run - -volumes: - - name: dockersock - temp: {} - ---- -kind: pipeline -type: kubernetes -name: teleport-docker-cron-ecr - -trigger: - cron: - - teleport-docker-cron-ecr - repo: - include: - - gravitational/teleport - -workspace: - path: /go - -clone: - disable: false - -steps: - - name: Set up variables and Dockerfile - image: docker:git - environment: - # increment these variables when a new major/minor version is released to bump the automatic builds - # this only needs to be done on the master branch, as that's the branch that the Drone cron is configured for - # build major version images which are just teleport:x - CURRENT_VERSION_ROOT: v11 - PREVIOUS_VERSION_ONE_ROOT: v10 - PREVIOUS_VERSION_TWO_ROOT: v9 - commands: - - apk --update --no-cache add curl go - - mkdir -p /go/build && cd /go/build - # CURRENT_VERSION - - (cd /go/build.assets/tooling && go run ./cmd/query-latest $CURRENT_VERSION_ROOT > /go/build/CURRENT_VERSION_TAG.txt) - - echo "$(cat /go/build/CURRENT_VERSION_TAG.txt | cut -d. -f1 | tr -d '^v')" > /go/build/CURRENT_VERSION_TAG_GENERIC.txt - # PREVIOUS_VERSION_ONE - - (cd /go/build.assets/tooling && go run ./cmd/query-latest $PREVIOUS_VERSION_ONE_ROOT > /go/build/PREVIOUS_VERSION_ONE_TAG.txt) - - echo "$(cat /go/build/PREVIOUS_VERSION_ONE_TAG.txt | cut -d. -f1 | tr -d '^v')" > /go/build/PREVIOUS_VERSION_ONE_TAG_GENERIC.txt - # PREVIOUS_VERSION_TWO - - (cd /go/build.assets/tooling && go run ./cmd/query-latest $PREVIOUS_VERSION_TWO_ROOT > /go/build/PREVIOUS_VERSION_TWO_TAG.txt) - - echo "$(cat /go/build/PREVIOUS_VERSION_TWO_TAG.txt | cut -d. -f1 | tr -d '^v')" > /go/build/PREVIOUS_VERSION_TWO_TAG_GENERIC.txt - # list versions - - for FILE in /go/build/*.txt; do echo $FILE; cat $FILE; done - # wait for Docker to be ready - - sleep 3 - - - name: Configure Staging AWS Profile - image: amazon/aws-cli - commands: - - aws sts get-caller-identity - - |- - printf "[staging]\naws_access_key_id = %s\naws_secret_access_key = %s\naws_session_token = %s\n" \ - $(aws sts assume-role \ - --role-arn "$AWS_ROLE" \ - --role-session-name $(echo "drone-${DRONE_REPO}-${DRONE_BUILD_NUMBER}" | sed "s|/|-|g") \ - --query "Credentials.[AccessKeyId,SecretAccessKey,SessionToken]" \ - --output text) \ - > /root/.aws/credentials - - unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY - - aws sts get-caller-identity --profile staging - environment: - AWS_ACCESS_KEY_ID: - from_secret: STAGING_TELEPORT_DRONE_USER_ECR_KEY - AWS_SECRET_ACCESS_KEY: - from_secret: STAGING_TELEPORT_DRONE_USER_ECR_SECRET - AWS_ROLE: - from_secret: STAGING_TELEPORT_DRONE_ECR_AWS_ROLE - volumes: - - name: awsconfig - path: /root/.aws - - - name: Configure Production AWS Profile - image: amazon/aws-cli - commands: - - aws sts get-caller-identity - - |- - printf "[production]\naws_access_key_id = %s\naws_secret_access_key = %s\naws_session_token = %s\n" \ - $(aws sts assume-role \ - --role-arn "$AWS_ROLE" \ - --role-session-name $(echo "drone-${DRONE_REPO}-${DRONE_BUILD_NUMBER}" | sed "s|/|-|g") \ - --query "Credentials.[AccessKeyId,SecretAccessKey,SessionToken]" \ - --output text) \ - >> /root/.aws/credentials - - unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY - - aws sts get-caller-identity --profile production - environment: - AWS_ACCESS_KEY_ID: - from_secret: PRODUCTION_TELEPORT_DRONE_USER_ECR_KEY - AWS_SECRET_ACCESS_KEY: - from_secret: PRODUCTION_TELEPORT_DRONE_USER_ECR_SECRET - AWS_ROLE: - from_secret: PRODUCTION_TELEPORT_DRONE_ECR_AWS_ROLE - volumes: - - name: awsconfig - path: /root/.aws - - - name: Build/push Teleport Lab Docker image - image: docker:git - environment: - OS: linux - ARCH: amd64 - volumes: - - name: dockersock - path: /var/run - - name: awsconfig - path: /root/.aws - commands: - - apk add --no-cache aws-cli - - export CURRENT_DATE=$(date '+%Y%m%d%H%M') - - export TELEPORT_TAG=$(cat /go/build/CURRENT_VERSION_TAG.txt | tr -d '^v') - - export TELEPORT_LAB_IMAGE_NAME_STAGING="146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-lab:$(cat /go/build/CURRENT_VERSION_TAG_GENERIC.txt)-$CURRENT_DATE" - - export TELEPORT_LAB_IMAGE_NAME_PROD="public.ecr.aws/gravitational/teleport-lab:$(cat /go/build/CURRENT_VERSION_TAG_GENERIC.txt)" - # Check out code - - mkdir -p /go/src/github.com/gravitational/teleport - - cd /go/src/github.com/gravitational/teleport - - git init && git remote add origin ${DRONE_REMOTE_URL} - - git fetch origin - - git checkout -qf ${DRONE_COMMIT_SHA} - # Authenticate to staging registry - - aws ecr get-login-password --profile staging --region=us-west-2 | docker login -u="AWS" --password-stdin 146628656107.dkr.ecr.us-west-2.amazonaws.com - # Build and push image - - docker build --build-arg TELEPORT_TAG=$TELEPORT_TAG -t $TELEPORT_LAB_IMAGE_NAME_STAGING /go/src/github.com/gravitational/teleport/docker/sshd - - docker push $TELEPORT_LAB_IMAGE_NAME_STAGING - # Authenticate to production registry - - docker logout 146628656107.dkr.ecr.us-west-2.amazonaws.com - - aws ecr-public get-login-password --profile production --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - # Push to production registry - - docker tag $TELEPORT_LAB_IMAGE_NAME_STAGING $TELEPORT_LAB_IMAGE_NAME_PROD - - docker push $TELEPORT_LAB_IMAGE_NAME_PROD - -services: - - name: Start Docker - image: docker:dind - privileged: true - volumes: - - name: dockersock - path: /var/run - -volumes: - - name: dockersock - temp: {} - - name: awsconfig - temp: {} - --- kind: pipeline type: kubernetes @@ -8239,11 +8012,11 @@ steps: - aws sts get-caller-identity --profile ecr-staging environment: AWS_ACCESS_KEY_ID: - from_secret: STAGING_TELEPORT_DRONE_USER_ECR_KEY + from_secret: TEST_STAGING_TELEPORT_DRONE_USER_ECR_KEY AWS_ROLE: - from_secret: STAGING_TELEPORT_DRONE_ECR_AWS_ROLE + from_secret: TEST_STAGING_TELEPORT_DRONE_ECR_AWS_ROLE AWS_SECRET_ACCESS_KEY: - from_secret: STAGING_TELEPORT_DRONE_USER_ECR_SECRET + from_secret: TEST_STAGING_TELEPORT_DRONE_USER_ECR_SECRET volumes: - name: awsconfig path: /root/.aws @@ -8263,11 +8036,11 @@ steps: - aws sts get-caller-identity --profile ecr-authenticated-pull environment: AWS_ACCESS_KEY_ID: - from_secret: PRODUCTION_TELEPORT_DRONE_USER_ECR_KEY + from_secret: TEST_PRODUCTION_TELEPORT_DRONE_USER_ECR_KEY AWS_ROLE: - from_secret: PRODUCTION_TELEPORT_DRONE_ECR_AWS_ROLE + from_secret: TEST_PRODUCTION_TELEPORT_DRONE_ECR_AWS_ROLE AWS_SECRET_ACCESS_KEY: - from_secret: PRODUCTION_TELEPORT_DRONE_USER_ECR_SECRET + from_secret: TEST_PRODUCTION_TELEPORT_DRONE_USER_ECR_SECRET volumes: - name: awsconfig path: /root/.aws @@ -8304,7 +8077,7 @@ steps: - Build full semver - Assume ECR - staging AWS Role - Assume ECR - authenticated-pull AWS Role -- name: Download Teleport Dockerfile to "/go/build/Dockerfile-teleport" for teleport +- name: Download Dockerfile for teleport image: alpine commands: - apk add curl @@ -8346,7 +8119,7 @@ steps: path: /root/.aws depends_on: - Assume S3 Download AWS Role for teleport - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport" for teleport + - Download Dockerfile for teleport - name: Build teleport image "teleport:v11-amd64" image: docker commands: @@ -8407,7 +8180,7 @@ steps: path: /root/.aws depends_on: - Assume S3 Download AWS Role for teleport - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport" for teleport + - Download Dockerfile for teleport - name: Build teleport image "teleport:v11-arm" image: docker commands: @@ -8468,7 +8241,7 @@ steps: path: /root/.aws depends_on: - Assume S3 Download AWS Role for teleport - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport" for teleport + - Download Dockerfile for teleport - name: Build teleport image "teleport:v11-arm64" image: docker commands: @@ -8505,15 +8278,15 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/full-version")-amd64 - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-amd64 + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-amd64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -8528,15 +8301,15 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/full-version")-arm - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -8551,15 +8324,15 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/full-version")-arm64 - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm64 + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -8573,17 +8346,17 @@ steps: image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version") > /dev/null 2>&1 && echo 'Found existing image, skipping' - || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/full-version") --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/full-version")-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/full-version")-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/full-version")-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/full-version") --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -8626,7 +8399,7 @@ steps: - Build full semver - Assume ECR - staging AWS Role - Assume ECR - authenticated-pull AWS Role -- name: Download Teleport Dockerfile to "/go/build/Dockerfile-teleport-ent" for teleport-ent +- name: Download Dockerfile for teleport-ent image: alpine commands: - apk add curl @@ -8668,7 +8441,7 @@ steps: path: /root/.aws depends_on: - Assume S3 Download AWS Role for teleport-ent - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport-ent" for teleport-ent + - Download Dockerfile for teleport-ent - name: Build teleport-ent image "teleport-ent:v11-amd64" image: docker commands: @@ -8729,7 +8502,7 @@ steps: path: /root/.aws depends_on: - Assume S3 Download AWS Role for teleport-ent - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport-ent" for teleport-ent + - Download Dockerfile for teleport-ent - name: Build teleport-ent image "teleport-ent:v11-arm" image: docker commands: @@ -8790,7 +8563,7 @@ steps: path: /root/.aws depends_on: - Assume S3 Download AWS Role for teleport-ent - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport-ent" for teleport-ent + - Download Dockerfile for teleport-ent - name: Build teleport-ent image "teleport-ent:v11-arm64" image: docker commands: @@ -8827,15 +8600,15 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-amd64 + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-amd64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -8850,15 +8623,15 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-arm && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -8873,15 +8646,15 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-arm64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm64 + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -8895,17 +8668,17 @@ steps: image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version") > /dev/null 2>&1 && echo 'Found existing image, skipping' - || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version") --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version") --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -8948,8 +8721,7 @@ steps: - Build full semver - Assume ECR - staging AWS Role - Assume ECR - authenticated-pull AWS Role -- name: Download Teleport Dockerfile to "/go/build/Dockerfile-teleport-ent-fips" for - teleport-ent-fips +- name: Download Dockerfile for teleport-ent-fips image: alpine commands: - apk add curl @@ -8991,7 +8763,7 @@ steps: path: /root/.aws depends_on: - Assume S3 Download AWS Role for teleport-ent-fips - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport-ent-fips" for teleport-ent-fips + - Download Dockerfile for teleport-ent-fips - name: Build teleport-ent-fips image "teleport-ent:v11-fips-amd64" image: docker commands: @@ -9029,15 +8801,15 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips-amd64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -9051,15 +8823,15 @@ steps: image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips > /dev/null 2>&1 && echo 'Found existing image, skipping' - || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-fips --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-fips --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-fips-amd64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -9185,15 +8957,15 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-amd64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -9208,15 +8980,15 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-arm && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -9231,15 +9003,15 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-arm64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -9253,17 +9025,17 @@ steps: image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version") > /dev/null 2>&1 && echo 'Found existing image, skipping' - || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version") --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version") --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -9275,6 +9047,211 @@ steps: - Tag and push image "teleport-operator:v11-amd64" to ECR - staging - Tag and push image "teleport-operator:v11-arm" to ECR - staging - Tag and push image "teleport-operator:v11-arm64" to ECR - staging +- name: Download Dockerfile for teleport-lab + image: alpine + commands: + - apk add curl + - mkdir -pv $(dirname "/go/src/github.com/gravitational/teleport/docker/sshd/Dockerfile-teleport-lab") + - curl -Ls -o "/go/src/github.com/gravitational/teleport/docker/sshd/Dockerfile-teleport-lab" + "https://raw.githubusercontent.com/gravitational/teleport/$DRONE_TAG/docker/sshd/Dockerfile" + depends_on: + - Wait for docker + - Wait for docker registry + - Check out code + - Build full semver + - Assume ECR - staging AWS Role + - Assume ECR - authenticated-pull AWS Role +- name: Build teleport-lab image "teleport-lab:v11-amd64" + image: docker + commands: + - docker run --privileged --rm tonistiigi/binfmt --install all + - mkdir -pv "/go/src/github.com/gravitational/teleport/docker/sshd" && cd "/go/src/github.com/gravitational/teleport/docker/sshd" + - mkdir -pv "/tmp/teleport-lab-v11-amd64-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-lab-v11-amd64-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-lab-v11-amd64-builder/buildkitd.toml" + - docker buildx create --driver "docker-container" --driver-opt "network=host" --name + "teleport-lab-v11-amd64-builder" --config "/tmp/teleport-lab-v11-amd64-builder/buildkitd.toml" + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker buildx build --push --builder "teleport-lab-v11-amd64-builder" --platform + "linux/amd64" --tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + --file "/go/src/github.com/gravitational/teleport/docker/sshd/Dockerfile-teleport-lab" + --build-arg BASE_IMAGE=drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + /go/src/github.com/gravitational/teleport/docker/sshd + - docker logout "public.ecr.aws" + - docker buildx rm "teleport-lab-v11-amd64-builder" + - rm -rf "/tmp/teleport-lab-v11-amd64-builder" + environment: + AWS_PROFILE: ecr-authenticated-pull + DOCKER_BUILDKIT: "1" + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Assume ECR - authenticated-pull AWS Role + - Build teleport image "teleport:v11-amd64" +- name: Build teleport-lab image "teleport-lab:v11-arm" + image: docker + commands: + - docker run --privileged --rm tonistiigi/binfmt --install all + - mkdir -pv "/go/src/github.com/gravitational/teleport/docker/sshd" && cd "/go/src/github.com/gravitational/teleport/docker/sshd" + - mkdir -pv "/tmp/teleport-lab-v11-arm-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-lab-v11-arm-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-lab-v11-arm-builder/buildkitd.toml" + - docker buildx create --driver "docker-container" --driver-opt "network=host" --name + "teleport-lab-v11-arm-builder" --config "/tmp/teleport-lab-v11-arm-builder/buildkitd.toml" + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker buildx build --push --builder "teleport-lab-v11-arm-builder" --platform + "linux/arm" --tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + --file "/go/src/github.com/gravitational/teleport/docker/sshd/Dockerfile-teleport-lab" + --build-arg BASE_IMAGE=drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + /go/src/github.com/gravitational/teleport/docker/sshd + - docker logout "public.ecr.aws" + - docker buildx rm "teleport-lab-v11-arm-builder" + - rm -rf "/tmp/teleport-lab-v11-arm-builder" + environment: + AWS_PROFILE: ecr-authenticated-pull + DOCKER_BUILDKIT: "1" + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Assume ECR - authenticated-pull AWS Role + - Build teleport image "teleport:v11-arm" +- name: Build teleport-lab image "teleport-lab:v11-arm64" + image: docker + commands: + - docker run --privileged --rm tonistiigi/binfmt --install all + - mkdir -pv "/go/src/github.com/gravitational/teleport/docker/sshd" && cd "/go/src/github.com/gravitational/teleport/docker/sshd" + - mkdir -pv "/tmp/teleport-lab-v11-arm64-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-lab-v11-arm64-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-lab-v11-arm64-builder/buildkitd.toml" + - docker buildx create --driver "docker-container" --driver-opt "network=host" --name + "teleport-lab-v11-arm64-builder" --config "/tmp/teleport-lab-v11-arm64-builder/buildkitd.toml" + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker buildx build --push --builder "teleport-lab-v11-arm64-builder" --platform + "linux/arm64" --tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + --file "/go/src/github.com/gravitational/teleport/docker/sshd/Dockerfile-teleport-lab" + --build-arg BASE_IMAGE=drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + /go/src/github.com/gravitational/teleport/docker/sshd + - docker logout "public.ecr.aws" + - docker buildx rm "teleport-lab-v11-arm64-builder" + - rm -rf "/tmp/teleport-lab-v11-arm64-builder" + environment: + AWS_PROFILE: ecr-authenticated-pull + DOCKER_BUILDKIT: "1" + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Assume ECR - authenticated-pull AWS Role + - Build teleport image "teleport:v11-arm64" +- name: Tag and push image "teleport-lab:v11-amd64" to ECR - staging + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-amd64 > /dev/null 2>&1 && echo 'Found existing image, + skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-amd64 + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-amd64) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport-lab image "teleport-lab:v11-amd64" +- name: Tag and push image "teleport-lab:v11-arm" to ECR - staging + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-arm > /dev/null 2>&1 && echo 'Found existing image, skipping' + || (docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-arm) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport-lab image "teleport-lab:v11-arm" +- name: Tag and push image "teleport-lab:v11-arm64" to ECR - staging + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-arm64 > /dev/null 2>&1 && echo 'Found existing image, + skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm64 + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-arm64) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport-lab image "teleport-lab:v11-arm64" +- name: Create manifest and push "teleport-lab:full" to ECR - staging + image: docker + commands: + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version") > /dev/null 2>&1 && echo 'Found existing image, skipping' + || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version") --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport-lab:v11-amd64" to ECR - staging + - Tag and push image "teleport-lab:v11-arm" to ECR - staging + - Tag and push image "teleport-lab:v11-arm64" to ECR - staging services: - name: Start Docker image: docker:dind @@ -9325,19 +9302,6 @@ steps: commands: - '[ -n ${DRONE_TAG} ] || (echo ''DRONE_TAG is not set. Is the commit tagged?'' && exit 1)' -- name: Check if tag is prerelease - image: golang:1.18-alpine - commands: - - apk add git - - mkdir -pv "/tmp/repo" - - cd "/tmp/repo" - - git init - - git remote add origin ${DRONE_REMOTE_URL} - - git fetch origin --tags - - git checkout -qf "${DRONE_TAG}" - - cd "/tmp/repo/build.assets/tooling" - - go run ./cmd/check -tag ${DRONE_TAG} -check prerelease || (echo '---> This is - a prerelease, not continuing promotion for ${DRONE_TAG}' && exit 78) - name: Wait for docker image: docker commands: @@ -9347,7 +9311,6 @@ steps: path: /var/run depends_on: - Verify build is tagged - - Check if tag is prerelease - name: Wait for docker registry image: alpine commands: @@ -9356,7 +9319,6 @@ steps: != "200" ]; do sleep 1; done' depends_on: - Verify build is tagged - - Check if tag is prerelease - name: Check out code image: alpine/git:latest commands: @@ -9368,7 +9330,6 @@ steps: - git checkout -qf "$DRONE_TAG" depends_on: - Verify build is tagged - - Check if tag is prerelease - name: Build major, minor, and full semvers image: alpine commands: @@ -9383,7 +9344,6 @@ steps: - echo $(cat "/go/var/full-version") depends_on: - Verify build is tagged - - Check if tag is prerelease - name: Assume ECR - staging AWS Role image: amazon/aws-cli commands: @@ -9400,17 +9360,16 @@ steps: - aws sts get-caller-identity --profile ecr-staging environment: AWS_ACCESS_KEY_ID: - from_secret: STAGING_TELEPORT_DRONE_USER_ECR_KEY + from_secret: TEST_STAGING_TELEPORT_DRONE_USER_ECR_KEY AWS_ROLE: - from_secret: STAGING_TELEPORT_DRONE_ECR_AWS_ROLE + from_secret: TEST_STAGING_TELEPORT_DRONE_ECR_AWS_ROLE AWS_SECRET_ACCESS_KEY: - from_secret: STAGING_TELEPORT_DRONE_USER_ECR_SECRET + from_secret: TEST_STAGING_TELEPORT_DRONE_USER_ECR_SECRET volumes: - name: awsconfig path: /root/.aws depends_on: - Verify build is tagged - - Check if tag is prerelease - name: Assume ECR - production AWS Role image: amazon/aws-cli commands: @@ -9427,28 +9386,27 @@ steps: - aws sts get-caller-identity --profile ecr-production environment: AWS_ACCESS_KEY_ID: - from_secret: PRODUCTION_TELEPORT_DRONE_USER_ECR_KEY + from_secret: TEST_PRODUCTION_TELEPORT_DRONE_USER_ECR_KEY AWS_ROLE: - from_secret: PRODUCTION_TELEPORT_DRONE_ECR_AWS_ROLE + from_secret: TEST_PRODUCTION_TELEPORT_DRONE_ECR_AWS_ROLE AWS_SECRET_ACCESS_KEY: - from_secret: PRODUCTION_TELEPORT_DRONE_USER_ECR_SECRET + from_secret: TEST_PRODUCTION_TELEPORT_DRONE_USER_ECR_SECRET volumes: - name: awsconfig path: /root/.aws depends_on: - Assume ECR - staging AWS Role - Verify build is tagged - - Check if tag is prerelease - name: Pull teleport:v11-amd64 and push it to Local Registry image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - docker pull 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker pull 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-amd64 - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" - - docker tag 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + - docker tag 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-amd64 drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - docker push drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 environment: @@ -9460,7 +9418,6 @@ steps: path: /var/run depends_on: - Verify build is tagged - - Check if tag is prerelease - Wait for docker - Wait for docker registry - Check out code @@ -9471,12 +9428,12 @@ steps: image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - docker pull 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker pull 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" - - docker tag 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + - docker tag 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - docker push drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm environment: @@ -9488,7 +9445,6 @@ steps: path: /var/run depends_on: - Verify build is tagged - - Check if tag is prerelease - Wait for docker - Wait for docker registry - Check out code @@ -9499,12 +9455,12 @@ steps: image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - docker pull 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker pull 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm64 - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" - - docker tag 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + - docker tag 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm64 drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - docker push drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 environment: @@ -9516,7 +9472,6 @@ steps: path: /var/run depends_on: - Verify build is tagged - - Check if tag is prerelease - Wait for docker - Wait for docker registry - Check out code @@ -9528,22 +9483,22 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport:$(cat "/go/var/full-version")-amd64 + - docker manifest inspect quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat - "/go/var/full-version")-amd64 quay.io/gravitational/teleport:$(cat "/go/var/full-version")-amd64 - && docker push quay.io/gravitational/teleport:$(cat "/go/var/full-version")-amd64) + "/go/var/full-version")-amd64 quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-amd64 + && docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-amd64) - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - quay.io/gravitational/teleport:$(cat "/go/var/major-version")-amd64 - - docker push quay.io/gravitational/teleport:$(cat "/go/var/major-version")-amd64 + quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-amd64 + - docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-amd64 - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-amd64 - - docker push quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-amd64 + quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-amd64 + - docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-amd64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -9556,22 +9511,22 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm + - docker manifest inspect quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat - "/go/var/full-version")-arm quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm - && docker push quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm) + "/go/var/full-version")-arm quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm + && docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm) - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - quay.io/gravitational/teleport:$(cat "/go/var/major-version")-arm - - docker push quay.io/gravitational/teleport:$(cat "/go/var/major-version")-arm + quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-arm + - docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-arm - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-arm - - docker push quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-arm + quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-arm + - docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-arm - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -9584,22 +9539,22 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm64 + - docker manifest inspect quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat - "/go/var/full-version")-arm64 quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm64 - && docker push quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm64) + "/go/var/full-version")-arm64 quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm64 + && docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm64) - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - quay.io/gravitational/teleport:$(cat "/go/var/major-version")-arm64 - - docker push quay.io/gravitational/teleport:$(cat "/go/var/major-version")-arm64 + quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-arm64 + - docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-arm64 - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-arm64 - - docker push quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-arm64 + quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-arm64 + - docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-arm64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -9611,17 +9566,17 @@ steps: image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport:$(cat "/go/var/major-version") - --amend quay.io/gravitational/teleport:$(cat "/go/var/major-version")-amd64 --amend - quay.io/gravitational/teleport:$(cat "/go/var/major-version")-arm --amend quay.io/gravitational/teleport:$(cat + - docker manifest create quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version") + --amend quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-amd64 --amend + quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-arm --amend quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-arm64 - - docker manifest push quay.io/gravitational/teleport:$(cat "/go/var/major-version") + - docker manifest push quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version") - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -9635,17 +9590,17 @@ steps: image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport:$(cat "/go/var/minor-version") - --amend quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-amd64 --amend - quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-arm --amend quay.io/gravitational/teleport:$(cat + - docker manifest create quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version") + --amend quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-amd64 --amend + quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-arm --amend quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-arm64 - - docker manifest push quay.io/gravitational/teleport:$(cat "/go/var/minor-version") + - docker manifest push quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version") - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -9659,18 +9614,18 @@ steps: image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport:$(cat "/go/var/full-version") + - docker manifest inspect quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version") > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create quay.io/gravitational/teleport:$(cat "/go/var/full-version") --amend quay.io/gravitational/teleport:$(cat - "/go/var/full-version")-amd64 --amend quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm - --amend quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm64 && - docker manifest push quay.io/gravitational/teleport:$(cat "/go/var/full-version")) + create quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version") --amend quay.io/fred_heinecke/teleport:$(cat + "/go/var/full-version")-amd64 --amend quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm + --amend quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm64 && + docker manifest push quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")) - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -9687,16 +9642,16 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-amd64 + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat - "/go/var/full-version")-amd64 public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-amd64 - && docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-amd64) + "/go/var/full-version")-amd64 public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-amd64 + && docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-amd64) - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-amd64 - - docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-amd64 - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-amd64 - - docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-amd64 - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -9714,16 +9669,16 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat - "/go/var/full-version")-arm public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm - && docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm) + "/go/var/full-version")-arm public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm + && docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm) - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-arm - - docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-arm + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-arm - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-arm - - docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-arm + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-arm - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -9741,16 +9696,16 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm64 + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat - "/go/var/full-version")-arm64 public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm64 - && docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm64) + "/go/var/full-version")-arm64 public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm64 + && docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm64) - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-arm64 - - docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-arm64 - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-arm64 - - docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-arm64 - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -9767,11 +9722,11 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version") - --amend public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-amd64 - --amend public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-arm - --amend public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-arm64 - - docker manifest push public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version") + - docker manifest create public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version") + --amend public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-arm --amend + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version") - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -9790,11 +9745,11 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version") - --amend public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-amd64 - --amend public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-arm - --amend public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-arm64 - - docker manifest push public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version") + - docker manifest create public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version") + --amend public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-arm --amend + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version") - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -9813,13 +9768,12 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version") + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version") > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version") --amend - public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-amd64 --amend - public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm --amend - public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm64 && docker - manifest push public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")) + create public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version") --amend + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-amd64 --amend public.ecr.aws/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-arm --amend public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm64 + && docker manifest push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")) - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -9836,12 +9790,12 @@ steps: image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - docker pull 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker pull 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-amd64 - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" - - docker tag 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + - docker tag 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-amd64 drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - docker push drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 environment: @@ -9853,7 +9807,6 @@ steps: path: /var/run depends_on: - Verify build is tagged - - Check if tag is prerelease - Wait for docker - Wait for docker registry - Check out code @@ -9864,12 +9817,12 @@ steps: image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - docker pull 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker pull 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" - - docker tag 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + - docker tag 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - docker push drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm environment: @@ -9881,7 +9834,6 @@ steps: path: /var/run depends_on: - Verify build is tagged - - Check if tag is prerelease - Wait for docker - Wait for docker registry - Check out code @@ -9892,12 +9844,12 @@ steps: image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - docker pull 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker pull 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm64 - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" - - docker tag 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + - docker tag 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm64 drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - docker push drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 environment: @@ -9909,7 +9861,6 @@ steps: path: /var/run depends_on: - Verify build is tagged - - Check if tag is prerelease - Wait for docker - Wait for docker registry - Check out code @@ -9921,22 +9872,22 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-amd64 + - docker manifest inspect quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-amd64 quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-amd64 - && docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-amd64) + "/go/var/full-version")-amd64 quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-amd64 + && docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-amd64) - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-amd64 - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-amd64 + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-amd64 + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-amd64 - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-amd64 - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-amd64 + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-amd64 + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-amd64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -9949,22 +9900,22 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm + - docker manifest inspect quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm - && docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm) + "/go/var/full-version")-arm quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm + && docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm) - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-arm + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-arm - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-arm + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-arm - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -9977,22 +9928,22 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm64 + - docker manifest inspect quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm64 quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm64 - && docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm64) + "/go/var/full-version")-arm64 quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm64 + && docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm64) - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm64 - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm64 + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-arm64 + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-arm64 - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm64 - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm64 + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-arm64 + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-arm64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -10004,17 +9955,17 @@ steps: image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version") - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-amd64 - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm64 - - docker manifest push quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version") + - docker manifest create quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version") + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-amd64 + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-arm + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-arm64 + - docker manifest push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version") - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -10028,17 +9979,17 @@ steps: image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version") - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-amd64 - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm64 - - docker manifest push quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version") + - docker manifest create quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version") + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-amd64 + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-arm + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-arm64 + - docker manifest push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version") - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -10052,19 +10003,19 @@ steps: image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version") + - docker manifest inspect quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version") > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version") --amend - quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-amd64 --amend - quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm --amend quay.io/gravitational/teleport-ent:$(cat - "/go/var/full-version")-arm64 && docker manifest push quay.io/gravitational/teleport-ent:$(cat + create quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version") --amend + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-amd64 --amend + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm --amend quay.io/fred_heinecke/teleport-ent:$(cat + "/go/var/full-version")-arm64 && docker manifest push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")) - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -10081,17 +10032,16 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-amd64 + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-amd64 public.ecr.aws/gravitational/teleport-ent:$(cat - "/go/var/full-version")-amd64 && docker push public.ecr.aws/gravitational/teleport-ent:$(cat - "/go/var/full-version")-amd64) + "/go/var/full-version")-amd64 public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-amd64 + && docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-amd64) - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-amd64 - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-amd64 - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-amd64 - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-amd64 - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -10109,16 +10059,16 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm - && docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm) + "/go/var/full-version")-arm public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm + && docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm) - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-arm - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-arm - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -10136,17 +10086,16 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm64 + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm64 public.ecr.aws/gravitational/teleport-ent:$(cat - "/go/var/full-version")-arm64 && docker push public.ecr.aws/gravitational/teleport-ent:$(cat - "/go/var/full-version")-arm64) + "/go/var/full-version")-arm64 public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm64 + && docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm64) - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm64 - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-arm64 - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm64 - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-arm64 - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -10163,11 +10112,11 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version") - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-amd64 - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm64 - - docker manifest push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version") + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version") + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version") - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -10186,11 +10135,11 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version") - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-amd64 - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm64 - - docker manifest push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version") + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version") + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version") - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -10209,13 +10158,13 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version") + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version") > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version") - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-amd64 - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm64 - && docker manifest push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")) + create public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version") --amend + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-amd64 --amend + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm --amend + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm64 && docker + manifest push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")) - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -10232,12 +10181,12 @@ steps: image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - docker pull 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker pull 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" - - docker tag 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + - docker tag 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - docker push drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 @@ -10250,7 +10199,6 @@ steps: path: /var/run depends_on: - Verify build is tagged - - Check if tag is prerelease - Wait for docker - Wait for docker registry - Check out code @@ -10262,22 +10210,22 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + - docker manifest inspect quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64 quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - && docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips-amd64) + "/go/var/full-version")-fips-amd64 quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + && docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips-amd64) - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -10289,15 +10237,15 @@ steps: image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 - - docker manifest push quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips + - docker manifest create quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-fips + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 + - docker manifest push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-fips - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -10309,15 +10257,15 @@ steps: image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 - - docker manifest push quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips + - docker manifest create quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-fips + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 + - docker manifest push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-fips - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -10329,17 +10277,17 @@ steps: image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips + - docker manifest inspect quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips --amend - quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 && - docker manifest push quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips) + create quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips --amend + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 && + docker manifest push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips) - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -10354,17 +10302,17 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64 public.ecr.aws/gravitational/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64 && docker push public.ecr.aws/gravitational/teleport-ent:$(cat + "/go/var/full-version")-fips-amd64 public.ecr.aws/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-fips-amd64 && docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips-amd64) - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -10381,9 +10329,9 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 - - docker manifest push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-fips + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-fips - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -10400,9 +10348,9 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 - - docker manifest push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-fips + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-fips - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -10419,11 +10367,11 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - && docker manifest push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips) + create public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + && docker manifest push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips) - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -10438,12 +10386,12 @@ steps: image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - docker pull 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker pull 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-amd64 - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" - - docker tag 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + - docker tag 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-amd64 drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - docker push drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 @@ -10456,7 +10404,6 @@ steps: path: /var/run depends_on: - Verify build is tagged - - Check if tag is prerelease - Wait for docker - Wait for docker registry - Check out code @@ -10467,12 +10414,12 @@ steps: image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - docker pull 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker pull 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" - - docker tag 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + - docker tag 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - docker push drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm @@ -10485,7 +10432,6 @@ steps: path: /var/run depends_on: - Verify build is tagged - - Check if tag is prerelease - Wait for docker - Wait for docker registry - Check out code @@ -10496,12 +10442,12 @@ steps: image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - docker pull 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker pull 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm64 - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" - - docker tag 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + - docker tag 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm64 drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - docker push drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 @@ -10514,7 +10460,6 @@ steps: path: /var/run depends_on: - Verify build is tagged - - Check if tag is prerelease - Wait for docker - Wait for docker registry - Check out code @@ -10526,22 +10471,22 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-amd64 + - docker manifest inspect quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-amd64 quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-amd64 - && docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-amd64) + "/go/var/full-version")-amd64 quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-amd64 + && docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-amd64) - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-amd64 - - docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-amd64 + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-amd64 + - docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-amd64 - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-amd64 - - docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-amd64 + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-amd64 + - docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-amd64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -10554,22 +10499,22 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm + - docker manifest inspect quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm - && docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm) + "/go/var/full-version")-arm quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm + && docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm) - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm - - docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-arm + - docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-arm - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm - - docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-arm + - docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-arm - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -10582,22 +10527,22 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm64 + - docker manifest inspect quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm64 quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm64 - && docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm64) + "/go/var/full-version")-arm64 quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm64 + && docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm64) - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm64 - - docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm64 + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-arm64 + - docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-arm64 - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm64 - - docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm64 + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-arm64 + - docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-arm64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -10609,17 +10554,17 @@ steps: image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version") - --amend quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-amd64 - --amend quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm - --amend quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm64 - - docker manifest push quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version") + - docker manifest create quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version") + --amend quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-amd64 + --amend quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-arm + --amend quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-arm64 + - docker manifest push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version") - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -10633,17 +10578,17 @@ steps: image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version") - --amend quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-amd64 - --amend quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm - --amend quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm64 - - docker manifest push quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version") + - docker manifest create quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version") + --amend quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-amd64 + --amend quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-arm + --amend quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-arm64 + - docker manifest push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version") - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -10657,19 +10602,19 @@ steps: image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version") + - docker manifest inspect quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version") > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version") --amend - quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-amd64 --amend - quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm --amend - quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm64 && - docker manifest push quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")) + create quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version") --amend + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-amd64 --amend + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm --amend + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm64 && + docker manifest push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")) - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -10686,17 +10631,17 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")-amd64 + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-amd64 public.ecr.aws/gravitational/teleport-operator:$(cat - "/go/var/full-version")-amd64 && docker push public.ecr.aws/gravitational/teleport-operator:$(cat + "/go/var/full-version")-amd64 public.ecr.aws/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-amd64 && docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-amd64) - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-amd64 - - docker push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-amd64 - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-amd64 - - docker push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-amd64 - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -10714,17 +10659,16 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm public.ecr.aws/gravitational/teleport-operator:$(cat - "/go/var/full-version")-arm && docker push public.ecr.aws/gravitational/teleport-operator:$(cat - "/go/var/full-version")-arm) + "/go/var/full-version")-arm public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm + && docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm) - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm - - docker push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm + public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-arm - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm - - docker push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm + public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-arm - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -10742,17 +10686,17 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm64 + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm64 public.ecr.aws/gravitational/teleport-operator:$(cat - "/go/var/full-version")-arm64 && docker push public.ecr.aws/gravitational/teleport-operator:$(cat + "/go/var/full-version")-arm64 public.ecr.aws/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-arm64 && docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm64) - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm64 - - docker push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-arm64 - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm64 - - docker push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-arm64 - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -10769,11 +10713,11 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version") - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-amd64 - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm64 - - docker manifest push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version") + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version") + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version") - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -10792,11 +10736,11 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version") - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-amd64 - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm64 - - docker manifest push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version") + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version") + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version") - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -10815,13 +10759,13 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version") + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version") > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version") - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")-amd64 - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm64 - && docker manifest push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")) + create public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version") + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm64 + && docker manifest push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")) - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -10834,6 +10778,323 @@ steps: - Tag and push image "teleport-operator:v11-amd64" to ECR - production - Tag and push image "teleport-operator:v11-arm" to ECR - production - Tag and push image "teleport-operator:v11-arm64" to ECR - production +- name: Pull teleport-lab:v11-amd64 and push it to Local Registry + image: docker + commands: + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker pull 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-amd64 + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + - docker tag 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-amd64 drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + - docker push drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Verify build is tagged + - Wait for docker + - Wait for docker registry + - Check out code + - Build major, minor, and full semvers + - Assume ECR - staging AWS Role + - Assume ECR - production AWS Role +- name: Pull teleport-lab:v11-arm and push it to Local Registry + image: docker + commands: + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker pull 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-arm + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + - docker tag 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-arm drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + - docker push drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Verify build is tagged + - Wait for docker + - Wait for docker registry + - Check out code + - Build major, minor, and full semvers + - Assume ECR - staging AWS Role + - Assume ECR - production AWS Role +- name: Pull teleport-lab:v11-arm64 and push it to Local Registry + image: docker + commands: + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - docker pull 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-arm64 + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + - docker tag 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-arm64 drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + - docker push drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Verify build is tagged + - Wait for docker + - Wait for docker registry + - Check out code + - Build major, minor, and full semvers + - Assume ECR - staging AWS Role + - Assume ECR - production AWS Role +- name: Tag and push image "teleport-lab:v11-amd64" to Quay + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" + - docker manifest inspect quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-amd64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-amd64 quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-amd64 + && docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-amd64) + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/major-version")-amd64 + - docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/major-version")-amd64 + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/minor-version")-amd64 + - docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/minor-version")-amd64 + - docker logout "quay.io" + environment: + QUAY_PASSWORD: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD + QUAY_USERNAME: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Pull teleport-lab:v11-amd64 and push it to Local Registry +- name: Tag and push image "teleport-lab:v11-arm" to Quay + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" + - docker manifest inspect quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-arm + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-arm + && docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-arm) + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/major-version")-arm + - docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/major-version")-arm + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/minor-version")-arm + - docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/minor-version")-arm + - docker logout "quay.io" + environment: + QUAY_PASSWORD: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD + QUAY_USERNAME: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Pull teleport-lab:v11-arm and push it to Local Registry +- name: Tag and push image "teleport-lab:v11-arm64" to Quay + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" + - docker manifest inspect quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-arm64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm64 quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-arm64 + && docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-arm64) + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/major-version")-arm64 + - docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/major-version")-arm64 + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/minor-version")-arm64 + - docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/minor-version")-arm64 + - docker logout "quay.io" + environment: + QUAY_PASSWORD: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD + QUAY_USERNAME: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Pull teleport-lab:v11-arm64 and push it to Local Registry +- name: Tag and push image "teleport-lab:v11-amd64" to ECR - production + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-amd64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-amd64 public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-amd64 + && docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-amd64) + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-amd64 + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-amd64 + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Pull teleport-lab:v11-amd64 and push it to Local Registry +- name: Tag and push image "teleport-lab:v11-arm" to ECR - production + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm + && docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm) + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-arm + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-arm + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Pull teleport-lab:v11-arm and push it to Local Registry +- name: Tag and push image "teleport-lab:v11-arm64" to ECR - production + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm64 public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm64 + && docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm64) + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-arm64 + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-arm64 + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Pull teleport-lab:v11-arm64 and push it to Local Registry +- name: Create manifest and push "teleport-lab:major" to ECR - production + image: docker + commands: + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version") + --amend public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version") + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport-lab:v11-amd64" to ECR - production + - Tag and push image "teleport-lab:v11-arm" to ECR - production + - Tag and push image "teleport-lab:v11-arm64" to ECR - production +- name: Create manifest and push "teleport-lab:minor" to ECR - production + image: docker + commands: + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version") + --amend public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version") + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport-lab:v11-amd64" to ECR - production + - Tag and push image "teleport-lab:v11-arm" to ECR - production + - Tag and push image "teleport-lab:v11-arm64" to ECR - production +- name: Create manifest and push "teleport-lab:full" to ECR - production + image: docker + commands: + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version") + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest + create public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version") --amend + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-amd64 --amend + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm --amend + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm64 && docker + manifest push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")) + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport-lab:v11-amd64" to ECR - production + - Tag and push image "teleport-lab:v11-arm" to ECR - production + - Tag and push image "teleport-lab:v11-arm64" to ECR - production services: - name: Start Docker image: docker:dind @@ -10948,11 +11209,11 @@ steps: - aws sts get-caller-identity --profile ecr-staging environment: AWS_ACCESS_KEY_ID: - from_secret: STAGING_TELEPORT_DRONE_USER_ECR_KEY + from_secret: TEST_STAGING_TELEPORT_DRONE_USER_ECR_KEY AWS_ROLE: - from_secret: STAGING_TELEPORT_DRONE_ECR_AWS_ROLE + from_secret: TEST_STAGING_TELEPORT_DRONE_ECR_AWS_ROLE AWS_SECRET_ACCESS_KEY: - from_secret: STAGING_TELEPORT_DRONE_USER_ECR_SECRET + from_secret: TEST_STAGING_TELEPORT_DRONE_USER_ECR_SECRET volumes: - name: awsconfig path: /root/.aws @@ -10974,11 +11235,11 @@ steps: - aws sts get-caller-identity --profile ecr-authenticated-pull environment: AWS_ACCESS_KEY_ID: - from_secret: PRODUCTION_TELEPORT_DRONE_USER_ECR_KEY + from_secret: TEST_PRODUCTION_TELEPORT_DRONE_USER_ECR_KEY AWS_ROLE: - from_secret: PRODUCTION_TELEPORT_DRONE_ECR_AWS_ROLE + from_secret: TEST_PRODUCTION_TELEPORT_DRONE_ECR_AWS_ROLE AWS_SECRET_ACCESS_KEY: - from_secret: PRODUCTION_TELEPORT_DRONE_USER_ECR_SECRET + from_secret: TEST_PRODUCTION_TELEPORT_DRONE_USER_ECR_SECRET volumes: - name: awsconfig path: /root/.aws @@ -11001,11 +11262,11 @@ steps: - aws sts get-caller-identity --profile ecr-production environment: AWS_ACCESS_KEY_ID: - from_secret: PRODUCTION_TELEPORT_DRONE_USER_ECR_KEY + from_secret: TEST_PRODUCTION_TELEPORT_DRONE_USER_ECR_KEY AWS_ROLE: - from_secret: PRODUCTION_TELEPORT_DRONE_ECR_AWS_ROLE + from_secret: TEST_PRODUCTION_TELEPORT_DRONE_ECR_AWS_ROLE AWS_SECRET_ACCESS_KEY: - from_secret: PRODUCTION_TELEPORT_DRONE_USER_ECR_SECRET + from_secret: TEST_PRODUCTION_TELEPORT_DRONE_USER_ECR_SECRET volumes: - name: awsconfig path: /root/.aws @@ -11045,7 +11306,7 @@ steps: - Assume ECR - staging AWS Role - Assume ECR - authenticated-pull AWS Role - Assume ECR - production AWS Role -- name: Download Teleport Dockerfile to "/go/build/Dockerfile-teleport" for teleport +- name: Download Dockerfile for teleport image: alpine commands: - apk add curl @@ -11090,7 +11351,7 @@ steps: path: /root/.aws depends_on: - Assume S3 Download AWS Role for teleport - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport" for teleport + - Download Dockerfile for teleport - name: Build teleport image "teleport:v11-amd64" image: docker commands: @@ -11151,7 +11412,7 @@ steps: path: /root/.aws depends_on: - Assume S3 Download AWS Role for teleport - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport" for teleport + - Download Dockerfile for teleport - name: Build teleport image "teleport:v11-arm" image: docker commands: @@ -11212,7 +11473,7 @@ steps: path: /root/.aws depends_on: - Assume S3 Download AWS Role for teleport - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport" for teleport + - Download Dockerfile for teleport - name: Build teleport image "teleport:v11-arm64" image: docker commands: @@ -11249,28 +11510,28 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-amd64 - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-amd64 + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-amd64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-amd64 - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-amd64 + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-amd64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-amd64 - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-amd64 + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-amd64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -11285,28 +11546,28 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-arm - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-arm + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-arm) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-arm - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-arm + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-arm) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-arm - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-arm + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-arm) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -11321,28 +11582,28 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-arm64 - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-arm64 + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-arm64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-arm64 - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-arm64 + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-arm64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-arm64 - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-arm64 + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-arm64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -11356,18 +11617,18 @@ steps: image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/major-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/major-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/major-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/major-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/major-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/major-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/major-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/major-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -11383,18 +11644,18 @@ steps: image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/minor-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/minor-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/minor-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -11410,18 +11671,18 @@ steps: image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/full-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/full-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/full-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/full-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -11438,22 +11699,22 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport:$(cat "/go/var/full-version")-amd64 + - docker manifest inspect quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat - "/go/var/full-version")-amd64 quay.io/gravitational/teleport:$(cat "/go/var/full-version")-amd64 - && docker push quay.io/gravitational/teleport:$(cat "/go/var/full-version")-amd64) + "/go/var/full-version")-amd64 quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-amd64 + && docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-amd64) - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - quay.io/gravitational/teleport:$(cat "/go/var/major-version")-amd64 - - docker push quay.io/gravitational/teleport:$(cat "/go/var/major-version")-amd64 + quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-amd64 + - docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-amd64 - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-amd64 - - docker push quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-amd64 + quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-amd64 + - docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-amd64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -11466,22 +11727,22 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm + - docker manifest inspect quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat - "/go/var/full-version")-arm quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm - && docker push quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm) + "/go/var/full-version")-arm quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm + && docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm) - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - quay.io/gravitational/teleport:$(cat "/go/var/major-version")-arm - - docker push quay.io/gravitational/teleport:$(cat "/go/var/major-version")-arm + quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-arm + - docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-arm - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-arm - - docker push quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-arm + quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-arm + - docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-arm - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -11494,22 +11755,22 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm64 + - docker manifest inspect quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat - "/go/var/full-version")-arm64 quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm64 - && docker push quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm64) + "/go/var/full-version")-arm64 quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm64 + && docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm64) - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - quay.io/gravitational/teleport:$(cat "/go/var/major-version")-arm64 - - docker push quay.io/gravitational/teleport:$(cat "/go/var/major-version")-arm64 + quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-arm64 + - docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-arm64 - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-arm64 - - docker push quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-arm64 + quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-arm64 + - docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-arm64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -11521,17 +11782,17 @@ steps: image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport:$(cat "/go/var/major-version") - --amend quay.io/gravitational/teleport:$(cat "/go/var/major-version")-amd64 --amend - quay.io/gravitational/teleport:$(cat "/go/var/major-version")-arm --amend quay.io/gravitational/teleport:$(cat + - docker manifest create quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version") + --amend quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-amd64 --amend + quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-arm --amend quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-arm64 - - docker manifest push quay.io/gravitational/teleport:$(cat "/go/var/major-version") + - docker manifest push quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version") - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -11545,17 +11806,17 @@ steps: image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport:$(cat "/go/var/minor-version") - --amend quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-amd64 --amend - quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-arm --amend quay.io/gravitational/teleport:$(cat + - docker manifest create quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version") + --amend quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-amd64 --amend + quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-arm --amend quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-arm64 - - docker manifest push quay.io/gravitational/teleport:$(cat "/go/var/minor-version") + - docker manifest push quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version") - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -11569,18 +11830,18 @@ steps: image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport:$(cat "/go/var/full-version") + - docker manifest inspect quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version") > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create quay.io/gravitational/teleport:$(cat "/go/var/full-version") --amend quay.io/gravitational/teleport:$(cat - "/go/var/full-version")-amd64 --amend quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm - --amend quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm64 && - docker manifest push quay.io/gravitational/teleport:$(cat "/go/var/full-version")) + create quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version") --amend quay.io/fred_heinecke/teleport:$(cat + "/go/var/full-version")-amd64 --amend quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm + --amend quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm64 && + docker manifest push quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")) - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -11597,16 +11858,16 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-amd64 + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat - "/go/var/full-version")-amd64 public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-amd64 - && docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-amd64) + "/go/var/full-version")-amd64 public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-amd64 + && docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-amd64) - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-amd64 - - docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-amd64 - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-amd64 - - docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-amd64 - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -11624,16 +11885,16 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat - "/go/var/full-version")-arm public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm - && docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm) + "/go/var/full-version")-arm public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm + && docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm) - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-arm - - docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-arm + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-arm - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-arm - - docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-arm + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-arm - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -11651,16 +11912,16 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm64 + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat - "/go/var/full-version")-arm64 public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm64 - && docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm64) + "/go/var/full-version")-arm64 public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm64 + && docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm64) - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-arm64 - - docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-arm64 - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-arm64 - - docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-arm64 - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -11677,11 +11938,11 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version") - --amend public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-amd64 - --amend public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-arm - --amend public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-arm64 - - docker manifest push public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version") + - docker manifest create public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version") + --amend public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-arm --amend + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version") - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -11700,11 +11961,11 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version") - --amend public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-amd64 - --amend public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-arm - --amend public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-arm64 - - docker manifest push public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version") + - docker manifest create public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version") + --amend public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-arm --amend + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version") - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -11723,13 +11984,12 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version") + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version") > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version") --amend - public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-amd64 --amend - public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm --amend - public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm64 && docker - manifest push public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")) + create public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version") --amend + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-amd64 --amend public.ecr.aws/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-arm --amend public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm64 + && docker manifest push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")) - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -11775,7 +12035,7 @@ steps: - Assume ECR - staging AWS Role - Assume ECR - authenticated-pull AWS Role - Assume ECR - production AWS Role -- name: Download Teleport Dockerfile to "/go/build/Dockerfile-teleport-ent" for teleport-ent +- name: Download Dockerfile for teleport-ent image: alpine commands: - apk add curl @@ -11820,7 +12080,7 @@ steps: path: /root/.aws depends_on: - Assume S3 Download AWS Role for teleport-ent - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport-ent" for teleport-ent + - Download Dockerfile for teleport-ent - name: Build teleport-ent image "teleport-ent:v11-amd64" image: docker commands: @@ -11881,7 +12141,7 @@ steps: path: /root/.aws depends_on: - Assume S3 Download AWS Role for teleport-ent - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport-ent" for teleport-ent + - Download Dockerfile for teleport-ent - name: Build teleport-ent image "teleport-ent:v11-arm" image: docker commands: @@ -11942,7 +12202,7 @@ steps: path: /root/.aws depends_on: - Assume S3 Download AWS Role for teleport-ent - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport-ent" for teleport-ent + - Download Dockerfile for teleport-ent - name: Build teleport-ent image "teleport-ent:v11-arm64" image: docker commands: @@ -11979,28 +12239,28 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-$TIMESTAMP-amd64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-$TIMESTAMP-amd64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-$TIMESTAMP-amd64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -12015,28 +12275,28 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-arm && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-$TIMESTAMP-arm) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-arm && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-$TIMESTAMP-arm) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-$TIMESTAMP-arm) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -12051,28 +12311,28 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-arm64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-$TIMESTAMP-arm64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-arm64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-$TIMESTAMP-arm64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-$TIMESTAMP-arm64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -12086,18 +12346,18 @@ steps: image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -12113,18 +12373,18 @@ steps: image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -12140,18 +12400,18 @@ steps: image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -12168,22 +12428,22 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-amd64 + - docker manifest inspect quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-amd64 quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-amd64 - && docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-amd64) + "/go/var/full-version")-amd64 quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-amd64 + && docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-amd64) - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-amd64 - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-amd64 + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-amd64 + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-amd64 - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-amd64 - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-amd64 + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-amd64 + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-amd64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -12196,22 +12456,22 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm + - docker manifest inspect quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm - && docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm) + "/go/var/full-version")-arm quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm + && docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm) - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-arm + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-arm - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-arm + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-arm - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -12224,22 +12484,22 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm64 + - docker manifest inspect quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm64 quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm64 - && docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm64) + "/go/var/full-version")-arm64 quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm64 + && docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm64) - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm64 - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm64 + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-arm64 + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-arm64 - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm64 - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm64 + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-arm64 + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-arm64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -12251,17 +12511,17 @@ steps: image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version") - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-amd64 - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm64 - - docker manifest push quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version") + - docker manifest create quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version") + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-amd64 + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-arm + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-arm64 + - docker manifest push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version") - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -12275,17 +12535,17 @@ steps: image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version") - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-amd64 - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm64 - - docker manifest push quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version") + - docker manifest create quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version") + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-amd64 + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-arm + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-arm64 + - docker manifest push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version") - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -12299,19 +12559,19 @@ steps: image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version") + - docker manifest inspect quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version") > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version") --amend - quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-amd64 --amend - quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm --amend quay.io/gravitational/teleport-ent:$(cat - "/go/var/full-version")-arm64 && docker manifest push quay.io/gravitational/teleport-ent:$(cat + create quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version") --amend + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-amd64 --amend + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm --amend quay.io/fred_heinecke/teleport-ent:$(cat + "/go/var/full-version")-arm64 && docker manifest push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")) - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -12328,17 +12588,16 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-amd64 + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-amd64 public.ecr.aws/gravitational/teleport-ent:$(cat - "/go/var/full-version")-amd64 && docker push public.ecr.aws/gravitational/teleport-ent:$(cat - "/go/var/full-version")-amd64) + "/go/var/full-version")-amd64 public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-amd64 + && docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-amd64) - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-amd64 - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-amd64 - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-amd64 - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-amd64 - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -12356,16 +12615,16 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm - && docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm) + "/go/var/full-version")-arm public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm + && docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm) - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-arm - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-arm - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -12383,17 +12642,16 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm64 + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm64 public.ecr.aws/gravitational/teleport-ent:$(cat - "/go/var/full-version")-arm64 && docker push public.ecr.aws/gravitational/teleport-ent:$(cat - "/go/var/full-version")-arm64) + "/go/var/full-version")-arm64 public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm64 + && docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm64) - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm64 - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-arm64 - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm64 - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-arm64 - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -12410,11 +12668,11 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version") - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-amd64 - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm64 - - docker manifest push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version") + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version") + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version") - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -12433,11 +12691,11 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version") - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-amd64 - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm64 - - docker manifest push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version") + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version") + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version") - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -12456,13 +12714,13 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version") + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version") > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version") - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-amd64 - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm64 - && docker manifest push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")) + create public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version") --amend + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-amd64 --amend + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm --amend + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm64 && docker + manifest push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")) - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -12508,8 +12766,7 @@ steps: - Assume ECR - staging AWS Role - Assume ECR - authenticated-pull AWS Role - Assume ECR - production AWS Role -- name: Download Teleport Dockerfile to "/go/build/Dockerfile-teleport-ent-fips" for - teleport-ent-fips +- name: Download Dockerfile for teleport-ent-fips image: alpine commands: - apk add curl @@ -12554,7 +12811,7 @@ steps: path: /root/.aws depends_on: - Assume S3 Download AWS Role for teleport-ent-fips - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport-ent-fips" for teleport-ent-fips + - Download Dockerfile for teleport-ent-fips - name: Build teleport-ent-fips image "teleport-ent:v11-fips-amd64" image: docker commands: @@ -12592,28 +12849,28 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-$TIMESTAMP-fips-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-fips-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + "/go/var/full-version")-fips-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-fips-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-$TIMESTAMP-fips-amd64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-$TIMESTAMP-fips-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-fips-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + "/go/var/full-version")-fips-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-fips-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-$TIMESTAMP-fips-amd64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-$TIMESTAMP-fips-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-fips-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + "/go/var/full-version")-fips-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-fips-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-$TIMESTAMP-fips-amd64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -12627,16 +12884,16 @@ steps: image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-$TIMESTAMP-fips > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-fips --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-fips-amd64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + image, skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-fips --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-fips-amd64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-$TIMESTAMP-fips) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -12650,16 +12907,16 @@ steps: image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-$TIMESTAMP-fips > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-fips --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-fips-amd64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + image, skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-fips --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-fips-amd64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-$TIMESTAMP-fips) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -12673,16 +12930,16 @@ steps: image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-$TIMESTAMP-fips > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-fips --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-fips-amd64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + image, skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-fips --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-fips-amd64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-$TIMESTAMP-fips) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -12697,22 +12954,22 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + - docker manifest inspect quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64 quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - && docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips-amd64) + "/go/var/full-version")-fips-amd64 quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + && docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips-amd64) - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -12724,15 +12981,15 @@ steps: image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 - - docker manifest push quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips + - docker manifest create quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-fips + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 + - docker manifest push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-fips - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -12744,15 +13001,15 @@ steps: image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 - - docker manifest push quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips + - docker manifest create quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-fips + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 + - docker manifest push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-fips - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -12764,17 +13021,17 @@ steps: image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips + - docker manifest inspect quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips --amend - quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 && - docker manifest push quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips) + create quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips --amend + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 && + docker manifest push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips) - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -12789,17 +13046,17 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64 public.ecr.aws/gravitational/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64 && docker push public.ecr.aws/gravitational/teleport-ent:$(cat + "/go/var/full-version")-fips-amd64 public.ecr.aws/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-fips-amd64 && docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips-amd64) - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -12816,9 +13073,9 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 - - docker manifest push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-fips + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-fips - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -12835,9 +13092,9 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 - - docker manifest push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-fips + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-fips - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -12854,11 +13111,11 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - && docker manifest push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips) + create public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + && docker manifest push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips) - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -12991,28 +13248,28 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-$TIMESTAMP-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-$TIMESTAMP-amd64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/major-version")-$TIMESTAMP-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-$TIMESTAMP-amd64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/minor-version")-$TIMESTAMP-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-$TIMESTAMP-amd64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -13027,28 +13284,28 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-$TIMESTAMP-arm && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-$TIMESTAMP-arm) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/major-version")-$TIMESTAMP-arm && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-$TIMESTAMP-arm) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-$TIMESTAMP-arm) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -13063,28 +13320,28 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-$TIMESTAMP-arm64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-$TIMESTAMP-arm64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/major-version")-$TIMESTAMP-arm64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-$TIMESTAMP-arm64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-$TIMESTAMP-arm64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -13098,18 +13355,18 @@ steps: image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/major-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/major-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/major-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/major-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -13125,18 +13382,18 @@ steps: image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/minor-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/minor-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -13152,18 +13409,18 @@ steps: image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -13180,22 +13437,22 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-amd64 + - docker manifest inspect quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-amd64 quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-amd64 - && docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-amd64) + "/go/var/full-version")-amd64 quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-amd64 + && docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-amd64) - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-amd64 - - docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-amd64 + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-amd64 + - docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-amd64 - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-amd64 - - docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-amd64 + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-amd64 + - docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-amd64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -13208,22 +13465,22 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm + - docker manifest inspect quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm - && docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm) + "/go/var/full-version")-arm quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm + && docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm) - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm - - docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-arm + - docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-arm - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm - - docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-arm + - docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-arm - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -13236,22 +13493,22 @@ steps: commands: - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm64 + - docker manifest inspect quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm64 quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm64 - && docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm64) + "/go/var/full-version")-arm64 quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm64 + && docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm64) - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm64 - - docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm64 + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-arm64 + - docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-arm64 - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm64 - - docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm64 + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-arm64 + - docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-arm64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -13263,17 +13520,17 @@ steps: image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version") - --amend quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-amd64 - --amend quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm - --amend quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm64 - - docker manifest push quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version") + - docker manifest create quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version") + --amend quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-amd64 + --amend quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-arm + --amend quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-arm64 + - docker manifest push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version") - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -13287,17 +13544,17 @@ steps: image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version") - --amend quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-amd64 - --amend quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm - --amend quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm64 - - docker manifest push quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version") + - docker manifest create quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version") + --amend quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-amd64 + --amend quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-arm + --amend quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-arm64 + - docker manifest push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version") - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -13311,19 +13568,19 @@ steps: image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version") + - docker manifest inspect quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version") > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version") --amend - quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-amd64 --amend - quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm --amend - quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm64 && - docker manifest push quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")) + create quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version") --amend + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-amd64 --amend + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm --amend + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm64 && + docker manifest push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")) - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws @@ -13340,17 +13597,17 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")-amd64 + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-amd64 public.ecr.aws/gravitational/teleport-operator:$(cat - "/go/var/full-version")-amd64 && docker push public.ecr.aws/gravitational/teleport-operator:$(cat + "/go/var/full-version")-amd64 public.ecr.aws/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-amd64 && docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-amd64) - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-amd64 - - docker push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-amd64 - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-amd64 - - docker push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-amd64 - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -13368,17 +13625,16 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm public.ecr.aws/gravitational/teleport-operator:$(cat - "/go/var/full-version")-arm && docker push public.ecr.aws/gravitational/teleport-operator:$(cat - "/go/var/full-version")-arm) + "/go/var/full-version")-arm public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm + && docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm) - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm - - docker push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm + public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-arm - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm - - docker push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm + public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-arm - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -13396,17 +13652,17 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm64 + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm64 public.ecr.aws/gravitational/teleport-operator:$(cat - "/go/var/full-version")-arm64 && docker push public.ecr.aws/gravitational/teleport-operator:$(cat + "/go/var/full-version")-arm64 public.ecr.aws/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-arm64 && docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm64) - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm64 - - docker push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-arm64 - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm64 - - docker push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-arm64 - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -13423,11 +13679,11 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version") - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-amd64 - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm64 - - docker manifest push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version") + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version") + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version") - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -13446,11 +13702,11 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version") - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-amd64 - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm64 - - docker manifest push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version") + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version") + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version") - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -13469,13 +13725,13 @@ steps: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version") + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version") > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version") - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")-amd64 - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm64 - && docker manifest push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")) + create public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version") + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm64 + && docker manifest push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")) - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -13488,37 +13744,574 @@ steps: - Tag and push image "teleport-operator:v11-amd64" to ECR - production - Tag and push image "teleport-operator:v11-arm" to ECR - production - Tag and push image "teleport-operator:v11-arm64" to ECR - production -services: -- name: Start Docker - image: docker:dind - privileged: true +- name: Download Dockerfile for teleport-lab + image: alpine + commands: + - apk add curl + - mkdir -pv $(dirname "/go/src/github.com/gravitational/teleport/docker/sshd/Dockerfile-teleport-lab") + - curl -Ls -o "/go/src/github.com/gravitational/teleport/docker/sshd/Dockerfile-teleport-lab" + "https://raw.githubusercontent.com/gravitational/teleport/v$(cat '/go/vars/full-version-v11')/docker/sshd/Dockerfile" + depends_on: + - Find the latest available semver for v11 + - Wait for docker + - Wait for docker registry + - Check out code + - Build major, minor, and full semvers + - Assume ECR - staging AWS Role + - Assume ECR - authenticated-pull AWS Role + - Assume ECR - production AWS Role +- name: Build teleport-lab image "teleport-lab:v11-amd64" + image: docker + commands: + - docker run --privileged --rm tonistiigi/binfmt --install all + - mkdir -pv "/go/src/github.com/gravitational/teleport/docker/sshd" && cd "/go/src/github.com/gravitational/teleport/docker/sshd" + - mkdir -pv "/tmp/teleport-lab-v11-amd64-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-lab-v11-amd64-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-lab-v11-amd64-builder/buildkitd.toml" + - docker buildx create --driver "docker-container" --driver-opt "network=host" --name + "teleport-lab-v11-amd64-builder" --config "/tmp/teleport-lab-v11-amd64-builder/buildkitd.toml" + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker buildx build --push --builder "teleport-lab-v11-amd64-builder" --platform + "linux/amd64" --tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + --file "/go/src/github.com/gravitational/teleport/docker/sshd/Dockerfile-teleport-lab" + --build-arg BASE_IMAGE=drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + /go/src/github.com/gravitational/teleport/docker/sshd + - docker logout "public.ecr.aws" + - docker buildx rm "teleport-lab-v11-amd64-builder" + - rm -rf "/tmp/teleport-lab-v11-amd64-builder" + environment: + AWS_PROFILE: ecr-authenticated-pull + DOCKER_BUILDKIT: "1" volumes: + - name: awsconfig + path: /root/.aws - name: dockersock path: /var/run -- name: drone-docker-registry - image: registry:2 - privileged: false - volumes: [] -volumes: -- name: awsconfig - temp: {} -- name: dockersock - temp: {} - ---- -################################################ -# Generated using dronegen, do not edit by hand! -# Use 'make dronegen' to update. -# Generated at dronegen/container_images_release_version.go (main.(*ReleaseVersion).buildVersionPipeline) -################################################ - -kind: pipeline -type: kubernetes -name: teleport-container-images-previous-version-1-cron -environment: - DEBIAN_FRONTEND: noninteractive -trigger: - cron: + depends_on: + - Assume ECR - authenticated-pull AWS Role + - Build teleport image "teleport:v11-amd64" +- name: Build teleport-lab image "teleport-lab:v11-arm" + image: docker + commands: + - docker run --privileged --rm tonistiigi/binfmt --install all + - mkdir -pv "/go/src/github.com/gravitational/teleport/docker/sshd" && cd "/go/src/github.com/gravitational/teleport/docker/sshd" + - mkdir -pv "/tmp/teleport-lab-v11-arm-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-lab-v11-arm-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-lab-v11-arm-builder/buildkitd.toml" + - docker buildx create --driver "docker-container" --driver-opt "network=host" --name + "teleport-lab-v11-arm-builder" --config "/tmp/teleport-lab-v11-arm-builder/buildkitd.toml" + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker buildx build --push --builder "teleport-lab-v11-arm-builder" --platform + "linux/arm" --tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + --file "/go/src/github.com/gravitational/teleport/docker/sshd/Dockerfile-teleport-lab" + --build-arg BASE_IMAGE=drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + /go/src/github.com/gravitational/teleport/docker/sshd + - docker logout "public.ecr.aws" + - docker buildx rm "teleport-lab-v11-arm-builder" + - rm -rf "/tmp/teleport-lab-v11-arm-builder" + environment: + AWS_PROFILE: ecr-authenticated-pull + DOCKER_BUILDKIT: "1" + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Assume ECR - authenticated-pull AWS Role + - Build teleport image "teleport:v11-arm" +- name: Build teleport-lab image "teleport-lab:v11-arm64" + image: docker + commands: + - docker run --privileged --rm tonistiigi/binfmt --install all + - mkdir -pv "/go/src/github.com/gravitational/teleport/docker/sshd" && cd "/go/src/github.com/gravitational/teleport/docker/sshd" + - mkdir -pv "/tmp/teleport-lab-v11-arm64-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-lab-v11-arm64-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-lab-v11-arm64-builder/buildkitd.toml" + - docker buildx create --driver "docker-container" --driver-opt "network=host" --name + "teleport-lab-v11-arm64-builder" --config "/tmp/teleport-lab-v11-arm64-builder/buildkitd.toml" + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker buildx build --push --builder "teleport-lab-v11-arm64-builder" --platform + "linux/arm64" --tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + --file "/go/src/github.com/gravitational/teleport/docker/sshd/Dockerfile-teleport-lab" + --build-arg BASE_IMAGE=drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + /go/src/github.com/gravitational/teleport/docker/sshd + - docker logout "public.ecr.aws" + - docker buildx rm "teleport-lab-v11-arm64-builder" + - rm -rf "/tmp/teleport-lab-v11-arm64-builder" + environment: + AWS_PROFILE: ecr-authenticated-pull + DOCKER_BUILDKIT: "1" + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Assume ECR - authenticated-pull AWS Role + - Build teleport image "teleport:v11-arm64" +- name: Tag and push image "teleport-lab:v11-amd64" to ECR - staging + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport-lab image "teleport-lab:v11-amd64" +- name: Tag and push image "teleport-lab:v11-arm" to ECR - staging + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP-arm) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP-arm) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport-lab image "teleport-lab:v11-arm" +- name: Tag and push image "teleport-lab:v11-arm64" to ECR - staging + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport-lab image "teleport-lab:v11-arm64" +- name: Create manifest and push "teleport-lab:major-$TIMESTAMP" to ECR - staging + image: docker + commands: + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport-lab:v11-amd64" to ECR - staging + - Tag and push image "teleport-lab:v11-arm" to ECR - staging + - Tag and push image "teleport-lab:v11-arm64" to ECR - staging +- name: Create manifest and push "teleport-lab:minor-$TIMESTAMP" to ECR - staging + image: docker + commands: + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport-lab:v11-amd64" to ECR - staging + - Tag and push image "teleport-lab:v11-arm" to ECR - staging + - Tag and push image "teleport-lab:v11-arm64" to ECR - staging +- name: Create manifest and push "teleport-lab:full-$TIMESTAMP" to ECR - staging + image: docker + commands: + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport-lab:v11-amd64" to ECR - staging + - Tag and push image "teleport-lab:v11-arm" to ECR - staging + - Tag and push image "teleport-lab:v11-arm64" to ECR - staging +- name: Tag and push image "teleport-lab:v11-amd64" to Quay + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" + - docker manifest inspect quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-amd64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-amd64 quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-amd64 + && docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-amd64) + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/major-version")-amd64 + - docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/major-version")-amd64 + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/minor-version")-amd64 + - docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/minor-version")-amd64 + - docker logout "quay.io" + environment: + QUAY_PASSWORD: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD + QUAY_USERNAME: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport-lab image "teleport-lab:v11-amd64" +- name: Tag and push image "teleport-lab:v11-arm" to Quay + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" + - docker manifest inspect quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-arm + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-arm + && docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-arm) + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/major-version")-arm + - docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/major-version")-arm + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/minor-version")-arm + - docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/minor-version")-arm + - docker logout "quay.io" + environment: + QUAY_PASSWORD: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD + QUAY_USERNAME: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport-lab image "teleport-lab:v11-arm" +- name: Tag and push image "teleport-lab:v11-arm64" to Quay + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" + - docker manifest inspect quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-arm64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm64 quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-arm64 + && docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-arm64) + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/major-version")-arm64 + - docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/major-version")-arm64 + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/minor-version")-arm64 + - docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/minor-version")-arm64 + - docker logout "quay.io" + environment: + QUAY_PASSWORD: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD + QUAY_USERNAME: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport-lab image "teleport-lab:v11-arm64" +- name: Tag and push image "teleport-lab:v11-amd64" to ECR - production + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-amd64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-amd64 public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-amd64 + && docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-amd64) + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-amd64 + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-amd64 + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport-lab image "teleport-lab:v11-amd64" +- name: Tag and push image "teleport-lab:v11-arm" to ECR - production + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm + && docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm) + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-arm + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-arm + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport-lab image "teleport-lab:v11-arm" +- name: Tag and push image "teleport-lab:v11-arm64" to ECR - production + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm64 public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm64 + && docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm64) + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-arm64 + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-arm64 + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport-lab image "teleport-lab:v11-arm64" +- name: Create manifest and push "teleport-lab:major" to ECR - production + image: docker + commands: + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version") + --amend public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version") + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport-lab:v11-amd64" to ECR - production + - Tag and push image "teleport-lab:v11-arm" to ECR - production + - Tag and push image "teleport-lab:v11-arm64" to ECR - production +- name: Create manifest and push "teleport-lab:minor" to ECR - production + image: docker + commands: + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version") + --amend public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version") + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport-lab:v11-amd64" to ECR - production + - Tag and push image "teleport-lab:v11-arm" to ECR - production + - Tag and push image "teleport-lab:v11-arm64" to ECR - production +- name: Create manifest and push "teleport-lab:full" to ECR - production + image: docker + commands: + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version") + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest + create public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version") --amend + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-amd64 --amend + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm --amend + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm64 && docker + manifest push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")) + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport-lab:v11-amd64" to ECR - production + - Tag and push image "teleport-lab:v11-arm" to ECR - production + - Tag and push image "teleport-lab:v11-arm64" to ECR - production +services: +- name: Start Docker + image: docker:dind + privileged: true + volumes: + - name: dockersock + path: /var/run +- name: drone-docker-registry + image: registry:2 + privileged: false + volumes: [] +volumes: +- name: awsconfig + temp: {} +- name: dockersock + temp: {} + +--- +################################################ +# Generated using dronegen, do not edit by hand! +# Use 'make dronegen' to update. +# Generated at dronegen/container_images_release_version.go (main.(*ReleaseVersion).buildVersionPipeline) +################################################ + +kind: pipeline +type: kubernetes +name: teleport-container-images-previous-version-1-cron +environment: + DEBIAN_FRONTEND: noninteractive +trigger: + cron: include: - teleport-container-images-cron repo: @@ -13532,66 +14325,1606 @@ steps: - name: Find the latest available semver for v10 image: golang:1.18 commands: - - mkdir -pv "/tmp/teleport" - - cd "/tmp/teleport" - - git init - - git remote add origin ${DRONE_REMOTE_URL} - - git fetch origin --tags - - git checkout -qf "branch/v10" - - mkdir -pv $(dirname "/go/vars/full-version-v10") - - cd "/tmp/teleport/build.assets/tooling/cmd/query-latest" - - go run . "v10" | sed 's/v//' > "/go/vars/full-version-v10" - - echo Found full semver "$(cat "/go/vars/full-version-v10")" for major version - "v10" -- name: Wait for docker + - mkdir -pv "/tmp/teleport" + - cd "/tmp/teleport" + - git init + - git remote add origin ${DRONE_REMOTE_URL} + - git fetch origin --tags + - git checkout -qf "branch/v10" + - mkdir -pv $(dirname "/go/vars/full-version-v10") + - cd "/tmp/teleport/build.assets/tooling/cmd/query-latest" + - go run . "v10" | sed 's/v//' > "/go/vars/full-version-v10" + - echo Found full semver "$(cat "/go/vars/full-version-v10")" for major version + "v10" +- name: Wait for docker + image: docker + commands: + - timeout 30s /bin/sh -c 'while [ ! -S /var/run/docker.sock ]; do sleep 1; done' + volumes: + - name: dockersock + path: /var/run + depends_on: + - Find the latest available semver for v10 +- name: Wait for docker registry + image: alpine + commands: + - apk add curl + - timeout 30s /bin/sh -c 'while [ "$(curl -s -o /dev/null -w %{http_code} http://drone-docker-registry:5000/)" + != "200" ]; do sleep 1; done' + depends_on: + - Find the latest available semver for v10 +- name: Check out code + image: alpine/git:latest + commands: + - mkdir -pv "/go/src/github.com/gravitational/teleport" + - cd "/go/src/github.com/gravitational/teleport" + - git init + - git remote add origin ${DRONE_REMOTE_URL} + - git fetch origin --tags + - git checkout -qf "v$(cat '/go/vars/full-version-v10')" + depends_on: + - Find the latest available semver for v10 +- name: Build major, minor, and full semvers + image: alpine + commands: + - mkdir -pv $(dirname "/go/var/major-version") + - echo v$(cat '/go/vars/full-version-v10') | sed 's/v//' | cut -d'.' -f "1" > "/go/var/major-version" + - echo $(cat "/go/var/major-version") + - mkdir -pv $(dirname "/go/var/minor-version") + - echo v$(cat '/go/vars/full-version-v10') | sed 's/v//' | cut -d'.' -f "1,2" > + "/go/var/minor-version" + - echo $(cat "/go/var/minor-version") + - mkdir -pv $(dirname "/go/var/full-version") + - echo v$(cat '/go/vars/full-version-v10') | sed 's/v//' > "/go/var/full-version" + - echo $(cat "/go/var/full-version") + depends_on: + - Find the latest available semver for v10 +- name: Assume ECR - staging AWS Role + image: amazon/aws-cli + commands: + - aws sts get-caller-identity + - |- + printf "[ecr-staging]\naws_access_key_id = %s\naws_secret_access_key = %s\naws_session_token = %s\n" \ + $(aws sts assume-role \ + --role-arn "$AWS_ROLE" \ + --role-session-name $(echo "drone-${DRONE_REPO}-${DRONE_BUILD_NUMBER}" | sed "s|/|-|g") \ + --query "Credentials.[AccessKeyId,SecretAccessKey,SessionToken]" \ + --output text) \ + >> /root/.aws/credentials + - unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY + - aws sts get-caller-identity --profile ecr-staging + environment: + AWS_ACCESS_KEY_ID: + from_secret: TEST_STAGING_TELEPORT_DRONE_USER_ECR_KEY + AWS_ROLE: + from_secret: TEST_STAGING_TELEPORT_DRONE_ECR_AWS_ROLE + AWS_SECRET_ACCESS_KEY: + from_secret: TEST_STAGING_TELEPORT_DRONE_USER_ECR_SECRET + volumes: + - name: awsconfig + path: /root/.aws + depends_on: + - Find the latest available semver for v10 +- name: Assume ECR - authenticated-pull AWS Role + image: amazon/aws-cli + commands: + - aws sts get-caller-identity + - |- + printf "[ecr-authenticated-pull]\naws_access_key_id = %s\naws_secret_access_key = %s\naws_session_token = %s\n" \ + $(aws sts assume-role \ + --role-arn "$AWS_ROLE" \ + --role-session-name $(echo "drone-${DRONE_REPO}-${DRONE_BUILD_NUMBER}" | sed "s|/|-|g") \ + --query "Credentials.[AccessKeyId,SecretAccessKey,SessionToken]" \ + --output text) \ + >> /root/.aws/credentials + - unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY + - aws sts get-caller-identity --profile ecr-authenticated-pull + environment: + AWS_ACCESS_KEY_ID: + from_secret: TEST_PRODUCTION_TELEPORT_DRONE_USER_ECR_KEY + AWS_ROLE: + from_secret: TEST_PRODUCTION_TELEPORT_DRONE_ECR_AWS_ROLE + AWS_SECRET_ACCESS_KEY: + from_secret: TEST_PRODUCTION_TELEPORT_DRONE_USER_ECR_SECRET + volumes: + - name: awsconfig + path: /root/.aws + depends_on: + - Assume ECR - staging AWS Role + - Find the latest available semver for v10 +- name: Assume ECR - production AWS Role + image: amazon/aws-cli + commands: + - aws sts get-caller-identity + - |- + printf "[ecr-production]\naws_access_key_id = %s\naws_secret_access_key = %s\naws_session_token = %s\n" \ + $(aws sts assume-role \ + --role-arn "$AWS_ROLE" \ + --role-session-name $(echo "drone-${DRONE_REPO}-${DRONE_BUILD_NUMBER}" | sed "s|/|-|g") \ + --query "Credentials.[AccessKeyId,SecretAccessKey,SessionToken]" \ + --output text) \ + >> /root/.aws/credentials + - unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY + - aws sts get-caller-identity --profile ecr-production + environment: + AWS_ACCESS_KEY_ID: + from_secret: TEST_PRODUCTION_TELEPORT_DRONE_USER_ECR_KEY + AWS_ROLE: + from_secret: TEST_PRODUCTION_TELEPORT_DRONE_ECR_AWS_ROLE + AWS_SECRET_ACCESS_KEY: + from_secret: TEST_PRODUCTION_TELEPORT_DRONE_USER_ECR_SECRET + volumes: + - name: awsconfig + path: /root/.aws + depends_on: + - Assume ECR - authenticated-pull AWS Role + - Find the latest available semver for v10 +- name: Assume S3 Download AWS Role for teleport + image: amazon/aws-cli + commands: + - aws sts get-caller-identity + - |- + printf "[s3-download-teleport]\naws_access_key_id = %s\naws_secret_access_key = %s\naws_session_token = %s\n" \ + $(aws sts assume-role \ + --role-arn "$AWS_ROLE" \ + --role-session-name $(echo "drone-${DRONE_REPO}-${DRONE_BUILD_NUMBER}" | sed "s|/|-|g") \ + --query "Credentials.[AccessKeyId,SecretAccessKey,SessionToken]" \ + --output text) \ + >> /root/.aws/credentials + - unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY + - aws sts get-caller-identity --profile s3-download-teleport + environment: + AWS_ACCESS_KEY_ID: + from_secret: AWS_ACCESS_KEY_ID + AWS_ROLE: + from_secret: AWS_ROLE + AWS_SECRET_ACCESS_KEY: + from_secret: AWS_SECRET_ACCESS_KEY + volumes: + - name: awsconfig + path: /root/.aws + depends_on: + - Find the latest available semver for v10 + - Wait for docker + - Wait for docker registry + - Check out code + - Build major, minor, and full semvers + - Assume ECR - staging AWS Role + - Assume ECR - authenticated-pull AWS Role + - Assume ECR - production AWS Role +- name: Download Dockerfile for teleport + image: alpine + commands: + - apk add curl + - mkdir -pv $(dirname "/go/build/Dockerfile-teleport") + - curl -Ls -o "/go/build/Dockerfile-teleport" "https://raw.githubusercontent.com/gravitational/teleport/v$(cat + '/go/vars/full-version-v10')/build.assets/charts/Dockerfile" + depends_on: + - Find the latest available semver for v10 + - Wait for docker + - Wait for docker registry + - Check out code + - Build major, minor, and full semvers + - Assume ECR - staging AWS Role + - Assume ECR - authenticated-pull AWS Role + - Assume ECR - production AWS Role +- name: Download "teleport_v10-tag_amd64.deb" artifacts from S3 + image: amazon/aws-cli + commands: + - END_TIME=$(( $(date +%s) + 3600 )) + - TIMED_OUT=true + - while [ $(date +%s) -lt $${END_TIME?} ]; do + - SUCCESS=true + - aws s3 ls s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/ | tr + -s ' ' | cut -d' ' -f 4 | grep -x teleport_$(cat "/go/var/full-version")_amd64.deb + || SUCCESS=false + - '[ "$SUCCESS" = "true" ] && TIMED_OUT=false && break;' + - echo 'Condition not met yet, waiting another 60 seconds...' + - sleep 60 + - done + - '[ $${TIMED_OUT?} = true ] && echo ''Timed out while waiting for condition: [ + "$SUCCESS" = "true" ]'' && exit 1' + - mkdir -pv "/go/build" + - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport_$(cat + "/go/var/full-version")_amd64.deb /go/build/teleport_$(cat "/go/var/full-version")_amd64.deb + environment: + AWS_PROFILE: s3-download-teleport + AWS_REGION: us-west-2 + AWS_S3_BUCKET: + from_secret: AWS_S3_BUCKET + volumes: + - name: awsconfig + path: /root/.aws + depends_on: + - Assume S3 Download AWS Role for teleport + - Download Dockerfile for teleport +- name: Build teleport image "teleport:v10-amd64" + image: docker + commands: + - docker run --privileged --rm tonistiigi/binfmt --install all + - mkdir -pv "/go/build" && cd "/go/build" + - mkdir -pv "/tmp/teleport-v10-amd64-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-v10-amd64-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-v10-amd64-builder/buildkitd.toml" + - docker buildx create --driver "docker-container" --driver-opt "network=host" --name + "teleport-v10-amd64-builder" --config "/tmp/teleport-v10-amd64-builder/buildkitd.toml" + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker buildx build --push --builder "teleport-v10-amd64-builder" --target "teleport" + --platform "linux/amd64" --tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + --file "/go/build/Dockerfile-teleport" --build-arg DEB_PATH=teleport_$(cat "/go/var/full-version")_amd64.deb + /go/build + - docker logout "public.ecr.aws" + - docker buildx rm "teleport-v10-amd64-builder" + - rm -rf "/tmp/teleport-v10-amd64-builder" + environment: + AWS_PROFILE: ecr-authenticated-pull + DOCKER_BUILDKIT: "1" + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Assume ECR - authenticated-pull AWS Role + - Download "teleport_v10-tag_amd64.deb" artifacts from S3 +- name: Download "teleport_v10-tag_arm.deb" artifacts from S3 + image: amazon/aws-cli + commands: + - END_TIME=$(( $(date +%s) + 3600 )) + - TIMED_OUT=true + - while [ $(date +%s) -lt $${END_TIME?} ]; do + - SUCCESS=true + - aws s3 ls s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/ | tr + -s ' ' | cut -d' ' -f 4 | grep -x teleport_$(cat "/go/var/full-version")_arm.deb + || SUCCESS=false + - '[ "$SUCCESS" = "true" ] && TIMED_OUT=false && break;' + - echo 'Condition not met yet, waiting another 60 seconds...' + - sleep 60 + - done + - '[ $${TIMED_OUT?} = true ] && echo ''Timed out while waiting for condition: [ + "$SUCCESS" = "true" ]'' && exit 1' + - mkdir -pv "/go/build" + - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport_$(cat + "/go/var/full-version")_arm.deb /go/build/teleport_$(cat "/go/var/full-version")_arm.deb + environment: + AWS_PROFILE: s3-download-teleport + AWS_REGION: us-west-2 + AWS_S3_BUCKET: + from_secret: AWS_S3_BUCKET + volumes: + - name: awsconfig + path: /root/.aws + depends_on: + - Assume S3 Download AWS Role for teleport + - Download Dockerfile for teleport +- name: Build teleport image "teleport:v10-arm" + image: docker + commands: + - docker run --privileged --rm tonistiigi/binfmt --install all + - mkdir -pv "/go/build" && cd "/go/build" + - mkdir -pv "/tmp/teleport-v10-arm-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-v10-arm-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-v10-arm-builder/buildkitd.toml" + - docker buildx create --driver "docker-container" --driver-opt "network=host" --name + "teleport-v10-arm-builder" --config "/tmp/teleport-v10-arm-builder/buildkitd.toml" + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker buildx build --push --builder "teleport-v10-arm-builder" --target "teleport" + --platform "linux/arm" --tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + --file "/go/build/Dockerfile-teleport" --build-arg DEB_PATH=teleport_$(cat "/go/var/full-version")_arm.deb + /go/build + - docker logout "public.ecr.aws" + - docker buildx rm "teleport-v10-arm-builder" + - rm -rf "/tmp/teleport-v10-arm-builder" + environment: + AWS_PROFILE: ecr-authenticated-pull + DOCKER_BUILDKIT: "1" + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Assume ECR - authenticated-pull AWS Role + - Download "teleport_v10-tag_arm.deb" artifacts from S3 +- name: Download "teleport_v10-tag_arm64.deb" artifacts from S3 + image: amazon/aws-cli + commands: + - END_TIME=$(( $(date +%s) + 3600 )) + - TIMED_OUT=true + - while [ $(date +%s) -lt $${END_TIME?} ]; do + - SUCCESS=true + - aws s3 ls s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/ | tr + -s ' ' | cut -d' ' -f 4 | grep -x teleport_$(cat "/go/var/full-version")_arm64.deb + || SUCCESS=false + - '[ "$SUCCESS" = "true" ] && TIMED_OUT=false && break;' + - echo 'Condition not met yet, waiting another 60 seconds...' + - sleep 60 + - done + - '[ $${TIMED_OUT?} = true ] && echo ''Timed out while waiting for condition: [ + "$SUCCESS" = "true" ]'' && exit 1' + - mkdir -pv "/go/build" + - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport_$(cat + "/go/var/full-version")_arm64.deb /go/build/teleport_$(cat "/go/var/full-version")_arm64.deb + environment: + AWS_PROFILE: s3-download-teleport + AWS_REGION: us-west-2 + AWS_S3_BUCKET: + from_secret: AWS_S3_BUCKET + volumes: + - name: awsconfig + path: /root/.aws + depends_on: + - Assume S3 Download AWS Role for teleport + - Download Dockerfile for teleport +- name: Build teleport image "teleport:v10-arm64" + image: docker + commands: + - docker run --privileged --rm tonistiigi/binfmt --install all + - mkdir -pv "/go/build" && cd "/go/build" + - mkdir -pv "/tmp/teleport-v10-arm64-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-v10-arm64-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-v10-arm64-builder/buildkitd.toml" + - docker buildx create --driver "docker-container" --driver-opt "network=host" --name + "teleport-v10-arm64-builder" --config "/tmp/teleport-v10-arm64-builder/buildkitd.toml" + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker buildx build --push --builder "teleport-v10-arm64-builder" --target "teleport" + --platform "linux/arm64" --tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + --file "/go/build/Dockerfile-teleport" --build-arg DEB_PATH=teleport_$(cat "/go/var/full-version")_arm64.deb + /go/build + - docker logout "public.ecr.aws" + - docker buildx rm "teleport-v10-arm64-builder" + - rm -rf "/tmp/teleport-v10-arm64-builder" + environment: + AWS_PROFILE: ecr-authenticated-pull + DOCKER_BUILDKIT: "1" + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Assume ECR - authenticated-pull AWS Role + - Download "teleport_v10-tag_arm64.deb" artifacts from S3 +- name: Tag and push image "teleport:v10-amd64" to ECR - staging + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-amd64 + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-amd64 + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-amd64 + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport image "teleport:v10-amd64" +- name: Tag and push image "teleport:v10-arm" to ECR - staging + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-arm + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-$TIMESTAMP-arm) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/major-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-arm + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/major-version")-$TIMESTAMP-arm) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-arm + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport image "teleport:v10-arm" +- name: Tag and push image "teleport:v10-arm64" to ECR - staging + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-arm64 + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-arm64 + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-arm64 + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport image "teleport:v10-arm64" +- name: Create manifest and push "teleport:major-$TIMESTAMP" to ECR - staging + image: docker + commands: + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/major-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/major-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/major-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/major-version")-$TIMESTAMP) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport:v10-amd64" to ECR - staging + - Tag and push image "teleport:v10-arm" to ECR - staging + - Tag and push image "teleport:v10-arm64" to ECR - staging +- name: Create manifest and push "teleport:minor-$TIMESTAMP" to ECR - staging + image: docker + commands: + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/minor-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/minor-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/minor-version")-$TIMESTAMP) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport:v10-amd64" to ECR - staging + - Tag and push image "teleport:v10-arm" to ECR - staging + - Tag and push image "teleport:v10-arm64" to ECR - staging +- name: Create manifest and push "teleport:full-$TIMESTAMP" to ECR - staging + image: docker + commands: + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-$TIMESTAMP) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport:v10-amd64" to ECR - staging + - Tag and push image "teleport:v10-arm" to ECR - staging + - Tag and push image "teleport:v10-arm64" to ECR - staging +- name: Tag and push image "teleport:v10-amd64" to Quay + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" + - docker manifest inspect quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-amd64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat + "/go/var/full-version")-amd64 quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-amd64 + && docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-amd64) + - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-amd64 + - docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-amd64 + - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-amd64 + - docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-amd64 + - docker logout "quay.io" + environment: + QUAY_PASSWORD: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD + QUAY_USERNAME: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport image "teleport:v10-amd64" +- name: Tag and push image "teleport:v10-arm" to Quay + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" + - docker manifest inspect quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat + "/go/var/full-version")-arm quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm + && docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm) + - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-arm + - docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-arm + - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-arm + - docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-arm + - docker logout "quay.io" + environment: + QUAY_PASSWORD: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD + QUAY_USERNAME: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport image "teleport:v10-arm" +- name: Tag and push image "teleport:v10-arm64" to Quay + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" + - docker manifest inspect quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat + "/go/var/full-version")-arm64 quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm64 + && docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm64) + - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-arm64 + - docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-arm64 + - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-arm64 + - docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-arm64 + - docker logout "quay.io" + environment: + QUAY_PASSWORD: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD + QUAY_USERNAME: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport image "teleport:v10-arm64" +- name: Create manifest and push "teleport:major" to Quay + image: docker + commands: + - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" + - docker manifest create quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version") + --amend quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-amd64 --amend + quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-arm --amend quay.io/fred_heinecke/teleport:$(cat + "/go/var/major-version")-arm64 + - docker manifest push quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version") + - docker logout "quay.io" + environment: + QUAY_PASSWORD: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD + QUAY_USERNAME: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport:v10-amd64" to Quay + - Tag and push image "teleport:v10-arm" to Quay + - Tag and push image "teleport:v10-arm64" to Quay +- name: Create manifest and push "teleport:minor" to Quay + image: docker + commands: + - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" + - docker manifest create quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version") + --amend quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-amd64 --amend + quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-arm --amend quay.io/fred_heinecke/teleport:$(cat + "/go/var/minor-version")-arm64 + - docker manifest push quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version") + - docker logout "quay.io" + environment: + QUAY_PASSWORD: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD + QUAY_USERNAME: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport:v10-amd64" to Quay + - Tag and push image "teleport:v10-arm" to Quay + - Tag and push image "teleport:v10-arm64" to Quay +- name: Create manifest and push "teleport:full" to Quay + image: docker + commands: + - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" + - docker manifest inspect quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version") + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest + create quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version") --amend quay.io/fred_heinecke/teleport:$(cat + "/go/var/full-version")-amd64 --amend quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm + --amend quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm64 && + docker manifest push quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")) + - docker logout "quay.io" + environment: + QUAY_PASSWORD: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD + QUAY_USERNAME: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport:v10-amd64" to Quay + - Tag and push image "teleport:v10-arm" to Quay + - Tag and push image "teleport:v10-arm64" to Quay +- name: Tag and push image "teleport:v10-amd64" to ECR - production + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-amd64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat + "/go/var/full-version")-amd64 public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-amd64 + && docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-amd64) + - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-amd64 + - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-amd64 + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport image "teleport:v10-amd64" +- name: Tag and push image "teleport:v10-arm" to ECR - production + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat + "/go/var/full-version")-arm public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm + && docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm) + - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-arm + - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-arm + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport image "teleport:v10-arm" +- name: Tag and push image "teleport:v10-arm64" to ECR - production + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat + "/go/var/full-version")-arm64 public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm64 + && docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm64) + - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-arm64 + - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-arm64 + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport image "teleport:v10-arm64" +- name: Create manifest and push "teleport:major" to ECR - production + image: docker + commands: + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest create public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version") + --amend public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-arm --amend + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version") + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport:v10-amd64" to ECR - production + - Tag and push image "teleport:v10-arm" to ECR - production + - Tag and push image "teleport:v10-arm64" to ECR - production +- name: Create manifest and push "teleport:minor" to ECR - production + image: docker + commands: + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest create public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version") + --amend public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-arm --amend + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version") + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport:v10-amd64" to ECR - production + - Tag and push image "teleport:v10-arm" to ECR - production + - Tag and push image "teleport:v10-arm64" to ECR - production +- name: Create manifest and push "teleport:full" to ECR - production + image: docker + commands: + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version") + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest + create public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version") --amend + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-amd64 --amend public.ecr.aws/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-arm --amend public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm64 + && docker manifest push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")) + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport:v10-amd64" to ECR - production + - Tag and push image "teleport:v10-arm" to ECR - production + - Tag and push image "teleport:v10-arm64" to ECR - production +- name: Assume S3 Download AWS Role for teleport-ent + image: amazon/aws-cli + commands: + - aws sts get-caller-identity + - |- + printf "[s3-download-teleport-ent]\naws_access_key_id = %s\naws_secret_access_key = %s\naws_session_token = %s\n" \ + $(aws sts assume-role \ + --role-arn "$AWS_ROLE" \ + --role-session-name $(echo "drone-${DRONE_REPO}-${DRONE_BUILD_NUMBER}" | sed "s|/|-|g") \ + --query "Credentials.[AccessKeyId,SecretAccessKey,SessionToken]" \ + --output text) \ + >> /root/.aws/credentials + - unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY + - aws sts get-caller-identity --profile s3-download-teleport-ent + environment: + AWS_ACCESS_KEY_ID: + from_secret: AWS_ACCESS_KEY_ID + AWS_ROLE: + from_secret: AWS_ROLE + AWS_SECRET_ACCESS_KEY: + from_secret: AWS_SECRET_ACCESS_KEY + volumes: + - name: awsconfig + path: /root/.aws + depends_on: + - Find the latest available semver for v10 + - Wait for docker + - Wait for docker registry + - Check out code + - Build major, minor, and full semvers + - Assume ECR - staging AWS Role + - Assume ECR - authenticated-pull AWS Role + - Assume ECR - production AWS Role +- name: Download Dockerfile for teleport-ent + image: alpine + commands: + - apk add curl + - mkdir -pv $(dirname "/go/build/Dockerfile-teleport-ent") + - curl -Ls -o "/go/build/Dockerfile-teleport-ent" "https://raw.githubusercontent.com/gravitational/teleport/v$(cat + '/go/vars/full-version-v10')/build.assets/charts/Dockerfile" + depends_on: + - Find the latest available semver for v10 + - Wait for docker + - Wait for docker registry + - Check out code + - Build major, minor, and full semvers + - Assume ECR - staging AWS Role + - Assume ECR - authenticated-pull AWS Role + - Assume ECR - production AWS Role +- name: Download "teleport-ent_v10-tag_amd64.deb" artifacts from S3 + image: amazon/aws-cli + commands: + - END_TIME=$(( $(date +%s) + 3600 )) + - TIMED_OUT=true + - while [ $(date +%s) -lt $${END_TIME?} ]; do + - SUCCESS=true + - aws s3 ls s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/ | tr + -s ' ' | cut -d' ' -f 4 | grep -x teleport-ent_$(cat "/go/var/full-version")_amd64.deb + || SUCCESS=false + - '[ "$SUCCESS" = "true" ] && TIMED_OUT=false && break;' + - echo 'Condition not met yet, waiting another 60 seconds...' + - sleep 60 + - done + - '[ $${TIMED_OUT?} = true ] && echo ''Timed out while waiting for condition: [ + "$SUCCESS" = "true" ]'' && exit 1' + - mkdir -pv "/go/build" + - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport-ent_$(cat + "/go/var/full-version")_amd64.deb /go/build/teleport-ent_$(cat "/go/var/full-version")_amd64.deb + environment: + AWS_PROFILE: s3-download-teleport-ent + AWS_REGION: us-west-2 + AWS_S3_BUCKET: + from_secret: AWS_S3_BUCKET + volumes: + - name: awsconfig + path: /root/.aws + depends_on: + - Assume S3 Download AWS Role for teleport-ent + - Download Dockerfile for teleport-ent +- name: Build teleport-ent image "teleport-ent:v10-amd64" + image: docker + commands: + - docker run --privileged --rm tonistiigi/binfmt --install all + - mkdir -pv "/go/build" && cd "/go/build" + - mkdir -pv "/tmp/teleport-ent-v10-amd64-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-ent-v10-amd64-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-ent-v10-amd64-builder/buildkitd.toml" + - docker buildx create --driver "docker-container" --driver-opt "network=host" --name + "teleport-ent-v10-amd64-builder" --config "/tmp/teleport-ent-v10-amd64-builder/buildkitd.toml" + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker buildx build --push --builder "teleport-ent-v10-amd64-builder" --target + "teleport" --platform "linux/amd64" --tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-amd64 --file "/go/build/Dockerfile-teleport-ent" --build-arg + DEB_PATH=teleport-ent_$(cat "/go/var/full-version")_amd64.deb /go/build + - docker logout "public.ecr.aws" + - docker buildx rm "teleport-ent-v10-amd64-builder" + - rm -rf "/tmp/teleport-ent-v10-amd64-builder" + environment: + AWS_PROFILE: ecr-authenticated-pull + DOCKER_BUILDKIT: "1" + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Assume ECR - authenticated-pull AWS Role + - Download "teleport-ent_v10-tag_amd64.deb" artifacts from S3 +- name: Download "teleport-ent_v10-tag_arm.deb" artifacts from S3 + image: amazon/aws-cli + commands: + - END_TIME=$(( $(date +%s) + 3600 )) + - TIMED_OUT=true + - while [ $(date +%s) -lt $${END_TIME?} ]; do + - SUCCESS=true + - aws s3 ls s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/ | tr + -s ' ' | cut -d' ' -f 4 | grep -x teleport-ent_$(cat "/go/var/full-version")_arm.deb + || SUCCESS=false + - '[ "$SUCCESS" = "true" ] && TIMED_OUT=false && break;' + - echo 'Condition not met yet, waiting another 60 seconds...' + - sleep 60 + - done + - '[ $${TIMED_OUT?} = true ] && echo ''Timed out while waiting for condition: [ + "$SUCCESS" = "true" ]'' && exit 1' + - mkdir -pv "/go/build" + - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport-ent_$(cat + "/go/var/full-version")_arm.deb /go/build/teleport-ent_$(cat "/go/var/full-version")_arm.deb + environment: + AWS_PROFILE: s3-download-teleport-ent + AWS_REGION: us-west-2 + AWS_S3_BUCKET: + from_secret: AWS_S3_BUCKET + volumes: + - name: awsconfig + path: /root/.aws + depends_on: + - Assume S3 Download AWS Role for teleport-ent + - Download Dockerfile for teleport-ent +- name: Build teleport-ent image "teleport-ent:v10-arm" + image: docker + commands: + - docker run --privileged --rm tonistiigi/binfmt --install all + - mkdir -pv "/go/build" && cd "/go/build" + - mkdir -pv "/tmp/teleport-ent-v10-arm-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-ent-v10-arm-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-ent-v10-arm-builder/buildkitd.toml" + - docker buildx create --driver "docker-container" --driver-opt "network=host" --name + "teleport-ent-v10-arm-builder" --config "/tmp/teleport-ent-v10-arm-builder/buildkitd.toml" + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker buildx build --push --builder "teleport-ent-v10-arm-builder" --target "teleport" + --platform "linux/arm" --tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm + --file "/go/build/Dockerfile-teleport-ent" --build-arg DEB_PATH=teleport-ent_$(cat + "/go/var/full-version")_arm.deb /go/build + - docker logout "public.ecr.aws" + - docker buildx rm "teleport-ent-v10-arm-builder" + - rm -rf "/tmp/teleport-ent-v10-arm-builder" + environment: + AWS_PROFILE: ecr-authenticated-pull + DOCKER_BUILDKIT: "1" + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Assume ECR - authenticated-pull AWS Role + - Download "teleport-ent_v10-tag_arm.deb" artifacts from S3 +- name: Download "teleport-ent_v10-tag_arm64.deb" artifacts from S3 + image: amazon/aws-cli + commands: + - END_TIME=$(( $(date +%s) + 3600 )) + - TIMED_OUT=true + - while [ $(date +%s) -lt $${END_TIME?} ]; do + - SUCCESS=true + - aws s3 ls s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/ | tr + -s ' ' | cut -d' ' -f 4 | grep -x teleport-ent_$(cat "/go/var/full-version")_arm64.deb + || SUCCESS=false + - '[ "$SUCCESS" = "true" ] && TIMED_OUT=false && break;' + - echo 'Condition not met yet, waiting another 60 seconds...' + - sleep 60 + - done + - '[ $${TIMED_OUT?} = true ] && echo ''Timed out while waiting for condition: [ + "$SUCCESS" = "true" ]'' && exit 1' + - mkdir -pv "/go/build" + - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport-ent_$(cat + "/go/var/full-version")_arm64.deb /go/build/teleport-ent_$(cat "/go/var/full-version")_arm64.deb + environment: + AWS_PROFILE: s3-download-teleport-ent + AWS_REGION: us-west-2 + AWS_S3_BUCKET: + from_secret: AWS_S3_BUCKET + volumes: + - name: awsconfig + path: /root/.aws + depends_on: + - Assume S3 Download AWS Role for teleport-ent + - Download Dockerfile for teleport-ent +- name: Build teleport-ent image "teleport-ent:v10-arm64" + image: docker + commands: + - docker run --privileged --rm tonistiigi/binfmt --install all + - mkdir -pv "/go/build" && cd "/go/build" + - mkdir -pv "/tmp/teleport-ent-v10-arm64-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-ent-v10-arm64-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-ent-v10-arm64-builder/buildkitd.toml" + - docker buildx create --driver "docker-container" --driver-opt "network=host" --name + "teleport-ent-v10-arm64-builder" --config "/tmp/teleport-ent-v10-arm64-builder/buildkitd.toml" + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker buildx build --push --builder "teleport-ent-v10-arm64-builder" --target + "teleport" --platform "linux/arm64" --tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-arm64 --file "/go/build/Dockerfile-teleport-ent" --build-arg + DEB_PATH=teleport-ent_$(cat "/go/var/full-version")_arm64.deb /go/build + - docker logout "public.ecr.aws" + - docker buildx rm "teleport-ent-v10-arm64-builder" + - rm -rf "/tmp/teleport-ent-v10-arm64-builder" + environment: + AWS_PROFILE: ecr-authenticated-pull + DOCKER_BUILDKIT: "1" + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Assume ECR - authenticated-pull AWS Role + - Download "teleport-ent_v10-tag_arm64.deb" artifacts from S3 +- name: Tag and push image "teleport-ent:v10-amd64" to ECR - staging + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport-ent image "teleport-ent:v10-amd64" +- name: Tag and push image "teleport-ent:v10-arm" to ECR - staging + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-arm) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-arm) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport-ent image "teleport-ent:v10-arm" +- name: Tag and push image "teleport-ent:v10-arm64" to ECR - staging + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport-ent image "teleport-ent:v10-arm64" +- name: Create manifest and push "teleport-ent:major-$TIMESTAMP" to ECR - staging + image: docker + commands: + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport-ent:v10-amd64" to ECR - staging + - Tag and push image "teleport-ent:v10-arm" to ECR - staging + - Tag and push image "teleport-ent:v10-arm64" to ECR - staging +- name: Create manifest and push "teleport-ent:minor-$TIMESTAMP" to ECR - staging + image: docker + commands: + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport-ent:v10-amd64" to ECR - staging + - Tag and push image "teleport-ent:v10-arm" to ECR - staging + - Tag and push image "teleport-ent:v10-arm64" to ECR - staging +- name: Create manifest and push "teleport-ent:full-$TIMESTAMP" to ECR - staging image: docker commands: - - timeout 30s /bin/sh -c 'while [ ! -S /var/run/docker.sock ]; do sleep 1; done' + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + environment: + AWS_PROFILE: ecr-staging volumes: + - name: awsconfig + path: /root/.aws - name: dockersock path: /var/run depends_on: - - Find the latest available semver for v10 -- name: Wait for docker registry - image: alpine + - Tag and push image "teleport-ent:v10-amd64" to ECR - staging + - Tag and push image "teleport-ent:v10-arm" to ECR - staging + - Tag and push image "teleport-ent:v10-arm64" to ECR - staging +- name: Tag and push image "teleport-ent:v10-amd64" to Quay + image: docker commands: - - apk add curl - - timeout 30s /bin/sh -c 'while [ "$(curl -s -o /dev/null -w %{http_code} http://drone-docker-registry:5000/)" - != "200" ]; do sleep 1; done' + - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 + - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" + - docker manifest inspect quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-amd64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-amd64 quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-amd64 + && docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-amd64) + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-amd64 + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-amd64 + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-amd64 + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-amd64 + - docker logout "quay.io" + environment: + QUAY_PASSWORD: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD + QUAY_USERNAME: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run depends_on: - - Find the latest available semver for v10 -- name: Check out code - image: alpine/git:latest + - Build teleport-ent image "teleport-ent:v10-amd64" +- name: Tag and push image "teleport-ent:v10-arm" to Quay + image: docker commands: - - mkdir -pv "/go/src/github.com/gravitational/teleport" - - cd "/go/src/github.com/gravitational/teleport" - - git init - - git remote add origin ${DRONE_REMOTE_URL} - - git fetch origin --tags - - git checkout -qf "v$(cat '/go/vars/full-version-v10')" + - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm + - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" + - docker manifest inspect quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-arm quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm + && docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm) + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-arm + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-arm + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-arm + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-arm + - docker logout "quay.io" + environment: + QUAY_PASSWORD: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD + QUAY_USERNAME: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport-ent image "teleport-ent:v10-arm" +- name: Tag and push image "teleport-ent:v10-arm64" to Quay + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 + - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" + - docker manifest inspect quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-arm64 quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm64 + && docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm64) + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-arm64 + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-arm64 + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-arm64 + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-arm64 + - docker logout "quay.io" + environment: + QUAY_PASSWORD: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD + QUAY_USERNAME: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport-ent image "teleport-ent:v10-arm64" +- name: Create manifest and push "teleport-ent:major" to Quay + image: docker + commands: + - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" + - docker manifest create quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version") + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-amd64 + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-arm + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-arm64 + - docker manifest push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version") + - docker logout "quay.io" + environment: + QUAY_PASSWORD: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD + QUAY_USERNAME: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport-ent:v10-amd64" to Quay + - Tag and push image "teleport-ent:v10-arm" to Quay + - Tag and push image "teleport-ent:v10-arm64" to Quay +- name: Create manifest and push "teleport-ent:minor" to Quay + image: docker + commands: + - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" + - docker manifest create quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version") + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-amd64 + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-arm + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-arm64 + - docker manifest push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version") + - docker logout "quay.io" + environment: + QUAY_PASSWORD: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD + QUAY_USERNAME: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport-ent:v10-amd64" to Quay + - Tag and push image "teleport-ent:v10-arm" to Quay + - Tag and push image "teleport-ent:v10-arm64" to Quay +- name: Create manifest and push "teleport-ent:full" to Quay + image: docker + commands: + - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" + - docker manifest inspect quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version") + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest + create quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version") --amend + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-amd64 --amend + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm --amend quay.io/fred_heinecke/teleport-ent:$(cat + "/go/var/full-version")-arm64 && docker manifest push quay.io/fred_heinecke/teleport-ent:$(cat + "/go/var/full-version")) + - docker logout "quay.io" + environment: + QUAY_PASSWORD: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD + QUAY_USERNAME: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport-ent:v10-amd64" to Quay + - Tag and push image "teleport-ent:v10-arm" to Quay + - Tag and push image "teleport-ent:v10-arm64" to Quay +- name: Tag and push image "teleport-ent:v10-amd64" to ECR - production + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-amd64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-amd64 public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-amd64 + && docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-amd64) + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-amd64 + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-amd64 + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport-ent image "teleport-ent:v10-amd64" +- name: Tag and push image "teleport-ent:v10-arm" to ECR - production + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-arm public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm + && docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm) + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-arm + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-arm + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport-ent image "teleport-ent:v10-arm" +- name: Tag and push image "teleport-ent:v10-arm64" to ECR - production + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-arm64 public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm64 + && docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm64) + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-arm64 + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-arm64 + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport-ent image "teleport-ent:v10-arm64" +- name: Create manifest and push "teleport-ent:major" to ECR - production + image: docker + commands: + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version") + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version") + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport-ent:v10-amd64" to ECR - production + - Tag and push image "teleport-ent:v10-arm" to ECR - production + - Tag and push image "teleport-ent:v10-arm64" to ECR - production +- name: Create manifest and push "teleport-ent:minor" to ECR - production + image: docker + commands: + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version") + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version") + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run depends_on: - - Find the latest available semver for v10 -- name: Build major, minor, and full semvers - image: alpine + - Tag and push image "teleport-ent:v10-amd64" to ECR - production + - Tag and push image "teleport-ent:v10-arm" to ECR - production + - Tag and push image "teleport-ent:v10-arm64" to ECR - production +- name: Create manifest and push "teleport-ent:full" to ECR - production + image: docker commands: - - mkdir -pv $(dirname "/go/var/major-version") - - echo v$(cat '/go/vars/full-version-v10') | sed 's/v//' | cut -d'.' -f "1" > "/go/var/major-version" - - echo $(cat "/go/var/major-version") - - mkdir -pv $(dirname "/go/var/minor-version") - - echo v$(cat '/go/vars/full-version-v10') | sed 's/v//' | cut -d'.' -f "1,2" > - "/go/var/minor-version" - - echo $(cat "/go/var/minor-version") - - mkdir -pv $(dirname "/go/var/full-version") - - echo v$(cat '/go/vars/full-version-v10') | sed 's/v//' > "/go/var/full-version" - - echo $(cat "/go/var/full-version") + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version") + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest + create public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version") --amend + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-amd64 --amend + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm --amend + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm64 && docker + manifest push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")) + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run depends_on: - - Find the latest available semver for v10 -- name: Assume ECR - staging AWS Role + - Tag and push image "teleport-ent:v10-amd64" to ECR - production + - Tag and push image "teleport-ent:v10-arm" to ECR - production + - Tag and push image "teleport-ent:v10-arm64" to ECR - production +- name: Assume S3 Download AWS Role for teleport-ent-fips image: amazon/aws-cli commands: - aws sts get-caller-identity - |- - printf "[ecr-staging]\naws_access_key_id = %s\naws_secret_access_key = %s\naws_session_token = %s\n" \ + printf "[s3-download-teleport-ent-fips]\naws_access_key_id = %s\naws_secret_access_key = %s\naws_session_token = %s\n" \ $(aws sts assume-role \ --role-arn "$AWS_ROLE" \ --role-session-name $(echo "drone-${DRONE_REPO}-${DRONE_BUILD_NUMBER}" | sed "s|/|-|g") \ @@ -13599,233 +15932,407 @@ steps: --output text) \ >> /root/.aws/credentials - unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY - - aws sts get-caller-identity --profile ecr-staging + - aws sts get-caller-identity --profile s3-download-teleport-ent-fips environment: AWS_ACCESS_KEY_ID: - from_secret: STAGING_TELEPORT_DRONE_USER_ECR_KEY + from_secret: AWS_ACCESS_KEY_ID AWS_ROLE: - from_secret: STAGING_TELEPORT_DRONE_ECR_AWS_ROLE + from_secret: AWS_ROLE AWS_SECRET_ACCESS_KEY: - from_secret: STAGING_TELEPORT_DRONE_USER_ECR_SECRET + from_secret: AWS_SECRET_ACCESS_KEY volumes: - name: awsconfig path: /root/.aws depends_on: - Find the latest available semver for v10 -- name: Assume ECR - authenticated-pull AWS Role + - Wait for docker + - Wait for docker registry + - Check out code + - Build major, minor, and full semvers + - Assume ECR - staging AWS Role + - Assume ECR - authenticated-pull AWS Role + - Assume ECR - production AWS Role +- name: Download Dockerfile for teleport-ent-fips + image: alpine + commands: + - apk add curl + - mkdir -pv $(dirname "/go/build/Dockerfile-teleport-ent-fips") + - curl -Ls -o "/go/build/Dockerfile-teleport-ent-fips" "https://raw.githubusercontent.com/gravitational/teleport/v$(cat + '/go/vars/full-version-v10')/build.assets/charts/Dockerfile" + depends_on: + - Find the latest available semver for v10 + - Wait for docker + - Wait for docker registry + - Check out code + - Build major, minor, and full semvers + - Assume ECR - staging AWS Role + - Assume ECR - authenticated-pull AWS Role + - Assume ECR - production AWS Role +- name: Download "teleport-ent_v10-tag-fips_amd64.deb" artifacts from S3 image: amazon/aws-cli commands: - - aws sts get-caller-identity - - |- - printf "[ecr-authenticated-pull]\naws_access_key_id = %s\naws_secret_access_key = %s\naws_session_token = %s\n" \ - $(aws sts assume-role \ - --role-arn "$AWS_ROLE" \ - --role-session-name $(echo "drone-${DRONE_REPO}-${DRONE_BUILD_NUMBER}" | sed "s|/|-|g") \ - --query "Credentials.[AccessKeyId,SecretAccessKey,SessionToken]" \ - --output text) \ - >> /root/.aws/credentials - - unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY - - aws sts get-caller-identity --profile ecr-authenticated-pull + - END_TIME=$(( $(date +%s) + 3600 )) + - TIMED_OUT=true + - while [ $(date +%s) -lt $${END_TIME?} ]; do + - SUCCESS=true + - aws s3 ls s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/ | tr + -s ' ' | cut -d' ' -f 4 | grep -x teleport-ent_$(cat "/go/var/full-version")-fips_amd64.deb + || SUCCESS=false + - '[ "$SUCCESS" = "true" ] && TIMED_OUT=false && break;' + - echo 'Condition not met yet, waiting another 60 seconds...' + - sleep 60 + - done + - '[ $${TIMED_OUT?} = true ] && echo ''Timed out while waiting for condition: [ + "$SUCCESS" = "true" ]'' && exit 1' + - mkdir -pv "/go/build" + - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport-ent_$(cat + "/go/var/full-version")-fips_amd64.deb /go/build/teleport-ent_$(cat "/go/var/full-version")-fips_amd64.deb environment: - AWS_ACCESS_KEY_ID: - from_secret: PRODUCTION_TELEPORT_DRONE_USER_ECR_KEY - AWS_ROLE: - from_secret: PRODUCTION_TELEPORT_DRONE_ECR_AWS_ROLE - AWS_SECRET_ACCESS_KEY: - from_secret: PRODUCTION_TELEPORT_DRONE_USER_ECR_SECRET + AWS_PROFILE: s3-download-teleport-ent-fips + AWS_REGION: us-west-2 + AWS_S3_BUCKET: + from_secret: AWS_S3_BUCKET volumes: - name: awsconfig path: /root/.aws depends_on: - - Assume ECR - staging AWS Role - - Find the latest available semver for v10 -- name: Assume ECR - production AWS Role - image: amazon/aws-cli + - Assume S3 Download AWS Role for teleport-ent-fips + - Download Dockerfile for teleport-ent-fips +- name: Build teleport-ent-fips image "teleport-ent:v10-fips-amd64" + image: docker commands: - - aws sts get-caller-identity - - |- - printf "[ecr-production]\naws_access_key_id = %s\naws_secret_access_key = %s\naws_session_token = %s\n" \ - $(aws sts assume-role \ - --role-arn "$AWS_ROLE" \ - --role-session-name $(echo "drone-${DRONE_REPO}-${DRONE_BUILD_NUMBER}" | sed "s|/|-|g") \ - --query "Credentials.[AccessKeyId,SecretAccessKey,SessionToken]" \ - --output text) \ - >> /root/.aws/credentials - - unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY - - aws sts get-caller-identity --profile ecr-production + - docker run --privileged --rm tonistiigi/binfmt --install all + - mkdir -pv "/go/build" && cd "/go/build" + - mkdir -pv "/tmp/teleport-ent-v10-fips-amd64-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-ent-v10-fips-amd64-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-ent-v10-fips-amd64-builder/buildkitd.toml" + - docker buildx create --driver "docker-container" --driver-opt "network=host" --name + "teleport-ent-v10-fips-amd64-builder" --config "/tmp/teleport-ent-v10-fips-amd64-builder/buildkitd.toml" + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker buildx build --push --builder "teleport-ent-v10-fips-amd64-builder" --target + "teleport-fips" --platform "linux/amd64" --tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-fips-amd64 --file "/go/build/Dockerfile-teleport-ent-fips" + --build-arg DEB_PATH=teleport-ent_$(cat "/go/var/full-version")-fips_amd64.deb + /go/build + - docker logout "public.ecr.aws" + - docker buildx rm "teleport-ent-v10-fips-amd64-builder" + - rm -rf "/tmp/teleport-ent-v10-fips-amd64-builder" + environment: + AWS_PROFILE: ecr-authenticated-pull + DOCKER_BUILDKIT: "1" + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Assume ECR - authenticated-pull AWS Role + - Download "teleport-ent_v10-tag-fips_amd64.deb" artifacts from S3 +- name: Tag and push image "teleport-ent:v10-fips-amd64" to ECR - staging + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-fips-amd64 > /dev/null 2>&1 && echo 'Found + existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-fips-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-fips-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-fips-amd64) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-fips-amd64 > /dev/null 2>&1 && echo 'Found + existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-fips-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-fips-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-fips-amd64) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-fips-amd64 > /dev/null 2>&1 && echo 'Found + existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-fips-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-fips-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-fips-amd64) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport-ent-fips image "teleport-ent:v10-fips-amd64" +- name: Create manifest and push "teleport-ent:major-$TIMESTAMP-fips" to ECR - staging + image: docker + commands: + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-fips > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-fips --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-fips-amd64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-fips) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport-ent:v10-fips-amd64" to ECR - staging +- name: Create manifest and push "teleport-ent:minor-$TIMESTAMP-fips" to ECR - staging + image: docker + commands: + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-fips > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-fips --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-fips-amd64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-fips) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport-ent:v10-fips-amd64" to ECR - staging +- name: Create manifest and push "teleport-ent:full-$TIMESTAMP-fips" to ECR - staging + image: docker + commands: + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-fips > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-fips --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-fips-amd64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-fips) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" + environment: + AWS_PROFILE: ecr-staging + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport-ent:v10-fips-amd64" to ECR - staging +- name: Tag and push image "teleport-ent:v10-fips-amd64" to Quay + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" + - docker manifest inspect quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-fips-amd64 quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + && docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips-amd64) + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 + - docker logout "quay.io" + environment: + QUAY_PASSWORD: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD + QUAY_USERNAME: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport-ent-fips image "teleport-ent:v10-fips-amd64" +- name: Create manifest and push "teleport-ent:major-fips" to Quay + image: docker + commands: + - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" + - docker manifest create quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-fips + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 + - docker manifest push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-fips + - docker logout "quay.io" + environment: + QUAY_PASSWORD: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD + QUAY_USERNAME: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport-ent:v10-fips-amd64" to Quay +- name: Create manifest and push "teleport-ent:minor-fips" to Quay + image: docker + commands: + - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" + - docker manifest create quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-fips + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 + - docker manifest push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-fips + - docker logout "quay.io" environment: - AWS_ACCESS_KEY_ID: - from_secret: PRODUCTION_TELEPORT_DRONE_USER_ECR_KEY - AWS_ROLE: - from_secret: PRODUCTION_TELEPORT_DRONE_ECR_AWS_ROLE - AWS_SECRET_ACCESS_KEY: - from_secret: PRODUCTION_TELEPORT_DRONE_USER_ECR_SECRET + QUAY_PASSWORD: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD + QUAY_USERNAME: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws + - name: dockersock + path: /var/run depends_on: - - Assume ECR - authenticated-pull AWS Role - - Find the latest available semver for v10 -- name: Assume S3 Download AWS Role for teleport - image: amazon/aws-cli + - Tag and push image "teleport-ent:v10-fips-amd64" to Quay +- name: Create manifest and push "teleport-ent:full-fips" to Quay + image: docker commands: - - aws sts get-caller-identity - - |- - printf "[s3-download-teleport]\naws_access_key_id = %s\naws_secret_access_key = %s\naws_session_token = %s\n" \ - $(aws sts assume-role \ - --role-arn "$AWS_ROLE" \ - --role-session-name $(echo "drone-${DRONE_REPO}-${DRONE_BUILD_NUMBER}" | sed "s|/|-|g") \ - --query "Credentials.[AccessKeyId,SecretAccessKey,SessionToken]" \ - --output text) \ - >> /root/.aws/credentials - - unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY - - aws sts get-caller-identity --profile s3-download-teleport + - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" + - docker manifest inspect quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest + create quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips --amend + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 && + docker manifest push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips) + - docker logout "quay.io" environment: - AWS_ACCESS_KEY_ID: - from_secret: AWS_ACCESS_KEY_ID - AWS_ROLE: - from_secret: AWS_ROLE - AWS_SECRET_ACCESS_KEY: - from_secret: AWS_SECRET_ACCESS_KEY + QUAY_PASSWORD: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD + QUAY_USERNAME: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws + - name: dockersock + path: /var/run depends_on: - - Find the latest available semver for v10 - - Wait for docker - - Wait for docker registry - - Check out code - - Build major, minor, and full semvers - - Assume ECR - staging AWS Role - - Assume ECR - authenticated-pull AWS Role - - Assume ECR - production AWS Role -- name: Download Teleport Dockerfile to "/go/build/Dockerfile-teleport" for teleport - image: alpine + - Tag and push image "teleport-ent:v10-fips-amd64" to Quay +- name: Tag and push image "teleport-ent:v10-fips-amd64" to ECR - production + image: docker commands: - - apk add curl - - mkdir -pv $(dirname "/go/build/Dockerfile-teleport") - - curl -Ls -o "/go/build/Dockerfile-teleport" "https://raw.githubusercontent.com/gravitational/teleport/v$(cat - '/go/vars/full-version-v10')/build.assets/charts/Dockerfile" + - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-fips-amd64 public.ecr.aws/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-fips-amd64 && docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-fips-amd64) + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run depends_on: - - Find the latest available semver for v10 - - Wait for docker - - Wait for docker registry - - Check out code - - Build major, minor, and full semvers - - Assume ECR - staging AWS Role - - Assume ECR - authenticated-pull AWS Role - - Assume ECR - production AWS Role -- name: Download "teleport_v10-tag_amd64.deb" artifacts from S3 - image: amazon/aws-cli + - Build teleport-ent-fips image "teleport-ent:v10-fips-amd64" +- name: Create manifest and push "teleport-ent:major-fips" to ECR - production + image: docker commands: - - END_TIME=$(( $(date +%s) + 3600 )) - - TIMED_OUT=true - - while [ $(date +%s) -lt $${END_TIME?} ]; do - - SUCCESS=true - - aws s3 ls s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/ | tr - -s ' ' | cut -d' ' -f 4 | grep -x teleport_$(cat "/go/var/full-version")_amd64.deb - || SUCCESS=false - - '[ "$SUCCESS" = "true" ] && TIMED_OUT=false && break;' - - echo 'Condition not met yet, waiting another 60 seconds...' - - sleep 60 - - done - - '[ $${TIMED_OUT?} = true ] && echo ''Timed out while waiting for condition: [ - "$SUCCESS" = "true" ]'' && exit 1' - - mkdir -pv "/go/build" - - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport_$(cat - "/go/var/full-version")_amd64.deb /go/build/teleport_$(cat "/go/var/full-version")_amd64.deb + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-fips + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-fips + - docker logout "public.ecr.aws" environment: - AWS_PROFILE: s3-download-teleport - AWS_REGION: us-west-2 - AWS_S3_BUCKET: - from_secret: AWS_S3_BUCKET + AWS_PROFILE: ecr-production volumes: - name: awsconfig path: /root/.aws + - name: dockersock + path: /var/run depends_on: - - Assume S3 Download AWS Role for teleport - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport" for teleport -- name: Build teleport image "teleport:v10-amd64" + - Tag and push image "teleport-ent:v10-fips-amd64" to ECR - production +- name: Create manifest and push "teleport-ent:minor-fips" to ECR - production image: docker commands: - - docker run --privileged --rm tonistiigi/binfmt --install all - - mkdir -pv "/go/build" && cd "/go/build" - - mkdir -pv "/tmp/teleport-v10-amd64-builder" - - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-v10-amd64-builder/buildkitd.toml" - - echo ' http = true' >> "/tmp/teleport-v10-amd64-builder/buildkitd.toml" - - docker buildx create --driver "docker-container" --driver-opt "network=host" --name - "teleport-v10-amd64-builder" --config "/tmp/teleport-v10-amd64-builder/buildkitd.toml" - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker buildx build --push --builder "teleport-v10-amd64-builder" --target "teleport" - --platform "linux/amd64" --tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - --file "/go/build/Dockerfile-teleport" --build-arg DEB_PATH=teleport_$(cat "/go/var/full-version")_amd64.deb - /go/build + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-fips + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-fips - docker logout "public.ecr.aws" - - docker buildx rm "teleport-v10-amd64-builder" - - rm -rf "/tmp/teleport-v10-amd64-builder" environment: - AWS_PROFILE: ecr-authenticated-pull - DOCKER_BUILDKIT: "1" + AWS_PROFILE: ecr-production volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Assume ECR - authenticated-pull AWS Role - - Download "teleport_v10-tag_amd64.deb" artifacts from S3 -- name: Download "teleport_v10-tag_arm.deb" artifacts from S3 - image: amazon/aws-cli + - Tag and push image "teleport-ent:v10-fips-amd64" to ECR - production +- name: Create manifest and push "teleport-ent:full-fips" to ECR - production + image: docker commands: - - END_TIME=$(( $(date +%s) + 3600 )) - - TIMED_OUT=true - - while [ $(date +%s) -lt $${END_TIME?} ]; do - - SUCCESS=true - - aws s3 ls s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/ | tr - -s ' ' | cut -d' ' -f 4 | grep -x teleport_$(cat "/go/var/full-version")_arm.deb - || SUCCESS=false - - '[ "$SUCCESS" = "true" ] && TIMED_OUT=false && break;' - - echo 'Condition not met yet, waiting another 60 seconds...' - - sleep 60 - - done - - '[ $${TIMED_OUT?} = true ] && echo ''Timed out while waiting for condition: [ - "$SUCCESS" = "true" ]'' && exit 1' - - mkdir -pv "/go/build" - - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport_$(cat - "/go/var/full-version")_arm.deb /go/build/teleport_$(cat "/go/var/full-version")_arm.deb + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest + create public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + && docker manifest push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips) + - docker logout "public.ecr.aws" environment: - AWS_PROFILE: s3-download-teleport - AWS_REGION: us-west-2 - AWS_S3_BUCKET: - from_secret: AWS_S3_BUCKET + AWS_PROFILE: ecr-production volumes: - name: awsconfig path: /root/.aws + - name: dockersock + path: /var/run depends_on: - - Assume S3 Download AWS Role for teleport - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport" for teleport -- name: Build teleport image "teleport:v10-arm" + - Tag and push image "teleport-ent:v10-fips-amd64" to ECR - production +- name: Build teleport-operator image "teleport-operator:v10-amd64" image: docker commands: - docker run --privileged --rm tonistiigi/binfmt --install all - - mkdir -pv "/go/build" && cd "/go/build" - - mkdir -pv "/tmp/teleport-v10-arm-builder" - - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-v10-arm-builder/buildkitd.toml" - - echo ' http = true' >> "/tmp/teleport-v10-arm-builder/buildkitd.toml" + - mkdir -pv "/go/src/github.com/gravitational/teleport" && cd "/go/src/github.com/gravitational/teleport" + - mkdir -pv "/tmp/teleport-operator-v10-amd64-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-operator-v10-amd64-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-operator-v10-amd64-builder/buildkitd.toml" - docker buildx create --driver "docker-container" --driver-opt "network=host" --name - "teleport-v10-arm-builder" --config "/tmp/teleport-v10-arm-builder/buildkitd.toml" + "teleport-operator-v10-amd64-builder" --config "/tmp/teleport-operator-v10-amd64-builder/buildkitd.toml" - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker buildx build --push --builder "teleport-v10-arm-builder" --target "teleport" - --platform "linux/arm" --tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - --file "/go/build/Dockerfile-teleport" --build-arg DEB_PATH=teleport_$(cat "/go/var/full-version")_arm.deb - /go/build + - docker buildx build --push --builder "teleport-operator-v10-amd64-builder" --platform + "linux/amd64" --tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 + --file "/go/src/github.com/gravitational/teleport/operator/Dockerfile" --build-arg + BUILDBOX=public.ecr.aws/gravitational/teleport-buildbox:teleport11 --build-arg + COMPILER_NAME=x86_64-linux-gnu-gcc /go/src/github.com/gravitational/teleport - docker logout "public.ecr.aws" - - docker buildx rm "teleport-v10-arm-builder" - - rm -rf "/tmp/teleport-v10-arm-builder" + - docker buildx rm "teleport-operator-v10-amd64-builder" + - rm -rf "/tmp/teleport-operator-v10-amd64-builder" environment: AWS_PROFILE: ecr-authenticated-pull DOCKER_BUILDKIT: "1" @@ -13836,57 +16343,74 @@ steps: path: /var/run depends_on: - Assume ECR - authenticated-pull AWS Role - - Download "teleport_v10-tag_arm.deb" artifacts from S3 -- name: Download "teleport_v10-tag_arm64.deb" artifacts from S3 - image: amazon/aws-cli + - Find the latest available semver for v10 + - Wait for docker + - Wait for docker registry + - Check out code + - Build major, minor, and full semvers + - Assume ECR - staging AWS Role + - Assume ECR - authenticated-pull AWS Role + - Assume ECR - production AWS Role +- name: Build teleport-operator image "teleport-operator:v10-arm" + image: docker commands: - - END_TIME=$(( $(date +%s) + 3600 )) - - TIMED_OUT=true - - while [ $(date +%s) -lt $${END_TIME?} ]; do - - SUCCESS=true - - aws s3 ls s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/ | tr - -s ' ' | cut -d' ' -f 4 | grep -x teleport_$(cat "/go/var/full-version")_arm64.deb - || SUCCESS=false - - '[ "$SUCCESS" = "true" ] && TIMED_OUT=false && break;' - - echo 'Condition not met yet, waiting another 60 seconds...' - - sleep 60 - - done - - '[ $${TIMED_OUT?} = true ] && echo ''Timed out while waiting for condition: [ - "$SUCCESS" = "true" ]'' && exit 1' - - mkdir -pv "/go/build" - - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport_$(cat - "/go/var/full-version")_arm64.deb /go/build/teleport_$(cat "/go/var/full-version")_arm64.deb + - docker run --privileged --rm tonistiigi/binfmt --install all + - mkdir -pv "/go/src/github.com/gravitational/teleport" && cd "/go/src/github.com/gravitational/teleport" + - mkdir -pv "/tmp/teleport-operator-v10-arm-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-operator-v10-arm-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-operator-v10-arm-builder/buildkitd.toml" + - docker buildx create --driver "docker-container" --driver-opt "network=host" --name + "teleport-operator-v10-arm-builder" --config "/tmp/teleport-operator-v10-arm-builder/buildkitd.toml" + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker buildx build --push --builder "teleport-operator-v10-arm-builder" --platform + "linux/arm" --tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm + --file "/go/src/github.com/gravitational/teleport/operator/Dockerfile" --build-arg + BUILDBOX=public.ecr.aws/gravitational/teleport-buildbox-arm:teleport11 --build-arg + COMPILER_NAME=arm-linux-gnueabihf-gcc /go/src/github.com/gravitational/teleport + - docker logout "public.ecr.aws" + - docker buildx rm "teleport-operator-v10-arm-builder" + - rm -rf "/tmp/teleport-operator-v10-arm-builder" environment: - AWS_PROFILE: s3-download-teleport - AWS_REGION: us-west-2 - AWS_S3_BUCKET: - from_secret: AWS_S3_BUCKET + AWS_PROFILE: ecr-authenticated-pull + DOCKER_BUILDKIT: "1" volumes: - name: awsconfig path: /root/.aws + - name: dockersock + path: /var/run depends_on: - - Assume S3 Download AWS Role for teleport - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport" for teleport -- name: Build teleport image "teleport:v10-arm64" + - Assume ECR - authenticated-pull AWS Role + - Find the latest available semver for v10 + - Wait for docker + - Wait for docker registry + - Check out code + - Build major, minor, and full semvers + - Assume ECR - staging AWS Role + - Assume ECR - authenticated-pull AWS Role + - Assume ECR - production AWS Role +- name: Build teleport-operator image "teleport-operator:v10-arm64" image: docker commands: - docker run --privileged --rm tonistiigi/binfmt --install all - - mkdir -pv "/go/build" && cd "/go/build" - - mkdir -pv "/tmp/teleport-v10-arm64-builder" - - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-v10-arm64-builder/buildkitd.toml" - - echo ' http = true' >> "/tmp/teleport-v10-arm64-builder/buildkitd.toml" + - mkdir -pv "/go/src/github.com/gravitational/teleport" && cd "/go/src/github.com/gravitational/teleport" + - mkdir -pv "/tmp/teleport-operator-v10-arm64-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-operator-v10-arm64-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-operator-v10-arm64-builder/buildkitd.toml" - docker buildx create --driver "docker-container" --driver-opt "network=host" --name - "teleport-v10-arm64-builder" --config "/tmp/teleport-v10-arm64-builder/buildkitd.toml" + "teleport-operator-v10-arm64-builder" --config "/tmp/teleport-operator-v10-arm64-builder/buildkitd.toml" - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker buildx build --push --builder "teleport-v10-arm64-builder" --target "teleport" - --platform "linux/arm64" --tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - --file "/go/build/Dockerfile-teleport" --build-arg DEB_PATH=teleport_$(cat "/go/var/full-version")_arm64.deb - /go/build + - docker buildx build --push --builder "teleport-operator-v10-arm64-builder" --platform + "linux/arm64" --tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 + --file "/go/src/github.com/gravitational/teleport/operator/Dockerfile" --build-arg + BUILDBOX=public.ecr.aws/gravitational/teleport-buildbox-arm:teleport11 --build-arg + COMPILER_NAME=aarch64-linux-gnu-gcc /go/src/github.com/gravitational/teleport - docker logout "public.ecr.aws" - - docker buildx rm "teleport-v10-arm64-builder" - - rm -rf "/tmp/teleport-v10-arm64-builder" + - docker buildx rm "teleport-operator-v10-arm64-builder" + - rm -rf "/tmp/teleport-operator-v10-arm64-builder" environment: AWS_PROFILE: ecr-authenticated-pull DOCKER_BUILDKIT: "1" @@ -13897,34 +16421,41 @@ steps: path: /var/run depends_on: - Assume ECR - authenticated-pull AWS Role - - Download "teleport_v10-tag_arm64.deb" artifacts from S3 -- name: Tag and push image "teleport:v10-amd64" to ECR - staging + - Find the latest available semver for v10 + - Wait for docker + - Wait for docker registry + - Check out code + - Build major, minor, and full semvers + - Assume ECR - staging AWS Role + - Assume ECR - authenticated-pull AWS Role + - Assume ECR - production AWS Role +- name: Tag and push image "teleport-operator:v10-amd64" to ECR - staging image: docker commands: - - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-amd64 - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-$TIMESTAMP-amd64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-amd64 - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-$TIMESTAMP-amd64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-amd64 - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-$TIMESTAMP-amd64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -13933,34 +16464,34 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport image "teleport:v10-amd64" -- name: Tag and push image "teleport:v10-arm" to ECR - staging + - Build teleport-operator image "teleport-operator:v10-amd64" +- name: Tag and push image "teleport-operator:v10-arm" to ECR - staging image: docker commands: - - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-arm - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-$TIMESTAMP-arm) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-arm - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-$TIMESTAMP-arm) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-arm - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-$TIMESTAMP-arm) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -13969,34 +16500,34 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport image "teleport:v10-arm" -- name: Tag and push image "teleport:v10-arm64" to ECR - staging + - Build teleport-operator image "teleport-operator:v10-arm" +- name: Tag and push image "teleport-operator:v10-arm64" to ECR - staging image: docker commands: - - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-arm64 - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-$TIMESTAMP-arm64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-arm64 - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-$TIMESTAMP-arm64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-arm64 - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-$TIMESTAMP-arm64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -14005,23 +16536,23 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport image "teleport:v10-arm64" -- name: Create manifest and push "teleport:major-$TIMESTAMP" to ECR - staging + - Build teleport-operator image "teleport-operator:v10-arm64" +- name: Create manifest and push "teleport-operator:major-$TIMESTAMP" to ECR - staging image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/major-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/major-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/major-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/major-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -14030,25 +16561,25 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport:v10-amd64" to ECR - staging - - Tag and push image "teleport:v10-arm" to ECR - staging - - Tag and push image "teleport:v10-arm64" to ECR - staging -- name: Create manifest and push "teleport:minor-$TIMESTAMP" to ECR - staging + - Tag and push image "teleport-operator:v10-amd64" to ECR - staging + - Tag and push image "teleport-operator:v10-arm" to ECR - staging + - Tag and push image "teleport-operator:v10-arm64" to ECR - staging +- name: Create manifest and push "teleport-operator:minor-$TIMESTAMP" to ECR - staging image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/minor-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/minor-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -14057,25 +16588,25 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport:v10-amd64" to ECR - staging - - Tag and push image "teleport:v10-arm" to ECR - staging - - Tag and push image "teleport:v10-arm64" to ECR - staging -- name: Create manifest and push "teleport:full-$TIMESTAMP" to ECR - staging + - Tag and push image "teleport-operator:v10-amd64" to ECR - staging + - Tag and push image "teleport-operator:v10-arm" to ECR - staging + - Tag and push image "teleport-operator:v10-arm64" to ECR - staging +- name: Create manifest and push "teleport-operator:full-$TIMESTAMP" to ECR - staging image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/full-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/full-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/full-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/full-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -14084,183 +16615,185 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport:v10-amd64" to ECR - staging - - Tag and push image "teleport:v10-arm" to ECR - staging - - Tag and push image "teleport:v10-arm64" to ECR - staging -- name: Tag and push image "teleport:v10-amd64" to Quay + - Tag and push image "teleport-operator:v10-amd64" to ECR - staging + - Tag and push image "teleport-operator:v10-arm" to ECR - staging + - Tag and push image "teleport-operator:v10-arm64" to ECR - staging +- name: Tag and push image "teleport-operator:v10-amd64" to Quay image: docker commands: - - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport:$(cat "/go/var/full-version")-amd64 - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat - "/go/var/full-version")-amd64 quay.io/gravitational/teleport:$(cat "/go/var/full-version")-amd64 - && docker push quay.io/gravitational/teleport:$(cat "/go/var/full-version")-amd64) - - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - quay.io/gravitational/teleport:$(cat "/go/var/major-version")-amd64 - - docker push quay.io/gravitational/teleport:$(cat "/go/var/major-version")-amd64 - - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-amd64 - - docker push quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-amd64 + - docker manifest inspect quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-amd64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-amd64 quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-amd64 + && docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-amd64) + - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-amd64 + - docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-amd64 + - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-amd64 + - docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-amd64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Build teleport image "teleport:v10-amd64" -- name: Tag and push image "teleport:v10-arm" to Quay + - Build teleport-operator image "teleport-operator:v10-amd64" +- name: Tag and push image "teleport-operator:v10-arm" to Quay image: docker commands: - - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat - "/go/var/full-version")-arm quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm - && docker push quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm) - - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - quay.io/gravitational/teleport:$(cat "/go/var/major-version")-arm - - docker push quay.io/gravitational/teleport:$(cat "/go/var/major-version")-arm - - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-arm - - docker push quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-arm + - docker manifest inspect quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-arm quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm + && docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm) + - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-arm + - docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-arm + - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-arm + - docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-arm - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Build teleport image "teleport:v10-arm" -- name: Tag and push image "teleport:v10-arm64" to Quay + - Build teleport-operator image "teleport-operator:v10-arm" +- name: Tag and push image "teleport-operator:v10-arm64" to Quay image: docker commands: - - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm64 - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat - "/go/var/full-version")-arm64 quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm64 - && docker push quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm64) - - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - quay.io/gravitational/teleport:$(cat "/go/var/major-version")-arm64 - - docker push quay.io/gravitational/teleport:$(cat "/go/var/major-version")-arm64 - - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-arm64 - - docker push quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-arm64 + - docker manifest inspect quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-arm64 quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm64 + && docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm64) + - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-arm64 + - docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-arm64 + - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-arm64 + - docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-arm64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Build teleport image "teleport:v10-arm64" -- name: Create manifest and push "teleport:major" to Quay + - Build teleport-operator image "teleport-operator:v10-arm64" +- name: Create manifest and push "teleport-operator:major" to Quay image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport:$(cat "/go/var/major-version") - --amend quay.io/gravitational/teleport:$(cat "/go/var/major-version")-amd64 --amend - quay.io/gravitational/teleport:$(cat "/go/var/major-version")-arm --amend quay.io/gravitational/teleport:$(cat - "/go/var/major-version")-arm64 - - docker manifest push quay.io/gravitational/teleport:$(cat "/go/var/major-version") + - docker manifest create quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version") + --amend quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-amd64 + --amend quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-arm + --amend quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-arm64 + - docker manifest push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version") - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport:v10-amd64" to Quay - - Tag and push image "teleport:v10-arm" to Quay - - Tag and push image "teleport:v10-arm64" to Quay -- name: Create manifest and push "teleport:minor" to Quay + - Tag and push image "teleport-operator:v10-amd64" to Quay + - Tag and push image "teleport-operator:v10-arm" to Quay + - Tag and push image "teleport-operator:v10-arm64" to Quay +- name: Create manifest and push "teleport-operator:minor" to Quay image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport:$(cat "/go/var/minor-version") - --amend quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-amd64 --amend - quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-arm --amend quay.io/gravitational/teleport:$(cat - "/go/var/minor-version")-arm64 - - docker manifest push quay.io/gravitational/teleport:$(cat "/go/var/minor-version") + - docker manifest create quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version") + --amend quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-amd64 + --amend quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-arm + --amend quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-arm64 + - docker manifest push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version") - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport:v10-amd64" to Quay - - Tag and push image "teleport:v10-arm" to Quay - - Tag and push image "teleport:v10-arm64" to Quay -- name: Create manifest and push "teleport:full" to Quay + - Tag and push image "teleport-operator:v10-amd64" to Quay + - Tag and push image "teleport-operator:v10-arm" to Quay + - Tag and push image "teleport-operator:v10-arm64" to Quay +- name: Create manifest and push "teleport-operator:full" to Quay image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport:$(cat "/go/var/full-version") + - docker manifest inspect quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version") > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create quay.io/gravitational/teleport:$(cat "/go/var/full-version") --amend quay.io/gravitational/teleport:$(cat - "/go/var/full-version")-amd64 --amend quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm - --amend quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm64 && - docker manifest push quay.io/gravitational/teleport:$(cat "/go/var/full-version")) + create quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version") --amend + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-amd64 --amend + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm --amend + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm64 && + docker manifest push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")) - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport:v10-amd64" to Quay - - Tag and push image "teleport:v10-arm" to Quay - - Tag and push image "teleport:v10-arm64" to Quay -- name: Tag and push image "teleport:v10-amd64" to ECR - production + - Tag and push image "teleport-operator:v10-amd64" to Quay + - Tag and push image "teleport-operator:v10-arm" to Quay + - Tag and push image "teleport-operator:v10-arm64" to Quay +- name: Tag and push image "teleport-operator:v10-amd64" to ECR - production image: docker commands: - - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-amd64 - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat - "/go/var/full-version")-amd64 public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-amd64 - && docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-amd64) - - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-amd64 - - docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-amd64 - - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-amd64 - - docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-amd64 + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-amd64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-amd64 public.ecr.aws/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-amd64 && docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-amd64) + - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-amd64 + - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-amd64 - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -14270,24 +16803,24 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport image "teleport:v10-amd64" -- name: Tag and push image "teleport:v10-arm" to ECR - production + - Build teleport-operator image "teleport-operator:v10-amd64" +- name: Tag and push image "teleport-operator:v10-arm" to ECR - production image: docker commands: - - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat - "/go/var/full-version")-arm public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm - && docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm) - - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-arm - - docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-arm - - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-arm - - docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-arm + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-arm public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm + && docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm) + - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm + public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-arm + - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm + public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-arm - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -14297,24 +16830,25 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport image "teleport:v10-arm" -- name: Tag and push image "teleport:v10-arm64" to ECR - production + - Build teleport-operator image "teleport-operator:v10-arm" +- name: Tag and push image "teleport-operator:v10-arm64" to ECR - production image: docker commands: - - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm64 - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat - "/go/var/full-version")-arm64 public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm64 - && docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm64) - - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-arm64 - - docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-arm64 - - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-arm64 - - docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-arm64 + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-arm64 public.ecr.aws/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-arm64 && docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-arm64) + - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-arm64 + - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-arm64 - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -14324,18 +16858,18 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport image "teleport:v10-arm64" -- name: Create manifest and push "teleport:major" to ECR - production + - Build teleport-operator image "teleport-operator:v10-arm64" +- name: Create manifest and push "teleport-operator:major" to ECR - production image: docker commands: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version") - --amend public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-amd64 - --amend public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-arm - --amend public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-arm64 - - docker manifest push public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version") + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version") + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version") - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -14345,20 +16879,20 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport:v10-amd64" to ECR - production - - Tag and push image "teleport:v10-arm" to ECR - production - - Tag and push image "teleport:v10-arm64" to ECR - production -- name: Create manifest and push "teleport:minor" to ECR - production + - Tag and push image "teleport-operator:v10-amd64" to ECR - production + - Tag and push image "teleport-operator:v10-arm" to ECR - production + - Tag and push image "teleport-operator:v10-arm64" to ECR - production +- name: Create manifest and push "teleport-operator:minor" to ECR - production image: docker commands: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version") - --amend public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-amd64 - --amend public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-arm - --amend public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-arm64 - - docker manifest push public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version") + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version") + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version") - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -14368,22 +16902,22 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport:v10-amd64" to ECR - production - - Tag and push image "teleport:v10-arm" to ECR - production - - Tag and push image "teleport:v10-arm64" to ECR - production -- name: Create manifest and push "teleport:full" to ECR - production + - Tag and push image "teleport-operator:v10-amd64" to ECR - production + - Tag and push image "teleport-operator:v10-arm" to ECR - production + - Tag and push image "teleport-operator:v10-arm64" to ECR - production +- name: Create manifest and push "teleport-operator:full" to ECR - production image: docker commands: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version") + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version") > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version") --amend - public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-amd64 --amend - public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm --amend - public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm64 && docker - manifest push public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")) + create public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version") + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm64 + && docker manifest push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")) - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -14393,49 +16927,16 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport:v10-amd64" to ECR - production - - Tag and push image "teleport:v10-arm" to ECR - production - - Tag and push image "teleport:v10-arm64" to ECR - production -- name: Assume S3 Download AWS Role for teleport-ent - image: amazon/aws-cli - commands: - - aws sts get-caller-identity - - |- - printf "[s3-download-teleport-ent]\naws_access_key_id = %s\naws_secret_access_key = %s\naws_session_token = %s\n" \ - $(aws sts assume-role \ - --role-arn "$AWS_ROLE" \ - --role-session-name $(echo "drone-${DRONE_REPO}-${DRONE_BUILD_NUMBER}" | sed "s|/|-|g") \ - --query "Credentials.[AccessKeyId,SecretAccessKey,SessionToken]" \ - --output text) \ - >> /root/.aws/credentials - - unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY - - aws sts get-caller-identity --profile s3-download-teleport-ent - environment: - AWS_ACCESS_KEY_ID: - from_secret: AWS_ACCESS_KEY_ID - AWS_ROLE: - from_secret: AWS_ROLE - AWS_SECRET_ACCESS_KEY: - from_secret: AWS_SECRET_ACCESS_KEY - volumes: - - name: awsconfig - path: /root/.aws - depends_on: - - Find the latest available semver for v10 - - Wait for docker - - Wait for docker registry - - Check out code - - Build major, minor, and full semvers - - Assume ECR - staging AWS Role - - Assume ECR - authenticated-pull AWS Role - - Assume ECR - production AWS Role -- name: Download Teleport Dockerfile to "/go/build/Dockerfile-teleport-ent" for teleport-ent + - Tag and push image "teleport-operator:v10-amd64" to ECR - production + - Tag and push image "teleport-operator:v10-arm" to ECR - production + - Tag and push image "teleport-operator:v10-arm64" to ECR - production +- name: Download Dockerfile for teleport-lab image: alpine commands: - apk add curl - - mkdir -pv $(dirname "/go/build/Dockerfile-teleport-ent") - - curl -Ls -o "/go/build/Dockerfile-teleport-ent" "https://raw.githubusercontent.com/gravitational/teleport/v$(cat - '/go/vars/full-version-v10')/build.assets/charts/Dockerfile" + - mkdir -pv $(dirname "/go/src/github.com/gravitational/teleport/docker/sshd/Dockerfile-teleport-lab") + - curl -Ls -o "/go/src/github.com/gravitational/teleport/docker/sshd/Dockerfile-teleport-lab" + "https://raw.githubusercontent.com/gravitational/teleport/v$(cat '/go/vars/full-version-v10')/docker/sshd/Dockerfile" depends_on: - Find the latest available semver for v10 - Wait for docker @@ -14445,56 +16946,27 @@ steps: - Assume ECR - staging AWS Role - Assume ECR - authenticated-pull AWS Role - Assume ECR - production AWS Role -- name: Download "teleport-ent_v10-tag_amd64.deb" artifacts from S3 - image: amazon/aws-cli - commands: - - END_TIME=$(( $(date +%s) + 3600 )) - - TIMED_OUT=true - - while [ $(date +%s) -lt $${END_TIME?} ]; do - - SUCCESS=true - - aws s3 ls s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/ | tr - -s ' ' | cut -d' ' -f 4 | grep -x teleport-ent_$(cat "/go/var/full-version")_amd64.deb - || SUCCESS=false - - '[ "$SUCCESS" = "true" ] && TIMED_OUT=false && break;' - - echo 'Condition not met yet, waiting another 60 seconds...' - - sleep 60 - - done - - '[ $${TIMED_OUT?} = true ] && echo ''Timed out while waiting for condition: [ - "$SUCCESS" = "true" ]'' && exit 1' - - mkdir -pv "/go/build" - - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport-ent_$(cat - "/go/var/full-version")_amd64.deb /go/build/teleport-ent_$(cat "/go/var/full-version")_amd64.deb - environment: - AWS_PROFILE: s3-download-teleport-ent - AWS_REGION: us-west-2 - AWS_S3_BUCKET: - from_secret: AWS_S3_BUCKET - volumes: - - name: awsconfig - path: /root/.aws - depends_on: - - Assume S3 Download AWS Role for teleport-ent - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport-ent" for teleport-ent -- name: Build teleport-ent image "teleport-ent:v10-amd64" +- name: Build teleport-lab image "teleport-lab:v10-amd64" image: docker commands: - docker run --privileged --rm tonistiigi/binfmt --install all - - mkdir -pv "/go/build" && cd "/go/build" - - mkdir -pv "/tmp/teleport-ent-v10-amd64-builder" - - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-ent-v10-amd64-builder/buildkitd.toml" - - echo ' http = true' >> "/tmp/teleport-ent-v10-amd64-builder/buildkitd.toml" + - mkdir -pv "/go/src/github.com/gravitational/teleport/docker/sshd" && cd "/go/src/github.com/gravitational/teleport/docker/sshd" + - mkdir -pv "/tmp/teleport-lab-v10-amd64-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-lab-v10-amd64-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-lab-v10-amd64-builder/buildkitd.toml" - docker buildx create --driver "docker-container" --driver-opt "network=host" --name - "teleport-ent-v10-amd64-builder" --config "/tmp/teleport-ent-v10-amd64-builder/buildkitd.toml" + "teleport-lab-v10-amd64-builder" --config "/tmp/teleport-lab-v10-amd64-builder/buildkitd.toml" - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker buildx build --push --builder "teleport-ent-v10-amd64-builder" --target - "teleport" --platform "linux/amd64" --tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-amd64 --file "/go/build/Dockerfile-teleport-ent" --build-arg - DEB_PATH=teleport-ent_$(cat "/go/var/full-version")_amd64.deb /go/build + - docker buildx build --push --builder "teleport-lab-v10-amd64-builder" --platform + "linux/amd64" --tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + --file "/go/src/github.com/gravitational/teleport/docker/sshd/Dockerfile-teleport-lab" + --build-arg BASE_IMAGE=drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + /go/src/github.com/gravitational/teleport/docker/sshd - docker logout "public.ecr.aws" - - docker buildx rm "teleport-ent-v10-amd64-builder" - - rm -rf "/tmp/teleport-ent-v10-amd64-builder" + - docker buildx rm "teleport-lab-v10-amd64-builder" + - rm -rf "/tmp/teleport-lab-v10-amd64-builder" environment: AWS_PROFILE: ecr-authenticated-pull DOCKER_BUILDKIT: "1" @@ -14505,57 +16977,28 @@ steps: path: /var/run depends_on: - Assume ECR - authenticated-pull AWS Role - - Download "teleport-ent_v10-tag_amd64.deb" artifacts from S3 -- name: Download "teleport-ent_v10-tag_arm.deb" artifacts from S3 - image: amazon/aws-cli - commands: - - END_TIME=$(( $(date +%s) + 3600 )) - - TIMED_OUT=true - - while [ $(date +%s) -lt $${END_TIME?} ]; do - - SUCCESS=true - - aws s3 ls s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/ | tr - -s ' ' | cut -d' ' -f 4 | grep -x teleport-ent_$(cat "/go/var/full-version")_arm.deb - || SUCCESS=false - - '[ "$SUCCESS" = "true" ] && TIMED_OUT=false && break;' - - echo 'Condition not met yet, waiting another 60 seconds...' - - sleep 60 - - done - - '[ $${TIMED_OUT?} = true ] && echo ''Timed out while waiting for condition: [ - "$SUCCESS" = "true" ]'' && exit 1' - - mkdir -pv "/go/build" - - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport-ent_$(cat - "/go/var/full-version")_arm.deb /go/build/teleport-ent_$(cat "/go/var/full-version")_arm.deb - environment: - AWS_PROFILE: s3-download-teleport-ent - AWS_REGION: us-west-2 - AWS_S3_BUCKET: - from_secret: AWS_S3_BUCKET - volumes: - - name: awsconfig - path: /root/.aws - depends_on: - - Assume S3 Download AWS Role for teleport-ent - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport-ent" for teleport-ent -- name: Build teleport-ent image "teleport-ent:v10-arm" + - Build teleport image "teleport:v10-amd64" +- name: Build teleport-lab image "teleport-lab:v10-arm" image: docker commands: - docker run --privileged --rm tonistiigi/binfmt --install all - - mkdir -pv "/go/build" && cd "/go/build" - - mkdir -pv "/tmp/teleport-ent-v10-arm-builder" - - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-ent-v10-arm-builder/buildkitd.toml" - - echo ' http = true' >> "/tmp/teleport-ent-v10-arm-builder/buildkitd.toml" + - mkdir -pv "/go/src/github.com/gravitational/teleport/docker/sshd" && cd "/go/src/github.com/gravitational/teleport/docker/sshd" + - mkdir -pv "/tmp/teleport-lab-v10-arm-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-lab-v10-arm-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-lab-v10-arm-builder/buildkitd.toml" - docker buildx create --driver "docker-container" --driver-opt "network=host" --name - "teleport-ent-v10-arm-builder" --config "/tmp/teleport-ent-v10-arm-builder/buildkitd.toml" + "teleport-lab-v10-arm-builder" --config "/tmp/teleport-lab-v10-arm-builder/buildkitd.toml" - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker buildx build --push --builder "teleport-ent-v10-arm-builder" --target "teleport" - --platform "linux/arm" --tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - --file "/go/build/Dockerfile-teleport-ent" --build-arg DEB_PATH=teleport-ent_$(cat - "/go/var/full-version")_arm.deb /go/build + - docker buildx build --push --builder "teleport-lab-v10-arm-builder" --platform + "linux/arm" --tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + --file "/go/src/github.com/gravitational/teleport/docker/sshd/Dockerfile-teleport-lab" + --build-arg BASE_IMAGE=drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + /go/src/github.com/gravitational/teleport/docker/sshd - docker logout "public.ecr.aws" - - docker buildx rm "teleport-ent-v10-arm-builder" - - rm -rf "/tmp/teleport-ent-v10-arm-builder" + - docker buildx rm "teleport-lab-v10-arm-builder" + - rm -rf "/tmp/teleport-lab-v10-arm-builder" environment: AWS_PROFILE: ecr-authenticated-pull DOCKER_BUILDKIT: "1" @@ -14566,57 +17009,28 @@ steps: path: /var/run depends_on: - Assume ECR - authenticated-pull AWS Role - - Download "teleport-ent_v10-tag_arm.deb" artifacts from S3 -- name: Download "teleport-ent_v10-tag_arm64.deb" artifacts from S3 - image: amazon/aws-cli - commands: - - END_TIME=$(( $(date +%s) + 3600 )) - - TIMED_OUT=true - - while [ $(date +%s) -lt $${END_TIME?} ]; do - - SUCCESS=true - - aws s3 ls s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/ | tr - -s ' ' | cut -d' ' -f 4 | grep -x teleport-ent_$(cat "/go/var/full-version")_arm64.deb - || SUCCESS=false - - '[ "$SUCCESS" = "true" ] && TIMED_OUT=false && break;' - - echo 'Condition not met yet, waiting another 60 seconds...' - - sleep 60 - - done - - '[ $${TIMED_OUT?} = true ] && echo ''Timed out while waiting for condition: [ - "$SUCCESS" = "true" ]'' && exit 1' - - mkdir -pv "/go/build" - - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport-ent_$(cat - "/go/var/full-version")_arm64.deb /go/build/teleport-ent_$(cat "/go/var/full-version")_arm64.deb - environment: - AWS_PROFILE: s3-download-teleport-ent - AWS_REGION: us-west-2 - AWS_S3_BUCKET: - from_secret: AWS_S3_BUCKET - volumes: - - name: awsconfig - path: /root/.aws - depends_on: - - Assume S3 Download AWS Role for teleport-ent - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport-ent" for teleport-ent -- name: Build teleport-ent image "teleport-ent:v10-arm64" + - Build teleport image "teleport:v10-arm" +- name: Build teleport-lab image "teleport-lab:v10-arm64" image: docker commands: - docker run --privileged --rm tonistiigi/binfmt --install all - - mkdir -pv "/go/build" && cd "/go/build" - - mkdir -pv "/tmp/teleport-ent-v10-arm64-builder" - - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-ent-v10-arm64-builder/buildkitd.toml" - - echo ' http = true' >> "/tmp/teleport-ent-v10-arm64-builder/buildkitd.toml" + - mkdir -pv "/go/src/github.com/gravitational/teleport/docker/sshd" && cd "/go/src/github.com/gravitational/teleport/docker/sshd" + - mkdir -pv "/tmp/teleport-lab-v10-arm64-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-lab-v10-arm64-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-lab-v10-arm64-builder/buildkitd.toml" - docker buildx create --driver "docker-container" --driver-opt "network=host" --name - "teleport-ent-v10-arm64-builder" --config "/tmp/teleport-ent-v10-arm64-builder/buildkitd.toml" + "teleport-lab-v10-arm64-builder" --config "/tmp/teleport-lab-v10-arm64-builder/buildkitd.toml" - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker buildx build --push --builder "teleport-ent-v10-arm64-builder" --target - "teleport" --platform "linux/arm64" --tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm64 --file "/go/build/Dockerfile-teleport-ent" --build-arg - DEB_PATH=teleport-ent_$(cat "/go/var/full-version")_arm64.deb /go/build + - docker buildx build --push --builder "teleport-lab-v10-arm64-builder" --platform + "linux/arm64" --tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + --file "/go/src/github.com/gravitational/teleport/docker/sshd/Dockerfile-teleport-lab" + --build-arg BASE_IMAGE=drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + /go/src/github.com/gravitational/teleport/docker/sshd - docker logout "public.ecr.aws" - - docker buildx rm "teleport-ent-v10-arm64-builder" - - rm -rf "/tmp/teleport-ent-v10-arm64-builder" + - docker buildx rm "teleport-lab-v10-arm64-builder" + - rm -rf "/tmp/teleport-lab-v10-arm64-builder" environment: AWS_PROFILE: ecr-authenticated-pull DOCKER_BUILDKIT: "1" @@ -14627,34 +17041,34 @@ steps: path: /var/run depends_on: - Assume ECR - authenticated-pull AWS Role - - Download "teleport-ent_v10-tag_arm64.deb" artifacts from S3 -- name: Tag and push image "teleport-ent:v10-amd64" to ECR - staging + - Build teleport image "teleport:v10-arm64" +- name: Tag and push image "teleport-lab:v10-amd64" to ECR - staging image: docker commands: - - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-$TIMESTAMP-amd64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-$TIMESTAMP-amd64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-$TIMESTAMP-amd64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -14663,34 +17077,34 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport-ent image "teleport-ent:v10-amd64" -- name: Tag and push image "teleport-ent:v10-arm" to ECR - staging + - Build teleport-lab image "teleport-lab:v10-amd64" +- name: Tag and push image "teleport-lab:v10-arm" to ECR - staging image: docker commands: - - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-arm && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-$TIMESTAMP-arm) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-arm && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-$TIMESTAMP-arm) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-$TIMESTAMP-arm) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -14699,34 +17113,34 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport-ent image "teleport-ent:v10-arm" -- name: Tag and push image "teleport-ent:v10-arm64" to ECR - staging + - Build teleport-lab image "teleport-lab:v10-arm" +- name: Tag and push image "teleport-lab:v10-arm64" to ECR - staging image: docker commands: - - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-arm64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-$TIMESTAMP-arm64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-arm64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-$TIMESTAMP-arm64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-$TIMESTAMP-arm64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -14735,23 +17149,23 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport-ent image "teleport-ent:v10-arm64" -- name: Create manifest and push "teleport-ent:major-$TIMESTAMP" to ECR - staging + - Build teleport-lab image "teleport-lab:v10-arm64" +- name: Create manifest and push "teleport-lab:major-$TIMESTAMP" to ECR - staging image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -14760,25 +17174,25 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v10-amd64" to ECR - staging - - Tag and push image "teleport-ent:v10-arm" to ECR - staging - - Tag and push image "teleport-ent:v10-arm64" to ECR - staging -- name: Create manifest and push "teleport-ent:minor-$TIMESTAMP" to ECR - staging + - Tag and push image "teleport-lab:v10-amd64" to ECR - staging + - Tag and push image "teleport-lab:v10-arm" to ECR - staging + - Tag and push image "teleport-lab:v10-arm64" to ECR - staging +- name: Create manifest and push "teleport-lab:minor-$TIMESTAMP" to ECR - staging image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -14787,25 +17201,25 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v10-amd64" to ECR - staging - - Tag and push image "teleport-ent:v10-arm" to ECR - staging - - Tag and push image "teleport-ent:v10-arm64" to ECR - staging -- name: Create manifest and push "teleport-ent:full-$TIMESTAMP" to ECR - staging + - Tag and push image "teleport-lab:v10-amd64" to ECR - staging + - Tag and push image "teleport-lab:v10-arm" to ECR - staging + - Tag and push image "teleport-lab:v10-arm64" to ECR - staging +- name: Create manifest and push "teleport-lab:full-$TIMESTAMP" to ECR - staging image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -14814,212 +17228,110 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v10-amd64" to ECR - staging - - Tag and push image "teleport-ent:v10-arm" to ECR - staging - - Tag and push image "teleport-ent:v10-arm64" to ECR - staging -- name: Tag and push image "teleport-ent:v10-amd64" to Quay - image: docker - commands: - - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-amd64 - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-amd64 quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-amd64 - && docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-amd64) - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-amd64 - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-amd64 - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-amd64 - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-amd64 - - docker logout "quay.io" - environment: - QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD - QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME - volumes: - - name: awsconfig - path: /root/.aws - - name: dockersock - path: /var/run - depends_on: - - Build teleport-ent image "teleport-ent:v10-amd64" -- name: Tag and push image "teleport-ent:v10-arm" to Quay - image: docker - commands: - - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm - && docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm) - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm - - docker logout "quay.io" - environment: - QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD - QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME - volumes: - - name: awsconfig - path: /root/.aws - - name: dockersock - path: /var/run - depends_on: - - Build teleport-ent image "teleport-ent:v10-arm" -- name: Tag and push image "teleport-ent:v10-arm64" to Quay - image: docker - commands: - - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm64 - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm64 quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm64 - && docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm64) - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm64 - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm64 - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm64 - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm64 - - docker logout "quay.io" - environment: - QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD - QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME - volumes: - - name: awsconfig - path: /root/.aws - - name: dockersock - path: /var/run - depends_on: - - Build teleport-ent image "teleport-ent:v10-arm64" -- name: Create manifest and push "teleport-ent:major" to Quay + - Tag and push image "teleport-lab:v10-amd64" to ECR - staging + - Tag and push image "teleport-lab:v10-arm" to ECR - staging + - Tag and push image "teleport-lab:v10-arm64" to ECR - staging +- name: Tag and push image "teleport-lab:v10-amd64" to Quay image: docker commands: + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version") - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-amd64 - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm64 - - docker manifest push quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version") + - docker manifest inspect quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-amd64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-amd64 quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-amd64 + && docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-amd64) + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/major-version")-amd64 + - docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/major-version")-amd64 + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/minor-version")-amd64 + - docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/minor-version")-amd64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v10-amd64" to Quay - - Tag and push image "teleport-ent:v10-arm" to Quay - - Tag and push image "teleport-ent:v10-arm64" to Quay -- name: Create manifest and push "teleport-ent:minor" to Quay + - Build teleport-lab image "teleport-lab:v10-amd64" +- name: Tag and push image "teleport-lab:v10-arm" to Quay image: docker commands: + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version") - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-amd64 - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm64 - - docker manifest push quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version") + - docker manifest inspect quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-arm + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-arm + && docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-arm) + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/major-version")-arm + - docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/major-version")-arm + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/minor-version")-arm + - docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/minor-version")-arm - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v10-amd64" to Quay - - Tag and push image "teleport-ent:v10-arm" to Quay - - Tag and push image "teleport-ent:v10-arm64" to Quay -- name: Create manifest and push "teleport-ent:full" to Quay + - Build teleport-lab image "teleport-lab:v10-arm" +- name: Tag and push image "teleport-lab:v10-arm64" to Quay image: docker commands: + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version") - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version") --amend - quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-amd64 --amend - quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm --amend quay.io/gravitational/teleport-ent:$(cat - "/go/var/full-version")-arm64 && docker manifest push quay.io/gravitational/teleport-ent:$(cat - "/go/var/full-version")) + - docker manifest inspect quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-arm64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm64 quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-arm64 + && docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-arm64) + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/major-version")-arm64 + - docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/major-version")-arm64 + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/minor-version")-arm64 + - docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/minor-version")-arm64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD - QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME - volumes: - - name: awsconfig - path: /root/.aws - - name: dockersock - path: /var/run - depends_on: - - Tag and push image "teleport-ent:v10-amd64" to Quay - - Tag and push image "teleport-ent:v10-arm" to Quay - - Tag and push image "teleport-ent:v10-arm64" to Quay -- name: Tag and push image "teleport-ent:v10-amd64" to ECR - production - image: docker - commands: - - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - - apk add --no-cache aws-cli - - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin - public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-amd64 - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-amd64 public.ecr.aws/gravitational/teleport-ent:$(cat - "/go/var/full-version")-amd64 && docker push public.ecr.aws/gravitational/teleport-ent:$(cat - "/go/var/full-version")-amd64) - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-amd64 - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-amd64 - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-amd64 - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-amd64 - - docker logout "public.ecr.aws" - environment: - AWS_PROFILE: ecr-production + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD + QUAY_USERNAME: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Build teleport-ent image "teleport-ent:v10-amd64" -- name: Tag and push image "teleport-ent:v10-arm" to ECR - production + - Build teleport-lab image "teleport-lab:v10-arm64" +- name: Tag and push image "teleport-lab:v10-amd64" to ECR - production image: docker commands: - - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm - && docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm) - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-amd64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-amd64 public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-amd64 + && docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-amd64) + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-amd64 + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-amd64 - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -15029,25 +17341,24 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport-ent image "teleport-ent:v10-arm" -- name: Tag and push image "teleport-ent:v10-arm64" to ECR - production + - Build teleport-lab image "teleport-lab:v10-amd64" +- name: Tag and push image "teleport-lab:v10-arm" to ECR - production image: docker commands: - - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm64 - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm64 public.ecr.aws/gravitational/teleport-ent:$(cat - "/go/var/full-version")-arm64 && docker push public.ecr.aws/gravitational/teleport-ent:$(cat - "/go/var/full-version")-arm64) - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm64 - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm64 - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm64 - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm64 + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm + && docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm) + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-arm + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-arm - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -15057,18 +17368,24 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport-ent image "teleport-ent:v10-arm64" -- name: Create manifest and push "teleport-ent:major" to ECR - production + - Build teleport-lab image "teleport-lab:v10-arm" +- name: Tag and push image "teleport-lab:v10-arm64" to ECR - production image: docker commands: + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version") - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-amd64 - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm64 - - docker manifest push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version") + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm64 public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm64 + && docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm64) + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-arm64 + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-arm64 - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -15078,20 +17395,18 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v10-amd64" to ECR - production - - Tag and push image "teleport-ent:v10-arm" to ECR - production - - Tag and push image "teleport-ent:v10-arm64" to ECR - production -- name: Create manifest and push "teleport-ent:minor" to ECR - production + - Build teleport-lab image "teleport-lab:v10-arm64" +- name: Create manifest and push "teleport-lab:major" to ECR - production image: docker commands: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version") - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-amd64 - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm64 - - docker manifest push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version") + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version") + --amend public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version") - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -15101,22 +17416,20 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v10-amd64" to ECR - production - - Tag and push image "teleport-ent:v10-arm" to ECR - production - - Tag and push image "teleport-ent:v10-arm64" to ECR - production -- name: Create manifest and push "teleport-ent:full" to ECR - production + - Tag and push image "teleport-lab:v10-amd64" to ECR - production + - Tag and push image "teleport-lab:v10-arm" to ECR - production + - Tag and push image "teleport-lab:v10-arm64" to ECR - production +- name: Create manifest and push "teleport-lab:minor" to ECR - production image: docker commands: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version") - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version") - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-amd64 - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm64 - && docker manifest push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")) + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version") + --amend public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version") - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -15126,424 +17439,373 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v10-amd64" to ECR - production - - Tag and push image "teleport-ent:v10-arm" to ECR - production - - Tag and push image "teleport-ent:v10-arm64" to ECR - production -- name: Assume S3 Download AWS Role for teleport-ent-fips - image: amazon/aws-cli - commands: - - aws sts get-caller-identity - - |- - printf "[s3-download-teleport-ent-fips]\naws_access_key_id = %s\naws_secret_access_key = %s\naws_session_token = %s\n" \ - $(aws sts assume-role \ - --role-arn "$AWS_ROLE" \ - --role-session-name $(echo "drone-${DRONE_REPO}-${DRONE_BUILD_NUMBER}" | sed "s|/|-|g") \ - --query "Credentials.[AccessKeyId,SecretAccessKey,SessionToken]" \ - --output text) \ - >> /root/.aws/credentials - - unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY - - aws sts get-caller-identity --profile s3-download-teleport-ent-fips - environment: - AWS_ACCESS_KEY_ID: - from_secret: AWS_ACCESS_KEY_ID - AWS_ROLE: - from_secret: AWS_ROLE - AWS_SECRET_ACCESS_KEY: - from_secret: AWS_SECRET_ACCESS_KEY - volumes: - - name: awsconfig - path: /root/.aws - depends_on: - - Find the latest available semver for v10 - - Wait for docker - - Wait for docker registry - - Check out code - - Build major, minor, and full semvers - - Assume ECR - staging AWS Role - - Assume ECR - authenticated-pull AWS Role - - Assume ECR - production AWS Role -- name: Download Teleport Dockerfile to "/go/build/Dockerfile-teleport-ent-fips" for - teleport-ent-fips - image: alpine - commands: - - apk add curl - - mkdir -pv $(dirname "/go/build/Dockerfile-teleport-ent-fips") - - curl -Ls -o "/go/build/Dockerfile-teleport-ent-fips" "https://raw.githubusercontent.com/gravitational/teleport/v$(cat - '/go/vars/full-version-v10')/build.assets/charts/Dockerfile" - depends_on: - - Find the latest available semver for v10 - - Wait for docker - - Wait for docker registry - - Check out code - - Build major, minor, and full semvers - - Assume ECR - staging AWS Role - - Assume ECR - authenticated-pull AWS Role - - Assume ECR - production AWS Role -- name: Download "teleport-ent_v10-tag-fips_amd64.deb" artifacts from S3 - image: amazon/aws-cli - commands: - - END_TIME=$(( $(date +%s) + 3600 )) - - TIMED_OUT=true - - while [ $(date +%s) -lt $${END_TIME?} ]; do - - SUCCESS=true - - aws s3 ls s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/ | tr - -s ' ' | cut -d' ' -f 4 | grep -x teleport-ent_$(cat "/go/var/full-version")-fips_amd64.deb - || SUCCESS=false - - '[ "$SUCCESS" = "true" ] && TIMED_OUT=false && break;' - - echo 'Condition not met yet, waiting another 60 seconds...' - - sleep 60 - - done - - '[ $${TIMED_OUT?} = true ] && echo ''Timed out while waiting for condition: [ - "$SUCCESS" = "true" ]'' && exit 1' - - mkdir -pv "/go/build" - - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport-ent_$(cat - "/go/var/full-version")-fips_amd64.deb /go/build/teleport-ent_$(cat "/go/var/full-version")-fips_amd64.deb - environment: - AWS_PROFILE: s3-download-teleport-ent-fips - AWS_REGION: us-west-2 - AWS_S3_BUCKET: - from_secret: AWS_S3_BUCKET - volumes: - - name: awsconfig - path: /root/.aws - depends_on: - - Assume S3 Download AWS Role for teleport-ent-fips - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport-ent-fips" for teleport-ent-fips -- name: Build teleport-ent-fips image "teleport-ent:v10-fips-amd64" + - Tag and push image "teleport-lab:v10-amd64" to ECR - production + - Tag and push image "teleport-lab:v10-arm" to ECR - production + - Tag and push image "teleport-lab:v10-arm64" to ECR - production +- name: Create manifest and push "teleport-lab:full" to ECR - production image: docker commands: - - docker run --privileged --rm tonistiigi/binfmt --install all - - mkdir -pv "/go/build" && cd "/go/build" - - mkdir -pv "/tmp/teleport-ent-v10-fips-amd64-builder" - - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-ent-v10-fips-amd64-builder/buildkitd.toml" - - echo ' http = true' >> "/tmp/teleport-ent-v10-fips-amd64-builder/buildkitd.toml" - - docker buildx create --driver "docker-container" --driver-opt "network=host" --name - "teleport-ent-v10-fips-amd64-builder" --config "/tmp/teleport-ent-v10-fips-amd64-builder/buildkitd.toml" - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker buildx build --push --builder "teleport-ent-v10-fips-amd64-builder" --target - "teleport-fips" --platform "linux/amd64" --tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64 --file "/go/build/Dockerfile-teleport-ent-fips" - --build-arg DEB_PATH=teleport-ent_$(cat "/go/var/full-version")-fips_amd64.deb - /go/build + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version") + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest + create public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version") --amend + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-amd64 --amend + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm --amend + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm64 && docker + manifest push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")) - docker logout "public.ecr.aws" - - docker buildx rm "teleport-ent-v10-fips-amd64-builder" - - rm -rf "/tmp/teleport-ent-v10-fips-amd64-builder" environment: - AWS_PROFILE: ecr-authenticated-pull - DOCKER_BUILDKIT: "1" + AWS_PROFILE: ecr-production volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Assume ECR - authenticated-pull AWS Role - - Download "teleport-ent_v10-tag-fips_amd64.deb" artifacts from S3 -- name: Tag and push image "teleport-ent:v10-fips-amd64" to ECR - staging - image: docker - commands: - - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-fips-amd64 > /dev/null 2>&1 && echo 'Found - existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-fips-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-fips-amd64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-fips-amd64 > /dev/null 2>&1 && echo 'Found - existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-fips-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-fips-amd64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-fips-amd64 > /dev/null 2>&1 && echo 'Found - existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-fips-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-fips-amd64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" - environment: - AWS_PROFILE: ecr-staging + - Tag and push image "teleport-lab:v10-amd64" to ECR - production + - Tag and push image "teleport-lab:v10-arm" to ECR - production + - Tag and push image "teleport-lab:v10-arm64" to ECR - production +services: +- name: Start Docker + image: docker:dind + privileged: true volumes: - - name: awsconfig - path: /root/.aws - name: dockersock path: /var/run - depends_on: - - Build teleport-ent-fips image "teleport-ent:v10-fips-amd64" -- name: Create manifest and push "teleport-ent:major-$TIMESTAMP-fips" to ECR - staging +- name: drone-docker-registry + image: registry:2 + privileged: false + volumes: [] +volumes: +- name: awsconfig + temp: {} +- name: dockersock + temp: {} + +--- +################################################ +# Generated using dronegen, do not edit by hand! +# Use 'make dronegen' to update. +# Generated at dronegen/container_images_release_version.go (main.(*ReleaseVersion).buildVersionPipeline) +################################################ + +kind: pipeline +type: kubernetes +name: teleport-container-images-previous-version-2-cron +environment: + DEBIAN_FRONTEND: noninteractive +trigger: + event: + include: + - push + branch: + include: + - fred/multiarch-teleport-lab-container-images + repo: + include: + - gravitational/teleport +workspace: + path: /go +clone: + disable: true +steps: +- name: Find the latest available semver for v9 + image: golang:1.18 + commands: + - mkdir -pv "/tmp/teleport" + - cd "/tmp/teleport" + - git init + - git remote add origin ${DRONE_REMOTE_URL} + - git fetch origin --tags + - git checkout -qf "branch/v9" + - mkdir -pv $(dirname "/go/vars/full-version-v9") + - cd "/tmp/teleport/build.assets/tooling/cmd/query-latest" + - go run . "v9" | sed 's/v//' > "/go/vars/full-version-v9" + - echo Found full semver "$(cat "/go/vars/full-version-v9")" for major version "v9" +- name: Wait for docker image: docker commands: - - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-fips > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-fips --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-fips-amd64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-fips) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" - environment: - AWS_PROFILE: ecr-staging + - timeout 30s /bin/sh -c 'while [ ! -S /var/run/docker.sock ]; do sleep 1; done' volumes: - - name: awsconfig - path: /root/.aws - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v10-fips-amd64" to ECR - staging -- name: Create manifest and push "teleport-ent:minor-$TIMESTAMP-fips" to ECR - staging - image: docker + - Find the latest available semver for v9 +- name: Wait for docker registry + image: alpine commands: - - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-fips > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-fips --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-fips-amd64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-fips) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" - environment: - AWS_PROFILE: ecr-staging - volumes: - - name: awsconfig - path: /root/.aws - - name: dockersock - path: /var/run + - apk add curl + - timeout 30s /bin/sh -c 'while [ "$(curl -s -o /dev/null -w %{http_code} http://drone-docker-registry:5000/)" + != "200" ]; do sleep 1; done' depends_on: - - Tag and push image "teleport-ent:v10-fips-amd64" to ECR - staging -- name: Create manifest and push "teleport-ent:full-$TIMESTAMP-fips" to ECR - staging - image: docker + - Find the latest available semver for v9 +- name: Check out code + image: alpine/git:latest commands: - - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-fips > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-fips --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-fips-amd64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-fips) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" - environment: - AWS_PROFILE: ecr-staging - volumes: - - name: awsconfig - path: /root/.aws - - name: dockersock - path: /var/run + - mkdir -pv "/go/src/github.com/gravitational/teleport" + - cd "/go/src/github.com/gravitational/teleport" + - git init + - git remote add origin ${DRONE_REMOTE_URL} + - git fetch origin --tags + - git checkout -qf "v$(cat '/go/vars/full-version-v9')" + depends_on: + - Find the latest available semver for v9 +- name: Build major, minor, and full semvers + image: alpine + commands: + - mkdir -pv $(dirname "/go/var/major-version") + - echo v$(cat '/go/vars/full-version-v9') | sed 's/v//' | cut -d'.' -f "1" > "/go/var/major-version" + - echo $(cat "/go/var/major-version") + - mkdir -pv $(dirname "/go/var/minor-version") + - echo v$(cat '/go/vars/full-version-v9') | sed 's/v//' | cut -d'.' -f "1,2" > "/go/var/minor-version" + - echo $(cat "/go/var/minor-version") + - mkdir -pv $(dirname "/go/var/full-version") + - echo v$(cat '/go/vars/full-version-v9') | sed 's/v//' > "/go/var/full-version" + - echo $(cat "/go/var/full-version") depends_on: - - Tag and push image "teleport-ent:v10-fips-amd64" to ECR - staging -- name: Tag and push image "teleport-ent:v10-fips-amd64" to Quay - image: docker + - Find the latest available semver for v9 +- name: Assume ECR - staging AWS Role + image: amazon/aws-cli commands: - - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64 quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - && docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips-amd64) - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 - - docker logout "quay.io" + - aws sts get-caller-identity + - |- + printf "[ecr-staging]\naws_access_key_id = %s\naws_secret_access_key = %s\naws_session_token = %s\n" \ + $(aws sts assume-role \ + --role-arn "$AWS_ROLE" \ + --role-session-name $(echo "drone-${DRONE_REPO}-${DRONE_BUILD_NUMBER}" | sed "s|/|-|g") \ + --query "Credentials.[AccessKeyId,SecretAccessKey,SessionToken]" \ + --output text) \ + >> /root/.aws/credentials + - unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY + - aws sts get-caller-identity --profile ecr-staging environment: - QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD - QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + AWS_ACCESS_KEY_ID: + from_secret: TEST_STAGING_TELEPORT_DRONE_USER_ECR_KEY + AWS_ROLE: + from_secret: TEST_STAGING_TELEPORT_DRONE_ECR_AWS_ROLE + AWS_SECRET_ACCESS_KEY: + from_secret: TEST_STAGING_TELEPORT_DRONE_USER_ECR_SECRET volumes: - name: awsconfig path: /root/.aws - - name: dockersock - path: /var/run depends_on: - - Build teleport-ent-fips image "teleport-ent:v10-fips-amd64" -- name: Create manifest and push "teleport-ent:major-fips" to Quay - image: docker + - Find the latest available semver for v9 +- name: Assume ECR - authenticated-pull AWS Role + image: amazon/aws-cli commands: - - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 - - docker manifest push quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips - - docker logout "quay.io" + - aws sts get-caller-identity + - |- + printf "[ecr-authenticated-pull]\naws_access_key_id = %s\naws_secret_access_key = %s\naws_session_token = %s\n" \ + $(aws sts assume-role \ + --role-arn "$AWS_ROLE" \ + --role-session-name $(echo "drone-${DRONE_REPO}-${DRONE_BUILD_NUMBER}" | sed "s|/|-|g") \ + --query "Credentials.[AccessKeyId,SecretAccessKey,SessionToken]" \ + --output text) \ + >> /root/.aws/credentials + - unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY + - aws sts get-caller-identity --profile ecr-authenticated-pull environment: - QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD - QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + AWS_ACCESS_KEY_ID: + from_secret: TEST_PRODUCTION_TELEPORT_DRONE_USER_ECR_KEY + AWS_ROLE: + from_secret: TEST_PRODUCTION_TELEPORT_DRONE_ECR_AWS_ROLE + AWS_SECRET_ACCESS_KEY: + from_secret: TEST_PRODUCTION_TELEPORT_DRONE_USER_ECR_SECRET volumes: - name: awsconfig path: /root/.aws - - name: dockersock - path: /var/run depends_on: - - Tag and push image "teleport-ent:v10-fips-amd64" to Quay -- name: Create manifest and push "teleport-ent:minor-fips" to Quay - image: docker + - Assume ECR - staging AWS Role + - Find the latest available semver for v9 +- name: Assume ECR - production AWS Role + image: amazon/aws-cli commands: - - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 - - docker manifest push quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips - - docker logout "quay.io" + - aws sts get-caller-identity + - |- + printf "[ecr-production]\naws_access_key_id = %s\naws_secret_access_key = %s\naws_session_token = %s\n" \ + $(aws sts assume-role \ + --role-arn "$AWS_ROLE" \ + --role-session-name $(echo "drone-${DRONE_REPO}-${DRONE_BUILD_NUMBER}" | sed "s|/|-|g") \ + --query "Credentials.[AccessKeyId,SecretAccessKey,SessionToken]" \ + --output text) \ + >> /root/.aws/credentials + - unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY + - aws sts get-caller-identity --profile ecr-production environment: - QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD - QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + AWS_ACCESS_KEY_ID: + from_secret: TEST_PRODUCTION_TELEPORT_DRONE_USER_ECR_KEY + AWS_ROLE: + from_secret: TEST_PRODUCTION_TELEPORT_DRONE_ECR_AWS_ROLE + AWS_SECRET_ACCESS_KEY: + from_secret: TEST_PRODUCTION_TELEPORT_DRONE_USER_ECR_SECRET volumes: - name: awsconfig path: /root/.aws - - name: dockersock - path: /var/run depends_on: - - Tag and push image "teleport-ent:v10-fips-amd64" to Quay -- name: Create manifest and push "teleport-ent:full-fips" to Quay - image: docker + - Assume ECR - authenticated-pull AWS Role + - Find the latest available semver for v9 +- name: Assume S3 Download AWS Role for teleport + image: amazon/aws-cli commands: - - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips --amend - quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 && - docker manifest push quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips) - - docker logout "quay.io" + - aws sts get-caller-identity + - |- + printf "[s3-download-teleport]\naws_access_key_id = %s\naws_secret_access_key = %s\naws_session_token = %s\n" \ + $(aws sts assume-role \ + --role-arn "$AWS_ROLE" \ + --role-session-name $(echo "drone-${DRONE_REPO}-${DRONE_BUILD_NUMBER}" | sed "s|/|-|g") \ + --query "Credentials.[AccessKeyId,SecretAccessKey,SessionToken]" \ + --output text) \ + >> /root/.aws/credentials + - unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY + - aws sts get-caller-identity --profile s3-download-teleport environment: - QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD - QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + AWS_ACCESS_KEY_ID: + from_secret: AWS_ACCESS_KEY_ID + AWS_ROLE: + from_secret: AWS_ROLE + AWS_SECRET_ACCESS_KEY: + from_secret: AWS_SECRET_ACCESS_KEY volumes: - name: awsconfig path: /root/.aws - - name: dockersock - path: /var/run depends_on: - - Tag and push image "teleport-ent:v10-fips-amd64" to Quay -- name: Tag and push image "teleport-ent:v10-fips-amd64" to ECR - production - image: docker + - Find the latest available semver for v9 + - Wait for docker + - Wait for docker registry + - Check out code + - Build major, minor, and full semvers + - Assume ECR - staging AWS Role + - Assume ECR - authenticated-pull AWS Role + - Assume ECR - production AWS Role +- name: Download Dockerfile for teleport + image: alpine commands: - - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - - apk add --no-cache aws-cli - - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin - public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64 public.ecr.aws/gravitational/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64 && docker push public.ecr.aws/gravitational/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64) - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 - - docker logout "public.ecr.aws" - environment: - AWS_PROFILE: ecr-production - volumes: - - name: awsconfig - path: /root/.aws - - name: dockersock - path: /var/run + - apk add curl + - mkdir -pv $(dirname "/go/build/Dockerfile-teleport") + - curl -Ls -o "/go/build/Dockerfile-teleport" "https://raw.githubusercontent.com/gravitational/teleport/v$(cat + '/go/vars/full-version-v9')/build.assets/charts/Dockerfile" depends_on: - - Build teleport-ent-fips image "teleport-ent:v10-fips-amd64" -- name: Create manifest and push "teleport-ent:major-fips" to ECR - production - image: docker + - Find the latest available semver for v9 + - Wait for docker + - Wait for docker registry + - Check out code + - Build major, minor, and full semvers + - Assume ECR - staging AWS Role + - Assume ECR - authenticated-pull AWS Role + - Assume ECR - production AWS Role +- name: Download "teleport_v9-tag_amd64.deb" artifacts from S3 + image: amazon/aws-cli commands: - - apk add --no-cache aws-cli - - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin - public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 - - docker manifest push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips - - docker logout "public.ecr.aws" + - END_TIME=$(( $(date +%s) + 3600 )) + - TIMED_OUT=true + - while [ $(date +%s) -lt $${END_TIME?} ]; do + - SUCCESS=true + - aws s3 ls s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/ | tr + -s ' ' | cut -d' ' -f 4 | grep -x teleport_$(cat "/go/var/full-version")_amd64.deb + || SUCCESS=false + - '[ "$SUCCESS" = "true" ] && TIMED_OUT=false && break;' + - echo 'Condition not met yet, waiting another 60 seconds...' + - sleep 60 + - done + - '[ $${TIMED_OUT?} = true ] && echo ''Timed out while waiting for condition: [ + "$SUCCESS" = "true" ]'' && exit 1' + - mkdir -pv "/go/build" + - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport_$(cat + "/go/var/full-version")_amd64.deb /go/build/teleport_$(cat "/go/var/full-version")_amd64.deb environment: - AWS_PROFILE: ecr-production + AWS_PROFILE: s3-download-teleport + AWS_REGION: us-west-2 + AWS_S3_BUCKET: + from_secret: AWS_S3_BUCKET volumes: - name: awsconfig path: /root/.aws - - name: dockersock - path: /var/run depends_on: - - Tag and push image "teleport-ent:v10-fips-amd64" to ECR - production -- name: Create manifest and push "teleport-ent:minor-fips" to ECR - production + - Assume S3 Download AWS Role for teleport + - Download Dockerfile for teleport +- name: Build teleport image "teleport:v9-amd64" image: docker commands: + - docker run --privileged --rm tonistiigi/binfmt --install all + - mkdir -pv "/go/build" && cd "/go/build" + - mkdir -pv "/tmp/teleport-v9-amd64-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-v9-amd64-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-v9-amd64-builder/buildkitd.toml" + - docker buildx create --driver "docker-container" --driver-opt "network=host" --name + "teleport-v9-amd64-builder" --config "/tmp/teleport-v9-amd64-builder/buildkitd.toml" - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 - - docker manifest push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips + - docker buildx build --push --builder "teleport-v9-amd64-builder" --target "teleport" + --platform "linux/amd64" --tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + --file "/go/build/Dockerfile-teleport" --build-arg DEB_PATH=teleport_$(cat "/go/var/full-version")_amd64.deb + /go/build - docker logout "public.ecr.aws" + - docker buildx rm "teleport-v9-amd64-builder" + - rm -rf "/tmp/teleport-v9-amd64-builder" environment: - AWS_PROFILE: ecr-production + AWS_PROFILE: ecr-authenticated-pull + DOCKER_BUILDKIT: "1" volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v10-fips-amd64" to ECR - production -- name: Create manifest and push "teleport-ent:full-fips" to ECR - production - image: docker + - Assume ECR - authenticated-pull AWS Role + - Download "teleport_v9-tag_amd64.deb" artifacts from S3 +- name: Download "teleport_v9-tag_arm.deb" artifacts from S3 + image: amazon/aws-cli commands: - - apk add --no-cache aws-cli - - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin - public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - && docker manifest push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips) - - docker logout "public.ecr.aws" + - END_TIME=$(( $(date +%s) + 3600 )) + - TIMED_OUT=true + - while [ $(date +%s) -lt $${END_TIME?} ]; do + - SUCCESS=true + - aws s3 ls s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/ | tr + -s ' ' | cut -d' ' -f 4 | grep -x teleport_$(cat "/go/var/full-version")_arm.deb + || SUCCESS=false + - '[ "$SUCCESS" = "true" ] && TIMED_OUT=false && break;' + - echo 'Condition not met yet, waiting another 60 seconds...' + - sleep 60 + - done + - '[ $${TIMED_OUT?} = true ] && echo ''Timed out while waiting for condition: [ + "$SUCCESS" = "true" ]'' && exit 1' + - mkdir -pv "/go/build" + - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport_$(cat + "/go/var/full-version")_arm.deb /go/build/teleport_$(cat "/go/var/full-version")_arm.deb environment: - AWS_PROFILE: ecr-production + AWS_PROFILE: s3-download-teleport + AWS_REGION: us-west-2 + AWS_S3_BUCKET: + from_secret: AWS_S3_BUCKET volumes: - name: awsconfig path: /root/.aws - - name: dockersock - path: /var/run depends_on: - - Tag and push image "teleport-ent:v10-fips-amd64" to ECR - production -- name: Build teleport-operator image "teleport-operator:v10-amd64" + - Assume S3 Download AWS Role for teleport + - Download Dockerfile for teleport +- name: Build teleport image "teleport:v9-arm" image: docker commands: - docker run --privileged --rm tonistiigi/binfmt --install all - - mkdir -pv "/go/src/github.com/gravitational/teleport" && cd "/go/src/github.com/gravitational/teleport" - - mkdir -pv "/tmp/teleport-operator-v10-amd64-builder" - - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-operator-v10-amd64-builder/buildkitd.toml" - - echo ' http = true' >> "/tmp/teleport-operator-v10-amd64-builder/buildkitd.toml" + - mkdir -pv "/go/build" && cd "/go/build" + - mkdir -pv "/tmp/teleport-v9-arm-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-v9-arm-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-v9-arm-builder/buildkitd.toml" - docker buildx create --driver "docker-container" --driver-opt "network=host" --name - "teleport-operator-v10-amd64-builder" --config "/tmp/teleport-operator-v10-amd64-builder/buildkitd.toml" + "teleport-v9-arm-builder" --config "/tmp/teleport-v9-arm-builder/buildkitd.toml" - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker buildx build --push --builder "teleport-operator-v10-amd64-builder" --platform - "linux/amd64" --tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - --file "/go/src/github.com/gravitational/teleport/operator/Dockerfile" --build-arg - BUILDBOX=public.ecr.aws/gravitational/teleport-buildbox:teleport11 --build-arg - COMPILER_NAME=x86_64-linux-gnu-gcc /go/src/github.com/gravitational/teleport + - docker buildx build --push --builder "teleport-v9-arm-builder" --target "teleport" + --platform "linux/arm" --tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + --file "/go/build/Dockerfile-teleport" --build-arg DEB_PATH=teleport_$(cat "/go/var/full-version")_arm.deb + /go/build - docker logout "public.ecr.aws" - - docker buildx rm "teleport-operator-v10-amd64-builder" - - rm -rf "/tmp/teleport-operator-v10-amd64-builder" + - docker buildx rm "teleport-v9-arm-builder" + - rm -rf "/tmp/teleport-v9-arm-builder" environment: AWS_PROFILE: ecr-authenticated-pull DOCKER_BUILDKIT: "1" @@ -15554,74 +17816,57 @@ steps: path: /var/run depends_on: - Assume ECR - authenticated-pull AWS Role - - Find the latest available semver for v10 - - Wait for docker - - Wait for docker registry - - Check out code - - Build major, minor, and full semvers - - Assume ECR - staging AWS Role - - Assume ECR - authenticated-pull AWS Role - - Assume ECR - production AWS Role -- name: Build teleport-operator image "teleport-operator:v10-arm" - image: docker + - Download "teleport_v9-tag_arm.deb" artifacts from S3 +- name: Download "teleport_v9-tag_arm64.deb" artifacts from S3 + image: amazon/aws-cli commands: - - docker run --privileged --rm tonistiigi/binfmt --install all - - mkdir -pv "/go/src/github.com/gravitational/teleport" && cd "/go/src/github.com/gravitational/teleport" - - mkdir -pv "/tmp/teleport-operator-v10-arm-builder" - - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-operator-v10-arm-builder/buildkitd.toml" - - echo ' http = true' >> "/tmp/teleport-operator-v10-arm-builder/buildkitd.toml" - - docker buildx create --driver "docker-container" --driver-opt "network=host" --name - "teleport-operator-v10-arm-builder" --config "/tmp/teleport-operator-v10-arm-builder/buildkitd.toml" - - apk add --no-cache aws-cli - - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin - public.ecr.aws - - docker buildx build --push --builder "teleport-operator-v10-arm-builder" --platform - "linux/arm" --tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - --file "/go/src/github.com/gravitational/teleport/operator/Dockerfile" --build-arg - BUILDBOX=public.ecr.aws/gravitational/teleport-buildbox-arm:teleport11 --build-arg - COMPILER_NAME=arm-linux-gnueabihf-gcc /go/src/github.com/gravitational/teleport - - docker logout "public.ecr.aws" - - docker buildx rm "teleport-operator-v10-arm-builder" - - rm -rf "/tmp/teleport-operator-v10-arm-builder" + - END_TIME=$(( $(date +%s) + 3600 )) + - TIMED_OUT=true + - while [ $(date +%s) -lt $${END_TIME?} ]; do + - SUCCESS=true + - aws s3 ls s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/ | tr + -s ' ' | cut -d' ' -f 4 | grep -x teleport_$(cat "/go/var/full-version")_arm64.deb + || SUCCESS=false + - '[ "$SUCCESS" = "true" ] && TIMED_OUT=false && break;' + - echo 'Condition not met yet, waiting another 60 seconds...' + - sleep 60 + - done + - '[ $${TIMED_OUT?} = true ] && echo ''Timed out while waiting for condition: [ + "$SUCCESS" = "true" ]'' && exit 1' + - mkdir -pv "/go/build" + - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport_$(cat + "/go/var/full-version")_arm64.deb /go/build/teleport_$(cat "/go/var/full-version")_arm64.deb environment: - AWS_PROFILE: ecr-authenticated-pull - DOCKER_BUILDKIT: "1" + AWS_PROFILE: s3-download-teleport + AWS_REGION: us-west-2 + AWS_S3_BUCKET: + from_secret: AWS_S3_BUCKET volumes: - name: awsconfig path: /root/.aws - - name: dockersock - path: /var/run depends_on: - - Assume ECR - authenticated-pull AWS Role - - Find the latest available semver for v10 - - Wait for docker - - Wait for docker registry - - Check out code - - Build major, minor, and full semvers - - Assume ECR - staging AWS Role - - Assume ECR - authenticated-pull AWS Role - - Assume ECR - production AWS Role -- name: Build teleport-operator image "teleport-operator:v10-arm64" + - Assume S3 Download AWS Role for teleport + - Download Dockerfile for teleport +- name: Build teleport image "teleport:v9-arm64" image: docker commands: - docker run --privileged --rm tonistiigi/binfmt --install all - - mkdir -pv "/go/src/github.com/gravitational/teleport" && cd "/go/src/github.com/gravitational/teleport" - - mkdir -pv "/tmp/teleport-operator-v10-arm64-builder" - - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-operator-v10-arm64-builder/buildkitd.toml" - - echo ' http = true' >> "/tmp/teleport-operator-v10-arm64-builder/buildkitd.toml" + - mkdir -pv "/go/build" && cd "/go/build" + - mkdir -pv "/tmp/teleport-v9-arm64-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-v9-arm64-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-v9-arm64-builder/buildkitd.toml" - docker buildx create --driver "docker-container" --driver-opt "network=host" --name - "teleport-operator-v10-arm64-builder" --config "/tmp/teleport-operator-v10-arm64-builder/buildkitd.toml" + "teleport-v9-arm64-builder" --config "/tmp/teleport-v9-arm64-builder/buildkitd.toml" - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker buildx build --push --builder "teleport-operator-v10-arm64-builder" --platform - "linux/arm64" --tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - --file "/go/src/github.com/gravitational/teleport/operator/Dockerfile" --build-arg - BUILDBOX=public.ecr.aws/gravitational/teleport-buildbox-arm:teleport11 --build-arg - COMPILER_NAME=aarch64-linux-gnu-gcc /go/src/github.com/gravitational/teleport + - docker buildx build --push --builder "teleport-v9-arm64-builder" --target "teleport" + --platform "linux/arm64" --tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + --file "/go/build/Dockerfile-teleport" --build-arg DEB_PATH=teleport_$(cat "/go/var/full-version")_arm64.deb + /go/build - docker logout "public.ecr.aws" - - docker buildx rm "teleport-operator-v10-arm64-builder" - - rm -rf "/tmp/teleport-operator-v10-arm64-builder" + - docker buildx rm "teleport-v9-arm64-builder" + - rm -rf "/tmp/teleport-v9-arm64-builder" environment: AWS_PROFILE: ecr-authenticated-pull DOCKER_BUILDKIT: "1" @@ -15632,41 +17877,34 @@ steps: path: /var/run depends_on: - Assume ECR - authenticated-pull AWS Role - - Find the latest available semver for v10 - - Wait for docker - - Wait for docker registry - - Check out code - - Build major, minor, and full semvers - - Assume ECR - staging AWS Role - - Assume ECR - authenticated-pull AWS Role - - Assume ECR - production AWS Role -- name: Tag and push image "teleport-operator:v10-amd64" to ECR - staging + - Download "teleport_v9-tag_arm64.deb" artifacts from S3 +- name: Tag and push image "teleport:v9-amd64" to ECR - staging image: docker commands: - - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 + - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-$TIMESTAMP-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-amd64 + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-amd64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/major-version")-$TIMESTAMP-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-amd64 + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-amd64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/minor-version")-$TIMESTAMP-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-amd64 + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-amd64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -15675,34 +17913,34 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport-operator image "teleport-operator:v10-amd64" -- name: Tag and push image "teleport-operator:v10-arm" to ECR - staging + - Build teleport image "teleport:v9-amd64" +- name: Tag and push image "teleport:v9-arm" to ECR - staging image: docker commands: - - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm + - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-$TIMESTAMP-arm && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-arm + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-arm) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/major-version")-$TIMESTAMP-arm && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-arm + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-arm) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-arm + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-arm) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -15711,34 +17949,34 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport-operator image "teleport-operator:v10-arm" -- name: Tag and push image "teleport-operator:v10-arm64" to ECR - staging + - Build teleport image "teleport:v9-arm" +- name: Tag and push image "teleport:v9-arm64" to ECR - staging image: docker commands: - - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 + - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-$TIMESTAMP-arm64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-arm64 + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-arm64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/major-version")-$TIMESTAMP-arm64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-arm64 + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-arm64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-arm64 + && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-arm64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -15747,23 +17985,23 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport-operator image "teleport-operator:v10-arm64" -- name: Create manifest and push "teleport-operator:major-$TIMESTAMP" to ECR - staging + - Build teleport image "teleport:v9-arm64" +- name: Create manifest and push "teleport:major-$TIMESTAMP" to ECR - staging image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/major-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/major-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/major-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/major-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/major-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/major-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/major-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/major-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -15772,25 +18010,25 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-operator:v10-amd64" to ECR - staging - - Tag and push image "teleport-operator:v10-arm" to ECR - staging - - Tag and push image "teleport-operator:v10-arm64" to ECR - staging -- name: Create manifest and push "teleport-operator:minor-$TIMESTAMP" to ECR - staging + - Tag and push image "teleport:v9-amd64" to ECR - staging + - Tag and push image "teleport:v9-arm" to ECR - staging + - Tag and push image "teleport:v9-arm64" to ECR - staging +- name: Create manifest and push "teleport:minor-$TIMESTAMP" to ECR - staging image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/minor-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/minor-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/minor-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -15799,25 +18037,25 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-operator:v10-amd64" to ECR - staging - - Tag and push image "teleport-operator:v10-arm" to ECR - staging - - Tag and push image "teleport-operator:v10-arm64" to ECR - staging -- name: Create manifest and push "teleport-operator:full-$TIMESTAMP" to ECR - staging + - Tag and push image "teleport:v9-amd64" to ECR - staging + - Tag and push image "teleport:v9-arm" to ECR - staging + - Tag and push image "teleport:v9-arm64" to ECR - staging +- name: Create manifest and push "teleport:full-$TIMESTAMP" to ECR - staging image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport:$(cat "/go/var/full-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -15826,185 +18064,183 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-operator:v10-amd64" to ECR - staging - - Tag and push image "teleport-operator:v10-arm" to ECR - staging - - Tag and push image "teleport-operator:v10-arm64" to ECR - staging -- name: Tag and push image "teleport-operator:v10-amd64" to Quay + - Tag and push image "teleport:v9-amd64" to ECR - staging + - Tag and push image "teleport:v9-arm" to ECR - staging + - Tag and push image "teleport:v9-arm64" to ECR - staging +- name: Tag and push image "teleport:v9-amd64" to Quay image: docker commands: - - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 + - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-amd64 - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-amd64 quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-amd64 - && docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-amd64) - - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-amd64 - - docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-amd64 - - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-amd64 - - docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-amd64 + - docker manifest inspect quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-amd64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat + "/go/var/full-version")-amd64 quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-amd64 + && docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-amd64) + - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-amd64 + - docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-amd64 + - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-amd64 + - docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-amd64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Build teleport-operator image "teleport-operator:v10-amd64" -- name: Tag and push image "teleport-operator:v10-arm" to Quay + - Build teleport image "teleport:v9-amd64" +- name: Tag and push image "teleport:v9-arm" to Quay image: docker commands: - - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm + - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm - && docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm) - - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm - - docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm - - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm - - docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm + - docker manifest inspect quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat + "/go/var/full-version")-arm quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm + && docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm) + - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-arm + - docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-arm + - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-arm + - docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-arm - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Build teleport-operator image "teleport-operator:v10-arm" -- name: Tag and push image "teleport-operator:v10-arm64" to Quay + - Build teleport image "teleport:v9-arm" +- name: Tag and push image "teleport:v9-arm64" to Quay image: docker commands: - - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 + - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm64 - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm64 quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm64 - && docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm64) - - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm64 - - docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm64 - - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm64 - - docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm64 + - docker manifest inspect quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat + "/go/var/full-version")-arm64 quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm64 + && docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm64) + - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-arm64 + - docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-arm64 + - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-arm64 + - docker push quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-arm64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Build teleport-operator image "teleport-operator:v10-arm64" -- name: Create manifest and push "teleport-operator:major" to Quay + - Build teleport image "teleport:v9-arm64" +- name: Create manifest and push "teleport:major" to Quay image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version") - --amend quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-amd64 - --amend quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm - --amend quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm64 - - docker manifest push quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version") + - docker manifest create quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version") + --amend quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-amd64 --amend + quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version")-arm --amend quay.io/fred_heinecke/teleport:$(cat + "/go/var/major-version")-arm64 + - docker manifest push quay.io/fred_heinecke/teleport:$(cat "/go/var/major-version") - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-operator:v10-amd64" to Quay - - Tag and push image "teleport-operator:v10-arm" to Quay - - Tag and push image "teleport-operator:v10-arm64" to Quay -- name: Create manifest and push "teleport-operator:minor" to Quay + - Tag and push image "teleport:v9-amd64" to Quay + - Tag and push image "teleport:v9-arm" to Quay + - Tag and push image "teleport:v9-arm64" to Quay +- name: Create manifest and push "teleport:minor" to Quay image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version") - --amend quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-amd64 - --amend quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm - --amend quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm64 - - docker manifest push quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version") + - docker manifest create quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version") + --amend quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-amd64 --amend + quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version")-arm --amend quay.io/fred_heinecke/teleport:$(cat + "/go/var/minor-version")-arm64 + - docker manifest push quay.io/fred_heinecke/teleport:$(cat "/go/var/minor-version") - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-operator:v10-amd64" to Quay - - Tag and push image "teleport-operator:v10-arm" to Quay - - Tag and push image "teleport-operator:v10-arm64" to Quay -- name: Create manifest and push "teleport-operator:full" to Quay + - Tag and push image "teleport:v9-amd64" to Quay + - Tag and push image "teleport:v9-arm" to Quay + - Tag and push image "teleport:v9-arm64" to Quay +- name: Create manifest and push "teleport:full" to Quay image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version") + - docker manifest inspect quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version") > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version") --amend - quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-amd64 --amend - quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm --amend - quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm64 && - docker manifest push quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")) + create quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version") --amend quay.io/fred_heinecke/teleport:$(cat + "/go/var/full-version")-amd64 --amend quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm + --amend quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")-arm64 && + docker manifest push quay.io/fred_heinecke/teleport:$(cat "/go/var/full-version")) - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-operator:v10-amd64" to Quay - - Tag and push image "teleport-operator:v10-arm" to Quay - - Tag and push image "teleport-operator:v10-arm64" to Quay -- name: Tag and push image "teleport-operator:v10-amd64" to ECR - production + - Tag and push image "teleport:v9-amd64" to Quay + - Tag and push image "teleport:v9-arm" to Quay + - Tag and push image "teleport:v9-arm64" to Quay +- name: Tag and push image "teleport:v9-amd64" to ECR - production image: docker commands: - - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 + - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")-amd64 - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-amd64 public.ecr.aws/gravitational/teleport-operator:$(cat - "/go/var/full-version")-amd64 && docker push public.ecr.aws/gravitational/teleport-operator:$(cat - "/go/var/full-version")-amd64) - - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-amd64 - - docker push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-amd64 - - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-amd64 - - docker push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-amd64 + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-amd64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat + "/go/var/full-version")-amd64 public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-amd64 + && docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-amd64) + - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-amd64 + - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-amd64 - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -16014,25 +18250,24 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport-operator image "teleport-operator:v10-amd64" -- name: Tag and push image "teleport-operator:v10-arm" to ECR - production + - Build teleport image "teleport:v9-amd64" +- name: Tag and push image "teleport:v9-arm" to ECR - production image: docker commands: - - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm + - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm public.ecr.aws/gravitational/teleport-operator:$(cat - "/go/var/full-version")-arm && docker push public.ecr.aws/gravitational/teleport-operator:$(cat - "/go/var/full-version")-arm) - - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm - - docker push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm - - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm - - docker push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat + "/go/var/full-version")-arm public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm + && docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm) + - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-arm + - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-arm - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -16042,25 +18277,24 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport-operator image "teleport-operator:v10-arm" -- name: Tag and push image "teleport-operator:v10-arm64" to ECR - production + - Build teleport image "teleport:v9-arm" +- name: Tag and push image "teleport:v9-arm64" to ECR - production image: docker commands: - - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 + - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm64 - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm64 public.ecr.aws/gravitational/teleport-operator:$(cat - "/go/var/full-version")-arm64 && docker push public.ecr.aws/gravitational/teleport-operator:$(cat - "/go/var/full-version")-arm64) - - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm64 - - docker push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm64 - - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm64 - - docker push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm64 + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat + "/go/var/full-version")-arm64 public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm64 + && docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm64) + - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-arm64 + - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-arm64 - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -16070,18 +18304,18 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport-operator image "teleport-operator:v10-arm64" -- name: Create manifest and push "teleport-operator:major" to ECR - production + - Build teleport image "teleport:v9-arm64" +- name: Create manifest and push "teleport:major" to ECR - production image: docker commands: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version") - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-amd64 - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm64 - - docker manifest push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version") + - docker manifest create public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version") + --amend public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-arm --amend + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/major-version") - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -16091,20 +18325,20 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-operator:v10-amd64" to ECR - production - - Tag and push image "teleport-operator:v10-arm" to ECR - production - - Tag and push image "teleport-operator:v10-arm64" to ECR - production -- name: Create manifest and push "teleport-operator:minor" to ECR - production + - Tag and push image "teleport:v9-amd64" to ECR - production + - Tag and push image "teleport:v9-arm" to ECR - production + - Tag and push image "teleport:v9-arm64" to ECR - production +- name: Create manifest and push "teleport:minor" to ECR - production image: docker commands: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version") - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-amd64 - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm64 - - docker manifest push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version") + - docker manifest create public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version") + --amend public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-arm --amend + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/minor-version") - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -16114,22 +18348,21 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-operator:v10-amd64" to ECR - production - - Tag and push image "teleport-operator:v10-arm" to ECR - production - - Tag and push image "teleport-operator:v10-arm64" to ECR - production -- name: Create manifest and push "teleport-operator:full" to ECR - production + - Tag and push image "teleport:v9-amd64" to ECR - production + - Tag and push image "teleport:v9-arm" to ECR - production + - Tag and push image "teleport:v9-arm64" to ECR - production +- name: Create manifest and push "teleport:full" to ECR - production image: docker commands: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version") + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version") > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version") - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")-amd64 - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm64 - && docker manifest push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")) + create public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version") --amend + public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-amd64 --amend public.ecr.aws/u8j2q1d9/teleport:$(cat + "/go/var/full-version")-arm --amend public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")-arm64 + && docker manifest push public.ecr.aws/u8j2q1d9/teleport:$(cat "/go/var/full-version")) - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -16139,191 +18372,15 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-operator:v10-amd64" to ECR - production - - Tag and push image "teleport-operator:v10-arm" to ECR - production - - Tag and push image "teleport-operator:v10-arm64" to ECR - production -services: -- name: Start Docker - image: docker:dind - privileged: true - volumes: - - name: dockersock - path: /var/run -- name: drone-docker-registry - image: registry:2 - privileged: false - volumes: [] -volumes: -- name: awsconfig - temp: {} -- name: dockersock - temp: {} - ---- -################################################ -# Generated using dronegen, do not edit by hand! -# Use 'make dronegen' to update. -# Generated at dronegen/container_images_release_version.go (main.(*ReleaseVersion).buildVersionPipeline) -################################################ - -kind: pipeline -type: kubernetes -name: teleport-container-images-previous-version-2-cron -environment: - DEBIAN_FRONTEND: noninteractive -trigger: - cron: - include: - - teleport-container-images-cron - repo: - include: - - gravitational/teleport -workspace: - path: /go -clone: - disable: true -steps: -- name: Find the latest available semver for v9 - image: golang:1.18 - commands: - - mkdir -pv "/tmp/teleport" - - cd "/tmp/teleport" - - git init - - git remote add origin ${DRONE_REMOTE_URL} - - git fetch origin --tags - - git checkout -qf "branch/v9" - - mkdir -pv $(dirname "/go/vars/full-version-v9") - - cd "/tmp/teleport/build.assets/tooling/cmd/query-latest" - - go run . "v9" | sed 's/v//' > "/go/vars/full-version-v9" - - echo Found full semver "$(cat "/go/vars/full-version-v9")" for major version "v9" -- name: Wait for docker - image: docker - commands: - - timeout 30s /bin/sh -c 'while [ ! -S /var/run/docker.sock ]; do sleep 1; done' - volumes: - - name: dockersock - path: /var/run - depends_on: - - Find the latest available semver for v9 -- name: Wait for docker registry - image: alpine - commands: - - apk add curl - - timeout 30s /bin/sh -c 'while [ "$(curl -s -o /dev/null -w %{http_code} http://drone-docker-registry:5000/)" - != "200" ]; do sleep 1; done' - depends_on: - - Find the latest available semver for v9 -- name: Check out code - image: alpine/git:latest - commands: - - mkdir -pv "/go/src/github.com/gravitational/teleport" - - cd "/go/src/github.com/gravitational/teleport" - - git init - - git remote add origin ${DRONE_REMOTE_URL} - - git fetch origin --tags - - git checkout -qf "v$(cat '/go/vars/full-version-v9')" - depends_on: - - Find the latest available semver for v9 -- name: Build major, minor, and full semvers - image: alpine - commands: - - mkdir -pv $(dirname "/go/var/major-version") - - echo v$(cat '/go/vars/full-version-v9') | sed 's/v//' | cut -d'.' -f "1" > "/go/var/major-version" - - echo $(cat "/go/var/major-version") - - mkdir -pv $(dirname "/go/var/minor-version") - - echo v$(cat '/go/vars/full-version-v9') | sed 's/v//' | cut -d'.' -f "1,2" > "/go/var/minor-version" - - echo $(cat "/go/var/minor-version") - - mkdir -pv $(dirname "/go/var/full-version") - - echo v$(cat '/go/vars/full-version-v9') | sed 's/v//' > "/go/var/full-version" - - echo $(cat "/go/var/full-version") - depends_on: - - Find the latest available semver for v9 -- name: Assume ECR - staging AWS Role - image: amazon/aws-cli - commands: - - aws sts get-caller-identity - - |- - printf "[ecr-staging]\naws_access_key_id = %s\naws_secret_access_key = %s\naws_session_token = %s\n" \ - $(aws sts assume-role \ - --role-arn "$AWS_ROLE" \ - --role-session-name $(echo "drone-${DRONE_REPO}-${DRONE_BUILD_NUMBER}" | sed "s|/|-|g") \ - --query "Credentials.[AccessKeyId,SecretAccessKey,SessionToken]" \ - --output text) \ - >> /root/.aws/credentials - - unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY - - aws sts get-caller-identity --profile ecr-staging - environment: - AWS_ACCESS_KEY_ID: - from_secret: STAGING_TELEPORT_DRONE_USER_ECR_KEY - AWS_ROLE: - from_secret: STAGING_TELEPORT_DRONE_ECR_AWS_ROLE - AWS_SECRET_ACCESS_KEY: - from_secret: STAGING_TELEPORT_DRONE_USER_ECR_SECRET - volumes: - - name: awsconfig - path: /root/.aws - depends_on: - - Find the latest available semver for v9 -- name: Assume ECR - authenticated-pull AWS Role - image: amazon/aws-cli - commands: - - aws sts get-caller-identity - - |- - printf "[ecr-authenticated-pull]\naws_access_key_id = %s\naws_secret_access_key = %s\naws_session_token = %s\n" \ - $(aws sts assume-role \ - --role-arn "$AWS_ROLE" \ - --role-session-name $(echo "drone-${DRONE_REPO}-${DRONE_BUILD_NUMBER}" | sed "s|/|-|g") \ - --query "Credentials.[AccessKeyId,SecretAccessKey,SessionToken]" \ - --output text) \ - >> /root/.aws/credentials - - unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY - - aws sts get-caller-identity --profile ecr-authenticated-pull - environment: - AWS_ACCESS_KEY_ID: - from_secret: PRODUCTION_TELEPORT_DRONE_USER_ECR_KEY - AWS_ROLE: - from_secret: PRODUCTION_TELEPORT_DRONE_ECR_AWS_ROLE - AWS_SECRET_ACCESS_KEY: - from_secret: PRODUCTION_TELEPORT_DRONE_USER_ECR_SECRET - volumes: - - name: awsconfig - path: /root/.aws - depends_on: - - Assume ECR - staging AWS Role - - Find the latest available semver for v9 -- name: Assume ECR - production AWS Role - image: amazon/aws-cli - commands: - - aws sts get-caller-identity - - |- - printf "[ecr-production]\naws_access_key_id = %s\naws_secret_access_key = %s\naws_session_token = %s\n" \ - $(aws sts assume-role \ - --role-arn "$AWS_ROLE" \ - --role-session-name $(echo "drone-${DRONE_REPO}-${DRONE_BUILD_NUMBER}" | sed "s|/|-|g") \ - --query "Credentials.[AccessKeyId,SecretAccessKey,SessionToken]" \ - --output text) \ - >> /root/.aws/credentials - - unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY - - aws sts get-caller-identity --profile ecr-production - environment: - AWS_ACCESS_KEY_ID: - from_secret: PRODUCTION_TELEPORT_DRONE_USER_ECR_KEY - AWS_ROLE: - from_secret: PRODUCTION_TELEPORT_DRONE_ECR_AWS_ROLE - AWS_SECRET_ACCESS_KEY: - from_secret: PRODUCTION_TELEPORT_DRONE_USER_ECR_SECRET - volumes: - - name: awsconfig - path: /root/.aws - depends_on: - - Assume ECR - authenticated-pull AWS Role - - Find the latest available semver for v9 -- name: Assume S3 Download AWS Role for teleport + - Tag and push image "teleport:v9-amd64" to ECR - production + - Tag and push image "teleport:v9-arm" to ECR - production + - Tag and push image "teleport:v9-arm64" to ECR - production +- name: Assume S3 Download AWS Role for teleport-ent image: amazon/aws-cli commands: - aws sts get-caller-identity - |- - printf "[s3-download-teleport]\naws_access_key_id = %s\naws_secret_access_key = %s\naws_session_token = %s\n" \ + printf "[s3-download-teleport-ent]\naws_access_key_id = %s\naws_secret_access_key = %s\naws_session_token = %s\n" \ $(aws sts assume-role \ --role-arn "$AWS_ROLE" \ --role-session-name $(echo "drone-${DRONE_REPO}-${DRONE_BUILD_NUMBER}" | sed "s|/|-|g") \ @@ -16331,7 +18388,7 @@ steps: --output text) \ >> /root/.aws/credentials - unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY - - aws sts get-caller-identity --profile s3-download-teleport + - aws sts get-caller-identity --profile s3-download-teleport-ent environment: AWS_ACCESS_KEY_ID: from_secret: AWS_ACCESS_KEY_ID @@ -16351,12 +18408,12 @@ steps: - Assume ECR - staging AWS Role - Assume ECR - authenticated-pull AWS Role - Assume ECR - production AWS Role -- name: Download Teleport Dockerfile to "/go/build/Dockerfile-teleport" for teleport +- name: Download Dockerfile for teleport-ent image: alpine commands: - apk add curl - - mkdir -pv $(dirname "/go/build/Dockerfile-teleport") - - curl -Ls -o "/go/build/Dockerfile-teleport" "https://raw.githubusercontent.com/gravitational/teleport/v$(cat + - mkdir -pv $(dirname "/go/build/Dockerfile-teleport-ent") + - curl -Ls -o "/go/build/Dockerfile-teleport-ent" "https://raw.githubusercontent.com/gravitational/teleport/v$(cat '/go/vars/full-version-v9')/build.assets/charts/Dockerfile" depends_on: - Find the latest available semver for v9 @@ -16367,7 +18424,7 @@ steps: - Assume ECR - staging AWS Role - Assume ECR - authenticated-pull AWS Role - Assume ECR - production AWS Role -- name: Download "teleport_v9-tag_amd64.deb" artifacts from S3 +- name: Download "teleport-ent_v9-tag_amd64.deb" artifacts from S3 image: amazon/aws-cli commands: - END_TIME=$(( $(date +%s) + 3600 )) @@ -16375,7 +18432,7 @@ steps: - while [ $(date +%s) -lt $${END_TIME?} ]; do - SUCCESS=true - aws s3 ls s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/ | tr - -s ' ' | cut -d' ' -f 4 | grep -x teleport_$(cat "/go/var/full-version")_amd64.deb + -s ' ' | cut -d' ' -f 4 | grep -x teleport-ent_$(cat "/go/var/full-version")_amd64.deb || SUCCESS=false - '[ "$SUCCESS" = "true" ] && TIMED_OUT=false && break;' - echo 'Condition not met yet, waiting another 60 seconds...' @@ -16384,10 +18441,10 @@ steps: - '[ $${TIMED_OUT?} = true ] && echo ''Timed out while waiting for condition: [ "$SUCCESS" = "true" ]'' && exit 1' - mkdir -pv "/go/build" - - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport_$(cat - "/go/var/full-version")_amd64.deb /go/build/teleport_$(cat "/go/var/full-version")_amd64.deb + - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport-ent_$(cat + "/go/var/full-version")_amd64.deb /go/build/teleport-ent_$(cat "/go/var/full-version")_amd64.deb environment: - AWS_PROFILE: s3-download-teleport + AWS_PROFILE: s3-download-teleport-ent AWS_REGION: us-west-2 AWS_S3_BUCKET: from_secret: AWS_S3_BUCKET @@ -16395,28 +18452,28 @@ steps: - name: awsconfig path: /root/.aws depends_on: - - Assume S3 Download AWS Role for teleport - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport" for teleport -- name: Build teleport image "teleport:v9-amd64" + - Assume S3 Download AWS Role for teleport-ent + - Download Dockerfile for teleport-ent +- name: Build teleport-ent image "teleport-ent:v9-amd64" image: docker commands: - docker run --privileged --rm tonistiigi/binfmt --install all - mkdir -pv "/go/build" && cd "/go/build" - - mkdir -pv "/tmp/teleport-v9-amd64-builder" - - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-v9-amd64-builder/buildkitd.toml" - - echo ' http = true' >> "/tmp/teleport-v9-amd64-builder/buildkitd.toml" + - mkdir -pv "/tmp/teleport-ent-v9-amd64-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-ent-v9-amd64-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-ent-v9-amd64-builder/buildkitd.toml" - docker buildx create --driver "docker-container" --driver-opt "network=host" --name - "teleport-v9-amd64-builder" --config "/tmp/teleport-v9-amd64-builder/buildkitd.toml" + "teleport-ent-v9-amd64-builder" --config "/tmp/teleport-ent-v9-amd64-builder/buildkitd.toml" - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker buildx build --push --builder "teleport-v9-amd64-builder" --target "teleport" - --platform "linux/amd64" --tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - --file "/go/build/Dockerfile-teleport" --build-arg DEB_PATH=teleport_$(cat "/go/var/full-version")_amd64.deb - /go/build + - docker buildx build --push --builder "teleport-ent-v9-amd64-builder" --target + "teleport" --platform "linux/amd64" --tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-amd64 --file "/go/build/Dockerfile-teleport-ent" --build-arg + DEB_PATH=teleport-ent_$(cat "/go/var/full-version")_amd64.deb /go/build - docker logout "public.ecr.aws" - - docker buildx rm "teleport-v9-amd64-builder" - - rm -rf "/tmp/teleport-v9-amd64-builder" + - docker buildx rm "teleport-ent-v9-amd64-builder" + - rm -rf "/tmp/teleport-ent-v9-amd64-builder" environment: AWS_PROFILE: ecr-authenticated-pull DOCKER_BUILDKIT: "1" @@ -16427,8 +18484,8 @@ steps: path: /var/run depends_on: - Assume ECR - authenticated-pull AWS Role - - Download "teleport_v9-tag_amd64.deb" artifacts from S3 -- name: Download "teleport_v9-tag_arm.deb" artifacts from S3 + - Download "teleport-ent_v9-tag_amd64.deb" artifacts from S3 +- name: Download "teleport-ent_v9-tag_arm.deb" artifacts from S3 image: amazon/aws-cli commands: - END_TIME=$(( $(date +%s) + 3600 )) @@ -16436,7 +18493,7 @@ steps: - while [ $(date +%s) -lt $${END_TIME?} ]; do - SUCCESS=true - aws s3 ls s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/ | tr - -s ' ' | cut -d' ' -f 4 | grep -x teleport_$(cat "/go/var/full-version")_arm.deb + -s ' ' | cut -d' ' -f 4 | grep -x teleport-ent_$(cat "/go/var/full-version")_arm.deb || SUCCESS=false - '[ "$SUCCESS" = "true" ] && TIMED_OUT=false && break;' - echo 'Condition not met yet, waiting another 60 seconds...' @@ -16445,10 +18502,10 @@ steps: - '[ $${TIMED_OUT?} = true ] && echo ''Timed out while waiting for condition: [ "$SUCCESS" = "true" ]'' && exit 1' - mkdir -pv "/go/build" - - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport_$(cat - "/go/var/full-version")_arm.deb /go/build/teleport_$(cat "/go/var/full-version")_arm.deb + - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport-ent_$(cat + "/go/var/full-version")_arm.deb /go/build/teleport-ent_$(cat "/go/var/full-version")_arm.deb environment: - AWS_PROFILE: s3-download-teleport + AWS_PROFILE: s3-download-teleport-ent AWS_REGION: us-west-2 AWS_S3_BUCKET: from_secret: AWS_S3_BUCKET @@ -16456,28 +18513,28 @@ steps: - name: awsconfig path: /root/.aws depends_on: - - Assume S3 Download AWS Role for teleport - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport" for teleport -- name: Build teleport image "teleport:v9-arm" + - Assume S3 Download AWS Role for teleport-ent + - Download Dockerfile for teleport-ent +- name: Build teleport-ent image "teleport-ent:v9-arm" image: docker commands: - docker run --privileged --rm tonistiigi/binfmt --install all - mkdir -pv "/go/build" && cd "/go/build" - - mkdir -pv "/tmp/teleport-v9-arm-builder" - - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-v9-arm-builder/buildkitd.toml" - - echo ' http = true' >> "/tmp/teleport-v9-arm-builder/buildkitd.toml" + - mkdir -pv "/tmp/teleport-ent-v9-arm-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-ent-v9-arm-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-ent-v9-arm-builder/buildkitd.toml" - docker buildx create --driver "docker-container" --driver-opt "network=host" --name - "teleport-v9-arm-builder" --config "/tmp/teleport-v9-arm-builder/buildkitd.toml" + "teleport-ent-v9-arm-builder" --config "/tmp/teleport-ent-v9-arm-builder/buildkitd.toml" - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker buildx build --push --builder "teleport-v9-arm-builder" --target "teleport" - --platform "linux/arm" --tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - --file "/go/build/Dockerfile-teleport" --build-arg DEB_PATH=teleport_$(cat "/go/var/full-version")_arm.deb - /go/build + - docker buildx build --push --builder "teleport-ent-v9-arm-builder" --target "teleport" + --platform "linux/arm" --tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm + --file "/go/build/Dockerfile-teleport-ent" --build-arg DEB_PATH=teleport-ent_$(cat + "/go/var/full-version")_arm.deb /go/build - docker logout "public.ecr.aws" - - docker buildx rm "teleport-v9-arm-builder" - - rm -rf "/tmp/teleport-v9-arm-builder" + - docker buildx rm "teleport-ent-v9-arm-builder" + - rm -rf "/tmp/teleport-ent-v9-arm-builder" environment: AWS_PROFILE: ecr-authenticated-pull DOCKER_BUILDKIT: "1" @@ -16488,8 +18545,8 @@ steps: path: /var/run depends_on: - Assume ECR - authenticated-pull AWS Role - - Download "teleport_v9-tag_arm.deb" artifacts from S3 -- name: Download "teleport_v9-tag_arm64.deb" artifacts from S3 + - Download "teleport-ent_v9-tag_arm.deb" artifacts from S3 +- name: Download "teleport-ent_v9-tag_arm64.deb" artifacts from S3 image: amazon/aws-cli commands: - END_TIME=$(( $(date +%s) + 3600 )) @@ -16497,7 +18554,7 @@ steps: - while [ $(date +%s) -lt $${END_TIME?} ]; do - SUCCESS=true - aws s3 ls s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/ | tr - -s ' ' | cut -d' ' -f 4 | grep -x teleport_$(cat "/go/var/full-version")_arm64.deb + -s ' ' | cut -d' ' -f 4 | grep -x teleport-ent_$(cat "/go/var/full-version")_arm64.deb || SUCCESS=false - '[ "$SUCCESS" = "true" ] && TIMED_OUT=false && break;' - echo 'Condition not met yet, waiting another 60 seconds...' @@ -16506,10 +18563,10 @@ steps: - '[ $${TIMED_OUT?} = true ] && echo ''Timed out while waiting for condition: [ "$SUCCESS" = "true" ]'' && exit 1' - mkdir -pv "/go/build" - - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport_$(cat - "/go/var/full-version")_arm64.deb /go/build/teleport_$(cat "/go/var/full-version")_arm64.deb + - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport-ent_$(cat + "/go/var/full-version")_arm64.deb /go/build/teleport-ent_$(cat "/go/var/full-version")_arm64.deb environment: - AWS_PROFILE: s3-download-teleport + AWS_PROFILE: s3-download-teleport-ent AWS_REGION: us-west-2 AWS_S3_BUCKET: from_secret: AWS_S3_BUCKET @@ -16517,28 +18574,28 @@ steps: - name: awsconfig path: /root/.aws depends_on: - - Assume S3 Download AWS Role for teleport - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport" for teleport -- name: Build teleport image "teleport:v9-arm64" + - Assume S3 Download AWS Role for teleport-ent + - Download Dockerfile for teleport-ent +- name: Build teleport-ent image "teleport-ent:v9-arm64" image: docker commands: - docker run --privileged --rm tonistiigi/binfmt --install all - mkdir -pv "/go/build" && cd "/go/build" - - mkdir -pv "/tmp/teleport-v9-arm64-builder" - - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-v9-arm64-builder/buildkitd.toml" - - echo ' http = true' >> "/tmp/teleport-v9-arm64-builder/buildkitd.toml" + - mkdir -pv "/tmp/teleport-ent-v9-arm64-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-ent-v9-arm64-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-ent-v9-arm64-builder/buildkitd.toml" - docker buildx create --driver "docker-container" --driver-opt "network=host" --name - "teleport-v9-arm64-builder" --config "/tmp/teleport-v9-arm64-builder/buildkitd.toml" + "teleport-ent-v9-arm64-builder" --config "/tmp/teleport-ent-v9-arm64-builder/buildkitd.toml" - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker buildx build --push --builder "teleport-v9-arm64-builder" --target "teleport" - --platform "linux/arm64" --tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - --file "/go/build/Dockerfile-teleport" --build-arg DEB_PATH=teleport_$(cat "/go/var/full-version")_arm64.deb - /go/build + - docker buildx build --push --builder "teleport-ent-v9-arm64-builder" --target + "teleport" --platform "linux/arm64" --tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-arm64 --file "/go/build/Dockerfile-teleport-ent" --build-arg + DEB_PATH=teleport-ent_$(cat "/go/var/full-version")_arm64.deb /go/build - docker logout "public.ecr.aws" - - docker buildx rm "teleport-v9-arm64-builder" - - rm -rf "/tmp/teleport-v9-arm64-builder" + - docker buildx rm "teleport-ent-v9-arm64-builder" + - rm -rf "/tmp/teleport-ent-v9-arm64-builder" environment: AWS_PROFILE: ecr-authenticated-pull DOCKER_BUILDKIT: "1" @@ -16549,34 +18606,34 @@ steps: path: /var/run depends_on: - Assume ECR - authenticated-pull AWS Role - - Download "teleport_v9-tag_arm64.deb" artifacts from S3 -- name: Tag and push image "teleport:v9-amd64" to ECR - staging + - Download "teleport-ent_v9-tag_arm64.deb" artifacts from S3 +- name: Tag and push image "teleport-ent:v9-amd64" to ECR - staging image: docker commands: - - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-amd64 - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-$TIMESTAMP-amd64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-amd64 - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-$TIMESTAMP-amd64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-amd64 - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-$TIMESTAMP-amd64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -16585,34 +18642,34 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport image "teleport:v9-amd64" -- name: Tag and push image "teleport:v9-arm" to ECR - staging + - Build teleport-ent image "teleport-ent:v9-amd64" +- name: Tag and push image "teleport-ent:v9-arm" to ECR - staging image: docker commands: - - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-arm - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-$TIMESTAMP-arm) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-arm - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-$TIMESTAMP-arm) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-arm - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-$TIMESTAMP-arm) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -16621,34 +18678,34 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport image "teleport:v9-arm" -- name: Tag and push image "teleport:v9-arm64" to ECR - staging + - Build teleport-ent image "teleport-ent:v9-arm" +- name: Tag and push image "teleport-ent:v9-arm64" to ECR - staging image: docker commands: - - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/full-version")-$TIMESTAMP-arm64 - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-$TIMESTAMP-arm64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/major-version")-$TIMESTAMP-arm64 - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-$TIMESTAMP-arm64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat "/go/var/minor-version")-$TIMESTAMP-arm64 - && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-$TIMESTAMP-arm64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -16657,23 +18714,23 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport image "teleport:v9-arm64" -- name: Create manifest and push "teleport:major-$TIMESTAMP" to ECR - staging + - Build teleport-ent image "teleport-ent:v9-arm64" +- name: Create manifest and push "teleport-ent:major-$TIMESTAMP" to ECR - staging image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/major-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/major-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/major-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/major-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -16682,25 +18739,25 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport:v9-amd64" to ECR - staging - - Tag and push image "teleport:v9-arm" to ECR - staging - - Tag and push image "teleport:v9-arm64" to ECR - staging -- name: Create manifest and push "teleport:minor-$TIMESTAMP" to ECR - staging + - Tag and push image "teleport-ent:v9-amd64" to ECR - staging + - Tag and push image "teleport-ent:v9-arm" to ECR - staging + - Tag and push image "teleport-ent:v9-arm64" to ECR - staging +- name: Create manifest and push "teleport-ent:minor-$TIMESTAMP" to ECR - staging image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/minor-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/minor-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -16709,25 +18766,25 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport:v9-amd64" to ECR - staging - - Tag and push image "teleport:v9-arm" to ECR - staging - - Tag and push image "teleport:v9-arm64" to ECR - staging -- name: Create manifest and push "teleport:full-$TIMESTAMP" to ECR - staging + - Tag and push image "teleport-ent:v9-amd64" to ECR - staging + - Tag and push image "teleport-ent:v9-arm" to ECR - staging + - Tag and push image "teleport-ent:v9-arm64" to ECR - staging +- name: Create manifest and push "teleport-ent:full-$TIMESTAMP" to ECR - staging image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/full-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/full-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/full-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat - "/go/var/full-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport:$(cat + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -16736,183 +18793,184 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport:v9-amd64" to ECR - staging - - Tag and push image "teleport:v9-arm" to ECR - staging - - Tag and push image "teleport:v9-arm64" to ECR - staging -- name: Tag and push image "teleport:v9-amd64" to Quay + - Tag and push image "teleport-ent:v9-amd64" to ECR - staging + - Tag and push image "teleport-ent:v9-arm" to ECR - staging + - Tag and push image "teleport-ent:v9-arm64" to ECR - staging +- name: Tag and push image "teleport-ent:v9-amd64" to Quay image: docker commands: - - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport:$(cat "/go/var/full-version")-amd64 - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat - "/go/var/full-version")-amd64 quay.io/gravitational/teleport:$(cat "/go/var/full-version")-amd64 - && docker push quay.io/gravitational/teleport:$(cat "/go/var/full-version")-amd64) - - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - quay.io/gravitational/teleport:$(cat "/go/var/major-version")-amd64 - - docker push quay.io/gravitational/teleport:$(cat "/go/var/major-version")-amd64 - - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-amd64 - - docker push quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-amd64 + - docker manifest inspect quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-amd64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-amd64 quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-amd64 + && docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-amd64) + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-amd64 + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-amd64 + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-amd64 + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-amd64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Build teleport image "teleport:v9-amd64" -- name: Tag and push image "teleport:v9-arm" to Quay + - Build teleport-ent image "teleport-ent:v9-amd64" +- name: Tag and push image "teleport-ent:v9-arm" to Quay image: docker commands: - - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat - "/go/var/full-version")-arm quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm - && docker push quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm) - - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - quay.io/gravitational/teleport:$(cat "/go/var/major-version")-arm - - docker push quay.io/gravitational/teleport:$(cat "/go/var/major-version")-arm - - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-arm - - docker push quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-arm + - docker manifest inspect quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-arm quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm + && docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm) + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-arm + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-arm + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-arm + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-arm - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Build teleport image "teleport:v9-arm" -- name: Tag and push image "teleport:v9-arm64" to Quay + - Build teleport-ent image "teleport-ent:v9-arm" +- name: Tag and push image "teleport-ent:v9-arm64" to Quay image: docker commands: - - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm64 - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat - "/go/var/full-version")-arm64 quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm64 - && docker push quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm64) - - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - quay.io/gravitational/teleport:$(cat "/go/var/major-version")-arm64 - - docker push quay.io/gravitational/teleport:$(cat "/go/var/major-version")-arm64 - - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-arm64 - - docker push quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-arm64 + - docker manifest inspect quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-arm64 quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm64 + && docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm64) + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-arm64 + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-arm64 + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-arm64 + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-arm64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Build teleport image "teleport:v9-arm64" -- name: Create manifest and push "teleport:major" to Quay + - Build teleport-ent image "teleport-ent:v9-arm64" +- name: Create manifest and push "teleport-ent:major" to Quay image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport:$(cat "/go/var/major-version") - --amend quay.io/gravitational/teleport:$(cat "/go/var/major-version")-amd64 --amend - quay.io/gravitational/teleport:$(cat "/go/var/major-version")-arm --amend quay.io/gravitational/teleport:$(cat - "/go/var/major-version")-arm64 - - docker manifest push quay.io/gravitational/teleport:$(cat "/go/var/major-version") + - docker manifest create quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version") + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-amd64 + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-arm + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-arm64 + - docker manifest push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version") - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport:v9-amd64" to Quay - - Tag and push image "teleport:v9-arm" to Quay - - Tag and push image "teleport:v9-arm64" to Quay -- name: Create manifest and push "teleport:minor" to Quay + - Tag and push image "teleport-ent:v9-amd64" to Quay + - Tag and push image "teleport-ent:v9-arm" to Quay + - Tag and push image "teleport-ent:v9-arm64" to Quay +- name: Create manifest and push "teleport-ent:minor" to Quay image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport:$(cat "/go/var/minor-version") - --amend quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-amd64 --amend - quay.io/gravitational/teleport:$(cat "/go/var/minor-version")-arm --amend quay.io/gravitational/teleport:$(cat - "/go/var/minor-version")-arm64 - - docker manifest push quay.io/gravitational/teleport:$(cat "/go/var/minor-version") + - docker manifest create quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version") + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-amd64 + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-arm + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-arm64 + - docker manifest push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version") - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport:v9-amd64" to Quay - - Tag and push image "teleport:v9-arm" to Quay - - Tag and push image "teleport:v9-arm64" to Quay -- name: Create manifest and push "teleport:full" to Quay + - Tag and push image "teleport-ent:v9-amd64" to Quay + - Tag and push image "teleport-ent:v9-arm" to Quay + - Tag and push image "teleport-ent:v9-arm64" to Quay +- name: Create manifest and push "teleport-ent:full" to Quay image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport:$(cat "/go/var/full-version") + - docker manifest inspect quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version") > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create quay.io/gravitational/teleport:$(cat "/go/var/full-version") --amend quay.io/gravitational/teleport:$(cat - "/go/var/full-version")-amd64 --amend quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm - --amend quay.io/gravitational/teleport:$(cat "/go/var/full-version")-arm64 && - docker manifest push quay.io/gravitational/teleport:$(cat "/go/var/full-version")) + create quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version") --amend + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-amd64 --amend + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-arm --amend quay.io/fred_heinecke/teleport-ent:$(cat + "/go/var/full-version")-arm64 && docker manifest push quay.io/fred_heinecke/teleport-ent:$(cat + "/go/var/full-version")) - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport:v9-amd64" to Quay - - Tag and push image "teleport:v9-arm" to Quay - - Tag and push image "teleport:v9-arm64" to Quay -- name: Tag and push image "teleport:v9-amd64" to ECR - production + - Tag and push image "teleport-ent:v9-amd64" to Quay + - Tag and push image "teleport-ent:v9-arm" to Quay + - Tag and push image "teleport-ent:v9-arm64" to Quay +- name: Tag and push image "teleport-ent:v9-amd64" to ECR - production image: docker commands: - - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-amd64 - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat - "/go/var/full-version")-amd64 public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-amd64 - && docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-amd64) - - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-amd64 - - docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-amd64 - - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 - public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-amd64 - - docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-amd64 + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-amd64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-amd64 public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-amd64 + && docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-amd64) + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-amd64 + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-amd64 - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -16922,24 +18980,24 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport image "teleport:v9-amd64" -- name: Tag and push image "teleport:v9-arm" to ECR - production + - Build teleport-ent image "teleport-ent:v9-amd64" +- name: Tag and push image "teleport-ent:v9-arm" to ECR - production image: docker commands: - - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat - "/go/var/full-version")-arm public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm - && docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm) - - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-arm - - docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-arm - - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm - public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-arm - - docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-arm + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-arm public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm + && docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm) + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-arm + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-arm - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -16949,24 +19007,24 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport image "teleport:v9-arm" -- name: Tag and push image "teleport:v9-arm64" to ECR - production + - Build teleport-ent image "teleport-ent:v9-arm" +- name: Tag and push image "teleport-ent:v9-arm64" to ECR - production image: docker commands: - - docker pull drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm64 - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport:$(cat - "/go/var/full-version")-arm64 public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm64 - && docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm64) - - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-arm64 - - docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-arm64 - - docker tag drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 - public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-arm64 - - docker push public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-arm64 + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-arm64 public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm64 + && docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm64) + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-arm64 + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-arm64 - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -16976,18 +19034,18 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport image "teleport:v9-arm64" -- name: Create manifest and push "teleport:major" to ECR - production + - Build teleport-ent image "teleport-ent:v9-arm64" +- name: Create manifest and push "teleport-ent:major" to ECR - production image: docker commands: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version") - --amend public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-amd64 - --amend public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-arm - --amend public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version")-arm64 - - docker manifest push public.ecr.aws/gravitational/teleport:$(cat "/go/var/major-version") + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version") + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version") - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -16997,20 +19055,20 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport:v9-amd64" to ECR - production - - Tag and push image "teleport:v9-arm" to ECR - production - - Tag and push image "teleport:v9-arm64" to ECR - production -- name: Create manifest and push "teleport:minor" to ECR - production + - Tag and push image "teleport-ent:v9-amd64" to ECR - production + - Tag and push image "teleport-ent:v9-arm" to ECR - production + - Tag and push image "teleport-ent:v9-arm64" to ECR - production +- name: Create manifest and push "teleport-ent:minor" to ECR - production image: docker commands: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version") - --amend public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-amd64 - --amend public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-arm - --amend public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version")-arm64 - - docker manifest push public.ecr.aws/gravitational/teleport:$(cat "/go/var/minor-version") + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version") + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version") - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -17018,24 +19076,24 @@ steps: - name: awsconfig path: /root/.aws - name: dockersock - path: /var/run - depends_on: - - Tag and push image "teleport:v9-amd64" to ECR - production - - Tag and push image "teleport:v9-arm" to ECR - production - - Tag and push image "teleport:v9-arm64" to ECR - production -- name: Create manifest and push "teleport:full" to ECR - production + path: /var/run + depends_on: + - Tag and push image "teleport-ent:v9-amd64" to ECR - production + - Tag and push image "teleport-ent:v9-arm" to ECR - production + - Tag and push image "teleport-ent:v9-arm64" to ECR - production +- name: Create manifest and push "teleport-ent:full" to ECR - production image: docker commands: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version") + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version") > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version") --amend - public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-amd64 --amend - public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm --amend - public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")-arm64 && docker - manifest push public.ecr.aws/gravitational/teleport:$(cat "/go/var/full-version")) + create public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version") --amend + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-amd64 --amend + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm --amend + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-arm64 && docker + manifest push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")) - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -17045,15 +19103,15 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport:v9-amd64" to ECR - production - - Tag and push image "teleport:v9-arm" to ECR - production - - Tag and push image "teleport:v9-arm64" to ECR - production -- name: Assume S3 Download AWS Role for teleport-ent + - Tag and push image "teleport-ent:v9-amd64" to ECR - production + - Tag and push image "teleport-ent:v9-arm" to ECR - production + - Tag and push image "teleport-ent:v9-arm64" to ECR - production +- name: Assume S3 Download AWS Role for teleport-ent-fips image: amazon/aws-cli commands: - aws sts get-caller-identity - |- - printf "[s3-download-teleport-ent]\naws_access_key_id = %s\naws_secret_access_key = %s\naws_session_token = %s\n" \ + printf "[s3-download-teleport-ent-fips]\naws_access_key_id = %s\naws_secret_access_key = %s\naws_session_token = %s\n" \ $(aws sts assume-role \ --role-arn "$AWS_ROLE" \ --role-session-name $(echo "drone-${DRONE_REPO}-${DRONE_BUILD_NUMBER}" | sed "s|/|-|g") \ @@ -17061,7 +19119,7 @@ steps: --output text) \ >> /root/.aws/credentials - unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY - - aws sts get-caller-identity --profile s3-download-teleport-ent + - aws sts get-caller-identity --profile s3-download-teleport-ent-fips environment: AWS_ACCESS_KEY_ID: from_secret: AWS_ACCESS_KEY_ID @@ -17081,12 +19139,12 @@ steps: - Assume ECR - staging AWS Role - Assume ECR - authenticated-pull AWS Role - Assume ECR - production AWS Role -- name: Download Teleport Dockerfile to "/go/build/Dockerfile-teleport-ent" for teleport-ent +- name: Download Dockerfile for teleport-ent-fips image: alpine commands: - apk add curl - - mkdir -pv $(dirname "/go/build/Dockerfile-teleport-ent") - - curl -Ls -o "/go/build/Dockerfile-teleport-ent" "https://raw.githubusercontent.com/gravitational/teleport/v$(cat + - mkdir -pv $(dirname "/go/build/Dockerfile-teleport-ent-fips") + - curl -Ls -o "/go/build/Dockerfile-teleport-ent-fips" "https://raw.githubusercontent.com/gravitational/teleport/v$(cat '/go/vars/full-version-v9')/build.assets/charts/Dockerfile" depends_on: - Find the latest available semver for v9 @@ -17097,129 +19155,7 @@ steps: - Assume ECR - staging AWS Role - Assume ECR - authenticated-pull AWS Role - Assume ECR - production AWS Role -- name: Download "teleport-ent_v9-tag_amd64.deb" artifacts from S3 - image: amazon/aws-cli - commands: - - END_TIME=$(( $(date +%s) + 3600 )) - - TIMED_OUT=true - - while [ $(date +%s) -lt $${END_TIME?} ]; do - - SUCCESS=true - - aws s3 ls s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/ | tr - -s ' ' | cut -d' ' -f 4 | grep -x teleport-ent_$(cat "/go/var/full-version")_amd64.deb - || SUCCESS=false - - '[ "$SUCCESS" = "true" ] && TIMED_OUT=false && break;' - - echo 'Condition not met yet, waiting another 60 seconds...' - - sleep 60 - - done - - '[ $${TIMED_OUT?} = true ] && echo ''Timed out while waiting for condition: [ - "$SUCCESS" = "true" ]'' && exit 1' - - mkdir -pv "/go/build" - - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport-ent_$(cat - "/go/var/full-version")_amd64.deb /go/build/teleport-ent_$(cat "/go/var/full-version")_amd64.deb - environment: - AWS_PROFILE: s3-download-teleport-ent - AWS_REGION: us-west-2 - AWS_S3_BUCKET: - from_secret: AWS_S3_BUCKET - volumes: - - name: awsconfig - path: /root/.aws - depends_on: - - Assume S3 Download AWS Role for teleport-ent - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport-ent" for teleport-ent -- name: Build teleport-ent image "teleport-ent:v9-amd64" - image: docker - commands: - - docker run --privileged --rm tonistiigi/binfmt --install all - - mkdir -pv "/go/build" && cd "/go/build" - - mkdir -pv "/tmp/teleport-ent-v9-amd64-builder" - - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-ent-v9-amd64-builder/buildkitd.toml" - - echo ' http = true' >> "/tmp/teleport-ent-v9-amd64-builder/buildkitd.toml" - - docker buildx create --driver "docker-container" --driver-opt "network=host" --name - "teleport-ent-v9-amd64-builder" --config "/tmp/teleport-ent-v9-amd64-builder/buildkitd.toml" - - apk add --no-cache aws-cli - - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin - public.ecr.aws - - docker buildx build --push --builder "teleport-ent-v9-amd64-builder" --target - "teleport" --platform "linux/amd64" --tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-amd64 --file "/go/build/Dockerfile-teleport-ent" --build-arg - DEB_PATH=teleport-ent_$(cat "/go/var/full-version")_amd64.deb /go/build - - docker logout "public.ecr.aws" - - docker buildx rm "teleport-ent-v9-amd64-builder" - - rm -rf "/tmp/teleport-ent-v9-amd64-builder" - environment: - AWS_PROFILE: ecr-authenticated-pull - DOCKER_BUILDKIT: "1" - volumes: - - name: awsconfig - path: /root/.aws - - name: dockersock - path: /var/run - depends_on: - - Assume ECR - authenticated-pull AWS Role - - Download "teleport-ent_v9-tag_amd64.deb" artifacts from S3 -- name: Download "teleport-ent_v9-tag_arm.deb" artifacts from S3 - image: amazon/aws-cli - commands: - - END_TIME=$(( $(date +%s) + 3600 )) - - TIMED_OUT=true - - while [ $(date +%s) -lt $${END_TIME?} ]; do - - SUCCESS=true - - aws s3 ls s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/ | tr - -s ' ' | cut -d' ' -f 4 | grep -x teleport-ent_$(cat "/go/var/full-version")_arm.deb - || SUCCESS=false - - '[ "$SUCCESS" = "true" ] && TIMED_OUT=false && break;' - - echo 'Condition not met yet, waiting another 60 seconds...' - - sleep 60 - - done - - '[ $${TIMED_OUT?} = true ] && echo ''Timed out while waiting for condition: [ - "$SUCCESS" = "true" ]'' && exit 1' - - mkdir -pv "/go/build" - - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport-ent_$(cat - "/go/var/full-version")_arm.deb /go/build/teleport-ent_$(cat "/go/var/full-version")_arm.deb - environment: - AWS_PROFILE: s3-download-teleport-ent - AWS_REGION: us-west-2 - AWS_S3_BUCKET: - from_secret: AWS_S3_BUCKET - volumes: - - name: awsconfig - path: /root/.aws - depends_on: - - Assume S3 Download AWS Role for teleport-ent - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport-ent" for teleport-ent -- name: Build teleport-ent image "teleport-ent:v9-arm" - image: docker - commands: - - docker run --privileged --rm tonistiigi/binfmt --install all - - mkdir -pv "/go/build" && cd "/go/build" - - mkdir -pv "/tmp/teleport-ent-v9-arm-builder" - - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-ent-v9-arm-builder/buildkitd.toml" - - echo ' http = true' >> "/tmp/teleport-ent-v9-arm-builder/buildkitd.toml" - - docker buildx create --driver "docker-container" --driver-opt "network=host" --name - "teleport-ent-v9-arm-builder" --config "/tmp/teleport-ent-v9-arm-builder/buildkitd.toml" - - apk add --no-cache aws-cli - - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin - public.ecr.aws - - docker buildx build --push --builder "teleport-ent-v9-arm-builder" --target "teleport" - --platform "linux/arm" --tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - --file "/go/build/Dockerfile-teleport-ent" --build-arg DEB_PATH=teleport-ent_$(cat - "/go/var/full-version")_arm.deb /go/build - - docker logout "public.ecr.aws" - - docker buildx rm "teleport-ent-v9-arm-builder" - - rm -rf "/tmp/teleport-ent-v9-arm-builder" - environment: - AWS_PROFILE: ecr-authenticated-pull - DOCKER_BUILDKIT: "1" - volumes: - - name: awsconfig - path: /root/.aws - - name: dockersock - path: /var/run - depends_on: - - Assume ECR - authenticated-pull AWS Role - - Download "teleport-ent_v9-tag_arm.deb" artifacts from S3 -- name: Download "teleport-ent_v9-tag_arm64.deb" artifacts from S3 +- name: Download "teleport-ent_v9-tag-fips_amd64.deb" artifacts from S3 image: amazon/aws-cli commands: - END_TIME=$(( $(date +%s) + 3600 )) @@ -17227,7 +19163,7 @@ steps: - while [ $(date +%s) -lt $${END_TIME?} ]; do - SUCCESS=true - aws s3 ls s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/ | tr - -s ' ' | cut -d' ' -f 4 | grep -x teleport-ent_$(cat "/go/var/full-version")_arm64.deb + -s ' ' | cut -d' ' -f 4 | grep -x teleport-ent_$(cat "/go/var/full-version")-fips_amd64.deb || SUCCESS=false - '[ "$SUCCESS" = "true" ] && TIMED_OUT=false && break;' - echo 'Condition not met yet, waiting another 60 seconds...' @@ -17237,9 +19173,9 @@ steps: "$SUCCESS" = "true" ]'' && exit 1' - mkdir -pv "/go/build" - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport-ent_$(cat - "/go/var/full-version")_arm64.deb /go/build/teleport-ent_$(cat "/go/var/full-version")_arm64.deb + "/go/var/full-version")-fips_amd64.deb /go/build/teleport-ent_$(cat "/go/var/full-version")-fips_amd64.deb environment: - AWS_PROFILE: s3-download-teleport-ent + AWS_PROFILE: s3-download-teleport-ent-fips AWS_REGION: us-west-2 AWS_S3_BUCKET: from_secret: AWS_S3_BUCKET @@ -17247,190 +19183,67 @@ steps: - name: awsconfig path: /root/.aws depends_on: - - Assume S3 Download AWS Role for teleport-ent - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport-ent" for teleport-ent -- name: Build teleport-ent image "teleport-ent:v9-arm64" - image: docker - commands: - - docker run --privileged --rm tonistiigi/binfmt --install all - - mkdir -pv "/go/build" && cd "/go/build" - - mkdir -pv "/tmp/teleport-ent-v9-arm64-builder" - - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-ent-v9-arm64-builder/buildkitd.toml" - - echo ' http = true' >> "/tmp/teleport-ent-v9-arm64-builder/buildkitd.toml" - - docker buildx create --driver "docker-container" --driver-opt "network=host" --name - "teleport-ent-v9-arm64-builder" --config "/tmp/teleport-ent-v9-arm64-builder/buildkitd.toml" - - apk add --no-cache aws-cli - - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin - public.ecr.aws - - docker buildx build --push --builder "teleport-ent-v9-arm64-builder" --target - "teleport" --platform "linux/arm64" --tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm64 --file "/go/build/Dockerfile-teleport-ent" --build-arg - DEB_PATH=teleport-ent_$(cat "/go/var/full-version")_arm64.deb /go/build - - docker logout "public.ecr.aws" - - docker buildx rm "teleport-ent-v9-arm64-builder" - - rm -rf "/tmp/teleport-ent-v9-arm64-builder" - environment: - AWS_PROFILE: ecr-authenticated-pull - DOCKER_BUILDKIT: "1" - volumes: - - name: awsconfig - path: /root/.aws - - name: dockersock - path: /var/run - depends_on: - - Assume ECR - authenticated-pull AWS Role - - Download "teleport-ent_v9-tag_arm64.deb" artifacts from S3 -- name: Tag and push image "teleport-ent:v9-amd64" to ECR - staging - image: docker - commands: - - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-amd64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-amd64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-amd64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" - environment: - AWS_PROFILE: ecr-staging - volumes: - - name: awsconfig - path: /root/.aws - - name: dockersock - path: /var/run - depends_on: - - Build teleport-ent image "teleport-ent:v9-amd64" -- name: Tag and push image "teleport-ent:v9-arm" to ECR - staging - image: docker - commands: - - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-arm && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-arm) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-arm && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-arm) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" - environment: - AWS_PROFILE: ecr-staging - volumes: - - name: awsconfig - path: /root/.aws - - name: dockersock - path: /var/run - depends_on: - - Build teleport-ent image "teleport-ent:v9-arm" -- name: Tag and push image "teleport-ent:v9-arm64" to ECR - staging - image: docker - commands: - - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-arm64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-arm64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-arm64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-arm64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" - environment: - AWS_PROFILE: ecr-staging - volumes: - - name: awsconfig - path: /root/.aws - - name: dockersock - path: /var/run - depends_on: - - Build teleport-ent image "teleport-ent:v9-arm64" -- name: Create manifest and push "teleport-ent:major-$TIMESTAMP" to ECR - staging + - Assume S3 Download AWS Role for teleport-ent-fips + - Download Dockerfile for teleport-ent-fips +- name: Build teleport-ent-fips image "teleport-ent:v9-fips-amd64" image: docker commands: + - docker run --privileged --rm tonistiigi/binfmt --install all + - mkdir -pv "/go/build" && cd "/go/build" + - mkdir -pv "/tmp/teleport-ent-v9-fips-amd64-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-ent-v9-fips-amd64-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-ent-v9-fips-amd64-builder/buildkitd.toml" + - docker buildx create --driver "docker-container" --driver-opt "network=host" --name + "teleport-ent-v9-fips-amd64-builder" --config "/tmp/teleport-ent-v9-fips-amd64-builder/buildkitd.toml" - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com - - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker buildx build --push --builder "teleport-ent-v9-fips-amd64-builder" --target + "teleport-fips" --platform "linux/amd64" --tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-fips-amd64 --file "/go/build/Dockerfile-teleport-ent-fips" + --build-arg DEB_PATH=teleport-ent_$(cat "/go/var/full-version")-fips_amd64.deb + /go/build + - docker logout "public.ecr.aws" + - docker buildx rm "teleport-ent-v9-fips-amd64-builder" + - rm -rf "/tmp/teleport-ent-v9-fips-amd64-builder" environment: - AWS_PROFILE: ecr-staging + AWS_PROFILE: ecr-authenticated-pull + DOCKER_BUILDKIT: "1" volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v9-amd64" to ECR - staging - - Tag and push image "teleport-ent:v9-arm" to ECR - staging - - Tag and push image "teleport-ent:v9-arm64" to ECR - staging -- name: Create manifest and push "teleport-ent:minor-$TIMESTAMP" to ECR - staging + - Assume ECR - authenticated-pull AWS Role + - Download "teleport-ent_v9-tag-fips_amd64.deb" artifacts from S3 +- name: Tag and push image "teleport-ent:v9-fips-amd64" to ECR - staging image: docker commands: + - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-fips-amd64 > /dev/null 2>&1 && echo 'Found + existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-fips-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-fips-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-fips-amd64) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-fips-amd64 > /dev/null 2>&1 && echo 'Found + existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-fips-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-fips-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-fips-amd64) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-fips-amd64 > /dev/null 2>&1 && echo 'Found + existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat + "/go/var/full-version")-fips-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-fips-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-fips-amd64) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -17439,25 +19252,21 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v9-amd64" to ECR - staging - - Tag and push image "teleport-ent:v9-arm" to ECR - staging - - Tag and push image "teleport-ent:v9-arm64" to ECR - staging -- name: Create manifest and push "teleport-ent:full-$TIMESTAMP" to ECR - staging + - Build teleport-ent-fips image "teleport-ent:v9-fips-amd64" +- name: Create manifest and push "teleport-ent:major-$TIMESTAMP-fips" to ECR - staging image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-fips > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-fips --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-fips-amd64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/major-version")-$TIMESTAMP-fips) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -17466,185 +19275,161 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v9-amd64" to ECR - staging - - Tag and push image "teleport-ent:v9-arm" to ECR - staging - - Tag and push image "teleport-ent:v9-arm64" to ECR - staging -- name: Tag and push image "teleport-ent:v9-amd64" to Quay + - Tag and push image "teleport-ent:v9-fips-amd64" to ECR - staging +- name: Create manifest and push "teleport-ent:minor-$TIMESTAMP-fips" to ECR - staging image: docker commands: - - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-amd64 - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-amd64 quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-amd64 - && docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-amd64) - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-amd64 - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-amd64 - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-amd64 - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-amd64 - - docker logout "quay.io" + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-fips > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-fips --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-fips-amd64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/minor-version")-$TIMESTAMP-fips) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: - QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD - QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + AWS_PROFILE: ecr-staging volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Build teleport-ent image "teleport-ent:v9-amd64" -- name: Tag and push image "teleport-ent:v9-arm" to Quay + - Tag and push image "teleport-ent:v9-fips-amd64" to ECR - staging +- name: Create manifest and push "teleport-ent:full-$TIMESTAMP-fips" to ECR - staging image: docker commands: - - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm - && docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm) - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm - - docker logout "quay.io" + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-fips > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-fips --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-fips-amd64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-$TIMESTAMP-fips) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: - QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD - QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + AWS_PROFILE: ecr-staging volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Build teleport-ent image "teleport-ent:v9-arm" -- name: Tag and push image "teleport-ent:v9-arm64" to Quay + - Tag and push image "teleport-ent:v9-fips-amd64" to ECR - staging +- name: Tag and push image "teleport-ent:v9-fips-amd64" to Quay image: docker commands: - - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 + - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm64 + - docker manifest inspect quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm64 quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm64 - && docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm64) - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm64 - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm64 - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm64 - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm64 + "/go/var/full-version")-fips-amd64 quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + && docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips-amd64) + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 + - docker push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Build teleport-ent image "teleport-ent:v9-arm64" -- name: Create manifest and push "teleport-ent:major" to Quay + - Build teleport-ent-fips image "teleport-ent:v9-fips-amd64" +- name: Create manifest and push "teleport-ent:major-fips" to Quay image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version") - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-amd64 - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm64 - - docker manifest push quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version") + - docker manifest create quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-fips + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 + - docker manifest push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/major-version")-fips - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v9-amd64" to Quay - - Tag and push image "teleport-ent:v9-arm" to Quay - - Tag and push image "teleport-ent:v9-arm64" to Quay -- name: Create manifest and push "teleport-ent:minor" to Quay + - Tag and push image "teleport-ent:v9-fips-amd64" to Quay +- name: Create manifest and push "teleport-ent:minor-fips" to Quay image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version") - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-amd64 - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm64 - - docker manifest push quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version") + - docker manifest create quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-fips + --amend quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 + - docker manifest push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/minor-version")-fips - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v9-amd64" to Quay - - Tag and push image "teleport-ent:v9-arm" to Quay - - Tag and push image "teleport-ent:v9-arm64" to Quay -- name: Create manifest and push "teleport-ent:full" to Quay + - Tag and push image "teleport-ent:v9-fips-amd64" to Quay +- name: Create manifest and push "teleport-ent:full-fips" to Quay image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version") + - docker manifest inspect quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version") --amend - quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-amd64 --amend - quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm --amend quay.io/gravitational/teleport-ent:$(cat - "/go/var/full-version")-arm64 && docker manifest push quay.io/gravitational/teleport-ent:$(cat - "/go/var/full-version")) + create quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips --amend + quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 && + docker manifest push quay.io/fred_heinecke/teleport-ent:$(cat "/go/var/full-version")-fips) - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v9-amd64" to Quay - - Tag and push image "teleport-ent:v9-arm" to Quay - - Tag and push image "teleport-ent:v9-arm64" to Quay -- name: Tag and push image "teleport-ent:v9-amd64" to ECR - production + - Tag and push image "teleport-ent:v9-fips-amd64" to Quay +- name: Tag and push image "teleport-ent:v9-fips-amd64" to ECR - production image: docker commands: - - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 + - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-amd64 + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-amd64 public.ecr.aws/gravitational/teleport-ent:$(cat - "/go/var/full-version")-amd64 && docker push public.ecr.aws/gravitational/teleport-ent:$(cat - "/go/var/full-version")-amd64) - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-amd64 - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-amd64 - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-amd64 - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-amd64 - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-amd64 + "/go/var/full-version")-fips-amd64 public.ecr.aws/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-fips-amd64 && docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat + "/go/var/full-version")-fips-amd64) + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 + - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -17654,24 +19439,16 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport-ent image "teleport-ent:v9-amd64" -- name: Tag and push image "teleport-ent:v9-arm" to ECR - production + - Build teleport-ent-fips image "teleport-ent:v9-fips-amd64" +- name: Create manifest and push "teleport-ent:major-fips" to ECR - production image: docker commands: - - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm - && docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm) - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-fips + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/major-version")-fips - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -17681,25 +19458,16 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport-ent image "teleport-ent:v9-arm" -- name: Tag and push image "teleport-ent:v9-arm64" to ECR - production + - Tag and push image "teleport-ent:v9-fips-amd64" to ECR - production +- name: Create manifest and push "teleport-ent:minor-fips" to ECR - production image: docker commands: - - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm64 - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-arm64 public.ecr.aws/gravitational/teleport-ent:$(cat - "/go/var/full-version")-arm64 && docker push public.ecr.aws/gravitational/teleport-ent:$(cat - "/go/var/full-version")-arm64) - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm64 - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm64 - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-arm64 - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm64 - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm64 + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-fips + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/minor-version")-fips - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -17709,18 +19477,18 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport-ent image "teleport-ent:v9-arm64" -- name: Create manifest and push "teleport-ent:major" to ECR - production + - Tag and push image "teleport-ent:v9-fips-amd64" to ECR - production +- name: Create manifest and push "teleport-ent:full-fips" to ECR - production image: docker commands: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version") - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-amd64 - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-arm64 - - docker manifest push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version") + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest + create public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips + --amend public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + && docker manifest push public.ecr.aws/u8j2q1d9/teleport-ent:$(cat "/go/var/full-version")-fips) - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -17730,99 +19498,116 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v9-amd64" to ECR - production - - Tag and push image "teleport-ent:v9-arm" to ECR - production - - Tag and push image "teleport-ent:v9-arm64" to ECR - production -- name: Create manifest and push "teleport-ent:minor" to ECR - production + - Tag and push image "teleport-ent:v9-fips-amd64" to ECR - production +- name: Build teleport-operator image "teleport-operator:v9-amd64" image: docker commands: + - docker run --privileged --rm tonistiigi/binfmt --install all + - mkdir -pv "/go/src/github.com/gravitational/teleport" && cd "/go/src/github.com/gravitational/teleport" + - mkdir -pv "/tmp/teleport-operator-v9-amd64-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-operator-v9-amd64-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-operator-v9-amd64-builder/buildkitd.toml" + - docker buildx create --driver "docker-container" --driver-opt "network=host" --name + "teleport-operator-v9-amd64-builder" --config "/tmp/teleport-operator-v9-amd64-builder/buildkitd.toml" - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version") - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-amd64 - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-arm64 - - docker manifest push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version") + - docker buildx build --push --builder "teleport-operator-v9-amd64-builder" --platform + "linux/amd64" --tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 + --file "/go/src/github.com/gravitational/teleport/operator/Dockerfile" --build-arg + BUILDBOX=public.ecr.aws/gravitational/teleport-buildbox:teleport11 --build-arg + COMPILER_NAME=x86_64-linux-gnu-gcc /go/src/github.com/gravitational/teleport - docker logout "public.ecr.aws" + - docker buildx rm "teleport-operator-v9-amd64-builder" + - rm -rf "/tmp/teleport-operator-v9-amd64-builder" environment: - AWS_PROFILE: ecr-production + AWS_PROFILE: ecr-authenticated-pull + DOCKER_BUILDKIT: "1" volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v9-amd64" to ECR - production - - Tag and push image "teleport-ent:v9-arm" to ECR - production - - Tag and push image "teleport-ent:v9-arm64" to ECR - production -- name: Create manifest and push "teleport-ent:full" to ECR - production + - Assume ECR - authenticated-pull AWS Role + - Find the latest available semver for v9 + - Wait for docker + - Wait for docker registry + - Check out code + - Build major, minor, and full semvers + - Assume ECR - staging AWS Role + - Assume ECR - authenticated-pull AWS Role + - Assume ECR - production AWS Role +- name: Build teleport-operator image "teleport-operator:v9-arm" image: docker commands: + - docker run --privileged --rm tonistiigi/binfmt --install all + - mkdir -pv "/go/src/github.com/gravitational/teleport" && cd "/go/src/github.com/gravitational/teleport" + - mkdir -pv "/tmp/teleport-operator-v9-arm-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-operator-v9-arm-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-operator-v9-arm-builder/buildkitd.toml" + - docker buildx create --driver "docker-container" --driver-opt "network=host" --name + "teleport-operator-v9-arm-builder" --config "/tmp/teleport-operator-v9-arm-builder/buildkitd.toml" - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version") - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version") - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-amd64 - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-arm64 - && docker manifest push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")) + - docker buildx build --push --builder "teleport-operator-v9-arm-builder" --platform + "linux/arm" --tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm + --file "/go/src/github.com/gravitational/teleport/operator/Dockerfile" --build-arg + BUILDBOX=public.ecr.aws/gravitational/teleport-buildbox-arm:teleport11 --build-arg + COMPILER_NAME=arm-linux-gnueabihf-gcc /go/src/github.com/gravitational/teleport - docker logout "public.ecr.aws" + - docker buildx rm "teleport-operator-v9-arm-builder" + - rm -rf "/tmp/teleport-operator-v9-arm-builder" environment: - AWS_PROFILE: ecr-production + AWS_PROFILE: ecr-authenticated-pull + DOCKER_BUILDKIT: "1" volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v9-amd64" to ECR - production - - Tag and push image "teleport-ent:v9-arm" to ECR - production - - Tag and push image "teleport-ent:v9-arm64" to ECR - production -- name: Assume S3 Download AWS Role for teleport-ent-fips - image: amazon/aws-cli + - Assume ECR - authenticated-pull AWS Role + - Find the latest available semver for v9 + - Wait for docker + - Wait for docker registry + - Check out code + - Build major, minor, and full semvers + - Assume ECR - staging AWS Role + - Assume ECR - authenticated-pull AWS Role + - Assume ECR - production AWS Role +- name: Build teleport-operator image "teleport-operator:v9-arm64" + image: docker commands: - - aws sts get-caller-identity - - |- - printf "[s3-download-teleport-ent-fips]\naws_access_key_id = %s\naws_secret_access_key = %s\naws_session_token = %s\n" \ - $(aws sts assume-role \ - --role-arn "$AWS_ROLE" \ - --role-session-name $(echo "drone-${DRONE_REPO}-${DRONE_BUILD_NUMBER}" | sed "s|/|-|g") \ - --query "Credentials.[AccessKeyId,SecretAccessKey,SessionToken]" \ - --output text) \ - >> /root/.aws/credentials - - unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY - - aws sts get-caller-identity --profile s3-download-teleport-ent-fips - environment: - AWS_ACCESS_KEY_ID: - from_secret: AWS_ACCESS_KEY_ID - AWS_ROLE: - from_secret: AWS_ROLE - AWS_SECRET_ACCESS_KEY: - from_secret: AWS_SECRET_ACCESS_KEY + - docker run --privileged --rm tonistiigi/binfmt --install all + - mkdir -pv "/go/src/github.com/gravitational/teleport" && cd "/go/src/github.com/gravitational/teleport" + - mkdir -pv "/tmp/teleport-operator-v9-arm64-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-operator-v9-arm64-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-operator-v9-arm64-builder/buildkitd.toml" + - docker buildx create --driver "docker-container" --driver-opt "network=host" --name + "teleport-operator-v9-arm64-builder" --config "/tmp/teleport-operator-v9-arm64-builder/buildkitd.toml" + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker buildx build --push --builder "teleport-operator-v9-arm64-builder" --platform + "linux/arm64" --tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 + --file "/go/src/github.com/gravitational/teleport/operator/Dockerfile" --build-arg + BUILDBOX=public.ecr.aws/gravitational/teleport-buildbox-arm:teleport11 --build-arg + COMPILER_NAME=aarch64-linux-gnu-gcc /go/src/github.com/gravitational/teleport + - docker logout "public.ecr.aws" + - docker buildx rm "teleport-operator-v9-arm64-builder" + - rm -rf "/tmp/teleport-operator-v9-arm64-builder" + environment: + AWS_PROFILE: ecr-authenticated-pull + DOCKER_BUILDKIT: "1" volumes: - name: awsconfig path: /root/.aws + - name: dockersock + path: /var/run depends_on: - - Find the latest available semver for v9 - - Wait for docker - - Wait for docker registry - - Check out code - - Build major, minor, and full semvers - - Assume ECR - staging AWS Role - Assume ECR - authenticated-pull AWS Role - - Assume ECR - production AWS Role -- name: Download Teleport Dockerfile to "/go/build/Dockerfile-teleport-ent-fips" for - teleport-ent-fips - image: alpine - commands: - - apk add curl - - mkdir -pv $(dirname "/go/build/Dockerfile-teleport-ent-fips") - - curl -Ls -o "/go/build/Dockerfile-teleport-ent-fips" "https://raw.githubusercontent.com/gravitational/teleport/v$(cat - '/go/vars/full-version-v9')/build.assets/charts/Dockerfile" - depends_on: - Find the latest available semver for v9 - Wait for docker - Wait for docker registry @@ -17831,95 +19616,105 @@ steps: - Assume ECR - staging AWS Role - Assume ECR - authenticated-pull AWS Role - Assume ECR - production AWS Role -- name: Download "teleport-ent_v9-tag-fips_amd64.deb" artifacts from S3 - image: amazon/aws-cli +- name: Tag and push image "teleport-operator:v9-amd64" to ECR - staging + image: docker commands: - - END_TIME=$(( $(date +%s) + 3600 )) - - TIMED_OUT=true - - while [ $(date +%s) -lt $${END_TIME?} ]; do - - SUCCESS=true - - aws s3 ls s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/ | tr - -s ' ' | cut -d' ' -f 4 | grep -x teleport-ent_$(cat "/go/var/full-version")-fips_amd64.deb - || SUCCESS=false - - '[ "$SUCCESS" = "true" ] && TIMED_OUT=false && break;' - - echo 'Condition not met yet, waiting another 60 seconds...' - - sleep 60 - - done - - '[ $${TIMED_OUT?} = true ] && echo ''Timed out while waiting for condition: [ - "$SUCCESS" = "true" ]'' && exit 1' - - mkdir -pv "/go/build" - - aws s3 cp s3://$AWS_S3_BUCKET/teleport/tag/$(cat "/go/var/full-version")/teleport-ent_$(cat - "/go/var/full-version")-fips_amd64.deb /go/build/teleport-ent_$(cat "/go/var/full-version")-fips_amd64.deb + - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 + - apk add --no-cache aws-cli + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: - AWS_PROFILE: s3-download-teleport-ent-fips - AWS_REGION: us-west-2 - AWS_S3_BUCKET: - from_secret: AWS_S3_BUCKET + AWS_PROFILE: ecr-staging volumes: - name: awsconfig path: /root/.aws + - name: dockersock + path: /var/run depends_on: - - Assume S3 Download AWS Role for teleport-ent-fips - - Download Teleport Dockerfile to "/go/build/Dockerfile-teleport-ent-fips" for teleport-ent-fips -- name: Build teleport-ent-fips image "teleport-ent:v9-fips-amd64" + - Build teleport-operator image "teleport-operator:v9-amd64" +- name: Tag and push image "teleport-operator:v9-arm" to ECR - staging image: docker commands: - - docker run --privileged --rm tonistiigi/binfmt --install all - - mkdir -pv "/go/build" && cd "/go/build" - - mkdir -pv "/tmp/teleport-ent-v9-fips-amd64-builder" - - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-ent-v9-fips-amd64-builder/buildkitd.toml" - - echo ' http = true' >> "/tmp/teleport-ent-v9-fips-amd64-builder/buildkitd.toml" - - docker buildx create --driver "docker-container" --driver-opt "network=host" --name - "teleport-ent-v9-fips-amd64-builder" --config "/tmp/teleport-ent-v9-fips-amd64-builder/buildkitd.toml" + - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - apk add --no-cache aws-cli - - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin - public.ecr.aws - - docker buildx build --push --builder "teleport-ent-v9-fips-amd64-builder" --target - "teleport-fips" --platform "linux/amd64" --tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64 --file "/go/build/Dockerfile-teleport-ent-fips" - --build-arg DEB_PATH=teleport-ent_$(cat "/go/var/full-version")-fips_amd64.deb - /go/build - - docker logout "public.ecr.aws" - - docker buildx rm "teleport-ent-v9-fips-amd64-builder" - - rm -rf "/tmp/teleport-ent-v9-fips-amd64-builder" + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com + - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP-arm) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP-arm) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: - AWS_PROFILE: ecr-authenticated-pull - DOCKER_BUILDKIT: "1" + AWS_PROFILE: ecr-staging volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Assume ECR - authenticated-pull AWS Role - - Download "teleport-ent_v9-tag-fips_amd64.deb" artifacts from S3 -- name: Tag and push image "teleport-ent:v9-fips-amd64" to ECR - staging + - Build teleport-operator image "teleport-operator:v9-arm" +- name: Tag and push image "teleport-operator:v9-arm64" to ECR - staging image: docker commands: - - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-fips-amd64 > /dev/null 2>&1 && echo 'Found - existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-fips-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-fips-amd64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-fips-amd64 > /dev/null 2>&1 && echo 'Found - existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-fips-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-fips-amd64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-fips-amd64 > /dev/null 2>&1 && echo 'Found - existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-fips-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-fips-amd64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64) + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing + image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -17928,21 +19723,23 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport-ent-fips image "teleport-ent:v9-fips-amd64" -- name: Create manifest and push "teleport-ent:major-$TIMESTAMP-fips" to ECR - staging + - Build teleport-operator image "teleport-operator:v9-arm64" +- name: Create manifest and push "teleport-operator:major-$TIMESTAMP" to ECR - staging image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-fips > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-fips --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-fips-amd64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/major-version")-$TIMESTAMP-fips) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/major-version")-$TIMESTAMP) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -17951,21 +19748,25 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v9-fips-amd64" to ECR - staging -- name: Create manifest and push "teleport-ent:minor-$TIMESTAMP-fips" to ECR - staging + - Tag and push image "teleport-operator:v9-amd64" to ECR - staging + - Tag and push image "teleport-operator:v9-arm" to ECR - staging + - Tag and push image "teleport-operator:v9-arm64" to ECR - staging +- name: Create manifest and push "teleport-operator:minor-$TIMESTAMP" to ECR - staging image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-fips > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-fips --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-fips-amd64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/minor-version")-$TIMESTAMP-fips) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/minor-version")-$TIMESTAMP) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -17974,21 +19775,25 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v9-fips-amd64" to ECR - staging -- name: Create manifest and push "teleport-ent:full-$TIMESTAMP-fips" to ECR - staging + - Tag and push image "teleport-operator:v9-amd64" to ECR - staging + - Tag and push image "teleport-operator:v9-arm" to ECR - staging + - Tag and push image "teleport-operator:v9-arm64" to ECR - staging +- name: Create manifest and push "teleport-operator:full-$TIMESTAMP" to ECR - staging image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-fips > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-fips --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-fips-amd64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-ent:$(cat - "/go/var/full-version")-$TIMESTAMP-fips) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-$TIMESTAMP) + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -17997,115 +19802,240 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v9-fips-amd64" to ECR - staging -- name: Tag and push image "teleport-ent:v9-fips-amd64" to Quay + - Tag and push image "teleport-operator:v9-amd64" to ECR - staging + - Tag and push image "teleport-operator:v9-arm" to ECR - staging + - Tag and push image "teleport-operator:v9-arm64" to ECR - staging +- name: Tag and push image "teleport-operator:v9-amd64" to Quay image: docker commands: - - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64 quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - && docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips-amd64) - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 - - docker push quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 + - docker manifest inspect quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-amd64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-amd64 quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-amd64 + && docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-amd64) + - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-amd64 + - docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-amd64 + - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-amd64 + - docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-amd64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Build teleport-ent-fips image "teleport-ent:v9-fips-amd64" -- name: Create manifest and push "teleport-ent:major-fips" to Quay + - Build teleport-operator image "teleport-operator:v9-amd64" +- name: Tag and push image "teleport-operator:v9-arm" to Quay image: docker commands: + - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 - - docker manifest push quay.io/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips + - docker manifest inspect quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-arm quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm + && docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm) + - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-arm + - docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-arm + - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-arm + - docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-arm - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v9-fips-amd64" to Quay -- name: Create manifest and push "teleport-ent:minor-fips" to Quay + - Build teleport-operator image "teleport-operator:v9-arm" +- name: Tag and push image "teleport-operator:v9-arm64" to Quay image: docker commands: + - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips - --amend quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 - - docker manifest push quay.io/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips + - docker manifest inspect quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-arm64 quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm64 + && docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm64) + - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-arm64 + - docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-arm64 + - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-arm64 + - docker push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-arm64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v9-fips-amd64" to Quay -- name: Create manifest and push "teleport-ent:full-fips" to Quay + - Build teleport-operator image "teleport-operator:v9-arm64" +- name: Create manifest and push "teleport-operator:major" to Quay + image: docker + commands: + - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" + - docker manifest create quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version") + --amend quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-amd64 + --amend quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-arm + --amend quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version")-arm64 + - docker manifest push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/major-version") + - docker logout "quay.io" + environment: + QUAY_PASSWORD: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD + QUAY_USERNAME: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport-operator:v9-amd64" to Quay + - Tag and push image "teleport-operator:v9-arm" to Quay + - Tag and push image "teleport-operator:v9-arm64" to Quay +- name: Create manifest and push "teleport-operator:minor" to Quay + image: docker + commands: + - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" + - docker manifest create quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version") + --amend quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-amd64 + --amend quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-arm + --amend quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version")-arm64 + - docker manifest push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/minor-version") + - docker logout "quay.io" + environment: + QUAY_PASSWORD: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD + QUAY_USERNAME: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport-operator:v9-amd64" to Quay + - Tag and push image "teleport-operator:v9-arm" to Quay + - Tag and push image "teleport-operator:v9-arm64" to Quay +- name: Create manifest and push "teleport-operator:full" to Quay image: docker commands: - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips + - docker manifest inspect quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version") > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips --amend - quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 && - docker manifest push quay.io/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips) + create quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version") --amend + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-amd64 --amend + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm --amend + quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")-arm64 && + docker manifest push quay.io/fred_heinecke/teleport-operator:$(cat "/go/var/full-version")) - docker logout "quay.io" environment: - QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD - QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + QUAY_PASSWORD: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD + QUAY_USERNAME: + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Tag and push image "teleport-operator:v9-amd64" to Quay + - Tag and push image "teleport-operator:v9-arm" to Quay + - Tag and push image "teleport-operator:v9-arm64" to Quay +- name: Tag and push image "teleport-operator:v9-amd64" to ECR - production + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-amd64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-amd64 public.ecr.aws/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-amd64 && docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-amd64) + - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-amd64 + - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-amd64 + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production + volumes: + - name: awsconfig + path: /root/.aws + - name: dockersock + path: /var/run + depends_on: + - Build teleport-operator image "teleport-operator:v9-amd64" +- name: Tag and push image "teleport-operator:v9-arm" to ECR - production + image: docker + commands: + - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm + - apk add --no-cache aws-cli + - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin + public.ecr.aws + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-arm public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm + && docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm) + - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm + public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-arm + - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm + public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-arm + - docker logout "public.ecr.aws" + environment: + AWS_PROFILE: ecr-production volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v9-fips-amd64" to Quay -- name: Tag and push image "teleport-ent:v9-fips-amd64" to ECR - production + - Build teleport-operator image "teleport-operator:v9-arm" +- name: Tag and push image "teleport-operator:v9-arm64" to ECR - production image: docker commands: - - docker pull drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 + - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64 public.ecr.aws/gravitational/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64 && docker push public.ecr.aws/gravitational/teleport-ent:$(cat - "/go/var/full-version")-fips-amd64) - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 - - docker tag drone-docker-registry:5000/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 - - docker push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat + "/go/var/full-version")-arm64 public.ecr.aws/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-arm64 && docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat + "/go/var/full-version")-arm64) + - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-arm64 + - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-arm64 - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -18115,16 +20045,18 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport-ent-fips image "teleport-ent:v9-fips-amd64" -- name: Create manifest and push "teleport-ent:major-fips" to ECR - production + - Build teleport-operator image "teleport-operator:v9-arm64" +- name: Create manifest and push "teleport-operator:major" to ECR - production image: docker commands: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips-amd64 - - docker manifest push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/major-version")-fips + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version") + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/major-version") - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -18134,16 +20066,20 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v9-fips-amd64" to ECR - production -- name: Create manifest and push "teleport-ent:minor-fips" to ECR - production + - Tag and push image "teleport-operator:v9-amd64" to ECR - production + - Tag and push image "teleport-operator:v9-arm" to ECR - production + - Tag and push image "teleport-operator:v9-arm64" to ECR - production +- name: Create manifest and push "teleport-operator:minor" to ECR - production image: docker commands: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips-amd64 - - docker manifest push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/minor-version")-fips + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version") + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/minor-version") - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -18153,18 +20089,22 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v9-fips-amd64" to ECR - production -- name: Create manifest and push "teleport-ent:full-fips" to ECR - production + - Tag and push image "teleport-operator:v9-amd64" to ECR - production + - Tag and push image "teleport-operator:v9-arm" to ECR - production + - Tag and push image "teleport-operator:v9-arm64" to ECR - production +- name: Create manifest and push "teleport-operator:full" to ECR - production image: docker commands: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version") > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips - --amend public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips-amd64 - && docker manifest push public.ecr.aws/gravitational/teleport-ent:$(cat "/go/var/full-version")-fips) + create public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version") + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")-arm64 + && docker manifest push public.ecr.aws/u8j2q1d9/teleport-operator:$(cat "/go/var/full-version")) - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -18174,28 +20114,46 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-ent:v9-fips-amd64" to ECR - production -- name: Build teleport-operator image "teleport-operator:v9-amd64" + - Tag and push image "teleport-operator:v9-amd64" to ECR - production + - Tag and push image "teleport-operator:v9-arm" to ECR - production + - Tag and push image "teleport-operator:v9-arm64" to ECR - production +- name: Download Dockerfile for teleport-lab + image: alpine + commands: + - apk add curl + - mkdir -pv $(dirname "/go/src/github.com/gravitational/teleport/docker/sshd/Dockerfile-teleport-lab") + - curl -Ls -o "/go/src/github.com/gravitational/teleport/docker/sshd/Dockerfile-teleport-lab" + "https://raw.githubusercontent.com/gravitational/teleport/v$(cat '/go/vars/full-version-v9')/docker/sshd/Dockerfile" + depends_on: + - Find the latest available semver for v9 + - Wait for docker + - Wait for docker registry + - Check out code + - Build major, minor, and full semvers + - Assume ECR - staging AWS Role + - Assume ECR - authenticated-pull AWS Role + - Assume ECR - production AWS Role +- name: Build teleport-lab image "teleport-lab:v9-amd64" image: docker commands: - docker run --privileged --rm tonistiigi/binfmt --install all - - mkdir -pv "/go/src/github.com/gravitational/teleport" && cd "/go/src/github.com/gravitational/teleport" - - mkdir -pv "/tmp/teleport-operator-v9-amd64-builder" - - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-operator-v9-amd64-builder/buildkitd.toml" - - echo ' http = true' >> "/tmp/teleport-operator-v9-amd64-builder/buildkitd.toml" + - mkdir -pv "/go/src/github.com/gravitational/teleport/docker/sshd" && cd "/go/src/github.com/gravitational/teleport/docker/sshd" + - mkdir -pv "/tmp/teleport-lab-v9-amd64-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-lab-v9-amd64-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-lab-v9-amd64-builder/buildkitd.toml" - docker buildx create --driver "docker-container" --driver-opt "network=host" --name - "teleport-operator-v9-amd64-builder" --config "/tmp/teleport-operator-v9-amd64-builder/buildkitd.toml" + "teleport-lab-v9-amd64-builder" --config "/tmp/teleport-lab-v9-amd64-builder/buildkitd.toml" - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker buildx build --push --builder "teleport-operator-v9-amd64-builder" --platform - "linux/amd64" --tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - --file "/go/src/github.com/gravitational/teleport/operator/Dockerfile" --build-arg - BUILDBOX=public.ecr.aws/gravitational/teleport-buildbox:teleport11 --build-arg - COMPILER_NAME=x86_64-linux-gnu-gcc /go/src/github.com/gravitational/teleport + - docker buildx build --push --builder "teleport-lab-v9-amd64-builder" --platform + "linux/amd64" --tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + --file "/go/src/github.com/gravitational/teleport/docker/sshd/Dockerfile-teleport-lab" + --build-arg BASE_IMAGE=drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-amd64 + /go/src/github.com/gravitational/teleport/docker/sshd - docker logout "public.ecr.aws" - - docker buildx rm "teleport-operator-v9-amd64-builder" - - rm -rf "/tmp/teleport-operator-v9-amd64-builder" + - docker buildx rm "teleport-lab-v9-amd64-builder" + - rm -rf "/tmp/teleport-lab-v9-amd64-builder" environment: AWS_PROFILE: ecr-authenticated-pull DOCKER_BUILDKIT: "1" @@ -18206,35 +20164,28 @@ steps: path: /var/run depends_on: - Assume ECR - authenticated-pull AWS Role - - Find the latest available semver for v9 - - Wait for docker - - Wait for docker registry - - Check out code - - Build major, minor, and full semvers - - Assume ECR - staging AWS Role - - Assume ECR - authenticated-pull AWS Role - - Assume ECR - production AWS Role -- name: Build teleport-operator image "teleport-operator:v9-arm" + - Build teleport image "teleport:v9-amd64" +- name: Build teleport-lab image "teleport-lab:v9-arm" image: docker commands: - docker run --privileged --rm tonistiigi/binfmt --install all - - mkdir -pv "/go/src/github.com/gravitational/teleport" && cd "/go/src/github.com/gravitational/teleport" - - mkdir -pv "/tmp/teleport-operator-v9-arm-builder" - - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-operator-v9-arm-builder/buildkitd.toml" - - echo ' http = true' >> "/tmp/teleport-operator-v9-arm-builder/buildkitd.toml" + - mkdir -pv "/go/src/github.com/gravitational/teleport/docker/sshd" && cd "/go/src/github.com/gravitational/teleport/docker/sshd" + - mkdir -pv "/tmp/teleport-lab-v9-arm-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-lab-v9-arm-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-lab-v9-arm-builder/buildkitd.toml" - docker buildx create --driver "docker-container" --driver-opt "network=host" --name - "teleport-operator-v9-arm-builder" --config "/tmp/teleport-operator-v9-arm-builder/buildkitd.toml" + "teleport-lab-v9-arm-builder" --config "/tmp/teleport-lab-v9-arm-builder/buildkitd.toml" - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker buildx build --push --builder "teleport-operator-v9-arm-builder" --platform - "linux/arm" --tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - --file "/go/src/github.com/gravitational/teleport/operator/Dockerfile" --build-arg - BUILDBOX=public.ecr.aws/gravitational/teleport-buildbox-arm:teleport11 --build-arg - COMPILER_NAME=arm-linux-gnueabihf-gcc /go/src/github.com/gravitational/teleport + - docker buildx build --push --builder "teleport-lab-v9-arm-builder" --platform + "linux/arm" --tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + --file "/go/src/github.com/gravitational/teleport/docker/sshd/Dockerfile-teleport-lab" + --build-arg BASE_IMAGE=drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm + /go/src/github.com/gravitational/teleport/docker/sshd - docker logout "public.ecr.aws" - - docker buildx rm "teleport-operator-v9-arm-builder" - - rm -rf "/tmp/teleport-operator-v9-arm-builder" + - docker buildx rm "teleport-lab-v9-arm-builder" + - rm -rf "/tmp/teleport-lab-v9-arm-builder" environment: AWS_PROFILE: ecr-authenticated-pull DOCKER_BUILDKIT: "1" @@ -18245,35 +20196,28 @@ steps: path: /var/run depends_on: - Assume ECR - authenticated-pull AWS Role - - Find the latest available semver for v9 - - Wait for docker - - Wait for docker registry - - Check out code - - Build major, minor, and full semvers - - Assume ECR - staging AWS Role - - Assume ECR - authenticated-pull AWS Role - - Assume ECR - production AWS Role -- name: Build teleport-operator image "teleport-operator:v9-arm64" + - Build teleport image "teleport:v9-arm" +- name: Build teleport-lab image "teleport-lab:v9-arm64" image: docker commands: - docker run --privileged --rm tonistiigi/binfmt --install all - - mkdir -pv "/go/src/github.com/gravitational/teleport" && cd "/go/src/github.com/gravitational/teleport" - - mkdir -pv "/tmp/teleport-operator-v9-arm64-builder" - - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-operator-v9-arm64-builder/buildkitd.toml" - - echo ' http = true' >> "/tmp/teleport-operator-v9-arm64-builder/buildkitd.toml" + - mkdir -pv "/go/src/github.com/gravitational/teleport/docker/sshd" && cd "/go/src/github.com/gravitational/teleport/docker/sshd" + - mkdir -pv "/tmp/teleport-lab-v9-arm64-builder" + - echo '[registry."drone-docker-registry:5000"]' > "/tmp/teleport-lab-v9-arm64-builder/buildkitd.toml" + - echo ' http = true' >> "/tmp/teleport-lab-v9-arm64-builder/buildkitd.toml" - docker buildx create --driver "docker-container" --driver-opt "network=host" --name - "teleport-operator-v9-arm64-builder" --config "/tmp/teleport-operator-v9-arm64-builder/buildkitd.toml" + "teleport-lab-v9-arm64-builder" --config "/tmp/teleport-lab-v9-arm64-builder/buildkitd.toml" - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker buildx build --push --builder "teleport-operator-v9-arm64-builder" --platform - "linux/arm64" --tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - --file "/go/src/github.com/gravitational/teleport/operator/Dockerfile" --build-arg - BUILDBOX=public.ecr.aws/gravitational/teleport-buildbox-arm:teleport11 --build-arg - COMPILER_NAME=aarch64-linux-gnu-gcc /go/src/github.com/gravitational/teleport + - docker buildx build --push --builder "teleport-lab-v9-arm64-builder" --platform + "linux/arm64" --tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + --file "/go/src/github.com/gravitational/teleport/docker/sshd/Dockerfile-teleport-lab" + --build-arg BASE_IMAGE=drone-docker-registry:5000/teleport:$(cat "/go/var/full-version")-arm64 + /go/src/github.com/gravitational/teleport/docker/sshd - docker logout "public.ecr.aws" - - docker buildx rm "teleport-operator-v9-arm64-builder" - - rm -rf "/tmp/teleport-operator-v9-arm64-builder" + - docker buildx rm "teleport-lab-v9-arm64-builder" + - rm -rf "/tmp/teleport-lab-v9-arm64-builder" environment: AWS_PROFILE: ecr-authenticated-pull DOCKER_BUILDKIT: "1" @@ -18284,41 +20228,34 @@ steps: path: /var/run depends_on: - Assume ECR - authenticated-pull AWS Role - - Find the latest available semver for v9 - - Wait for docker - - Wait for docker registry - - Check out code - - Build major, minor, and full semvers - - Assume ECR - staging AWS Role - - Assume ECR - authenticated-pull AWS Role - - Assume ECR - production AWS Role -- name: Tag and push image "teleport-operator:v9-amd64" to ECR - staging + - Build teleport image "teleport:v9-arm64" +- name: Tag and push image "teleport-lab:v9-amd64" to ECR - staging image: docker commands: - - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-$TIMESTAMP-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-$TIMESTAMP-amd64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/major-version")-$TIMESTAMP-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-$TIMESTAMP-amd64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-$TIMESTAMP-amd64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-amd64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/minor-version")-$TIMESTAMP-amd64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-amd64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-$TIMESTAMP-amd64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -18327,34 +20264,34 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport-operator image "teleport-operator:v9-amd64" -- name: Tag and push image "teleport-operator:v9-arm" to ECR - staging + - Build teleport-lab image "teleport-lab:v9-amd64" +- name: Tag and push image "teleport-lab:v9-arm" to ECR - staging image: docker commands: - - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-$TIMESTAMP-arm && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-$TIMESTAMP-arm) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/major-version")-$TIMESTAMP-arm && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-$TIMESTAMP-arm) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-$TIMESTAMP-arm > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-$TIMESTAMP-arm) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -18363,34 +20300,34 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport-operator image "teleport-operator:v9-arm" -- name: Tag and push image "teleport-operator:v9-arm64" to ECR - staging + - Build teleport-lab image "teleport-lab:v9-arm" +- name: Tag and push image "teleport-lab:v9-arm64" to ECR - staging image: docker commands: - - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-$TIMESTAMP-arm64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-$TIMESTAMP-arm64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/major-version")-$TIMESTAMP-arm64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-$TIMESTAMP-arm64) - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-$TIMESTAMP-arm64 > /dev/null 2>&1 && echo 'Found existing - image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm64 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm64 && docker push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm64 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64 && docker push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-$TIMESTAMP-arm64) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -18399,23 +20336,23 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport-operator image "teleport-operator:v9-arm64" -- name: Create manifest and push "teleport-operator:major-$TIMESTAMP" to ECR - staging + - Build teleport-lab image "teleport-lab:v9-arm64" +- name: Create manifest and push "teleport-lab:major-$TIMESTAMP" to ECR - staging image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/major-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/major-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/major-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/major-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/major-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -18424,25 +20361,25 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-operator:v9-amd64" to ECR - staging - - Tag and push image "teleport-operator:v9-arm" to ECR - staging - - Tag and push image "teleport-operator:v9-arm64" to ECR - staging -- name: Create manifest and push "teleport-operator:minor-$TIMESTAMP" to ECR - staging + - Tag and push image "teleport-lab:v9-amd64" to ECR - staging + - Tag and push image "teleport-lab:v9-arm" to ECR - staging + - Tag and push image "teleport-lab:v9-arm64" to ECR - staging +- name: Create manifest and push "teleport-lab:minor-$TIMESTAMP" to ECR - staging image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/minor-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/minor-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/minor-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/minor-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -18451,25 +20388,25 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-operator:v9-amd64" to ECR - staging - - Tag and push image "teleport-operator:v9-arm" to ECR - staging - - Tag and push image "teleport-operator:v9-arm64" to ECR - staging -- name: Create manifest and push "teleport-operator:full-$TIMESTAMP" to ECR - staging + - Tag and push image "teleport-lab:v9-amd64" to ECR - staging + - Tag and push image "teleport-lab:v9-arm" to ECR - staging + - Tag and push image "teleport-lab:v9-arm64" to ECR - staging +- name: Create manifest and push "teleport-lab:full-$TIMESTAMP" to ECR - staging image: docker commands: - apk add --no-cache aws-cli - - aws ecr get-login-password --region=us-west-2 | docker login -u="AWS" --password-stdin - 146628656107.dkr.ecr.us-west-2.amazonaws.com + - aws ecr get-login-password --region=us-east-2 | docker login -u="AWS" --password-stdin + 278576220453.dkr.ecr.us-east-2.amazonaws.com - TIMESTAMP=$(date -d @"$DRONE_BUILD_CREATED" '+%Y%m%d%H%M') - - docker manifest inspect 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + - docker manifest inspect 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-$TIMESTAMP > /dev/null 2>&1 && echo 'Found existing image, - skipping' || (docker manifest create 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-$TIMESTAMP --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-$TIMESTAMP-amd64 --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-$TIMESTAMP-arm --amend 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat - "/go/var/full-version")-$TIMESTAMP-arm64 && docker manifest push 146628656107.dkr.ecr.us-west-2.amazonaws.com/gravitational/teleport-operator:$(cat + skipping' || (docker manifest create 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP-amd64 --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP-arm --amend 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat + "/go/var/full-version")-$TIMESTAMP-arm64 && docker manifest push 278576220453.dkr.ecr.us-east-2.amazonaws.com/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-$TIMESTAMP) - - docker logout "146628656107.dkr.ecr.us-west-2.amazonaws.com" + - docker logout "278576220453.dkr.ecr.us-east-2.amazonaws.com" environment: AWS_PROFILE: ecr-staging volumes: @@ -18478,185 +20415,110 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-operator:v9-amd64" to ECR - staging - - Tag and push image "teleport-operator:v9-arm" to ECR - staging - - Tag and push image "teleport-operator:v9-arm64" to ECR - staging -- name: Tag and push image "teleport-operator:v9-amd64" to Quay - image: docker - commands: - - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-amd64 - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-amd64 quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-amd64 - && docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-amd64) - - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-amd64 - - docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-amd64 - - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-amd64 - - docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-amd64 - - docker logout "quay.io" - environment: - QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD - QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME - volumes: - - name: awsconfig - path: /root/.aws - - name: dockersock - path: /var/run - depends_on: - - Build teleport-operator image "teleport-operator:v9-amd64" -- name: Tag and push image "teleport-operator:v9-arm" to Quay - image: docker - commands: - - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm - && docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm) - - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm - - docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm - - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm - - docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm - - docker logout "quay.io" - environment: - QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD - QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME - volumes: - - name: awsconfig - path: /root/.aws - - name: dockersock - path: /var/run - depends_on: - - Build teleport-operator image "teleport-operator:v9-arm" -- name: Tag and push image "teleport-operator:v9-arm64" to Quay - image: docker - commands: - - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm64 - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm64 quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm64 - && docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm64) - - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm64 - - docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm64 - - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm64 - - docker push quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm64 - - docker logout "quay.io" - environment: - QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD - QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME - volumes: - - name: awsconfig - path: /root/.aws - - name: dockersock - path: /var/run - depends_on: - - Build teleport-operator image "teleport-operator:v9-arm64" -- name: Create manifest and push "teleport-operator:major" to Quay + - Tag and push image "teleport-lab:v9-amd64" to ECR - staging + - Tag and push image "teleport-lab:v9-arm" to ECR - staging + - Tag and push image "teleport-lab:v9-arm64" to ECR - staging +- name: Tag and push image "teleport-lab:v9-amd64" to Quay image: docker commands: + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version") - --amend quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-amd64 - --amend quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm - --amend quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm64 - - docker manifest push quay.io/gravitational/teleport-operator:$(cat "/go/var/major-version") + - docker manifest inspect quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-amd64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-amd64 quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-amd64 + && docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-amd64) + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/major-version")-amd64 + - docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/major-version")-amd64 + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/minor-version")-amd64 + - docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/minor-version")-amd64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-operator:v9-amd64" to Quay - - Tag and push image "teleport-operator:v9-arm" to Quay - - Tag and push image "teleport-operator:v9-arm64" to Quay -- name: Create manifest and push "teleport-operator:minor" to Quay + - Build teleport-lab image "teleport-lab:v9-amd64" +- name: Tag and push image "teleport-lab:v9-arm" to Quay image: docker commands: + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest create quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version") - --amend quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-amd64 - --amend quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm - --amend quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm64 - - docker manifest push quay.io/gravitational/teleport-operator:$(cat "/go/var/minor-version") + - docker manifest inspect quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-arm + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-arm + && docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-arm) + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/major-version")-arm + - docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/major-version")-arm + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/minor-version")-arm + - docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/minor-version")-arm - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-operator:v9-amd64" to Quay - - Tag and push image "teleport-operator:v9-arm" to Quay - - Tag and push image "teleport-operator:v9-arm64" to Quay -- name: Create manifest and push "teleport-operator:full" to Quay + - Build teleport-lab image "teleport-lab:v9-arm" +- name: Tag and push image "teleport-lab:v9-arm64" to Quay image: docker commands: + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 - docker login -u="$QUAY_USERNAME" -p="$QUAY_PASSWORD" "quay.io" - - docker manifest inspect quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version") - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version") --amend - quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-amd64 --amend - quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm --amend - quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm64 && - docker manifest push quay.io/gravitational/teleport-operator:$(cat "/go/var/full-version")) + - docker manifest inspect quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-arm64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm64 quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-arm64 + && docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/full-version")-arm64) + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/major-version")-arm64 + - docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/major-version")-arm64 + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/minor-version")-arm64 + - docker push quay.io/fred_heinecke/teleport-lab:$(cat "/go/var/minor-version")-arm64 - docker logout "quay.io" environment: QUAY_PASSWORD: - from_secret: PRODUCTION_QUAYIO_DOCKER_PASSWORD + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_PASSWORD QUAY_USERNAME: - from_secret: PRODUCTION_QUAYIO_DOCKER_USERNAME + from_secret: TEST_PRODUCTION_QUAYIO_DOCKER_USERNAME volumes: - name: awsconfig path: /root/.aws - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-operator:v9-amd64" to Quay - - Tag and push image "teleport-operator:v9-arm" to Quay - - Tag and push image "teleport-operator:v9-arm64" to Quay -- name: Tag and push image "teleport-operator:v9-amd64" to ECR - production + - Build teleport-lab image "teleport-lab:v9-arm64" +- name: Tag and push image "teleport-lab:v9-amd64" to ECR - production image: docker commands: - - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")-amd64 - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-amd64 public.ecr.aws/gravitational/teleport-operator:$(cat - "/go/var/full-version")-amd64 && docker push public.ecr.aws/gravitational/teleport-operator:$(cat - "/go/var/full-version")-amd64) - - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-amd64 - - docker push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-amd64 - - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-amd64 - public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-amd64 - - docker push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-amd64 + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-amd64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-amd64 public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-amd64 + && docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-amd64) + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-amd64 + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-amd64 + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-amd64 + - docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-amd64 - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -18666,25 +20528,24 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport-operator image "teleport-operator:v9-amd64" -- name: Tag and push image "teleport-operator:v9-arm" to ECR - production + - Build teleport-lab image "teleport-lab:v9-amd64" +- name: Tag and push image "teleport-lab:v9-arm" to ECR - production image: docker commands: - - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm public.ecr.aws/gravitational/teleport-operator:$(cat - "/go/var/full-version")-arm && docker push public.ecr.aws/gravitational/teleport-operator:$(cat - "/go/var/full-version")-arm) - - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm - - docker push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm - - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm - public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm - - docker push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm + && docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm) + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-arm + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-arm + - docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-arm - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -18694,25 +20555,24 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport-operator image "teleport-operator:v9-arm" -- name: Tag and push image "teleport-operator:v9-arm64" to ECR - production + - Build teleport-lab image "teleport-lab:v9-arm" +- name: Tag and push image "teleport-lab:v9-arm64" to ECR - production image: docker commands: - - docker pull drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 + - docker pull drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm64 - > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-operator:$(cat - "/go/var/full-version")-arm64 public.ecr.aws/gravitational/teleport-operator:$(cat - "/go/var/full-version")-arm64 && docker push public.ecr.aws/gravitational/teleport-operator:$(cat - "/go/var/full-version")-arm64) - - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm64 - - docker push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm64 - - docker tag drone-docker-registry:5000/teleport-operator:$(cat "/go/var/full-version")-arm64 - public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm64 - - docker push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm64 + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm64 + > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker tag drone-docker-registry:5000/teleport-lab:$(cat + "/go/var/full-version")-arm64 public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm64 + && docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm64) + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-arm64 + - docker tag drone-docker-registry:5000/teleport-lab:$(cat "/go/var/full-version")-arm64 + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-arm64 + - docker push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-arm64 - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -18722,18 +20582,18 @@ steps: - name: dockersock path: /var/run depends_on: - - Build teleport-operator image "teleport-operator:v9-arm64" -- name: Create manifest and push "teleport-operator:major" to ECR - production + - Build teleport-lab image "teleport-lab:v9-arm64" +- name: Create manifest and push "teleport-lab:major" to ECR - production image: docker commands: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version") - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-amd64 - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version")-arm64 - - docker manifest push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/major-version") + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version") + --amend public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/major-version") - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -18743,20 +20603,20 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-operator:v9-amd64" to ECR - production - - Tag and push image "teleport-operator:v9-arm" to ECR - production - - Tag and push image "teleport-operator:v9-arm64" to ECR - production -- name: Create manifest and push "teleport-operator:minor" to ECR - production + - Tag and push image "teleport-lab:v9-amd64" to ECR - production + - Tag and push image "teleport-lab:v9-arm" to ECR - production + - Tag and push image "teleport-lab:v9-arm64" to ECR - production +- name: Create manifest and push "teleport-lab:minor" to ECR - production image: docker commands: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest create public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version") - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-amd64 - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version")-arm64 - - docker manifest push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/minor-version") + - docker manifest create public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version") + --amend public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-amd64 + --amend public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-arm + --amend public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version")-arm64 + - docker manifest push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/minor-version") - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -18766,22 +20626,22 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-operator:v9-amd64" to ECR - production - - Tag and push image "teleport-operator:v9-arm" to ECR - production - - Tag and push image "teleport-operator:v9-arm64" to ECR - production -- name: Create manifest and push "teleport-operator:full" to ECR - production + - Tag and push image "teleport-lab:v9-amd64" to ECR - production + - Tag and push image "teleport-lab:v9-arm" to ECR - production + - Tag and push image "teleport-lab:v9-arm64" to ECR - production +- name: Create manifest and push "teleport-lab:full" to ECR - production image: docker commands: - apk add --no-cache aws-cli - aws ecr-public get-login-password --region=us-east-1 | docker login -u="AWS" --password-stdin public.ecr.aws - - docker manifest inspect public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version") + - docker manifest inspect public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version") > /dev/null 2>&1 && echo 'Found existing image, skipping' || (docker manifest - create public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version") - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")-amd64 - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm - --amend public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")-arm64 - && docker manifest push public.ecr.aws/gravitational/teleport-operator:$(cat "/go/var/full-version")) + create public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version") --amend + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-amd64 --amend + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm --amend + public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")-arm64 && docker + manifest push public.ecr.aws/u8j2q1d9/teleport-lab:$(cat "/go/var/full-version")) - docker logout "public.ecr.aws" environment: AWS_PROFILE: ecr-production @@ -18791,9 +20651,9 @@ steps: - name: dockersock path: /var/run depends_on: - - Tag and push image "teleport-operator:v9-amd64" to ECR - production - - Tag and push image "teleport-operator:v9-arm" to ECR - production - - Tag and push image "teleport-operator:v9-arm64" to ECR - production + - Tag and push image "teleport-lab:v9-amd64" to ECR - production + - Tag and push image "teleport-lab:v9-arm" to ECR - production + - Tag and push image "teleport-lab:v9-arm64" to ECR - production services: - name: Start Docker image: docker:dind @@ -18810,8 +20670,1077 @@ volumes: temp: {} - name: dockersock temp: {} + +# Padding file size +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +############################################################################################################################### +######### + + --- kind: signature -hmac: 9732eb0c3ec2fb74845174e68847320a4c2d88486209fe5326f9f89bbb07152b +hmac: bdf5a6f41eff3bc582169fa18b37942d9b2d413e84c45c5ba886cc70dec2ac69 ... diff --git a/Makefile b/Makefile index d287b292fc925..1860a58b3d0c6 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,7 @@ # Stable releases: "1.0.0" # Pre-releases: "1.0.0-alpha.1", "1.0.0-beta.2", "1.0.0-rc.3" # Master/dev branch: "1.0.0-dev" -VERSION=12.0.0-dev +VERSION=1.2.3-fred.12 DOCKER_IMAGE ?= teleport diff --git a/docker/sshd/Dockerfile b/docker/sshd/Dockerfile index 9be4c53ad22ba..0e139ef3e141f 100644 --- a/docker/sshd/Dockerfile +++ b/docker/sshd/Dockerfile @@ -1,5 +1,5 @@ -ARG TELEPORT_TAG -FROM public.ecr.aws/gravitational/teleport:${TELEPORT_TAG} +ARG BASE_IMAGE +FROM $BASE_IMAGE # Demo ansible, ssh, htop RUN apt-get update && apt-get install -y ansible ssh inetutils-syslogd htop diff --git a/dronegen/common.go b/dronegen/common.go index 6abaf2c964117..916ea8b92cf68 100644 --- a/dronegen/common.go +++ b/dronegen/common.go @@ -304,9 +304,10 @@ func waitForDockerRegistryStep() step { func verifyValidPromoteRunSteps() []step { tagStep := verifyTaggedStep() - verifyStep := verifyNotPrereleaseStep() + // verifyStep := verifyNotPrereleaseStep() - return []step{tagStep, verifyStep} + return []step{tagStep} + // return []step{tagStep, verifyStep} } func verifyTaggedStep() step { diff --git a/dronegen/container_image_products.go b/dronegen/container_image_products.go index 76781742eb7ee..e6b5f6223bf7b 100644 --- a/dronegen/container_image_products.go +++ b/dronegen/container_image_products.go @@ -31,7 +31,7 @@ type Product struct { DockerfileTarget string // Optional. Defines a dockerfile target to stop at on build. SupportedArchs []string // ISAs that the builder should produce SetupSteps []step // Product-specific, arch agnostic steps that must be ran before building an image. - ArchSetupSteps map[string][]step // Product and arch specific steps that must be ran before building an image. + ArchSetupSteps map[string][]step // Product and arch specific steps that must be ran before building an image. If commands are empty then they are treated as dependent steps. DockerfileArgBuilder func(arch string) []string // Generator that returns "docker build --arg" strings ImageBuilder func(repo *ContainerRepo, tag *ImageTag) *Image // Generator that returns an Image struct that defines what "docker build" should produce } @@ -133,12 +133,44 @@ func NewTeleportOperatorProduct(cloneDirectory string) *Product { } } +func NewTeleportLabProduct(cloneDirectory string, version *ReleaseVersion, teleport *Product) *Product { + workingDirectory := path.Join(cloneDirectory, "docker", "sshd") + name := "teleport-lab" + downloadURL := fmt.Sprintf( + "https://raw.githubusercontent.com/gravitational/teleport/%s/docker/sshd/Dockerfile", + version.ShellVersion, + ) + + setupSteps, dockerfilePath := getTeleportLabSetupSteps(name, workingDirectory, downloadURL) + + return &Product{ + Name: name, + DockerfilePath: dockerfilePath, + WorkingDirectory: workingDirectory, + SupportedArchs: teleport.SupportedArchs, + DockerfileArgBuilder: func(arch string) []string { + return []string{ + fmt.Sprintf("BASE_IMAGE=%s", teleport.GetLocalRegistryImage(arch, version).GetShellName()), + } + }, + ImageBuilder: func(repo *ContainerRepo, tag *ImageTag) *Image { + return &Image{ + Repo: repo, + Name: name, + Tag: tag, + } + }, + SetupSteps: setupSteps, + ArchSetupSteps: getTelportLabArchSetupSteps(teleport, version), + } +} + // Builds all the steps required to prepare the pipeline for building Teleport images. // Returns the setup steps, the path to the downloaded Teleport dockerfile, and the name of the // AWS profile that can be used to download artifacts from S3. func getTeleportSetupSteps(productName, workingPath, downloadURL string) ([]step, string, string) { assumeS3DownloadRoleStep, profileName := assumeS3DownloadRoleStep(productName) - downloadDockerfileStep, dockerfilePath := downloadTeleportDockerfileStep(productName, workingPath, downloadURL) + downloadDockerfileStep, dockerfilePath := downloadDockerfileStep(productName, workingPath, downloadURL) // Additional setup steps in the future should go here return []step{assumeS3DownloadRoleStep, downloadDockerfileStep}, dockerfilePath, profileName @@ -227,6 +259,24 @@ func buildTeleportDebName(version *ReleaseVersion, arch string, isEnterprise, is return debName } +// Builds all the arch-neutral steps required to prepare the pipeline for building Teleport Lab images. +// Returns the setup steps, and the path to the downloaded Teleport Lab dockerfile +func getTeleportLabSetupSteps(productName, workingPath, downloadURL string) ([]step, string) { + downloadDockerfileStep, dockerfilePath := downloadDockerfileStep(productName, workingPath, downloadURL) + // Additional setup steps should go here in the future + + return []step{downloadDockerfileStep}, dockerfilePath +} + +func getTelportLabArchSetupSteps(teleport *Product, version *ReleaseVersion) map[string][]step { + archSetupSteps := make(map[string][]step, len(teleport.SupportedArchs)) + for _, supportedArch := range teleport.SupportedArchs { + archSetupSteps[supportedArch] = []step{{Name: teleport.GetBuildStepName(supportedArch, version)}} + } + + return archSetupSteps +} + // Creates a shell loop with a timeout // commands: commands to run in a loop // successCommand: should evaluate to shell true (i.e. `[ true ]`) when the loop has succeeded @@ -258,14 +308,13 @@ func wrapCommandsInTimeout(commands []string, successCommand string, timeoutSeco return loopCommands } -// Generates a step that downloads the Teleport Dockerfile +// Generates a step that downloads a Dockerfile // Returns the generated step and the path to the downloaded Dockerfile -func downloadTeleportDockerfileStep(productName, workingPath, downloadURL string) (step, string) { - // Enterprise and fips specific dockerfiles should be configured here in the future if needed +func downloadDockerfileStep(productName, workingPath, downloadURL string) (step, string) { dockerfilePath := path.Join(workingPath, fmt.Sprintf("Dockerfile-%s", productName)) return step{ - Name: fmt.Sprintf("Download Teleport Dockerfile to %q for %s", dockerfilePath, productName), + Name: fmt.Sprintf("Download Dockerfile for %s", productName), Image: "alpine", Commands: []string{ "apk add curl", @@ -343,8 +392,10 @@ func (p *Product) buildSteps(version *ReleaseVersion, parentStepNames []string, // Collect the name of steps that are required before build, taking into account arch-specific steps setupStepNames := make([]string, 0) for _, archSetupStep := range p.ArchSetupSteps[supportedArch] { - archSetupStep.DependsOn = append(archSetupStep.DependsOn, productSetupStepNames...) - steps = append(steps, archSetupStep) + if len(archSetupStep.Commands) > 0 { + archSetupStep.DependsOn = append(archSetupStep.DependsOn, productSetupStepNames...) + steps = append(steps, archSetupStep) + } setupStepNames = append(setupStepNames, archSetupStep.Name) } if len(setupStepNames) == 0 { diff --git a/dronegen/container_images.go b/dronegen/container_images.go index f555fe0e4d2b3..58f265f69b099 100644 --- a/dronegen/container_images.go +++ b/dronegen/container_images.go @@ -34,7 +34,7 @@ func buildContainerImagePipelines() []pipeline { } if configureForPRTestingOnly { - triggers = append(triggers, NewTestTrigger(prBranch, branchMajorVersion)) + // triggers = append(triggers, NewTestTrigger(prBranch, branchMajorVersion)) } pipelines := make([]pipeline, 0, len(triggers)) diff --git a/dronegen/container_images_release_version.go b/dronegen/container_images_release_version.go index 4e9b3d1fd47a9..a7961b5597a2e 100644 --- a/dronegen/container_images_release_version.go +++ b/dronegen/container_images_release_version.go @@ -238,17 +238,25 @@ func (rv *ReleaseVersion) buildSplitSemverSteps(onlyBuildFullSemver bool) step { } func (rv *ReleaseVersion) getProducts(clonedRepoPath string) []*Product { + ossTeleport := NewTeleportProduct(false, false, rv) teleportProducts := []*Product{ - NewTeleportProduct(false, false, rv), // OSS - NewTeleportProduct(true, false, rv), // Enterprise - NewTeleportProduct(true, true, rv), // Enterprise/FIPS + ossTeleport, // OSS + NewTeleportProduct(true, false, rv), // Enterprise + NewTeleportProduct(true, true, rv), // Enterprise/FIPS } teleportOperatorProduct := NewTeleportOperatorProduct(clonedRepoPath) - products := make([]*Product, 0, len(teleportProducts)+1) + teleportLabProducts := []*Product{ + // If we want to add Enterprise and/or Enterprise/FIPS Teleport Lab support in the future + // it should be configured here + NewTeleportLabProduct(clonedRepoPath, rv, ossTeleport), + } + + products := make([]*Product, 0, len(teleportProducts)+1+len(teleportLabProducts)) products = append(products, teleportProducts...) products = append(products, teleportOperatorProduct) + products = append(products, teleportLabProducts...) return products } diff --git a/dronegen/container_images_repos.go b/dronegen/container_images_repos.go index 56255d8774e98..141f7bc445631 100644 --- a/dronegen/container_images_repos.go +++ b/dronegen/container_images_repos.go @@ -186,11 +186,25 @@ func (cr *ContainerRepo) buildSteps(buildStepDetails []*buildStepOutput, flags * // Create and push a manifest for each tag, referencing multiple architectures in the manifest for _, imageTag := range imageTags { + if buildStepDetails[0].Product.Name == "teleport-lab" { + // if cr.Name == "ECR - staging" { + // continue + // } + + if cr.Name == "Quay" { + continue + } + + // if cr.Name == "ECR - production" { + // continue + // } + } + multiarchImageTag := *imageTag multiarchImageTag.Arch = "" manifestImage := buildStepDetails[0].Product.ImageBuilder(cr, &multiarchImageTag) - manifestStepName := cr.createAndPushManifestStep(manifestImage, pushStepNames, pushedImages[imageTag]) - steps = append(steps, manifestStepName) + manifestStep := cr.createAndPushManifestStep(manifestImage, pushStepNames, pushedImages[imageTag]) + steps = append(steps, manifestStep) } return steps diff --git a/dronegen/container_images_testing.go b/dronegen/container_images_testing.go index d762165ece810..53410469be71a 100644 --- a/dronegen/container_images_testing.go +++ b/dronegen/container_images_testing.go @@ -55,12 +55,12 @@ package main // * `configureForPRTestingOnly` has been set to false, and `make dronegen` has been reran afterwords const ( - configureForPRTestingOnly bool = false + configureForPRTestingOnly bool = true testingSecretPrefix string = "TEST_" - testingQuayRegistryOrg string = "" // "fred_heinecke" + testingQuayRegistryOrg string = "fred_heinecke" testingECRRegistryOrg string = "u8j2q1d9" testingECRRegion string = "us-east-2" - prBranch string = "" // "fred/multiarch-teleport-actual-container-images" + prBranch string = "fred/multiarch-teleport-lab-container-images" testingECRDomain string = "278576220453.dkr.ecr.us-east-2.amazonaws.com" ) @@ -70,16 +70,16 @@ const ( StagingEcrRegion string = "us-west-2" ) -func NewTestTrigger(triggerBranch, testMajorVersion string) *TriggerInfo { - // baseTrigger := NewTagTrigger(testMajorVersion) - // baseTrigger := NewPromoteTrigger(testMajorVersion) - baseTrigger := NewCronTrigger([]string{testMajorVersion}) - baseTrigger.Name = "Test trigger on push" - baseTrigger.Trigger = trigger{ - Repo: triggerRef{Include: []string{"gravitational/teleport"}}, - Event: triggerRef{Include: []string{"push"}}, - Branch: triggerRef{Include: []string{triggerBranch}}, - } +// func NewTestTrigger(triggerBranch, testMajorVersion string) *TriggerInfo { +// // baseTrigger := NewTagTrigger(testMajorVersion) +// // baseTrigger := NewPromoteTrigger(testMajorVersion) +// // baseTrigger := NewCronTrigger([]string{testMajorVersion}) +// baseTrigger.Name = "Test trigger on push" +// baseTrigger.Trigger = trigger{ +// Repo: triggerRef{Include: []string{"gravitational/teleport"}}, +// Event: triggerRef{Include: []string{"push"}}, +// Branch: triggerRef{Include: []string{triggerBranch}}, +// } - return baseTrigger -} +// return baseTrigger +// }