Install
One click deployment
Overview
This guide helps you deploy the DIGIT platform using GitHub Actions on AWS with minimal steps.
Pre-Requisites
AWS Account (with admin access)
GitHub Organisation Account
IAM User with
Access Key
andSecret Key
Terraform uses
ap-south-1
(for now, hardcoded)SOPS for encrypting secrets
Use a private GitHub repo to secure sensitive data
Steps
Setup GitHub Repository
Enable GitHub Actions workflows for the repo
Go to:
Settings
→Secrets and Variables
→Actions
→New Repository Secret
Add the below secrets: (refer to the table below)
AWS_ACCESS_KEY_ID
<your_access_key>
AWS_SECRET_ACCESS_KEY
<your_secret_key>
AWS_REGION
ap-south-1
AWS_DEFAULT_REGION
ap-south-1
Generate SSH Key Pair
Use either of the two methods (for demo use only):
Website: https://8gwifi.org/sshfunctions.jsp
Type: RSA 2048
Save the public key and private key separately
Sample Public Key:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQA*************************************HBFUNjyMLpFltqwbsA*************************************MaMhX7Ou3*************************************PWHKx*************************************oVTBWxloXFQy/XFU*************************************W/QVdgs5xp+P5hhZgm9WpdN3Cz*************************************clYmUHoPCPwKIqElX2DZzYGJc*************************************y4gR
Sample Private Key:
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAue4+1*********************K7mGXRIv6enEP4lN/y9i287wsNBpg+IDGjIV************************************************************************************
+zrt79wBgG5vlGMoT1hysRDpxNNlDdimE6G8OHaCj6e5cwhXrMt1swKFUwVsZaFx
UMv1xVFU/OsrJ8v8***************************************************************** **********************Sd74a4d2h28pIEHNbrlvAVn7Zt9IDC
kgske+VBY+X0D2en1l8bt3Vdnn5xgcDQsPmp6GdoRfE2luJ6lAe+mdkCgYEA0wUj
tUHRH9sI3X86wZVREt*************************************************************** **********************************poTy6hNQr9IT2TsBckuN/qqockBR/j+iRap7lec3tJM
vdmMVP0Ed7GjBiSBVeHeHVg+Dt6+AqayWqU0hPkCgYB6o+bof7XnnsmBjvLVFO15
LlDiIZQFBtr7CriRDD2Nx************************************************************* ************************************TCaHk8CGmA+TXSKM9q7cTtMb6ythUQhZrpq 0EEY5TgQKBgQ*************************************************************8/PD+mT 5jFvon5Q==
-----END RSA PRIVATE KEY-----
Configure Infrastructure Inputs
Go to: Devops/infra-as-code/terraform/sample-aws/input.yaml
Fill values for:
cluster_name
Lowercase alphanumeric & hyphens only
ssh_key_name
Any alphanumeric string
public_ssh_key
Paste public key here
db_name
Alphanumeric
db_username
Alphanumeric
domain_name
Your domain (e.g. demo.digit.org
)
terraform_state_bucket_name
Unique S3 bucket name
Setup Kubeconfig
Ensure AWS CLI is configured:
aws configure --profile <profile_name>
export AWS_PROFILE=<profile_name>
aws configure list --profile <profile_name>
Then get the kubeconfig:
aws eks --region ap-south-1 update-kubeconfig --name <cluster_name>
kubectl config use-context <cluster_name>
kubectl get nodes
kubectl get pods -A
Clean Up (Uninstall DIGIT)
To destroy the infrastructure:
Go to GitHub → Actions →
DIGIT-Install workflow
Click
Run workflow
In the input box, type:
destroy
Monitor the job status
✅ This will remove all DIGIT infrastructure via Terraform.
Summary
IAM Setup
Create IAM user with keys
GitHub Secrets
Add 4 AWS-related secrets
Key Generation
Create SSH key pair
Infra Inputs
Fill input.yaml
with your values
App Secrets
Add db_password
and SSH key
Deployment
Push changes → GitHub workflow
KubeConfig
Setup CLI and connect to cluster
Domain Mapping
Add CNAME to DNS
Cleanup
Use destroy
in GitHub workflow
Last updated
Was this helpful?