DIGIT Installation on Azure
DIGIT services deployment in azure cloud platform
Pre-requisites
Make sure you have your Azure account with the necessary credentials.
βAll DIGIT services are packaged using helm charts, Install helm using the link
Installing Helmβkubectl is a CLI to connect to the Kubernetes cluster on your machine
Install CURL for making API calls
βInstall VisualStudio IDE Code for better code visualization/editing capabilities
βInstall Postman to run digit bootstrap scripts
Install Terraform to provide infrastructure on Azure
Infra Setup
Clone the DIGIT-DevOps Repo and check out to the Azure branch
git clone https://github.com/egovernments/DIGIT-DevOps.git
cd DIGIT-DevOps
git checkout azure-install
codeChange to the remote state in the sample-azure directory
Login to Azure using the below command in the terminal
Update the variables in variables.tf file
Run the below commands to create resource-group, storage-account and container
Copy the storage account name and change to the sample-azure directory
Open main.tf file and update the below placeholder details
Create client-id and client-secret with necessary permissions
Open variables.tf file - update the variables and run the below commands
Note the db_name and server_name
Fetch the kubeconfig using the below command. This will automatically store your kubeconfig in .kube folder
Check the kubeconfig and pods by running the below commands
Deployment
Change to the environments directory and open egov-demo.yaml
Update the below configurations in egov-demo.yaml
Open the egov-demo-secrets.yaml file and update db details and private key
Generate SSH key pairs (Use either method (a) or method (b)) to update the private key.
a. Using the online website (not recommended for production setup. To be only used for demo setups): https://8gwifi.org/sshfunctions.jsp
b. Using OpenSSL :
openssl genpkey -algorithm RSA -out private_key.pem openssl rsa -pubout -in private_key.pem -out public_key.pem
Add the public key to your GitHub account (reference: https://www.youtube.com/watch?v=9C7_jBn9XJ0&ab_channel=AOSNote )
Change to the deployer directory
Run the below command to deploy nginx-ingress
Check the pods once all services are deployed successfully
Run the below command to get the load balancer id
Copy the load balancer id and add it to your domain provider against your domain name.
Last updated
Was this helpful?