Architecture
The infrastructure is organized into modular components:Environments
Modules
Networking
- Azure Virtual WAN
- Virtual Hub with Azure Firewall
- Point-to-Site VPN
- Private DNS zones
Backend
- Azure App Service for API (production only; disabled in
devandqa) - Auto-scaling configuration
- Health checks
Database
- PostgreSQL Flexible Server
- Private network access
- Automated backups
Frontend
- Azure Static Web Apps
- CDN configuration
- Custom domains
Security
- Key Vault for secrets
- Managed identities
- RBAC policies
Monitoring
- Application Insights
- Log Analytics
- Sentry integration
VPN access
Protected resources are accessible via VPN in dev:- Database resources
- Management endpoints
- Monitoring dashboards
- Internal APIs
VPN setup
1
Get Azure AD Account
Account is provisioned via the user onboarding workflow
2
Install Azure VPN Client
- Windows: Microsoft Store
- Mac: App Store
3
Import Configuration
Import
azurevpnconfig.xml from 1Password4
Connect
Uses Azure AD authentication (no certificates required)
GitHub workflows
Terraform apply
Automates infrastructure deployment:- Trigger: Pushes to main, qa, dev branches
- Process:
- Initialize Terraform
- Security scan with tfsec
- Plan changes
- Apply with approval
User onboarding
Manages Azure user access:- Trigger: Manual workflow dispatch
- Process:
- Create Azure AD accounts
- Assign roles
- Send credentials via email
Deployment workflow
State management
Terraform state is stored in Azure Blob Storage:Next steps
Terraform
Deployment workflow and commands
Environments
Environment-specific details
Monitoring
Sentry and observability