Files
the_order/infra/terraform/AZURE_RESOURCE_PROVIDERS.md
defiQUG 8649ad4124 feat: implement naming convention, deployment automation, and infrastructure updates
- 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
2025-11-12 08:22:51 -08:00

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

  1. Microsoft.ContainerService

    • Purpose: Azure Kubernetes Service (AKS)
    • Required For: Kubernetes cluster deployment
    • Registration: Required
  2. Microsoft.KeyVault

    • Purpose: Azure Key Vault for secrets management
    • Required For: Secure storage of secrets, certificates, keys
    • Registration: Required
  3. Microsoft.Storage

    • Purpose: Azure Storage Accounts
    • Required For: Object storage, Terraform state backend
    • Registration: Required
  4. Microsoft.Network

    • Purpose: Virtual Networks, Load Balancers, Application Gateway
    • Required For: Networking infrastructure
    • Registration: Required
  5. Microsoft.Compute

    • Purpose: Virtual Machines, VM Scale Sets
    • Required For: AKS node pools, compute resources
    • Registration: Required

Database & Storage Providers

  1. Microsoft.DBforPostgreSQL

    • Purpose: Azure Database for PostgreSQL
    • Required For: Primary database service
    • Registration: Required
  2. Microsoft.ContainerRegistry

    • Purpose: Azure Container Registry (ACR)
    • Required For: Container image storage and management
    • Registration: Required

Identity & Access Providers

  1. Microsoft.ManagedIdentity

    • Purpose: Azure Managed Identities
    • Required For: Service-to-service authentication without secrets
    • Registration: Required
  2. Microsoft.Authorization

    • Purpose: Role-Based Access Control (RBAC)
    • Required For: Access control and permissions
    • Registration: Required

Monitoring & Observability Providers

  1. Microsoft.Insights

    • Purpose: Application Insights, Azure Monitor
    • Required For: Application monitoring and metrics
    • Registration: Required
  2. Microsoft.OperationalInsights

    • Purpose: Log Analytics Workspaces
    • Required For: Centralized logging and log analysis
    • Registration: Required

Workflow & Integration Providers

  1. Microsoft.Logic
    • Purpose: Azure Logic Apps
    • Required For: Workflow orchestration (optional but recommended)
    • Registration: Required if using Logic Apps

Resource Management Providers

  1. 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.

  • 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

  1. Check Subscription Permissions

    az account show
    az role assignment list --assignee $(az account show --query user.name -o tsv)
    
  2. Check Subscription State

    az account show --query state
    

    Must be Enabled

  3. Wait for Registration

    • Some providers take 5-10 minutes to register
    • Use --wait flag or check status periodically

Provider Not Available in Region

  1. Check Regional Availability

    az provider show --namespace <ProviderName> --query "resourceTypes[?resourceType=='<ResourceType>'].locations"
    
  2. Use Alternative Region

    • Consider using northeurope or uksouth as alternatives

Quota Issues

  1. Check Quotas

    ./infra/scripts/azure-check-quotas.sh
    
  2. Request Quota Increase

    • Go to Azure Portal → Subscriptions → Usage + quotas
    • Request increase for required resources

Next Steps

After registering all resource providers:

  1. Run ./infra/scripts/azure-setup.sh to complete Azure setup
  2. Check quotas: ./infra/scripts/azure-check-quotas.sh
  3. Proceed with Terraform initialization: terraform init
  4. Plan infrastructure: terraform plan
  5. Deploy infrastructure: terraform apply

References