Skip to content

Latest commit

 

History

History
308 lines (230 loc) · 12.2 KB

File metadata and controls

308 lines (230 loc) · 12.2 KB

MOSIP Infrastructure Documentation Index

Welcome to the MOSIP Infrastructure documentation! This index helps you find exactly what you need, whether you're a complete beginner or an experienced DevOps engineer.

Quick Navigation

For Complete Beginners

Start your MOSIP deployment journey here:

  1. Glossary - Learn all the technical terms
  • What is AWS? What is Kubernetes? What is Terraform?
  • Plain language explanations for every concept
  • No prior cloud knowledge required
  1. Secret Generation Guide - Create required credentials
  • Step-by-step SSH key generation
  • How to get AWS credentials
  • Creating passwords and VPN configs
  • Includes links to official documentation
  1. Workflow Guide - Run deployments through GitHub
  • Visual walkthrough of GitHub Actions interface
  • Where to click and what to select
  • Understanding dry-run vs actual deployment
  • Screenshots and examples
  1. DSF Configuration Guide - Configure MOSIP services
  • What is a DSF file and why you need it
  • How to find and update clusterid
  • Domain configuration explained
  • Examples for each setting
  1. Environment Destruction Guide - Clean up resources
  • Safe teardown procedures
  • How to avoid unexpected costs
  • Backup before destruction
  • Complete cleanup verification

For Experienced Users

Jump directly to what you need:


Complete Documentation List

Core Deployment Guides

Document Description Who Should Read
Main README Complete deployment overview and quick start guide Everyone - start here
Glossary Technical terms explained in plain language Beginners
Secret Generation Guide How to create all required secrets and credentials Everyone before deployment
Workflow Guide Visual GitHub Actions workflow navigation Everyone during deployment
DSF Configuration Guide Helmsman configuration file explained in detail Everyone before Helmsman deployment
Environment Destruction Guide Safe resource cleanup and cost management Everyone when decommissioning
Helmsman Destroy Guide How to safely undeploy MOSIP services from Kubernetes Everyone when removing services

Component-Specific Documentation

Component Document What It Covers
Terraform terraform/README.md Infrastructure as code, tfvars, modules, state management
Helmsman Helmsman/README.md Application deployment, DSF files, hooks, troubleshooting
Helmsman Destroy HELMSMAN_DESTROY_GUIDE.md Undeploying services, data backup, cleanup procedures
WireGuard terraform/base-infra/WIREGUARD_SETUP.md VPN setup, peer configuration, client installation
Workflows Helmsman/helmsman-workflow-guide.md Helmsman workflow details

Learning Paths

Path 1: "I'm New to Cloud/DevOps"

Time required: 2-3 days for first deployment

  1. Day 1: Learning & Setup
  • Read Glossary - Understand all terms (2 hours)
  • Read Main README - Get deployment overview (1 hour)
  • Follow Secret Generation Guide - Create all secrets (2 hours)
  • Set up AWS account and configure IAM permissions
  1. Day 2: Infrastructure Deployment
  • Follow Workflow Guide - Deploy base-infra (1 hour)
  • Follow WireGuard Setup - Configure VPN (1 hour)
  • Deploy main infrastructure (1 hour)
  • Verify all components working
  1. Day 3: Application Deployment
  • Follow DSF Configuration Guide - Update configs (2 hours)
  • Deploy prerequisites and external services (1 hour)
  • Deploy MOSIP core services (2 hours)
  • Verify deployment and test access

Path 2: "I Know Cloud but New to MOSIP"

Time required: 4-6 hours for first deployment

  1. Planning (30 minutes)
  1. Infrastructure (2 hours)
  • Configure terraform.tfvars files
  • Run Terraform workflows
  • Set up WireGuard VPN
  1. Applications (2-3 hours)

Path 3: "I've Deployed MOSIP Before"

Quick reference for common tasks:


Find What You Need

By Task

I Want To... Read This
Understand what "Kubernetes" means Glossary
Generate SSH keys Secret Generation Guide - SSH Keys
Get AWS credentials Secret Generation Guide - AWS Credentials
Run my first workflow Workflow Guide - Base Infrastructure
Understand dry-run vs apply Workflow Guide - Parameters
Fix "clusterid not found" error DSF Configuration Guide - clusterid
Configure PostgreSQL DSF Configuration Guide - PostgreSQL
Add reCAPTCHA keys DSF Configuration Guide - reCAPTCHA
Delete my environment Environment Destruction Guide
Check costs after deletion Environment Destruction Guide - Cost Monitoring
Understand workflow names Workflow Guide - Understanding Workflow Names

