How egovernments/digit-devops works
This repository provides DIGIT infrastructure provisioning and deployment tooling: operators configure an environment, select a product or image set, and deploy Helm-rendered services to Kubernetes. The main CLI also supports cluster configuration, while Terraform helper programs populate infrastructure and Helm environment inputs. The chart tree represents platform, business, frontend, health, and domain-service workloads; JupyterHub has a substantial runtime configuration subsystem. Relationships among unsampled chart families are omitted; chart deployment and infrastructure-file updates are shown only where sampled code supports them.
Main entry points: deployer.go Chart deployment · deploy.go Deploy command · init.go Terraform initializer · main.go CLI entry
Components 23
Deployment CLI
- CLI entry
deploy-as-code/egov-deployer/main.go - Root command
deploy-as-code/egov-deployer/cmd/root.go - Deploy command
deploy-as-code/egov-deployer/cmd/deploy.go - Deploy options
deploy-as-code/egov-deployer/pkg/cmd/deployer/options.go - Chart deployment
deploy-as-code/egov-deployer/pkg/cmd/deployer/deployer.go - Setup wizard
deploy-as-code/egov-deployer/digit_setup.go
Helm Workloads
- Cluster configs
deploy-as-code/helm/charts/cluster-configs - Backbone services
deploy-as-code/helm/charts/backbone-services - Core services
deploy-as-code/helm/charts/core-services - Business services
deploy-as-code/helm/charts/business-services - Frontend apps
deploy-as-code/helm/charts/frontend - Health services
deploy-as-code/helm/charts/health-services - DIGIT Works
deploy-as-code/helm/charts/digit-works - iFix services
deploy-as-code/helm/charts/ifix - iSpirit services
deploy-as-code/helm/charts/ispirit
Infrastructure Inputs
- Terraform initializer
infra-as-code/terraform/scripts/init.go - Environment updater
infra-as-code/terraform/scripts/envYAMLUpdater.go - Helm environment files
deploy-as-code/helm
JupyterHub Runtime
- Hub configuration
deploy-as-code/helm/charts/backbone-services/jupyterhub/files/hub/jupyterhub_config.py - Config utilities
deploy-as-code/helm/charts/backbone-services/jupyterhub/files/hub/z2jh.py
Other components
- Operator
- Kubernetes cluster
- Terraform provider files
Connections 23
- Operator → CLI entry: runs CLI
deploy-as-code/egov-deployer/main.go - CLI entry → Root command: executes
deploy-as-code/egov-deployer/main.go - Root command → Deploy command: registers command
deploy-as-code/egov-deployer/cmd/deploy.go - Deploy command → Deploy options: sets options
deploy-as-code/egov-deployer/cmd/deploy.go - Deploy command → Chart deployment: calls deploy
deploy-as-code/egov-deployer/cmd/deploy.go - Chart deployment → Cluster configs: renders configs
deploy-as-code/egov-deployer/pkg/cmd/deployer/deployer.go - Chart deployment → Backbone services: renders charts
- Chart deployment → Core services: renders charts
- Chart deployment → Business services: renders charts
- Chart deployment → Frontend apps: renders charts
- Chart deployment → Health services: renders charts
- Chart deployment → DIGIT Works: renders charts
- Chart deployment → iFix services: renders charts
- Chart deployment → iSpirit services: renders charts
- Chart deployment → Kubernetes cluster: applies manifests
deploy-as-code/egov-deployer/pkg/cmd/deployer/deployer.go - Operator → Setup wizard: selects modules
deploy-as-code/egov-deployer/digit_setup.go - Setup wizard → Chart deployment: starts deployment
- Operator → Terraform initializer: provides inputs
infra-as-code/terraform/scripts/init.go - Terraform initializer → Terraform provider files: updates files
infra-as-code/terraform/scripts/init.go - Terraform initializer → Helm environment files: updates environment
infra-as-code/terraform/scripts/init.go - Terraform provider files → Environment updater: emits outputs
infra-as-code/terraform/scripts/envYAMLUpdater.go - Environment updater → Helm environment files: updates YAML
infra-as-code/terraform/scripts/envYAMLUpdater.go - Hub configuration → Config utilities: imports utilities
deploy-as-code/helm/charts/backbone-services/jupyterhub/files/hub/jupyterhub_config.py