- 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
56 lines
1.4 KiB
Markdown
56 lines
1.4 KiB
Markdown
# Naming Validation
|
|
|
|
This document provides validation rules and examples for the naming convention.
|
|
|
|
## Validation Rules
|
|
|
|
### Resource Group Names
|
|
- **Pattern**: `az-{region}-rg-{env}-{purpose}`
|
|
- **Example**: `az-we-rg-dev-main`
|
|
- **Validation**: `^az-[a-z]{2}-rg-(dev|stg|prd|mgmt)-[a-z]{3,15}$`
|
|
|
|
### Storage Account Names
|
|
- **Pattern**: `az{region}sa{env}{purpose}`
|
|
- **Example**: `azwesadevdata`
|
|
- **Max Length**: 24 characters
|
|
- **Validation**: `^az[a-z]{2}sa(dev|stg|prd|mgmt)[a-z]{3,10}$`
|
|
|
|
### Key Vault Names
|
|
- **Pattern**: `az-{region}-kv-{env}-{purpose}`
|
|
- **Example**: `az-we-kv-dev-main`
|
|
- **Max Length**: 24 characters
|
|
- **Validation**: `^az-[a-z]{2}-kv-(dev|stg|prd|mgmt)-[a-z]{3,10}$`
|
|
|
|
### AKS Cluster Names
|
|
- **Pattern**: `az-{region}-aks-{env}-{purpose}`
|
|
- **Example**: `az-we-aks-dev-main`
|
|
- **Max Length**: 63 characters
|
|
- **Validation**: `^az-[a-z]{2}-aks-(dev|stg|prd|mgmt)-[a-z]{3,15}$`
|
|
|
|
### Container Registry Names
|
|
- **Pattern**: `az{region}acr{env}`
|
|
- **Example**: `azweacrdev`
|
|
- **Max Length**: 50 characters
|
|
- **Validation**: `^az[a-z]{2}acr(dev|stg|prd|mgmt)$`
|
|
|
|
## Testing
|
|
|
|
Run Terraform validation:
|
|
|
|
```bash
|
|
cd infra/terraform
|
|
terraform validate
|
|
terraform plan
|
|
```
|
|
|
|
Check name lengths:
|
|
|
|
```bash
|
|
# Storage accounts must be <= 24 chars
|
|
echo "azwesadevdata" | wc -c # Should be <= 24
|
|
|
|
# Key Vaults must be <= 24 chars
|
|
echo "az-we-kv-dev-main" | wc -c # Should be <= 24
|
|
```
|
|
|