Skip to content

Commit 7e102fe

Browse files
committed
tf
1 parent 7dfde71 commit 7e102fe

File tree

3 files changed

+38
-5
lines changed

3 files changed

+38
-5
lines changed

infrastructure/terraform/data.tf

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# TODO: create KV with terraform
2+
data "azurerm_key_vault" "app" {
3+
name = "kv-colin-spike"
4+
resource_group_name = local.resource_group_name
5+
}
6+
7+
data "azurerm_key_vault_secrets" "app" {
8+
key_vault_id = data.azurerm_key_vault.app.id
9+
}

infrastructure/terraform/main.tf

+25-5
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ provider "azurerm" {
1515
}
1616

1717
resource "azurerm_resource_group" "colin_spike" {
18-
name = "colin-spike"
18+
name = local.resource_group_name
1919
location = "uksouth"
2020
}
2121

@@ -59,11 +59,21 @@ resource "azurerm_container_app" "manage-breast-screening-django" {
5959
resource_group_name = azurerm_resource_group.colin_spike.name
6060
revision_mode = "Single"
6161

62-
secret {
63-
name = "secret-key"
64-
value = "abcd123"
65-
62+
dynamic "secret" {
63+
for_each = data.azurerm_key_vault_secrets.app.secrets
64+
content {
65+
# KV secrets are uppercase and hyphen separated
66+
# app container secrets are lowercase and hyphen separated
67+
name = lower(secret.name)
68+
# TODO: create MI
69+
identity = "System"
70+
key_vault_secret_id = secret.id
71+
}
6672
}
73+
# secret {
74+
# name = "secret-key"
75+
# value = "abcd123"
76+
# }
6777

6878
template {
6979
container {
@@ -75,6 +85,16 @@ resource "azurerm_container_app" "manage-breast-screening-django" {
7585
name = "ALLOWED_HOSTS"
7686
value = "manage-breast-screening-django.${azurerm_container_app_environment.example.default_domain}"
7787
}
88+
dynamic "env" {
89+
for_each = data.azurerm_key_vault_secrets.app.secrets
90+
content {
91+
# Env vars are uppercase and underscore separated
92+
name = upper(replace(env.name, "-", "_"))
93+
# KV secrets are uppercase and hyphen separated
94+
# app container secrets are lowercase and hyphen separated
95+
secret_name = lower(env.name)
96+
}
97+
}
7898
env {
7999
name = "SECRET_KEY"
80100
# TODO: read from key vault

infrastructure/terraform/variables.tf

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
variable "docker_image" {
22
description = "Docker image full path including registry, repository and tag"
33
}
4+
5+
locals {
6+
resource_group_name = "colin-spike"
7+
}

0 commit comments

Comments
 (0)