From a41e6f17753241214fee65f07350aacb37c09fb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81ron=20Szantner?= Date: Mon, 14 Jul 2025 17:24:32 +0200 Subject: [PATCH 01/13] update build workflow --- .github/workflows/build.yml | 45 ++++++++++++++++++++++++++++--------- 1 file changed, 35 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8a2ed91..2ca0678 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,18 +1,43 @@ name: Docker Image CI on: [push] - jobs: - build: + upload-docker-image: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v1 - - name: Build & Push to Docker Hub - uses: opspresso/action-docker@master + - uses: actions/checkout@v3 + + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v2 + with: + aws-access-key-id: ${{ secrets.TRUSS_AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.TRUSS_AWS_SECRET_ACCESS_KEY }} + aws-region: us-east-2 + + - name: Login to AWS ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v1 + + - name: Build Docker image + env: + ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} + ECR_REPOSITORY: ${{ inputs.image_name }} + IMAGE_TAG: ${{ github.sha }} + GIT_HUB_PACKAGES_ACTOR: ${{ secrets.GIT_HUB_PACKAGES_ACTOR }} + GIT_HUB_PACKAGES_TOKEN: ${{ secrets.GIT_HUB_PACKAGES_TOKEN }} + DOCKERFILE_PATH: ${{ inputs.dockerfile_path }} + run: | + docker build \ + --build-arg GIT_HUB_PACKAGES_ACTOR \ + --build-arg GIT_HUB_PACKAGES_TOKEN \ + -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG \ + . -f $DOCKERFILE_PATH + + - name: Push Docker image to AWS ECR env: - USERNAME: ${{ secrets.DOCKER_USERNAME }} - PASSWORD: ${{ secrets.DOCKER_PASSWORD }} - IMAGE_NAME: "jdharrington/toolbox" - TAG_NAME: ${{ env.GITHUB_SHA }} - LATEST: "true" + ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} + ECR_REPOSITORY: ${{ inputs.image_name }} + IMAGE_TAG: ${{ github.sha }} + run: | + docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG From a4801be6f644d22ed09d7ec63adeaa260cc63836 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81ron=20Szantner?= Date: Mon, 14 Jul 2025 17:26:21 +0200 Subject: [PATCH 02/13] remove Dockerfile path input --- .github/workflows/build.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2ca0678..ccd8cd1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,13 +26,12 @@ jobs: IMAGE_TAG: ${{ github.sha }} GIT_HUB_PACKAGES_ACTOR: ${{ secrets.GIT_HUB_PACKAGES_ACTOR }} GIT_HUB_PACKAGES_TOKEN: ${{ secrets.GIT_HUB_PACKAGES_TOKEN }} - DOCKERFILE_PATH: ${{ inputs.dockerfile_path }} run: | docker build \ --build-arg GIT_HUB_PACKAGES_ACTOR \ --build-arg GIT_HUB_PACKAGES_TOKEN \ -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG \ - . -f $DOCKERFILE_PATH + . - name: Push Docker image to AWS ECR env: From 3ee27a05bc8cda03ac60eb9ee657422da9dbf2c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81ron=20Szantner?= Date: Mon, 14 Jul 2025 17:28:32 +0200 Subject: [PATCH 03/13] fix ECR_REPOSITORY input for build --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ccd8cd1..f79744b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,7 +22,7 @@ jobs: - name: Build Docker image env: ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} - ECR_REPOSITORY: ${{ inputs.image_name }} + ECR_REPOSITORY: toolbox IMAGE_TAG: ${{ github.sha }} GIT_HUB_PACKAGES_ACTOR: ${{ secrets.GIT_HUB_PACKAGES_ACTOR }} GIT_HUB_PACKAGES_TOKEN: ${{ secrets.GIT_HUB_PACKAGES_TOKEN }} From f03bf015f7bb968735f32bb0eecb052c02497a53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81ron=20Szantner?= Date: Tue, 15 Jul 2025 18:39:49 +0200 Subject: [PATCH 04/13] update Dockerfile with redis cli and recent versions --- Dockerfile | 14 ++++++++------ Makefile | 4 ++-- entrypoint.sh | 13 +++---------- 3 files changed, 13 insertions(+), 18 deletions(-) diff --git a/Dockerfile b/Dockerfile index b8715ea..5aad0b3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,23 +7,25 @@ RUN apk add --update \ && rm -rf /var/cache/apk/* # HashiCorp Vault -COPY --from=vault:latest /bin/vault /usr/bin/vault +COPY --from=hashicorp/vault:latest /bin/vault /usr/bin/vault ENV VAULT_ADDR https://vault.vault.svc:8200 ENV VAULT_SKIP_VERIFY true # HashiCorp Consul -COPY --from=consul:latest /bin/consul /usr/bin/consul +COPY --from=hashicorp/consul:latest /bin/consul /usr/bin/consul ENV CONSUL_HTTP_ADDR http://consul.vault.svc:8500 # kubectl -COPY --from=bitnami/kubectl:1.15-ol-7 /opt/bitnami/kubectl/bin/kubectl /usr/bin/kubectl +COPY --from=bitnami/kubectl:1.33.2 /opt/bitnami/kubectl/bin/kubectl /usr/bin/kubectl # AWS CLI -RUN /usr/bin/easy_install-3.8 pip && pip install awscli +RUN apk add --no-cache aws-cli -# Scuttle -COPY --from=redboxoss/scuttle:latest /scuttle /usr/bin/scuttle +# add only redis cli from redis suite +COPY --from=redis:7-alpine /usr/local/bin/redis-cli /usr/local/bin/redis-cli + +RUN chmod +x /usr/local/bin/redis-cli COPY motd /etc/motd COPY entrypoint.sh ./ diff --git a/Makefile b/Makefile index 06151cd..86bcd9b 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ build: - docker build -t jdharrington/toolbox:latest . + docker build -t 127178877223.dkr.ecr.us-east-2.amazonaws.com/toolbox:latest . push: - docker push jdharrington/toolbox:latest + docker push 127178877223.dkr.ecr.us-east-2.amazonaws.com/toolbox:latest diff --git a/entrypoint.sh b/entrypoint.sh index 6a08c01..5523fc7 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -2,16 +2,9 @@ set -e -export ENVOY_ADMIN_API="http://127.0.0.1:15000" -export ISTIO_QUIT_API="http://127.0.0.1:15020" -export START_WITHOUT_ENVOY="true" - -if [ "${ISTIO_ENABLED}" = "true" ]; then - export SCUTTLE_CMD=/usr/bin/scuttle -fi - if [ "${1}" = "" ]; then - exec ${SCUTTLE_CMD} /bin/bash -l + exec /bin/bash -l else - exec ${SCUTTLE_CMD} "$@" + exec "$@" fi +s \ No newline at end of file From 7b6895ab435e347e8ba5c4aca9b2ae0971113428 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81ron=20Szantner?= Date: Tue, 15 Jul 2025 18:45:48 +0200 Subject: [PATCH 05/13] fix ECR_REPOSITORY env var for build workflow --- .github/workflows/build.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f79744b..76134e8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,6 +1,9 @@ name: Docker Image CI on: [push] + +env: + ECR_REPOSITORY: toolbox jobs: upload-docker-image: runs-on: ubuntu-latest @@ -22,7 +25,7 @@ jobs: - name: Build Docker image env: ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} - ECR_REPOSITORY: toolbox + ECR_REPOSITORY: ${{ env.ECR_REPOSITORY }} IMAGE_TAG: ${{ github.sha }} GIT_HUB_PACKAGES_ACTOR: ${{ secrets.GIT_HUB_PACKAGES_ACTOR }} GIT_HUB_PACKAGES_TOKEN: ${{ secrets.GIT_HUB_PACKAGES_TOKEN }} @@ -36,7 +39,7 @@ jobs: - name: Push Docker image to AWS ECR env: ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} - ECR_REPOSITORY: ${{ inputs.image_name }} + ECR_REPOSITORY: ${{ env.ECR_REPOSITORY }} IMAGE_TAG: ${{ github.sha }} run: | docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG From 1b8023359c4cf135f14099d1111d865f28fafdbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81ron=20Szantner?= Date: Tue, 15 Jul 2025 18:50:59 +0200 Subject: [PATCH 06/13] add conditional create for ECR repository if it does not exist --- .github/workflows/build.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 76134e8..73f6528 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -21,6 +21,11 @@ jobs: - name: Login to AWS ECR id: login-ecr uses: aws-actions/amazon-ecr-login@v1 + + - name: Create ECR repository if not exists + uses: int128/create-ecr-repository-action@v1 + with: + repository: ${{ env.ECR_REPOSITORY }} - name: Build Docker image env: From 3db3a6173974f9c56d4d8c73bb63df32a2560a9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81ron=20Szantner?= Date: Tue, 15 Jul 2025 18:52:40 +0200 Subject: [PATCH 07/13] minor fix for create-ecr-repository action --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 73f6528..e2a276f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,6 +24,7 @@ jobs: - name: Create ECR repository if not exists uses: int128/create-ecr-repository-action@v1 + id: ecr with: repository: ${{ env.ECR_REPOSITORY }} From 4de1c15301fb3bc8556a869d8a37e553b887338b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81ron=20Szantner?= Date: Wed, 16 Jul 2025 16:05:46 +0200 Subject: [PATCH 08/13] add latest tag as well for latest builds --- .github/workflows/build.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e2a276f..70272d1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -48,4 +48,6 @@ jobs: ECR_REPOSITORY: ${{ env.ECR_REPOSITORY }} IMAGE_TAG: ${{ github.sha }} run: | - docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG + docker tag $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG $ECR_REGISTRY/$ECR_REPOSITORY:latest + docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG + docker push $ECR_REGISTRY/$ECR_REPOSITORY:latest From 5cb37b5c96e970215bbd2f45b516b80ed9da89f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81ron=20Szantner?= Date: Thu, 17 Jul 2025 17:19:49 +0200 Subject: [PATCH 09/13] update build workflow action versions --- .github/workflows/build.yml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 70272d1..7eb6de1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,10 +9,10 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v2 + uses: aws-actions/configure-aws-credentials@v4 with: aws-access-key-id: ${{ secrets.TRUSS_AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.TRUSS_AWS_SECRET_ACCESS_KEY }} @@ -20,7 +20,7 @@ jobs: - name: Login to AWS ECR id: login-ecr - uses: aws-actions/amazon-ecr-login@v1 + uses: aws-actions/amazon-ecr-login@v2 - name: Create ECR repository if not exists uses: int128/create-ecr-repository-action@v1 @@ -37,10 +37,8 @@ jobs: GIT_HUB_PACKAGES_TOKEN: ${{ secrets.GIT_HUB_PACKAGES_TOKEN }} run: | docker build \ - --build-arg GIT_HUB_PACKAGES_ACTOR \ - --build-arg GIT_HUB_PACKAGES_TOKEN \ - -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG \ - . + -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG . + - name: Push Docker image to AWS ECR env: From d75ce04261314be40c60ea5066cc3e8b4ff1fae5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81ron=20Szantner?= Date: Thu, 17 Jul 2025 17:20:09 +0200 Subject: [PATCH 10/13] update build workflow action versions --- .github/workflows/build.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7eb6de1..83c7643 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,8 +33,6 @@ jobs: ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} ECR_REPOSITORY: ${{ env.ECR_REPOSITORY }} IMAGE_TAG: ${{ github.sha }} - GIT_HUB_PACKAGES_ACTOR: ${{ secrets.GIT_HUB_PACKAGES_ACTOR }} - GIT_HUB_PACKAGES_TOKEN: ${{ secrets.GIT_HUB_PACKAGES_TOKEN }} run: | docker build \ -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG . From d8dcb9d08876b6cd0b15a60830eba0ad2a697013 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81ron=20Szantner?= Date: Thu, 17 Jul 2025 17:20:28 +0200 Subject: [PATCH 11/13] remove Hashicorp Consul from Dockerfile --- Dockerfile | 5 ----- 1 file changed, 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5aad0b3..c7627d2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,10 +12,6 @@ COPY --from=hashicorp/vault:latest /bin/vault /usr/bin/vault ENV VAULT_ADDR https://vault.vault.svc:8200 ENV VAULT_SKIP_VERIFY true -# HashiCorp Consul -COPY --from=hashicorp/consul:latest /bin/consul /usr/bin/consul -ENV CONSUL_HTTP_ADDR http://consul.vault.svc:8500 - # kubectl COPY --from=bitnami/kubectl:1.33.2 /opt/bitnami/kubectl/bin/kubectl /usr/bin/kubectl @@ -24,7 +20,6 @@ RUN apk add --no-cache aws-cli # add only redis cli from redis suite COPY --from=redis:7-alpine /usr/local/bin/redis-cli /usr/local/bin/redis-cli - RUN chmod +x /usr/local/bin/redis-cli COPY motd /etc/motd From cf523d1b0e8ca284f78012fad7f58cea2381994c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81ron=20Szantner?= Date: Thu, 17 Jul 2025 17:21:50 +0200 Subject: [PATCH 12/13] rename workflow filename --- .github/workflows/{build.yml => upload.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{build.yml => upload.yml} (100%) diff --git a/.github/workflows/build.yml b/.github/workflows/upload.yml similarity index 100% rename from .github/workflows/build.yml rename to .github/workflows/upload.yml From 3b04c7efd97793abe036a4434787edfbee112e57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81ron=20Szantner?= Date: Thu, 17 Jul 2025 17:22:48 +0200 Subject: [PATCH 13/13] remove typo from entrypoint.sh --- entrypoint.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index 5523fc7..44ea4a8 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -7,4 +7,3 @@ if [ "${1}" = "" ]; then else exec "$@" fi -s \ No newline at end of file