Skip to content

Commit 66127c0

Browse files
author
James N.
committed
fix: Use placeholder image for Container Apps initial deployment
- Use mcr.microsoft.com/k8se/quickstart:latest as placeholder image - Add lifecycle ignore_changes for container image (managed by update-containers) - Solves chicken-and-egg problem: Container Apps created before images exist in ACR - update-containers.yml sets real images after Docker builds complete
1 parent 926d65b commit 66127c0

2 files changed

Lines changed: 18 additions & 4 deletions

File tree

infra/terraform/_aca-be.tf

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,10 @@ resource "azurerm_container_app" "backend" {
6363

6464
container {
6565
name = "backend"
66-
image = var.docker_image_backend != "" ? var.docker_image_backend : "${local.acr_login_server}/backend-app:latest"
66+
# Use placeholder image for initial deployment if custom image not specified
67+
# After first deployment, update-containers.yml will set the real image
68+
# Using Microsoft's quickstart image as a known-good placeholder
69+
image = var.docker_image_backend != "" ? var.docker_image_backend : "mcr.microsoft.com/k8se/quickstart:latest"
6770
cpu = 1
6871
memory = "2Gi"
6972

@@ -197,7 +200,11 @@ resource "azurerm_container_app" "backend" {
197200
}
198201
}
199202
lifecycle {
200-
# ignore_changes = []
203+
# Ignore image changes - managed by update-containers.yml workflow
204+
# This prevents Terraform from reverting to placeholder after update-containers sets real image
205+
ignore_changes = [
206+
template[0].container[0].image
207+
]
201208
}
202209

203210
depends_on = [

infra/terraform/_aca-mcp.tf

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,10 @@ resource "azurerm_container_app" "mcp" {
5151

5252
container {
5353
name = "mcp"
54-
image = var.docker_image_mcp != "" ? var.docker_image_mcp : "${local.acr_login_server}/mcp-service:latest"
54+
# Use placeholder image for initial deployment if custom image not specified
55+
# After first deployment, update-containers.yml will set the real image
56+
# Using Microsoft's quickstart image as a known-good placeholder
57+
image = var.docker_image_mcp != "" ? var.docker_image_mcp : "mcr.microsoft.com/k8se/quickstart:latest"
5558
cpu = 0.5
5659
memory = "1Gi"
5760

@@ -112,7 +115,11 @@ resource "azurerm_container_app" "mcp" {
112115
}
113116

114117
lifecycle {
115-
ignore_changes = []
118+
# Ignore image changes - managed by update-containers.yml workflow
119+
# This prevents Terraform from reverting to placeholder after update-containers sets real image
120+
ignore_changes = [
121+
template[0].container[0].image
122+
]
116123
}
117124

118125
depends_on = [

0 commit comments

Comments
 (0)