By Technology

Technology Learn About It Use It
AWS Glossary - AWS Main README - AWS Setup
Terraform Glossary - Terraform Terraform README
Kubernetes Glossary - Kubernetes All deployment guides
Helmsman Glossary - Helmsman DSF Configuration Guide
WireGuard Glossary - WireGuard WireGuard Setup Guide
GitHub Actions Glossary - GitHub Actions Workflow Guide

By Error Message

Error Solution
"clusterid not found" DSF Configuration Guide - clusterid
"Authentication failed" Secret Generation Guide - AWS Credentials
"InsufficientInstanceCapacity" Main README - AWS Capacity Issues
"Namespace stuck in Terminating" Environment Destruction Guide - Troubleshooting
"Can't find workflow" Workflow Guide - Issue 1
"Helmsman dry-run fails" Workflow Guide - Issue 5

Documentation Features

What Makes Our Docs Beginner-Friendly?

Plain Language

  • Every technical term explained
  • No assumptions about prior knowledge
  • Real-world analogies and examples

Step-by-Step Instructions

  • Numbered steps you can follow exactly
  • "What you should see" at each step
  • Clear success/failure indicators

Visual Guidance

  • Where to click in GitHub interface
  • What buttons to press
  • Expected output examples

Comprehensive Examples

  • Real configuration examples
  • Before/after comparisons
  • Common patterns explained

Links to Official Docs

  • Every tool linked to official documentation
  • Additional learning resources
  • Community support channels

Troubleshooting Sections

  • Common errors and solutions
  • "What went wrong" explanations
  • Recovery procedures

Getting Help

When You're Stuck

  1. Check the relevant guide - Use the tables above to find what you need
  2. Search for error messages - Use Ctrl+F in documentation
  3. Review troubleshooting sections - Each guide has a troubleshooting section
  4. Check official documentation - Follow links to tool-specific docs
  5. Ask the community - Open a GitHub issue with details

What to Include When Asking for Help

  • What you're trying to do: "Deploy base infrastructure"
  • What guide you're following: "Step 3a in Main README"
  • What happened: Error message or unexpected behavior
  • What you expected: What you thought would happen
  • What you've tried: Steps you took to fix it

Documentation Conventions

Symbols Used

Symbol Meaning
Important for beginners
Helpful tip or explanation
Warning - pay attention!
Recommended action
Action to avoid
Link to external documentation
Link to our documentation
Step-by-step guide available
Security-related
Deletion/cleanup related

Text Formatting

  • Bold: Important terms, action items
  • Code: Commands, file names, values to copy
  • Blockquotes: Important notes, warnings

  • code blocks: Multi-line commands, configuration examples

Contributing to Documentation

Found something unclear? Want to add more examples? Contributions welcome!

  1. Report issues: Open a GitHub issue describing what's confusing
  2. Suggest improvements: What would make docs clearer?
  3. Share your experience: What worked? What didn't?

Quick Reference Cards

Essential Commands Cheat Sheet

# Check Kubernetes cluster
kubectl get nodes
kubectl get namespaces
kubectl get pods --all-namespaces

# Check specific services
kubectl get pods -A
kubectl get pods -n postgres
kubectl get svc -n istio-system

# View logs
kubectl logs <pod-name> -n <namespace>
kubectl logs <pod-name> -n <namespace> --follow

# Describe resources
kubectl describe pod <pod-name> -n <namespace>
kubectl describe svc <service-name> -n <namespace>

Deployment Checklist

  • Read Glossary if new to cloud
  • Generate all secrets (Guide)
  • Configure terraform.tfvars files
  • Deploy base infrastructure (Workflow Guide)
  • Set up WireGuard VPN (Setup Guide)
  • Deploy main infrastructure (Workflow Guide)
  • Update DSF files (DSF Guide)
  • Deploy prerequisites & external services
  • Deploy MOSIP core services
  • Deploy test rigs (optional)
  • Verify deployment
  • Document your deployment

Need to go back? Return to Main README

Have questions? Open an issue on GitHub!