- Add comprehensive naming convention (provider-region-resource-env-purpose) - Implement Terraform locals for centralized naming - Update all Terraform resources to use new naming convention - Create deployment automation framework (18 phase scripts) - Add Azure setup scripts (provider registration, quota checks) - Update deployment scripts config with naming functions - Create complete deployment documentation (guide, steps, quick reference) - Add frontend portal implementations (public and internal) - Add UI component library (18 components) - Enhance Entra VerifiedID integration with file utilities - Add API client package for all services - Create comprehensive documentation (naming, deployment, next steps) Infrastructure: - Resource groups, storage accounts with new naming - Terraform configuration updates - Outputs with naming convention examples Deployment: - Automated deployment scripts for all 15 phases - State management and logging - Error handling and validation Documentation: - Naming convention guide and implementation summary - Complete deployment guide (296 steps) - Next steps and quick start guides - Azure prerequisites and setup completion docs Note: ESLint warnings present - will be addressed in follow-up commit
6.7 KiB
Azure Resource Providers - Required for The Order
Last Updated: 2025-01-27
Default Region: West Europe (westeurope)
Policy: No US Commercial or Government regions
Required Resource Providers
The following Azure Resource Providers must be registered in your subscription before deploying The Order infrastructure:
Core Infrastructure Providers
-
Microsoft.ContainerService
- Purpose: Azure Kubernetes Service (AKS)
- Required For: Kubernetes cluster deployment
- Registration: Required
-
Microsoft.KeyVault
- Purpose: Azure Key Vault for secrets management
- Required For: Secure storage of secrets, certificates, keys
- Registration: Required
-
Microsoft.Storage
- Purpose: Azure Storage Accounts
- Required For: Object storage, Terraform state backend
- Registration: Required
-
Microsoft.Network
- Purpose: Virtual Networks, Load Balancers, Application Gateway
- Required For: Networking infrastructure
- Registration: Required
-
Microsoft.Compute
- Purpose: Virtual Machines, VM Scale Sets
- Required For: AKS node pools, compute resources
- Registration: Required
Database & Storage Providers
-
Microsoft.DBforPostgreSQL
- Purpose: Azure Database for PostgreSQL
- Required For: Primary database service
- Registration: Required
-
Microsoft.ContainerRegistry
- Purpose: Azure Container Registry (ACR)
- Required For: Container image storage and management
- Registration: Required
Identity & Access Providers
-
Microsoft.ManagedIdentity
- Purpose: Azure Managed Identities
- Required For: Service-to-service authentication without secrets
- Registration: Required
-
Microsoft.Authorization
- Purpose: Role-Based Access Control (RBAC)
- Required For: Access control and permissions
- Registration: Required
Monitoring & Observability Providers
-
Microsoft.Insights
- Purpose: Application Insights, Azure Monitor
- Required For: Application monitoring and metrics
- Registration: Required
-
Microsoft.OperationalInsights
- Purpose: Log Analytics Workspaces
- Required For: Centralized logging and log analysis
- Registration: Required
Workflow & Integration Providers
- Microsoft.Logic
- Purpose: Azure Logic Apps
- Required For: Workflow orchestration (optional but recommended)
- Registration: Required if using Logic Apps
Resource Management Providers
- Microsoft.Resources
- Purpose: Azure Resource Manager
- Required For: Resource group management, deployments
- Registration: Required (usually pre-registered)
Preview Features
Currently, no preview features are required. If Microsoft Entra VerifiedID requires preview features, they will be documented here.
Registration Status
Check Registration Status
# Check all required providers
./infra/scripts/azure-register-providers.sh
# Or check individually
az provider show --namespace Microsoft.ContainerService
Register All Providers
# Run the registration script
./infra/scripts/azure-register-providers.sh
Manual Registration
If you need to register providers manually:
# Register a single provider
az provider register --namespace Microsoft.ContainerService
# Register all providers
for provider in \
Microsoft.ContainerService \
Microsoft.KeyVault \
Microsoft.Storage \
Microsoft.Network \
Microsoft.Compute \
Microsoft.DBforPostgreSQL \
Microsoft.ContainerRegistry \
Microsoft.ManagedIdentity \
Microsoft.Insights \
Microsoft.Logic \
Microsoft.OperationalInsights \
Microsoft.Authorization \
Microsoft.Resources; do
az provider register --namespace "${provider}" --wait
done
Registration Verification
After registration, verify all providers are registered:
# Check registration status
az provider list --query "[?contains(namespace, 'Microsoft')].{Namespace:namespace, Status:registrationState}" -o table
All providers should show Registered status.
Regional Availability
Important: The Order uses West Europe (westeurope) as the default region. US Commercial and Government regions are not used.
Recommended Regions
- Primary:
westeurope(West Europe) - Secondary:
northeurope(North Europe) - UK:
uksouth(UK South) - Switzerland:
switzerlandnorth(Switzerland North) - Norway:
norwayeast(Norway East)
Check Regional Availability
Some resource providers may not be available in all regions. Check availability:
# Check AKS availability
az provider show --namespace Microsoft.ContainerService --query "resourceTypes[?resourceType=='managedClusters'].locations" -o table
# Check PostgreSQL availability
az provider show --namespace Microsoft.DBforPostgreSQL --query "resourceTypes[?resourceType=='servers'].locations" -o table
Troubleshooting
Provider Registration Fails
-
Check Subscription Permissions
az account show az role assignment list --assignee $(az account show --query user.name -o tsv) -
Check Subscription State
az account show --query stateMust be
Enabled -
Wait for Registration
- Some providers take 5-10 minutes to register
- Use
--waitflag or check status periodically
Provider Not Available in Region
-
Check Regional Availability
az provider show --namespace <ProviderName> --query "resourceTypes[?resourceType=='<ResourceType>'].locations" -
Use Alternative Region
- Consider using
northeuropeoruksouthas alternatives
- Consider using
Quota Issues
-
Check Quotas
./infra/scripts/azure-check-quotas.sh -
Request Quota Increase
- Go to Azure Portal → Subscriptions → Usage + quotas
- Request increase for required resources
Next Steps
After registering all resource providers:
- ✅ Run
./infra/scripts/azure-setup.shto complete Azure setup - ✅ Check quotas:
./infra/scripts/azure-check-quotas.sh - ✅ Proceed with Terraform initialization:
terraform init - ✅ Plan infrastructure:
terraform plan - ✅ Deploy infrastructure:
terraform apply