# Enable AppRole auth backend resource "vault_auth_backend" "approle" { type = "approle" path = "approle" } # Define host access policies locals { host_policies = { # Example: monitoring01 host # "monitoring01" = { # paths = [ # "secret/data/hosts/monitoring01/*", # "secret/data/services/prometheus/*", # "secret/data/services/grafana/*", # "secret/data/shared/smtp/*" # ] # } # Example: ha1 host # "ha1" = { # paths = [ # "secret/data/hosts/ha1/*", # "secret/data/shared/mqtt/*" # ] # } # TODO: actually use this policy "ha1" = { paths = [ "secret/data/hosts/ha1/*", ] } # TODO: actually use this policy "monitoring01" = { paths = [ "secret/data/hosts/monitoring01/*", ] } } } # Generate policies for each host resource "vault_policy" "host_policies" { for_each = local.host_policies name = "${each.key}-policy" policy = <