++ fix kafka acl dup key, pin kafka provider 0.7.1

This commit is contained in:
Kochetkov S 2026-07-17 15:39:58 +03:00
parent beea0586c5
commit efcfb1e2f3
2 changed files with 16 additions and 12 deletions

View File

@ -38,7 +38,7 @@ terraform {
required_providers {
kubernetes = { source = "hashicorp/kubernetes", version = "~> 2.23" }
vault = { source = "hashicorp/vault", version = "~> 4.2" }
kafka = { source = "Mongey/kafka", version = "~> 0.7" }
kafka = { source = "Mongey/kafka", version = "0.7.1" }
postgresql = { source = "cyrilgdn/postgresql", version = "~> 1.21" }
rabbitmq = { source = "cyrilgdn/rabbitmq", version = "~> 1.8" }
minio = { source = "aminueza/minio", version = "~> 2.0" }

View File

@ -113,19 +113,23 @@ locals {
}
# Flatten (user, topic, role) permissions into individual ACL entries.
# A single operation (e.g. Topic:Describe) can come from several roles
# (PRODUCER and CONSUMER both grant it), so group by key and keep one.
acl_entries = merge([
for user_key, perms in local.user_permissions : {
for e in flatten([
for p in perms : [
for op in try(local.role_operations[p.role], []) : {
key = "${user_key}:${p.topic_name}:${op.resource_type}:${op.operation}"
principal = "User:${local.user_clusters[user_key].user}"
resource_type = op.resource_type
resource_name = op.resource_type == "Group" ? "*" : p.topic_name
operation = op.operation
}
]
]) : e.key => e
for key, group in {
for e in flatten([
for p in perms : [
for op in try(local.role_operations[p.role], []) : {
key = "${user_key}:${p.topic_name}:${op.resource_type}:${op.operation}"
principal = "User:${local.user_clusters[user_key].user}"
resource_type = op.resource_type
resource_name = op.resource_type == "Group" ? "*" : p.topic_name
operation = op.operation
}
]
]) : e.key => e...
} : key => group[0]
}
]...)
}