diff --git a/README.md b/README.md index 18a9aef..8d2dc6b 100644 --- a/README.md +++ b/README.md @@ -32,11 +32,18 @@ module "entities" { } ] - aliases = { - "alias-1" = "user-1" - "alias-2" = "user-2" - "alias-3" = "user-3" - } + aliases = [ + { + "name" = "jwt-user-1" + "entity" = "user-1" + "auth_path" = "jwt" + }, + { + "name" = "oidc-user2" + "entity" = "user-2" + "auth_path" = "oidc" + } + ] } module "vault_groups" { @@ -75,6 +82,7 @@ module "vault_groups" { | Name | Description | Type | Default | |------|-------------|------|---------| | create_vault_entity_aliases | n/a | `bool` | `false` | +| vault_aliases_objects | List of objects defining the alias to entity and auth path match |
list(object({
name = string
entity = string
auth_path = string
}))
| `[]` | | vault_endpoint | Vault endpoint | `string` | `"http://127.0.0.1:8200"` | | vault_entity_objects | List object for the Vault identity entity |
list(object({
name = string
policies = list(string)
metadata = map(string)
}))
| `[]` | | vault_group_objects | List object for Vault identity group |
list(object({
name = string
type = string
policies = list(string)
member_group_ids = list(string)
member_entity_ids = list(string)
metadata = map(string)
}))
| `[]` | diff --git a/main.tf b/main.tf index 30f1558..737b03e 100644 --- a/main.tf +++ b/main.tf @@ -11,6 +11,7 @@ module "vault_entities" { create_entity_aliases = var.create_vault_entity_aliases entities = var.vault_entity_objects + aliases = var.vault_aliases_objects } module "vault_groups" { diff --git a/modules/vault-identity-entities/README.md b/modules/vault-identity-entities/README.md index 00fa3de..0a899eb 100644 --- a/modules/vault-identity-entities/README.md +++ b/modules/vault-identity-entities/README.md @@ -32,11 +32,18 @@ module "entities" { } ] - aliases = { - "alias-1" = "user-1" - "alias-2" = "user-2" - "alias-3" = "user-3" - } + aliases = [ + { + "name" = "jwt-user-1" + "entity" = "user-1" + "auth_path" = "jwt" + }, + { + "name" = "oidc-user2" + "entity" = "user-2" + "auth_path" = "oidc" + } + ] } ``` @@ -56,7 +63,7 @@ module "entities" { | Name | Description | Type | Default | |------|-------------|------|---------| -| aliases | Map of aliases linked to entities | `map` | `{}` | +| aliases | List of objects defining the alias to entity and auth path match |
list(object({
name = string
entity = string
auth_path = string
}))
| `[]` | | create_entity_aliases | Enable the creation of entity aliase | `bool` | `false` | | entities | List object for the Vault identity entity |
list(object({
name = string
policies = list(string)
metadata = map(string)
}))
| `[]` | diff --git a/modules/vault-identity-entities/variables.tf b/modules/vault-identity-entities/variables.tf index 884ccff..8ae9404 100644 --- a/modules/vault-identity-entities/variables.tf +++ b/modules/vault-identity-entities/variables.tf @@ -9,7 +9,8 @@ variable "entities" { } variable "create_entity_aliases" { - default = false + description = "Enable Vault entity alias creation" + default = false } variable "aliases" { diff --git a/variables.tf b/variables.tf index 9a949f3..438c20b 100644 --- a/variables.tf +++ b/variables.tf @@ -4,7 +4,8 @@ variable "vault_endpoint" { } variable "create_vault_entity_aliases" { - default = false + description = "Enable Vault entity alias creation" + default = false } variable "vault_entity_objects" { @@ -17,6 +18,16 @@ variable "vault_entity_objects" { default = [] } +variable "vault_aliases_objects" { + description = "List of objects defining the alias to entity and auth path match" + type = list(object({ + name = string + entity = string + auth_path = string + })) + default = [] +} + variable "vault_group_objects" { description = "List object for Vault identity group" type = list(object({