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
This commit is contained in:
@@ -1,46 +1,54 @@
|
||||
# Terraform configuration for The Order infrastructure
|
||||
# This is a template - customize for your cloud provider
|
||||
# Azure provider configuration - No US Commercial or Government regions
|
||||
# Version constraints are in versions.tf
|
||||
|
||||
terraform {
|
||||
required_version = ">= 1.5.0"
|
||||
|
||||
required_providers {
|
||||
# Add your cloud provider(s) here
|
||||
# Example for AWS:
|
||||
# aws = {
|
||||
# source = "hashicorp/aws"
|
||||
# version = "~> 5.0"
|
||||
# }
|
||||
# Configure the Azure Provider
|
||||
provider "azurerm" {
|
||||
features {
|
||||
resource_group {
|
||||
prevent_deletion_if_contains_resources = false
|
||||
}
|
||||
key_vault {
|
||||
purge_soft_delete_on_destroy = true
|
||||
}
|
||||
}
|
||||
|
||||
# Configure backend for state management
|
||||
# backend "s3" {
|
||||
# bucket = "the-order-terraform-state"
|
||||
# key = "terraform.tfstate"
|
||||
# region = "us-east-1"
|
||||
# }
|
||||
|
||||
# Default location - West Europe (no US regions)
|
||||
# This can be overridden per resource if needed
|
||||
location = var.azure_region
|
||||
}
|
||||
|
||||
# Provider configuration
|
||||
# provider "aws" {
|
||||
# region = var.aws_region
|
||||
# }
|
||||
|
||||
# Variables
|
||||
variable "aws_region" {
|
||||
description = "AWS region"
|
||||
variable "azure_region" {
|
||||
description = "Azure region (default: westeurope, no US regions allowed)"
|
||||
type = string
|
||||
default = "us-east-1"
|
||||
default = "westeurope"
|
||||
|
||||
validation {
|
||||
condition = !can(regex("^us", var.azure_region))
|
||||
error_message = "US Commercial and Government regions are not allowed. Use European or other non-US regions."
|
||||
}
|
||||
}
|
||||
|
||||
variable "environment" {
|
||||
description = "Environment name (dev, stage, prod)"
|
||||
type = string
|
||||
default = "dev"
|
||||
|
||||
validation {
|
||||
condition = contains(["dev", "stage", "prod"], var.environment)
|
||||
error_message = "Environment must be dev, stage, or prod."
|
||||
}
|
||||
}
|
||||
|
||||
# Outputs
|
||||
output "environment" {
|
||||
value = var.environment
|
||||
description = "Environment name"
|
||||
value = var.environment
|
||||
}
|
||||
|
||||
output "azure_region" {
|
||||
description = "Azure region being used"
|
||||
value = var.azure_region
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user