Skip to content

Commit 219d6ec

Browse files
committed
feat(azuredevops): add container task trigger vars
1 parent fe739d5 commit 219d6ec

2 files changed

Lines changed: 63 additions & 34 deletions

File tree

alz/azuredevops/main.tf

Lines changed: 37 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -18,55 +18,57 @@ module "files" {
1818

1919
module "azure" {
2020
source = "../../modules/azure"
21-
resource_group_identity_name = local.resource_names.resource_group_identity
22-
resource_group_agents_name = local.resource_names.resource_group_agents
23-
resource_group_network_name = local.resource_names.resource_group_network
24-
resource_group_state_name = local.resource_names.resource_group_state
25-
create_storage_account = var.iac_type == local.iac_terraform
26-
storage_account_name = local.resource_names.storage_account
27-
storage_container_name = local.resource_names.storage_container
28-
azure_location = var.bootstrap_location
29-
user_assigned_managed_identities = local.managed_identities
30-
federated_credentials = local.federated_credentials
31-
agent_container_instances = local.agent_container_instances
3221
agent_container_instance_managed_identity_name = local.resource_names.container_instance_managed_identity
33-
agent_organization_url = module.azure_devops.organization_url
34-
agent_token = var.azure_devops_agents_personal_access_token
22+
agent_container_instances = local.agent_container_instances
23+
agent_name_environment_variable = var.agent_name_environment_variable
3524
agent_organization_environment_variable = var.agent_organization_environment_variable
36-
agent_pool_name = module.azure_devops.agent_pool_name
25+
agent_organization_url = module.azure_devops.organization_url
3726
agent_pool_environment_variable = var.agent_pool_environment_variable
38-
agent_name_environment_variable = var.agent_name_environment_variable
27+
agent_pool_name = module.azure_devops.agent_pool_name
28+
agent_token = var.azure_devops_agents_personal_access_token
3929
agent_token_environment_variable = var.agent_token_environment_variable
40-
target_subscriptions = local.target_subscriptions
41-
root_parent_management_group_id = local.root_parent_management_group_id
42-
virtual_network_name = local.resource_names.virtual_network
43-
virtual_network_subnet_name_container_instances = local.resource_names.subnet_container_instances
44-
virtual_network_subnet_name_private_endpoints = local.resource_names.subnet_private_endpoints
45-
storage_account_private_endpoint_name = local.resource_names.storage_account_private_endpoint
46-
use_private_networking = local.use_private_networking
4730
allow_storage_access_from_my_ip = local.allow_storage_access_from_my_ip
48-
virtual_network_address_space = var.virtual_network_address_space
49-
virtual_network_subnet_address_prefix_container_instances = var.virtual_network_subnet_address_prefix_container_instances
50-
virtual_network_subnet_address_prefix_private_endpoints = var.virtual_network_subnet_address_prefix_private_endpoints
51-
storage_account_replication_type = var.storage_account_replication_type
52-
public_ip_name = local.resource_names.public_ip
53-
nat_gateway_name = local.resource_names.nat_gateway
54-
use_self_hosted_agents = var.use_self_hosted_agents
55-
container_registry_name = local.resource_names.container_registry
56-
container_registry_private_endpoint_name = local.resource_names.container_registry_private_endpoint
57-
container_registry_image_name = local.resource_names.container_image_name
58-
container_registry_image_tag = var.agent_container_image_tag
31+
azure_location = var.bootstrap_location
5932
container_registry_dockerfile_name = var.agent_container_image_dockerfile
6033
container_registry_dockerfile_repository_folder_url = local.agent_container_instance_dockerfile_url
34+
container_registry_image_name = local.resource_names.container_image_name
35+
container_registry_image_tag = var.agent_container_image_tag
36+
container_registry_name = local.resource_names.container_registry
37+
container_registry_private_endpoint_name = local.resource_names.container_registry_private_endpoint
38+
container_registry_task_timer_trigger_enabled = var.container_registry_task_timer_trigger_enabled
39+
container_registry_task_timer_trigger_schedule = var.container_registry_task_timer_trigger_schedule
40+
create_storage_account = var.iac_type == local.iac_terraform
6141
custom_role_definitions = var.iac_type == "terraform" ? local.custom_role_definitions_terraform : (var.iac_type == "bicep" ? local.custom_role_definitions_bicep : local.custom_role_definitions_bicep_classic)
42+
federated_credentials = local.federated_credentials
43+
nat_gateway_name = local.resource_names.nat_gateway
44+
public_ip_name = local.resource_names.public_ip
45+
resource_group_agents_name = local.resource_names.resource_group_agents
46+
resource_group_identity_name = local.resource_names.resource_group_identity
47+
resource_group_network_name = local.resource_names.resource_group_network
48+
resource_group_state_name = local.resource_names.resource_group_state
6249
role_assignments = var.iac_type == "terraform" ? var.role_assignments_terraform : var.role_assignments_bicep
50+
root_parent_management_group_id = local.root_parent_management_group_id
6351
storage_account_blob_soft_delete_enabled = var.storage_account_blob_soft_delete_enabled
6452
storage_account_blob_soft_delete_retention_days = var.storage_account_blob_soft_delete_retention_days
6553
storage_account_blob_versioning_enabled = var.storage_account_blob_versioning_enabled
6654
storage_account_container_soft_delete_enabled = var.storage_account_container_soft_delete_enabled
6755
storage_account_container_soft_delete_retention_days = var.storage_account_container_soft_delete_retention_days
56+
storage_account_name = local.resource_names.storage_account
57+
storage_account_private_endpoint_name = local.resource_names.storage_account_private_endpoint
58+
storage_account_replication_type = var.storage_account_replication_type
59+
storage_container_name = local.resource_names.storage_container
60+
target_subscriptions = local.target_subscriptions
6861
tenant_role_assignment_enabled = var.iac_type == "bicep" && var.bicep_tenant_role_assignment_enabled
6962
tenant_role_assignment_role_definition_name = var.bicep_tenant_role_assignment_role_definition_name
63+
use_private_networking = local.use_private_networking
64+
use_self_hosted_agents = var.use_self_hosted_agents
65+
user_assigned_managed_identities = local.managed_identities
66+
virtual_network_address_space = var.virtual_network_address_space
67+
virtual_network_name = local.resource_names.virtual_network
68+
virtual_network_subnet_address_prefix_container_instances = var.virtual_network_subnet_address_prefix_container_instances
69+
virtual_network_subnet_address_prefix_private_endpoints = var.virtual_network_subnet_address_prefix_private_endpoints
70+
virtual_network_subnet_name_container_instances = local.resource_names.subnet_container_instances
71+
virtual_network_subnet_name_private_endpoints = local.resource_names.subnet_private_endpoints
7072
}
7173

7274
module "azure_devops" {
@@ -121,4 +123,5 @@ module "file_manipulation" {
121123
agent_pool_or_runner_configuration = local.agent_pool_or_runner_configuration
122124
pipeline_files_directory_path = local.pipeline_files_directory_path
123125
pipeline_template_files_directory_path = local.pipeline_template_files_directory_path
124-
}
126+
}
127+

alz/azuredevops/variables.tf

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1116,3 +1116,29 @@ variable "bicep_tenant_role_assignment_role_definition_name" {
11161116
type = string
11171117
default = "Landing Zone Management Owner"
11181118
}
1119+
1120+
variable "container_registry_task_timer_trigger_enabled" {
1121+
description = <<-EOT
1122+
**(Optional, default: `true`)** Enable timer trigger for container registry image builds
1123+
1124+
When enabled, the ACR task runs to rebuild the agent image,
1125+
ensuring it stays up-to-date with latest patches and dependencies.
1126+
1127+
See container_registry_task_timer_trigger_schedule for customizing the schedule.
1128+
EOT
1129+
nullable = false
1130+
type = bool
1131+
default = true
1132+
}
1133+
1134+
variable "container_registry_task_timer_trigger_schedule" {
1135+
description = <<-EOT
1136+
**(Optional, default: `"0 0 * * 0"`)** CRON schedule for the container registry task timer trigger.
1137+
1138+
Default schedule runs at midnight on Sundays.
1139+
Modify as needed to fit maintenance windows or update frequency.
1140+
EOT
1141+
type = string
1142+
nullable = false
1143+
default = "0 0 * * 0"
1144+
}

0 commit comments

Comments
 (0)