Skip to content

Pucar-Install Workflow Solutins-UAT #79

Pucar-Install Workflow Solutins-UAT

Pucar-Install Workflow Solutins-UAT #79

name: Pucar-Install Workflow Solutins-UAT
on:
workflow_dispatch:
repository_dispatch:
jobs:
check-changed-files:
runs-on: ubuntu-latest
outputs:
deploy-as-code-changed: ${{ steps.check_files.outputs.deploy-as-code-changed }}
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Check for changes in deploy-as-code
id: check_files
uses: tj-actions/changed-files@v42
with:
files: |
deploy-as-code/**
DIGIT-deployment:
# if: ${{ github.event_name == 'push' }}
# needs: Terraform_Infra_Creation
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Azure login
uses: azure/login@v1
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}
- name: Generate kubeconfig
run: |
az aks get-credentials --resource-group "pucar-uat" --name "uat" --admin
cat ~/.kube/config > kubeconfig
- name: Kubectl setup
uses: azure/setup-kubectl@v3
with:
version: 'latest'
id: install
- name: Creating namespace
run: kubectl create namespace egov
continue-on-error: true
- name: Verify kubectl get nodes
run: |
kubectl get nodes
- name: Install sops
run: |
sudo apt update
sudo apt install -y age
mkdir -p $HOME/.config/sops/age/
echo # public key: ${{ secrets.PUBLIC_AGE_KEY }} > $HOME/.config/sops/age/keys.txt
echo ${{ secrets.PRIVATE_AGE_KEY }} >> $HOME/.config/sops/age/keys.txt
wget https://github.com/mozilla/sops/releases/download/v3.7.1/sops-v3.7.1.linux
chmod +x sops-v3.7.1.linux
sudo mv sops-v3.7.1.linux /usr/local/bin/sops
- name: sops decryption
run: |
sudo sops --decrypt --age ${{ secrets.PUBLIC_AGE_KEY }} $HOME/work/pucar-DevOps/pucar-DevOps/deploy-as-code/charts/environments/solutions-uat-secrets.yaml > env-secrets1.yaml
cp env-secrets1.yaml $HOME/work/pucar-DevOps/pucar-DevOps/deploy-as-code/charts/environments/solutions-uat-secrets.yaml
# working-directory: deploy-as-code/charts/environments
- name: Set up Helm
uses: azure/setup-helm@v1
with:
version: 'latest' # Specify the version of Helm
- name: Install Helmfile
uses: helmfile/[email protected]
with:
helmfile-version: 'v0.150.0'
helm-plugins: >
https://github.com/databus23/helm-diff
- name: Commit Id for Latest Deployment
run: |
git clone https://github.com/pucardotorg/dristi-solutions.git
cd dristi-solutions
git checkout main
payment_calculator_commit=$(git log -1 --pretty=format:%H -- backend/payment-calculator-svc)
echo "payment_calculator_commit=$payment_calculator_commit" >> $GITHUB_ENV
advocate_commit=$(git log -1 --pretty=format:%H -- backend/advocate)
echo "advocate_commit=$advocate_commit" >> $GITHUB_ENV
case_commit=$(git log -1 --pretty=format:%H -- backend/case)
echo "case_commit=$case_commit" >> $GITHUB_ENV
casemanagement_commit=$(git log -1 --pretty=format:%H -- backend/casemanagement)
echo "casemanagement_commit=$casemanagement_commit" >> $GITHUB_ENV
hearing_commit=$(git log -1 --pretty=format:%H -- backend/hearing)
echo "hearing_commit=$hearing_commit" >> $GITHUB_ENV
dristi_case_pdf_commit=$(git log -1 --pretty=format:%H -- backend/dristi-case-pdf)
echo "dristi_case_pdf_commit=$dristi_case_pdf_commit" >> $GITHUB_ENV
esign_interceptor_commit=$(git log -1 --pretty=format:%H -- backend/esign-interceptor)
echo "esign_interceptor_commit=$esign_interceptor_commit" >> $GITHUB_ENV
epost_tracker_commit=$(git log -1 --pretty=format:%H -- backend/epost-tracker)
echo "epost_tracker_commit=$epost_tracker_commit" >> $GITHUB_ENV
transformer_commit=$(git log -1 --pretty=format:%H -- backend/transformer)
echo "transformer_commit=$transformer_commit" >> $GITHUB_ENV
order_commit=$(git log -1 --pretty=format:%H -- backend/order)
echo "order_commit=$order_commit" >> $GITHUB_ENV
evidence_commit=$(git log -1 --pretty=format:%H -- backend/evidence)
echo "evidence_commit=$evidence_commit" >> $GITHUB_ENV
application_commit=$(git log -1 --pretty=format:%H -- backend/application)
echo "application_commit=$application_commit" >> $GITHUB_ENV
scheduler_commit=$(git log -1 --pretty=format:%H -- backend/scheduler-svc)
echo "scheduler_commit=$scheduler_commit" >> $GITHUB_ENV
summons_svc_commit=$(git log -1 --pretty=format:%H -- backend/summons-svc)
echo "summons_svc_commit=$summons_svc_commit" >> $GITHUB_ENV
collection_service_commit=$(git log -1 --pretty=format:%H -- common/collection-services)
echo "collection_service_commit=$collection_service_commit" >> $GITHUB_ENV
task_commit=$(git log -1 --pretty=format:%H -- backend/task)
echo "task_commit=$task_commit" >> $GITHUB_ENV
digit_ui_commit=$(git log -1 --pretty=format:%H -- frontend/micro-ui)
echo "digit_ui_commit=$digit_ui_commit" >> $GITHUB_ENV
analytics_commit=$(git log -1 --pretty=format:%H -- backend/analytics)
echo "analytics_commit=$analytics_commit" >> $GITHUB_ENV
individual_commit=$(git log -1 --pretty=format:%H -- common/individual)
echo "individual_commit=$individual_commit" >> $GITHUB_ENV
inbox_commit=$(git log -1 --pretty=format:%H -- common/inbox)
echo "inbox_commit=$inbox_commit" >> $GITHUB_ENV
ocr_service_commit=$(git log -1 --pretty=format:%H -- backend/ocr-service)
echo "ocr_service_commit=$ocr_service_commit" >> $GITHUB_ENV
etreasury_commit=$(git log -1 --pretty=format:%H -- backend/treasury-backend)
echo "etreasury_commit=$etreasury_commit" >> $GITHUB_ENV
epayment_commit=$(git log -1 --pretty=format:%H -- backend/treasury-webpage)
echo "epayment_commit=$epayment_commit" >> $GITHUB_ENV
sbi_svc_commit=$(git log -1 --pretty=format:%H -- backend/sbi-backend)
echo "sbi_svc_commit=$sbi_svc_commit" >> $GITHUB_ENV
sbi_ui_commit=$(git log -1 --pretty=format:%H -- backend/sbi-webpage)
echo "sbi_ui_commit=$sbi_ui_commit" >> $GITHUB_ENV
integration_commit=$(git log -1 --pretty=format:%H -- backend/icops_integration-kerala)
echo "integration_commit=$integration_commit" >> $GITHUB_ENV
kerala_sms_commit=$(git log -1 --pretty=format:%H -- backend/kerala-sms)
echo "kerala_sms_commit=$kerala_sms_commit" >> $GITHUB_ENV
billing_service_commit=$(git log -1 --pretty=format:%H -- common/billing-service)
echo "billing_service_commit=$billing_service_commit" >> $GITHUB_ENV
dristi_pdf_commit=$(git log -1 --pretty=format:%H -- utilities/dristi-pdf)
echo "dristi_pdf_commit=$dristi_pdf_commit" >> $GITHUB_ENV
pdf_service=$(git log -1 --pretty=format:%H -- common/pdf-service)
echo "pdf_service=$pdf_service" >> $GITHUB_ENV
esign_svc_commit=$(git log -1 --pretty=format:%H -- backend/e-sign-svc)
echo "esign_svc_commit=$esign_svc_commit" >> $GITHUB_ENV
- name: digit deployment
run: |
helmfile -l deployment=pucar -f digit-helmfile.yaml apply --include-needs=true \
--set scheduler.image.tag=main-${{ env.scheduler_commit }} \
--set scheduler.initContainers.dbMigration.image.tag=main-${{ env.scheduler_commit }} \
--set payment-calculator.image.tag=main-${{ env.payment_calculator_commit }} \
--set payment-calculator.initContainers.dbMigration.image.tag=main-${{ env.payment_calculator_commit }} \
--set digit-ui.image.tag=main-${{ env.digit_ui_commit }} \
--set dristi-case-pdf.image.tag=main-${{ env.dristi_case_pdf_commit }} \
--set dristi-pdf.image.tag=main-${{ env.dristi_pdf_commit }} \
--set advocate.image.tag=main-${{ env.advocate_commit }} \
--set advocate.initContainers.dbMigration.image.tag=main-${{ env.advocate_commit }} \
--set case.image.tag=main-${{ env.case_commit }} \
--set case.initContainers.dbMigration.image.tag=main-${{ env.case_commit }} \
--set ocr-service.image.tag=main-${{ env.ocr_service_commit }} \
--set ocr-service.initContainers.dbMigration.image.tag=main-${{ env.ocr_service_commit }} \
--set casemanagement.image.tag=main-${{ env.casemanagement_commit }} \
--set casemanagement.initContainers.dbMigration.image.tag=main-${{ env.casemanagement_commit }} \
--set evidence.image.tag=main-${{ env.evidence_commit }} \
--set evidence.initContainers.dbMigration.image.tag=main-${{ env.evidence_commit }} \
--set hearing.image.tag=main-${{ env.hearing_commit }} \
--set hearing.initContainers.dbMigration.image.tag=main-${{ env.hearing_commit }} \
--set order.image.tag=main-${{ env.order_commit }} \
--set order.initContainers.dbMigration.image.tag=main-${{ env.order_commit }} \
--set task.image.tag=main-${{ env.task_commit }} \
--set task.initContainers.dbMigration.image.tag=main-${{ env.task_commit }} \
--set billing-service.image.tag=main-${{ env.billing_service_commit }} \
--set billing-service.initContainers.dbMigration.image.tag=main-${{ env.billing_service_commit }} \
--set collection-services.image.tag=main-${{ env.collection_service_commit }} \
--set collection-services.initContainers.dbMigration.image.tag=main-${{ env.collection_service_commit }} \
--set individual.image.tag=main-${{ env.individual_commit }} \
--set individual.initContainers.dbMigration.image.tag=main-${{ env.individual_commit }} \
--set inbox.image.tag=main-${{ env.inbox_commit }} \
--set e-sign-svc.image.tag=main-${{ env.esign_svc_commit }} \
--set e-sign-svc.initContainers.dbMigration.image.tag=main-${{ env.esign_svc_commit }} \
--set esign-interceptor.image.tag=main-${{ env.esign_interceptor_commit }} \
--set application.image.tag=main-${{ env.application_commit }} \
--set application.initContainers.dbMigration.image.tag=main-${{ env.application_commit }} \
--set analytics.image.tag=main-${{ env.analytics_commit }} \
--set epayments.image.tag=main-${{ env.epayment_commit }} \
--set etreasury.image.tag=main-${{ env.etreasury_commit }} \
--set etreasury.initContainers.dbMigration.image.tag=main-${{ env.etreasury_commit }} \
--set pdf-service.image.tag=main-${{ env.pdf_service }} \
--set pdf-service.initContainers.dbMigration.image.tag=main-${{ env.pdf_service }} \
--set sbi-webpage.image.tag=main-${{ env.sbi_ui_commit }} \
--set sbi-svc.image.tag=main-${{ env.sbi_svc_commit }} \
--set sbi-svc.initContainers.dbMigration.image.tag=main-${{ env.sbi_svc_commit }} \
--set epost-tracker.image.tag=main-${{ env.epost_tracker_commit }} \
--set epost-tracker.initContainers.dbMigration.image.tag=main-${{ env.epost_tracker_commit }} \
--set summons-svc.image.tag=main-${{ env.summons_svc_commit }} \
--set summons-svc.initContainers.dbMigration.image.tag=main-${{ env.summons_svc_commit }} \
--set transformer.image.tag=main-${{ env.transformer_commit }} \
--set icops-integration.image.tag=main-${{ env.integration_commit }} \
--set icops-integration.initContainers.dbMigration.image.tag=main-${{ env.integration_commit }}
working-directory: deploy-as-code
env:
HELMFILE_ENV: "solutions-uat"
# - name: Postgres Data Migration
# run: |
# POSTGRES_POD=postgresql-0
# kubectl exec -n backbone $POSTGRES_POD -- bash -c 'if [ -f /tmp/init-scripts/uat.sql ]; then rm /tmp/uat.sql; echo "File deleted"; else echo "File does not exist"; fi'
# kubectl cp deploy-as-code/charts/backbone-services/postgresql/init-scripts/uat.sql backbone/$POSTGRES_POD:/tmp/uat.sql
# kubectl exec -n backbone $POSTGRES_POD -- bash -c "PGPASSWORD=$PGPASSWORD psql -h pucar-uat-server.postgres.database.azure.com -U pucar_uat -d pucar-uat-db -f /tmp/uat.sql"
# env:
# PGPASSWORD: ${{ secrets.TF_VAR_DB_PASSWORD_SOLUTIONS_UAT }}