quorate/terraform/internal/zitadel/quay_personas.tf

46 lines
1.3 KiB
HCL

locals {
quay_personas = {
candidates-bot = {
display_name = "Quay Candidates Bot"
email = "[email protected]"
last_name = "Candidates"
}
mirror-bot = {
display_name = "Quay Mirror Bot"
email = "[email protected]"
last_name = "Mirror"
}
}
}
ephemeral "vault_kv_secret_v2" "quay_persona" {
for_each = local.quay_personas
mount = var.vault_kv_mount
name = "quay/personas/${each.key}"
}
resource "zitadel_human_user" "quay_persona" {
for_each = local.quay_personas
org_id = zitadel_org.primary.id
user_name = each.key
first_name = "Quay"
last_name = each.value.last_name
display_name = each.value.display_name
email = each.value.email
is_email_verified = true
initial_password = ephemeral.vault_kv_secret_v2.quay_persona[each.key].data["password"]
initial_skip_password_change = true
}
resource "zitadel_user_grant" "quay_persona" {
for_each = local.quay_personas
org_id = zitadel_org.primary.id
project_id = zitadel_project.services.id
user_id = zitadel_human_user.quay_persona[each.key].id
role_keys = ["quay_user"]
depends_on = [zitadel_project_role.quay]
}