Files
homelab-infra/infrastructure/openbao/terraform/policies.tf
T
panxiao81 64b1acd6c3
yaml / yaml (pull_request) Successful in 12s
terraform / validate (pull_request) Successful in 32s
授权本机 SPIFFE 身份访问开发服务
2026-09-16 17:06:27 +00:00

38 lines
1.3 KiB
Terraform

# Policy bodies live in policies/*.hcl so they stay readable and diffable.
# Exported verbatim from the running instance, so importing produces no diff.
#
# OVERLAP WARNING: ../ansible (role openbao_bootstrap) also writes these — hence
# the "# Ansible managed" header still inside each file. Gate those Ansible tasks
# off before applying, or the two will overwrite each other on alternate runs.
resource "vault_policy" "admin" {
name = "admin"
policy = file("${path.module}/policies/admin.hcl")
}
resource "vault_policy" "ai_agent_ssh" {
name = "ai-agent-ssh"
policy = file("${path.module}/policies/ai-agent-ssh.hcl")
}
resource "vault_policy" "local_development" {
name = "local-development"
policy = file("${path.module}/policies/local-development.hcl")
}
resource "vault_policy" "spire_poc" {
name = "spire-poc"
policy = file("${path.module}/policies/spire-poc.hcl")
}
resource "vault_policy" "snapshot" {
name = "snapshot"
policy = file("${path.module}/policies/snapshot.hcl")
}
# Read-only kv/k8s/* for the External Secrets Operator. Unlike the three above
# this one is NOT also written by Ansible, so there is no overlap to gate off.
resource "vault_policy" "external_secrets" {
name = "external-secrets"
policy = file("${path.module}/policies/external-secrets.hcl")
}