Deployment Guide
Document Status: Placeholder - To be completed in Phase 4
Overview
LC DocCheck is deployed to Azure using Infrastructure as Code (Bicep) and GitHub Actions for CI/CD.
Environments
| Environment | Purpose | URL |
|---|---|---|
| Development | Feature development and testing | Internal |
| Staging | Pre-production validation | Internal |
| Production | Live system for Rudolf | Protected |
Azure Resources
Resource Group: rg-doccheck-prod
| Resource | Type | SKU |
|---|---|---|
| Cosmos DB | Serverless | Serverless |
| Function App | Consumption | Y1 |
| Storage Account | Standard | LRS |
| AI Foundry | Standard | S0 |
| Static Web App | Free | Free |
Deployment Process
1. Infrastructure (First Time Only)
# Deploy Bicep templates
az deployment group create \
--resource-group rg-doccheck-prod \
--template-file infra/main.bicep \
--parameters environment=prod
2. Azure Functions
# From projects/doc-check/functions/
func azure functionapp publish doccheck-functions-prod
3. UI (Power Apps Code App)
The UI is packaged and deployed via Power Platform CLI:
# Build the React app
npm run build
# Package for Power Apps
pac pcf push --publisher-prefix lcdc
Configuration
Environment Variables (Function App)
| Variable | Description |
|---|---|
COSMOS_CONNECTION | Cosmos DB connection string |
STORAGE_CONNECTION | Blob storage connection string |
AI_FOUNDRY_ENDPOINT | Azure AI Foundry endpoint |
AI_FOUNDRY_KEY | Azure AI Foundry key |
Application Settings
Settings are managed via Azure Portal or Bicep parameters. Never commit secrets to source control.
Monitoring
- Azure Application Insights for telemetry
- Log Analytics workspace for aggregated logs
- Alerts configured for:
- Function failures > 5/min
- Response time > 5s
- Cosmos RU consumption > 80%
Rollback Procedure
- Identify last known good deployment
- Re-deploy from that commit/tag
- Verify functionality
- Investigate root cause