From 79ed1d66a0de642c3937bb93e401636ac8df26fb Mon Sep 17 00:00:00 2001 From: Prem Basumatary Date: Thu, 16 May 2024 14:34:30 +0100 Subject: [PATCH] NIT-1229 fetching values from helm release --- .github/workflows/scale-down.yaml | 17 +++++++++++++--- .github/workflows/scale-up.yaml | 34 ++++++++++++++++++++++++++++--- 2 files changed, 45 insertions(+), 6 deletions(-) diff --git a/.github/workflows/scale-down.yaml b/.github/workflows/scale-down.yaml index a78b04e..2e7ccd7 100644 --- a/.github/workflows/scale-down.yaml +++ b/.github/workflows/scale-down.yaml @@ -2,7 +2,7 @@ name: Scale down Lower Environments on: schedule: - - cron: '15 10 * * *' + - cron: '00 19 * * *' jobs: scale-down: @@ -21,6 +21,12 @@ jobs: with: version: 'v1.26.0' # default is latest stable id: kubectl_install + + - name: Install Helm + uses: azure/setup-helm@v3.5 + with: + version: 'v3.9.0' + id: helm_install - name: Scale Down Deployments in ${{ matrix.environment }} env: @@ -36,6 +42,11 @@ jobs: kubectl config set-context ${KUBE_CLUSTER} --cluster=${KUBE_CLUSTER} --user=deploy-user --namespace=${KUBE_NAMESPACE} kubectl config use-context ${KUBE_CLUSTER} - kubectl config set-context --current --namespace=${KUBE_NAMESPACE} + kubectl config set-context --current --namespace=${KUBE_NAMESPACE} - kubectl scale deployment -all --replicas=0 \ No newline at end of file + RELEASE_NAME="alfresco-content-services" + DEPLOYMENTS=$(helm get manifest $RELEASE_NAME | kubectl get -f - --no-headers=true | awk '/deployment/{print $1}') + + for deployment in $DEPLOYMENTS; do + kubectl scale $deployment --replicas=0 + done \ No newline at end of file diff --git a/.github/workflows/scale-up.yaml b/.github/workflows/scale-up.yaml index 872e5be..cbc5fc8 100644 --- a/.github/workflows/scale-up.yaml +++ b/.github/workflows/scale-up.yaml @@ -2,7 +2,7 @@ name: Scale down Lower Environments on: schedule: - - cron: '22 10 * * *' + - cron: '0 7 * * *' jobs: scale-up: @@ -21,6 +21,19 @@ jobs: with: version: 'v1.26.0' # default is latest stable id: kubectl_install + + - name: Install Helm + uses: azure/setup-helm@v3.5 + with: + version: 'v3.9.0' + id: helm_install + + - name: Install yq + uses: dcarbone/install-yq-action@v1.1.1 + with: + download-compressed: true + version: "v4.35.1" + force: true - name: Scale up Deployments in ${{ matrix.environment }} env: @@ -34,5 +47,20 @@ jobs: kubectl config set-context ${KUBE_CLUSTER} --cluster=${KUBE_CLUSTER} --user=deploy-user --namespace=${KUBE_NAMESPACE} kubectl config use-context ${KUBE_CLUSTER} - kubectl config set-context --current --namespace=${KUBE_NAMESPACE} - kubectl scale deployment -all --replicas=1 \ No newline at end of file + kubectl config set-context --current --namespace=${KUBE_NAMESPACE} + + RELEASE_NAME="alfresco-content-services" + LATEST_REVISION=$(helm history "$RELEASE_NAME" --max 1 -o yaml | yq '.[0].revision') + LATEST_VALUES=$(helm get values "$RELEASE_NAME" --revision "$LATEST_REVISION") + + kubectl scale deployment alfresco-content-services-alfresco-cs-repository --replicas=$(echo $LATEST_VALUES | yq '.repository.replicaCount // 1') + kubectl scale deployment alfresco-content-services-alfresco-cs-share --replicas=$(echo $LATEST_VALUES | yq '.share.replicaCount // 1') + kubectl scale deployment alfresco-content-services-activemq --replicas=$(echo $LATEST_VALUES | yq '.activemq.replicaCount // 1') + kubectl scale deployment alfresco-content-services-alfresco-cs-imagemagick --replicas=$(echo $LATEST_VALUES | yq '.imagemagick.replicaCount // 1') + kubectl scale deployment alfresco-content-services-alfresco-cs-libreoffice --replicas=$(echo $LATEST_VALUES | yq '.libreoffice.replicaCount // 1') + kubectl scale deployment alfresco-content-services-alfresco-cs-pdfrenderer --replicas=$(echo $LATEST_VALUES | yq '.pdfrenderer.replicaCount // 1') + kubectl scale deployment alfresco-content-services-alfresco-cs-tika --replicas=$(echo $LATEST_VALUES | yq '.tika.replicaCount // 1') + kubectl scale deployment alfresco-content-services-alfresco-cs-transform-misc --replicas=$(echo $LATEST_VALUES | yq '.transformmisc.replicaCount // 1') + kubectl scale deployment alfresco-content-services-alfresco-filestore --replicas=$(echo $LATEST_VALUES | yq '.filestore.replicaCount // 0') + kubectl scale deployment alfresco-content-services-alfresco-router --replicas=$(echo $LATEST_VALUES | yq '.transformrouter.replicaCount // 1') + kubectl scale deployment alfresco-content-services-alfresco-search-solr --replicas=$(echo $LATEST_VALUES | yq '.share.replicaCount // 1') \ No newline at end of file