Files
the_order/docs/governance/NAMING_IMPLEMENTATION_SUMMARY.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

3.9 KiB

Naming Convention Implementation Summary

Last Updated: 2025-01-27
Status: Complete


Overview

The standardized naming convention has been fully implemented across The Order project. All Azure resources now follow the pattern:

{provider}-{region}-{resource}-{env}-{purpose}

Implementation Status

Completed

  1. Naming Convention Document (docs/governance/NAMING_CONVENTION.md)

    • Comprehensive naming rules and patterns
    • Region abbreviations
    • Resource type abbreviations
    • Environment abbreviations
    • Purpose identifiers
    • Examples for all resource types
  2. Terraform Implementation

    • Created locals.tf with centralized naming functions
    • Updated resource-groups.tf to use new naming
    • Updated storage.tf to use new naming (with special rules)
    • Updated outputs.tf with naming convention outputs
    • Updated variables.tf with region validation
    • Updated versions.tf backend comments
  3. Deployment Scripts

    • Updated scripts/deploy/config.sh with naming functions
    • Added region abbreviation mapping
    • Added environment abbreviation mapping
    • All resource names now use new convention
  4. Documentation

    • Updated deployment guide with naming convention reference
    • Created naming validation document
    • All examples updated

Naming Examples

Resource Groups

  • Old: the-order-dev-rg
  • New: az-we-rg-dev-main

Storage Accounts

  • Old: theorderdevdata
  • New: azwesadevdata (alphanumeric only, max 24 chars)

Key Vaults

  • Old: the-order-dev-kv
  • New: az-we-kv-dev-main (max 24 chars)

AKS Clusters

  • Old: the-order-dev-aks
  • New: az-we-aks-dev-main

Container Registries

  • Old: theorderacr
  • New: azweacrdev (alphanumeric only, max 50 chars)

Key Features

Centralized Naming

All naming logic is centralized in infra/terraform/locals.tf:

locals {
  provider = "az"
  region_short = "we"  # westeurope
  env_short = "dev"
  
  rg_name = "${local.provider}-${local.region_short}-rg-${local.env_short}-main"
  sa_data_name = "${local.provider}${local.region_short}sa${local.env_short}data"
  # ... etc
}

Automatic Abbreviations

Region and environment abbreviations are automatically calculated:

  • westeuropewe
  • northeuropene
  • uksouthuk
  • devdev
  • stagestg
  • prodprd

Validation

Terraform variables include validation:

validation {
  condition = contains([
    "westeurope", "northeurope", "uksouth", ...
  ], var.azure_region)
  error_message = "Region must be one of the supported non-US regions."
}

Usage

In Terraform

resource "azurerm_resource_group" "main" {
  name     = local.rg_name  # az-we-rg-dev-main
  location = var.azure_region
}

In Deployment Scripts

# Automatically calculated from environment variables
readonly RESOURCE_GROUP_NAME="${NAME_PREFIX}-rg-${ENV_SHORT}-main"
# Result: az-we-rg-dev-main

Benefits

  1. Consistency: All resources follow the same pattern
  2. Clarity: Names are self-documenting
  3. Compliance: Meets Azure naming requirements
  4. Maintainability: Centralized naming logic
  5. Scalability: Easy to add new resources
  6. Automation: Scripts automatically generate correct names

Next Steps

When adding new resources:

  1. Add naming function to locals.tf
  2. Use the local value in resource definition
  3. Update documentation if needed
  4. Test with Terraform plan

References


Status: Implementation complete and ready for use