Azure Container App Using Terraform

Example usage of azurerm_container_app :

main.tf file :

terraform {
  required_providers {
    azurerm = {
      source  = "hashicorp/azurerm"
      version = "~>3.0"
    }
  }
}

provider "azurerm" {
  features {}
}

resource "azurerm_resource_group" "example" {
  name     = "example-resources"
  location = "West Europe"
}

resource "azurerm_log_analytics_workspace" "example" {
  name                = "acctest-01"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  sku                 = "PerGB2018"
  retention_in_days   = 30
}

resource "azurerm_container_app_environment" "example" {
  name                       = "Example-Environment"
  location                   = azurerm_resource_group.example.location
  resource_group_name        = azurerm_resource_group.example.name
  log_analytics_workspace_id = azurerm_log_analytics_workspace.example.id
}

resource "azurerm_container_app" "example" {
  name                         = "example-app"
  container_app_environment_id = azurerm_container_app_environment.example.id
  resource_group_name          = azurerm_resource_group.example.name
  revision_mode                = "Single"

  template {
    container {
      name   = "examplecontainerapp"
      image  = "mcr.microsoft.com/azuredocs/containerapps-helloworld:latest"
      cpu    = 0.25
      memory = "0.5Gi"
    }
  }
}

Then we need to use the following commands :

terraform init

terraform plan

terraform apply

This Terraform code automates the setup of an Azure Container App environment with Log Analytics for monitoring. It simplifies the deployment, management, and monitoring of containerized apps. Log Analytics helps collect and analyze logs, improving observability and troubleshooting.

10
Subscribe to my newsletter

Read articles from Kishaloy Kar Chowdhury directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Kishaloy Kar Chowdhury
Kishaloy Kar Chowdhury