Skip to main content
Version: 1.0.0

Task 01: Configure Core Variables

Implementation Terraform

DOCUMENT CATEGORY: Task
SCOPE: Core Terraform variable configuration
PURPOSE: Define customer and CI/CD integration variables
MASTER REFERENCE: azurelocal-toolkit Variables

Status: Active Last Updated: 2026-02-07


Objective

Configure the core Terraform variables required for all CI/CD deployments, including customer details, environment settings, and CI/CD Infrastructure integration.


Prerequisites


Procedure

1. Open Terraform Variables File

Navigate to your source control project and open the Terraform variables file:

# Typically located at:
terraform/environments/<environment>/terraform.tfvars
# or
terraform.tfvars

2. Configure Customer Variables

Add the core customer variables:

# Customer Configuration
customer_name = "iic" # Customer short name (lowercase, hyphens)
environment = "prd" # Environment: prd, dev, stg (max 3 chars)
location = "eastus" # Azure region (eastus, westus, centralus, etc.)
tenant_id = "12345678-1234-1234-1234-123456789012" # Customer Azure tenant ID

3. Configure CI/CD Infrastructure Integration

Add the CI/CD Infrastructure variables from Part 2:

# CI/CD Infrastructure (from Part 1)
azurelocal_cicd = {
runner_principal_id = "87654321-4321-4321-4321-210987654321" # CI/CD runner service principal
}

# Azure Local Entra ID Group (from Part 1)
azurelocal_group_object_id = "abcdef12-3456-7890-abcd-ef1234567890" # Azure Local management group
# Optional: Resource tags
tags = {
Customer = "Customer Name"
Environment = "Production"
ManagedBy = "Azure Local Cloud CI/CD"
CostCenter = "IT Infrastructure"
}

Variable Reference

VariableTypeDescriptionRequiredExample
customer_namestringCustomer short name"iic"
environmentstringEnvironment identifier (max 3 chars)"prd", "dev", "stg"
locationstringAzure region for resource deployment"eastus", "westus"
tenant_idstringCustomer Azure tenant ID (GUID)"12345678-1234-..."
azurelocal_cicd.runner_principal_idstringCI/CD runner service principal ID"87654321-4321-..."
azurelocal_group_object_idstringAzure Local Entra ID group object ID"abcdef12-3456-..."
tagsmap(string)Optional resource tags{ Customer = "..." }

Validation

After configuration, verify:

  • Customer name follows naming convention
  • Environment code is valid (3 characters maximum)
  • Azure region is correct and available
  • Tenant ID is correct customer tenant GUID
  • Runner principal ID matches CI/CD pipeline service principal from Part 1
  • Azure Local group object ID matches Entra ID group from Part 1
  • No syntax errors in HCL configuration

Example Complete Configuration

# terraform.tfvars

# Customer Configuration
customer_name = "acme"
environment = "prd"
location = "eastus"
tenant_id = "a1b2c3d4-e5f6-7890-abcd-ef1234567890"

# CI/CD Infrastructure
azurelocal_cicd = {
runner_principal_id = "11223344-5566-7788-99aa-bbccddeeff00"
}

# Azure Local Entra ID Group
azurelocal_group_object_id = "ffeeddcc-bbaa-9988-7766-554433221100"

# Optional Tags
tags = {
Customer = "Acme Corporation"
Environment = "Production"
ManagedBy = "Azure Local CI/CD"
CostCenter = "IT-Infrastructure"
Project = "Azure Local Deployment"
}

Variables from variables.yml

VariableConfig PathExample
Subscription IDazure.subscription.idxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Resource Groupazure.resource_groups.management.namerg-management-01
Locationazure.locationeastus
Environmentazure.environmentproduction

Troubleshooting

Issue: Invalid customer_name format Solution: Customer name must be lowercase with hyphens only (e.g., acme, global-tech)

Issue: Invalid environment value Solution: Environment must be 3 characters or less: prd, dev, stg, qa, etc.

Issue: Azure region not available Solution: Verify region name with az account list-locations -o table

Issue: Cannot find runner principal ID Solution: Check Part 1 CI/CD Infrastructure deployment outputs or CI/CD pipeline variables


Next Steps

Proceed to Task 02 - Configure Management Mode to define network configuration.



When to use: Use this tab if your CI/CD pipeline runs on GitHub Actions.

See procedure steps above for GitHub-specific guidance.

Toolkit Reference

Scripts for this task are located in the azurelocal-toolkit repository under scripts/deploy/ in the appropriate task folder.


Alternatives

The procedures in this task use the scripted methods shown in the tabs above. Additional deployment methods including Azure CLI and Bash scripts are available in the azurelocal-toolkit repository under scripts/deploy/.

MethodDescription
Azure CLIPowerShell-based Azure CLI scripts for Azure resource operations
BashLinux/macOS compatible shell scripts for pipeline environments
PreviousUpNext
Phase 01 - ConfigurationPhase 01 - ConfigurationTask 02 - Management Mode

Version Control

VersionDateAuthorChanges
1.0.02026-03-24Azure Local CloudInitial release