86 lines
2.3 KiB
HCL
86 lines
2.3 KiB
HCL
data "azurerm_client_config" "current" {}
|
|
|
|
# Generate random resource group name
|
|
resource "random_pet" "rg_name" {
|
|
prefix = var.resource_group_name_prefix
|
|
}
|
|
|
|
resource "azurerm_resource_group" "rg" {
|
|
location = var.resource_group_location
|
|
name = random_pet.rg_name.id
|
|
}
|
|
|
|
# Generate random value for the log analytics workspace name
|
|
resource "random_string" "log_analytics_workspace_name" {
|
|
length = 8
|
|
lower = true
|
|
numeric = false
|
|
special = false
|
|
upper = false
|
|
}
|
|
|
|
resource "azurerm_log_analytics_workspace" "log_analytics_workspace" {
|
|
resource_group_name = azurerm_resource_group.rg.name
|
|
location = azurerm_resource_group.rg.location
|
|
|
|
name = random_string.log_analytics_workspace_name.result
|
|
|
|
sku = var.log_analytics_workspace_sku
|
|
retention_in_days = var.log_analytics_workspace_retention_in_days
|
|
}
|
|
|
|
# Generate random value for the container app environment name
|
|
resource "random_string" "container_app_environment_name" {
|
|
length = 8
|
|
lower = true
|
|
numeric = false
|
|
special = false
|
|
upper = false
|
|
}
|
|
|
|
resource "azurerm_container_app_environment" "container_app_environment" {
|
|
resource_group_name = azurerm_resource_group.rg.name
|
|
location = azurerm_resource_group.rg.location
|
|
|
|
name = random_string.container_app_environment_name.result
|
|
|
|
log_analytics_workspace_id = azurerm_log_analytics_workspace.log_analytics_workspace.id
|
|
}
|
|
|
|
# Generate random value for the container app name
|
|
resource "random_string" "container_app_name" {
|
|
length = 8
|
|
lower = true
|
|
numeric = false
|
|
special = false
|
|
upper = false
|
|
}
|
|
|
|
resource "azurerm_container_app" "container_app" {
|
|
resource_group_name = azurerm_resource_group.rg.name
|
|
|
|
name = random_string.container_app_name.result
|
|
container_app_environment_id = azurerm_container_app_environment.container_app_environment.id
|
|
|
|
revision_mode = var.container_app_revision_mode
|
|
|
|
ingress {
|
|
allow_insecure_connections = false
|
|
external_enabled = true
|
|
target_port = 80
|
|
|
|
traffic_weight {
|
|
latest_revision = true
|
|
percentage = 100
|
|
}
|
|
}
|
|
|
|
template {
|
|
container {
|
|
name = var.container_name
|
|
image = var.container_image
|
|
cpu = var.container_cpu
|
|
memory = var.container_memory
|
|
}
|
|
}
|
|
} |