Skip to content

Commit 6c1e5be

Browse files
authored
add workload identity dev code (#444)
1 parent 78e828f commit 6c1e5be

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

devenv/tf/workloadidentity.tf

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// this is useful for testing Workload Identity features in the dev environment (for example, workload-identity-backed ExternalDNS)
2+
3+
resource "azurerm_user_assigned_identity" "wi_dev" {
4+
name = "wi-dev"
5+
resource_group_name = azurerm_resource_group.rg.name
6+
location = azurerm_resource_group.rg.location
7+
}
8+
9+
resource "kubernetes_namespace" "wi_dev" {
10+
metadata {
11+
name = "wi-dev"
12+
}
13+
}
14+
15+
resource "kubernetes_service_account" "wi_dev" {
16+
metadata {
17+
name = "wi-dev"
18+
namespace = kubernetes_namespace.wi_dev.metadata[0].name
19+
annotations = {
20+
"azure.workload.identity/client-id" = azurerm_user_assigned_identity.wi_dev.client_id
21+
"azure.workload.identity/tenant-id" = data.azurerm_client_config.current.tenant_id
22+
}
23+
}
24+
}
25+
26+
resource "azurerm_federated_identity_credential" "wi_dev" {
27+
name = "wi-dev"
28+
resource_group_name = azurerm_resource_group.rg.name
29+
audience = ["api://AzureADTokenExchange"]
30+
issuer = azurerm_kubernetes_cluster.cluster.oidc_issuer_url
31+
parent_id = azurerm_user_assigned_identity.wi_dev.id
32+
subject = "system:serviceaccount:${kubernetes_namespace.wi_dev.metadata[0].name}:${kubernetes_service_account.wi_dev.metadata[0].name}"
33+
}

0 commit comments

Comments
 (0)