56 lines
1.9 KiB
Bash
56 lines
1.9 KiB
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
# Fix Resource Group Naming Conventions
|
||
|
|
|
||
|
|
set -e
|
||
|
|
|
||
|
|
cd "$(dirname "$0")/../.."
|
||
|
|
|
||
|
|
# Color codes
|
||
|
|
|
||
|
|
echo "==================================================================="
|
||
|
|
echo " FIXING RESOURCE GROUP NAMING CONVENTIONS"
|
||
|
|
echo "==================================================================="
|
||
|
|
|
||
|
|
# Expected naming convention: {cloud}-{env}-{region}-rg-{type}-{instance}
|
||
|
|
# Example: az-p-we-rg-comp-001
|
||
|
|
|
||
|
|
EXPECTED_PATTERN="^az-[pdt]-[a-z]+-rg-(net|comp|stor|sec|mon|tfstate)-[0-9]{3}$"
|
||
|
|
|
||
|
|
log_info "Current Resource Groups:"
|
||
|
|
|
||
|
|
az group list --query "[].name" -o tsv | while read -r rg; do
|
||
|
|
if [[ "$rg" =~ $EXPECTED_PATTERN ]]; then
|
||
|
|
log_success "✅ $rg (correct)"
|
||
|
|
else
|
||
|
|
log_warn "⚠️ $rg (needs review)"
|
||
|
|
fi
|
||
|
|
done
|
||
|
|
|
||
|
|
log_info "Checking Terraform configuration..."
|
||
|
|
|
||
|
|
# Check terraform.tfvars
|
||
|
|
if [ -f terraform/terraform.tfvars ]; then
|
||
|
|
RG_NAME=$(grep -E "^resource_group_name" terraform/terraform.tfvars | head -1 | sed 's/.*= *"\([^"]*\)".*/\1/' | tr -d ' ')
|
||
|
|
|
||
|
|
if [ -n "$RG_NAME" ] && [ "$RG_NAME" != "" ]; then
|
||
|
|
if [[ "$RG_NAME" =~ $EXPECTED_PATTERN ]]; then
|
||
|
|
log_success "✅ terraform.tfvars resource_group_name: $RG_NAME"
|
||
|
|
else
|
||
|
|
log_warn "⚠️ terraform.tfvars resource_group_name: $RG_NAME"
|
||
|
|
echo " Expected pattern: az-p-we-rg-comp-001"
|
||
|
|
fi
|
||
|
|
else
|
||
|
|
log_success "✅ terraform.tfvars uses default naming (empty)"
|
||
|
|
fi
|
||
|
|
fi
|
||
|
|
|
||
|
|
log_info "Standard naming convention:"
|
||
|
|
echo " Format: {cloud}-{env}-{region}-rg-{type}-{instance}"
|
||
|
|
echo " Example: az-p-we-rg-comp-001"
|
||
|
|
echo " Where:"
|
||
|
|
echo " cloud = az (Azure)"
|
||
|
|
echo " env = p (prod), d (dev), t (test), s (staging)"
|
||
|
|
echo " region = we (westeurope), ne (northeurope), etc."
|
||
|
|
echo " type = comp (compute), net (network), stor (storage), sec (security), mon (monitoring), tfstate (terraform state)"
|
||
|
|
echo " instance = 001, 002, etc."
|