From 330fe0e0eaed8cf5fc0e990e70220efae9178e91 Mon Sep 17 00:00:00 2001 From: Renat Gofman Date: Mon, 25 Sep 2023 13:49:27 +0300 Subject: [PATCH 1/8] fix deprecated warnings and set action version (#3) --- .github/workflows/deploy-k8s.yml | 12 ++++++------ .github/workflows/init.yml | 20 ++++++++++---------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/deploy-k8s.yml b/.github/workflows/deploy-k8s.yml index c8ff0bd..cffebfb 100644 --- a/.github/workflows/deploy-k8s.yml +++ b/.github/workflows/deploy-k8s.yml @@ -48,7 +48,7 @@ jobs: aws-session-token: ${{ secrets.AWS_SESSION_TOKEN }} # optional - name: use awscli - uses: unfor19/install-aws-cli-action@master + uses: unfor19/install-aws-cli-action@46282f151073130d90347412d9c4ef0640177f22 with: version: 2 @@ -59,7 +59,7 @@ jobs: id: kubeconfig run: | echo "::add-mask::$(aws eks --region ${{ inputs.aws_region }} update-kubeconfig --name ${{ inputs.k8s_cluster_name }} --dry-run | base64 -w 0)" - echo "::set-output name=KUBECONFIG::$(aws eks --region ${{ inputs.aws_region }} update-kubeconfig --name ${{ inputs.k8s_cluster_name }} --dry-run | base64 -w 0)" + echo "KUBECONFIG=$(aws eks --region ${{ inputs.aws_region }} update-kubeconfig --name ${{ inputs.k8s_cluster_name }} --dry-run | base64 -w 0)" >> $GITHUB_OUTPUT shell: bash - name: Generate k8s secret params @@ -71,7 +71,7 @@ jobs: echo "result: ${{ inputs.ci_env }}_ENV_VARS" for i in `cat .github/workflows/ci-properties.json | jq -r .${{ inputs.ci_env }}_ENV_VARS | jq -r 'keys[]' || true`; do params="${params} --from-literal=$i=$(cat .github/workflows/ci-properties.json | jq -r .${{ inputs.ci_env }}_ENV_VARS.$i)"; done echo "ENV VARS from ci-properties.json: $params" - echo "::set-output name=k8sparams::$params" + echo "k8sparams=$params" >> $GITHUB_OUTPUT - name: print k8sparams id: print @@ -79,7 +79,7 @@ jobs: echo "${{ steps.genparams.outputs.k8sparams }}" - name: Create kubernetes secret with service parameters - uses: kodermax/kubectl-aws-eks@master + uses: kodermax/kubectl-aws-eks@214195db51c87cdd4d7c1e33e43f7638b5849186 env: KUBE_CONFIG_DATA: ${{ steps.kubeconfig.outputs.KUBECONFIG }} KUBECTL_VERSION: "v1.22.0" @@ -93,7 +93,7 @@ jobs: sed -i 's|image: ${{ inputs.IMAGE_NAME }}|image: ${{ inputs.IMAGE_NAME }}:${{ inputs.KUBE_NAMESPACE }}|' deployment.yaml - name: kubernets apply config - uses: kodermax/kubectl-aws-eks@master + uses: kodermax/kubectl-aws-eks@214195db51c87cdd4d7c1e33e43f7638b5849186 env: KUBE_CONFIG_DATA: ${{ steps.kubeconfig.outputs.KUBECONFIG }} KUBECTL_VERSION: "v1.22.0" @@ -102,7 +102,7 @@ jobs: args: apply -f deployment.yaml -n ${{ inputs.KUBE_NAMESPACE }} - name: rollout - uses: kodermax/kubectl-aws-eks@master + uses: kodermax/kubectl-aws-eks@214195db51c87cdd4d7c1e33e43f7638b5849186 env: KUBE_CONFIG_DATA: ${{ steps.kubeconfig.outputs.KUBECONFIG }} KUBECTL_VERSION: "v1.22.0" diff --git a/.github/workflows/init.yml b/.github/workflows/init.yml index 133422c..aba7d70 100644 --- a/.github/workflows/init.yml +++ b/.github/workflows/init.yml @@ -55,16 +55,16 @@ jobs: id: setvars run: | if [[ "${{ inputs.base_ref }}" == "${{ env.prod_branch }}" || "${{ inputs.ref }}" == "refs/heads/${{ env.prod_branch }}" ]]; then - echo "::set-output name=k8s_namespace::production" - echo "::set-output name=ci_env::PROD" + echo "k8s_namespace=production" >> $GITHUB_OUTPUT + echo "ci_env=PROD" >> $GITHUB_OUTPUT fi if [[ "${{ inputs.base_ref }}" == "${{ env.dev_branch }}" || "${{ inputs.ref }}" == "refs/heads/${{ env.dev_branch }}" ]]; then - echo "::set-output name=k8s_namespace::test" - echo "::set-output name=ci_env::DEV" + echo "k8s_namespace=test" >> $GITHUB_OUTPUT + echo "ci_env=DEV" >> $GITHUB_OUTPUT fi - echo "::set-output name=image_name::${{ env.image_name }}" - echo "::set-output name=registry::${{ env.registry }}" - echo "::set-output name=aws_region::${{ env.aws_region }}" - echo "::set-output name=k8s_cluster_name::${{ env.k8s_cluster_name }}" - echo "::set-output name=app_name::${{ env.app_name }}" - echo "::set-output name=dockerfile_path::${{ env.dockerfile_path }}" + echo "image_name::${{ env.image_name }}" >> $GITHUB_OUTPUT + echo "registry::${{ env.registry }}" >> $GITHUB_OUTPUT + echo "aws_region::${{ env.aws_region }}" >> $GITHUB_OUTPUT + echo "k8s_cluster_name::${{ env.k8s_cluster_name }}" >> $GITHUB_OUTPUT + echo "app_name::${{ env.app_name }}" >> $GITHUB_OUTPUT + echo "dockerfile_path::${{ env.dockerfile_path }}" >> $GITHUB_OUTPUT From 8f4e28998c8a37b3a7a95e88d2dc2be67b4a1ecc Mon Sep 17 00:00:00 2001 From: Renat Gofman Date: Mon, 25 Sep 2023 15:18:40 +0300 Subject: [PATCH 2/8] fix set output syntax --- .github/workflows/init.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/init.yml b/.github/workflows/init.yml index aba7d70..4f2e59c 100644 --- a/.github/workflows/init.yml +++ b/.github/workflows/init.yml @@ -62,9 +62,9 @@ jobs: echo "k8s_namespace=test" >> $GITHUB_OUTPUT echo "ci_env=DEV" >> $GITHUB_OUTPUT fi - echo "image_name::${{ env.image_name }}" >> $GITHUB_OUTPUT - echo "registry::${{ env.registry }}" >> $GITHUB_OUTPUT - echo "aws_region::${{ env.aws_region }}" >> $GITHUB_OUTPUT - echo "k8s_cluster_name::${{ env.k8s_cluster_name }}" >> $GITHUB_OUTPUT - echo "app_name::${{ env.app_name }}" >> $GITHUB_OUTPUT - echo "dockerfile_path::${{ env.dockerfile_path }}" >> $GITHUB_OUTPUT + echo "image_name=${{ env.image_name }}" >> $GITHUB_OUTPUT + echo "registry=${{ env.registry }}" >> $GITHUB_OUTPUT + echo "aws_region=${{ env.aws_region }}" >> $GITHUB_OUTPUT + echo "k8s_cluster_name=${{ env.k8s_cluster_name }}" >> $GITHUB_OUTPUT + echo "app_name=${{ env.app_name }}" >> $GITHUB_OUTPUT + echo "dockerfile_path=${{ env.dockerfile_path }}" >> $GITHUB_OUTPUT From 5d889b45207b0d9f3a4b3c21e53a6b2634641304 Mon Sep 17 00:00:00 2001 From: Renat Gofman Date: Mon, 25 Sep 2023 15:45:22 +0300 Subject: [PATCH 3/8] bump version --- .github/workflows/docker.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 9a6235a..f48c39e 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -37,7 +37,7 @@ jobs: # https://github.com/docker/login-action - name: Login to registry ${{ inputs.registry }} if: inputs.event_name != 'pull_request' - uses: docker/login-action@28218f9b04b4f3f62068d7b6ce6ca5b26e35336c + uses: docker/login-action@v3.0.0 with: registry: ${{ inputs.registry }} username: ${{ secrets.DOCKER_USERNAME }} @@ -47,14 +47,14 @@ jobs: # https://github.com/docker/metadata-action - name: Extract Docker metadata id: meta - uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 + uses: docker/metadata-action@v5.0.0 with: images: ${{ inputs.registry }}/${{ inputs.IMAGE_NAME }} # Build and push Docker image with Buildx (don't push on PR) # https://github.com/docker/build-push-action - name: Build and push Docker image - uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc + uses: docker/build-push-action@v5.0.0 with: context: . file: ${{ inputs.dockerfile_path }}/Dockerfile From bc73da71f59f5fdcb5a7927c46eadea70463a87f Mon Sep 17 00:00:00 2001 From: Renat Gofman Date: Mon, 25 Sep 2023 15:59:03 +0300 Subject: [PATCH 4/8] bump version --- .github/workflows/deploy-k8s.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-k8s.yml b/.github/workflows/deploy-k8s.yml index cffebfb..ca053cd 100644 --- a/.github/workflows/deploy-k8s.yml +++ b/.github/workflows/deploy-k8s.yml @@ -40,7 +40,7 @@ jobs: uses: actions/checkout@v2 - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1 + uses: aws-actions/configure-aws-credentials@v4 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} From e85f02d76e176addd45c84498b4d0ba6878a884c Mon Sep 17 00:00:00 2001 From: Renat Gofman Date: Tue, 26 Sep 2023 12:11:35 +0300 Subject: [PATCH 5/8] bump chechout version --- .github/workflows/deploy-k8s.yml | 2 +- .github/workflows/docker.yml | 2 +- .github/workflows/init.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy-k8s.yml b/.github/workflows/deploy-k8s.yml index ca053cd..5749288 100644 --- a/.github/workflows/deploy-k8s.yml +++ b/.github/workflows/deploy-k8s.yml @@ -37,7 +37,7 @@ jobs: packages: write steps: - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v4.1.0 - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v4 diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index f48c39e..9e549de 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -31,7 +31,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v4.1.0 # Login against a Docker registry except on PR # https://github.com/docker/login-action diff --git a/.github/workflows/init.yml b/.github/workflows/init.yml index 4f2e59c..7964237 100644 --- a/.github/workflows/init.yml +++ b/.github/workflows/init.yml @@ -40,7 +40,7 @@ jobs: dockerfile_path: ${{ steps.setvars.outputs.dockerfile_path }} steps: - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v4.1.0 - name: Read repo properties shell: bash From 476fe3ceffe9c053c9612e66a0997414160ffd13 Mon Sep 17 00:00:00 2001 From: Renat Gofman Date: Wed, 6 Dec 2023 16:05:35 +0200 Subject: [PATCH 6/8] fix aws-iam-authenticator latest release --- .github/workflows/deploy-k8s.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy-k8s.yml b/.github/workflows/deploy-k8s.yml index 5749288..8374a82 100644 --- a/.github/workflows/deploy-k8s.yml +++ b/.github/workflows/deploy-k8s.yml @@ -79,7 +79,7 @@ jobs: echo "${{ steps.genparams.outputs.k8sparams }}" - name: Create kubernetes secret with service parameters - uses: kodermax/kubectl-aws-eks@214195db51c87cdd4d7c1e33e43f7638b5849186 + uses: kodermax/kubectl-aws-eks@7e223308593f74c42b45782d230783715e131d51 env: KUBE_CONFIG_DATA: ${{ steps.kubeconfig.outputs.KUBECONFIG }} KUBECTL_VERSION: "v1.22.0" @@ -93,7 +93,7 @@ jobs: sed -i 's|image: ${{ inputs.IMAGE_NAME }}|image: ${{ inputs.IMAGE_NAME }}:${{ inputs.KUBE_NAMESPACE }}|' deployment.yaml - name: kubernets apply config - uses: kodermax/kubectl-aws-eks@214195db51c87cdd4d7c1e33e43f7638b5849186 + uses: kodermax/kubectl-aws-eks@7e223308593f74c42b45782d230783715e131d51 env: KUBE_CONFIG_DATA: ${{ steps.kubeconfig.outputs.KUBECONFIG }} KUBECTL_VERSION: "v1.22.0" @@ -102,7 +102,7 @@ jobs: args: apply -f deployment.yaml -n ${{ inputs.KUBE_NAMESPACE }} - name: rollout - uses: kodermax/kubectl-aws-eks@214195db51c87cdd4d7c1e33e43f7638b5849186 + uses: kodermax/kubectl-aws-eks@7e223308593f74c42b45782d230783715e131d51 env: KUBE_CONFIG_DATA: ${{ steps.kubeconfig.outputs.KUBECONFIG }} KUBECTL_VERSION: "v1.22.0" From 725cacb5fa02c966b1782239f528cf3a6e55951a Mon Sep 17 00:00:00 2001 From: Renat Skitsan Date: Mon, 15 Jan 2024 15:12:12 +0200 Subject: [PATCH 7/8] Add optional ingress apply --- .github/workflows/deploy-k8s.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/deploy-k8s.yml b/.github/workflows/deploy-k8s.yml index 8374a82..3e1a2b2 100644 --- a/.github/workflows/deploy-k8s.yml +++ b/.github/workflows/deploy-k8s.yml @@ -109,3 +109,12 @@ jobs: IAM_VERSION: "0.5.6" with: args: rollout restart deploy/${{ inputs.app_name }} -n ${{ inputs.KUBE_NAMESPACE }} + + - name: try to apply ingress + uses: kodermax/kubectl-aws-eks@7e223308593f74c42b45782d230783715e131d51 + env: + KUBE_CONFIG_DATA: ${{ steps.kubeconfig.outputs.KUBECONFIG }} + KUBECTL_VERSION: "v1.22.0" + IAM_VERSION: "0.5.6" + with: + args: apply -f ingress.yaml -n ${{ inputs.KUBE_NAMESPACE }} || true From ee90bb99872afe3778e558478680dac39eb23bb9 Mon Sep 17 00:00:00 2001 From: Renat Gofman Date: Thu, 18 Jan 2024 13:07:18 +0200 Subject: [PATCH 8/8] Add domain name into ingress --- .github/workflows/deploy-k8s.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy-k8s.yml b/.github/workflows/deploy-k8s.yml index 3e1a2b2..a164d07 100644 --- a/.github/workflows/deploy-k8s.yml +++ b/.github/workflows/deploy-k8s.yml @@ -109,8 +109,13 @@ jobs: IAM_VERSION: "0.5.6" with: args: rollout restart deploy/${{ inputs.app_name }} -n ${{ inputs.KUBE_NAMESPACE }} + + - name: Template ingress (optional) + shell: bash + run: | + sed -i "s|host: ingress.hostname|host: $(cat .github/workflows/ci-properties.json | jq -r .${{ inputs.ci_env }}_ENV_VARS.INGRESS_HOSTNAME)|" ingress.yaml || true - - name: try to apply ingress + - name: apply ingress (optional) uses: kodermax/kubectl-aws-eks@7e223308593f74c42b45782d230783715e131d51 env: KUBE_CONFIG_DATA: ${{ steps.kubeconfig.outputs.KUBECONFIG }}