main.tf (43 lines of code) (raw):
module "resource_group" {
source = "./resource_group"
}
module "acr" {
source = "./acr"
location = module.resource_group.resource_group_location
resource_group_name = module.resource_group.resource_group_name
}
module "docker_image" {
source = "./docker_image"
registry_url = module.acr.registry_url
image_tag = var.image_tag
depends_on = [module.acr]
}
module "container_apps" {
source = "./container_apps"
acr_url = module.acr.registry_url
acr_user_name = module.acr.pull_username
acr_user_password = module.acr.pull_password
docker_image = module.docker_image.docker_image
location = module.resource_group.resource_group_location
resource_group_name = module.resource_group.resource_group_name
subnet_id = module.acr.container_apps_subnet_id
telemetry_proxy_diag = true
}
module "endpoint_blob" {
source = "./blob_for_url"
endpoint = "${module.container_apps.app_url["telemetry_proxy"]}/telemetry"
resource_group_location = module.resource_group.resource_group_location
resource_group_name = module.resource_group.resource_group_name
}
data "azuread_group" "modtm_reader" {
display_name = "Modtm Telemetry Reader"
}
resource "azurerm_role_assignment" "telemetry_reader" {
for_each = tomap({
application_insight = module.container_apps.application_insights_id
log_analytics = module.container_apps.log_analytics_workspace
})
role_definition_name = "Reader"
scope = sensitive(each.value)
principal_id = sensitive(data.azuread_group.modtm_reader.object_id)
}