@@ -43,37 +43,37 @@ resource "kubernetes_namespace" "external_dns" {
4343 depends_on = [module . aks ]
4444}
4545
46- # TODO: remove if azure.userAssignedIdentityID works in helm_release.external_dns
47- # data "template_file" "azureIdentity_external_dns" {
48- # template = file(var.azureidentity_external_dns_yaml_path)
49- # vars = {
50- # managedIdentityResourceID = azurerm_user_assigned_identity.external_dns.id
51- # managedIdentityClientID = azurerm_user_assigned_identity.external_dns.client_id
52- # }
53- # }
46+ data "template_file" "azureIdentity_external_dns" {
47+ template = file (var. azureidentity_external_dns_yaml_path )
48+ vars = {
49+ managedIdentityResourceID = azurerm_user_assigned_identity.external_dns.id
50+ managedIdentityClientID = azurerm_user_assigned_identity.external_dns.client_id
51+ }
52+ }
5453
5554# https://www.terraform.io/docs/provisioners/local-exec.html
56- # TODO: remove if azure.userAssignedIdentityID works in helm_release.external_dns
57- # resource "null_resource" "azureIdentity_external_dns" {
58- # triggers = {
59- # # always_run = "${timestamp()}"
60- # azureidentity_external_dns_yaml_contents = filemd5(var.azureidentity_external_dns_yaml_path)
61- # }
62-
63- # provisioner "local-exec" {
64- # interpreter = ["/bin/bash", "-c"]
65- # command = <<EOT
66- # export KUBECONFIG=${var.aks_config_path}
67- # echo "${data.template_file.azureIdentity_external_dns.rendered}" | kubectl apply -f -
68- # EOT
69- # }
70-
71- # depends_on = [
72- # local_file.kubeconfig,
73- # kubernetes_namespace.external_dns,
74- # helm_release.aad_pod_identity
75- # ]
76- # }
55+ resource "null_resource" "azureIdentity_external_dns" {
56+ triggers = {
57+ # always_run = "${timestamp()}"
58+ azureidentity_external_dns_yaml_contents = filemd5 (var. azureidentity_external_dns_yaml_path )
59+ }
60+
61+ provisioner "local-exec" {
62+ interpreter = [" /bin/bash" , " -c" ]
63+ environment = {
64+ KUBECONFIG = var.aks_config_path
65+ }
66+ command = << EOT
67+ echo "${ data . template_file . azureIdentity_external_dns . rendered } " | kubectl apply -f -
68+ EOT
69+ }
70+
71+ depends_on = [
72+ local_file . kubeconfig ,
73+ kubernetes_namespace . external_dns ,
74+ helm_release . aad_pod_identity
75+ ]
76+ }
7777
7878# https://github.com/bitnami/charts/tree/master/bitnami/external-dns
7979# https://bitnami.com/stack/external-dns/helm
@@ -87,7 +87,7 @@ resource "helm_release" "external_dns" {
8787 atomic = true
8888 # values = [file("helm/NOT_USED.yaml")]
8989
90- # adds msi pod identity binding
90+ # specify user-assigned managed identity
9191 set {
9292 name = " azure.userAssignedIdentityID"
9393 value = azurerm_user_assigned_identity.external_dns.client_id
0 commit comments