Skip to content

Commit 2865198

Browse files
committed
Azure customer managed resources: create user assigned identity for AKS
1 parent 1229c55 commit 2865198

3 files changed

Lines changed: 17 additions & 18 deletions

File tree

customer-managed/azure/terraform/identities.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,12 @@ resource "azurerm_user_assigned_identity" "redpanda_cluster" {
2222
resource_group_name = azurerm_resource_group.iam.name
2323
}
2424

25+
resource "azurerm_user_assigned_identity" "aks" {
26+
location = azurerm_resource_group.iam.location
27+
name = "${var.resource_name_prefix}${var.aks_identity_name}"
28+
resource_group_name = azurerm_resource_group.iam.name
29+
}
30+
2531
resource "azurerm_user_assigned_identity" "redpanda_console" {
2632
location = azurerm_resource_group.iam.location
2733
name = "${var.resource_name_prefix}${var.redpanda_console_identity_name}"

customer-managed/azure/terraform/role_assignments.tf

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -56,18 +56,18 @@ resource "azurerm_role_assignment" "redpanda_agent_iam" {
5656
role_definition_id = azurerm_role_definition.redpanda_agent.role_definition_resource_id
5757
}
5858

59-
resource "azurerm_role_assignment" "redpanda_cluster_network_contributor" {
59+
resource "azurerm_role_assignment" "aks_network_contributor" {
6060
count = local.create_role_assignment
6161

6262
scope = azurerm_resource_group.network.id
63-
principal_id = azurerm_user_assigned_identity.redpanda_cluster.principal_id
63+
principal_id = azurerm_user_assigned_identity.aks.principal_id
6464
role_definition_name = "Network Contributor"
6565
}
6666

6767
resource "azurerm_role_assignment" "redpanda_private_link" {
6868
count = local.create_role_assignment
6969

70-
principal_id = azurerm_user_assigned_identity.redpanda_cluster.principal_id
70+
principal_id = azurerm_user_assigned_identity.aks.principal_id
7171
scope = azurerm_resource_group.redpanda.id
7272
role_definition_id = azurerm_role_definition.redpanda_private_link.role_definition_resource_id
7373
}
@@ -90,21 +90,6 @@ resource "azurerm_role_assignment" "redpanda_console" {
9090
role_definition_id = azurerm_role_definition.redpanda_console.role_definition_resource_id
9191
}
9292

93-
# federated identity is done in TF provisioner.
94-
# resource "azurerm_federated_identity_credential" "redpanda_cluster" {
95-
# count = local.create_role_assignment
96-
# name = var.redpanda_cluster_workload_identity_name
97-
# resource_group_name = azurerm_resource_group.redpanda.name
98-
# audience = ["api://AzureADTokenExchange"]
99-
# ## We know the oidc issuer url only after AKS cluster is created.
100-
# ## Check whether RP can come up if this resource is created during cluster creation.
101-
# ## If yes, we will have to ask customer to apply when we have the oidc issuer url.
102-
# ## In TF, issuer is required. But in AZ cli, it is optional in https://learn.microsoft.com/en-us/cli/azure/identity/federated-credential?view=azure-cli-latest
103-
# issuer = local.aks_oidc_issuer_url
104-
# parent_id = azurerm_user_assigned_identity.redpanda_cluster.id
105-
# subject = "system:serviceaccount:${local.redpanda_operator_namespace}:${azurerm_user_assigned_identity.redpanda_cluster.name}"
106-
# }
107-
10893
resource "azurerm_role_assignment" "cert_manager" {
10994
count = local.create_role_assignment
11095
# In TF provisioner, the scope is a DNS zone specific resource. We change it to RG here since DNS zone is not avaiable until cluster is being deployed.

customer-managed/azure/terraform/vars.customer_input.tf

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,14 @@ variable "redpanda_cluster_identity_name" {
8989
HELP
9090
}
9191

92+
variable "aks_identity_name" {
93+
type = string
94+
default = "aks-uai"
95+
description = <<-HELP
96+
The name of user assigned identity for AKS.
97+
HELP
98+
}
99+
92100
variable "redpanda_console_identity_name" {
93101
type = string
94102
default = "console-uai"

0 commit comments

Comments
 (0)