avm-ptn-cicd-agents-and-runners

Azure/avm-ptn-cicd-agents-and-runners/azurerm

Terraform Module HCL AZURERM ✓ Verified

Terraform Azure Verified Pattern Module for CI CD Agents and Runners

Install
module "avm-ptn-cicd-agents-and-runners" {
source = "Azure/avm-ptn-cicd-agents-and-runners/azurerm"
version = "0.5.2"
}
⭐ Source on GitHub 📦 Registry page
README

Azure Verified Module for CI/CD Agents and Runners This module deploys self-hosted Azure DevOps Agents and Github Runners with support for both Personal Access Token (PAT) and User Assigned Managed Identity (UAMI) authentication. Features - Deploys Azure DevOps Agents with PAT or UAMI authentication - Deploys Github Runners with PAT or GitHub App authentication - Supports Azure Container Apps with KEDA auto scaling - Supports Azure Container Instances - Supports public or private networking - Creates all required Azure resources or use existing ones - No PAT token management required with UAMI authentication Authentication Methods Azure DevOps: PAT (token-based) or UAMI (identity-based, no tokens required) GitHub: PAT (token-based) or GitHub App (app-based) Prerequisites for UAMI Authentic

Inputs (50)
NameTypeDescriptionDefault
version_control_system_organizationstringThe version control system organization to deploy the agents too. required
locationstringAzure region where the resource should be deployed. required
postfixstringA postfix used to build default names if no name has been supplied for a specifi required
custom_container_registry_idstringThe id of the container registry to use if `container_registry_creation_enabled`null
custom_container_registry_passwordstringThe password of the container registry to use if `container_registry_creation_ennull
default_image_registry_dockerfile_pathstringThe default image registry Dockerfile path to use if no custom image is provided"dockerfile"
version_control_system_placeholder_agent_namestringThe version control system placeholder agent name.null
container_registry_private_endpoint_subnet_idstringThe ID of a pre-existing subnet to use. Required if `virtual_network_creation_ennull
container_registry_subnet_cidr_sizenumberThe CIDR size for the container registry subnet.29
public_ip_creation_enabledboolWhether or not to create a public IP.true
container_app_environment_namestringThe name of the Container App Environment. Only required if `container_app_envirnull
container_instance_container_cpunumberThe CPU value for the container instance2
container_instance_container_cpu_limitnumberThe CPU limit value for the container instance2
use_private_networkingboolWhether or not to use private networking for the container registry.true
user_assigned_managed_identity_principal_idstringThe principal id of the user assigned managed identity. Only required if `user_anull
version_control_system_runner_groupstringThe runner group to add the runner to.null
container_app_environment_idstringThe resource id of the Container App Environment. Only required if `container_apnull
container_app_min_execution_countnumberThe minimum number of executions (ADO jobs) to spawn per polling interval.0
container_app_replica_retry_limitnumberThe number of times to retry the runner Container Apps job.3
container_instance_container_memorynumberThe memory value for the container instance4
container_instance_sensitive_environment_variablesset(object({ name = strinList of additional sensitive environment variables to pass to the container.[]
version_control_system_personal_access_tokenstringThe personal access token for the version control system. Required when authentinull
container_app_subnet_address_prefixstringThe address prefix for the Container App Environment. Either subnet_id or subnetnull
… and 10 more inputs
Outputs (18)
placeholder_job_resource_id — The resource id of the placeholder container app job.
user_assigned_managed_identity_client_id — The client id of the user assigned managed identity.
user_assigned_managed_identity_id — The resource id of the user assigned managed identity.
container_instance_names — The names of the container instances.
container_registry_login_server — The container registry login server.
private_dns_zone_subnet_resource_id — The private dns zone id of the container registry.
user_assigned_managed_identity_principal_id — The principal id of the user assigned managed identity.
virtual_network_resource_id — The virtual network resource id.
container_app_subnet_resource_id — The subnet id of the container app job.
container_instance_resource_ids — The resource ids of the container instances.
container_registry_name — The container registry name.
container_registry_resource_id — The container registry resource id.
placeholder_job_name — The name of the placeholder contaienr app job.
resource_id — The resource id of the container app environment.
virtual_network_name — The virtual network name.
job_name — The name of the container app job.
job_resource_id — The resource id of the container app job.
name — The name of the container app environment.
Resources (12)
azurerm_container_app_environmentazurerm_management_lockazurerm_nat_gatewayazurerm_nat_gateway_public_ip_associationazurerm_private_dns_zoneazurerm_private_dns_zone_virtual_network_linkazurerm_public_ipazurerm_resource_groupazurerm_role_assignmentmodtm_telemetryrandom_uuidtime_sleep
Details
FrameworkTerraform Module
LanguageHCL
Version0.5.2
Cloud AZURERM
★ Stars38
Forks21
Total downloads11.6k
Inputs50
Outputs18
Resources12
Examples13
Submodules3
LicenseMIT
NamespaceAzure
Updated