# Vault policy for the veylant-proxy role (E10-03).
# Grants read-only access to all secrets under the veylant/ path.
#
# Apply to Vault:
#   vault policy write veylant-proxy deploy/k8s/vault/vault-policy.hcl
#
# Then create the Kubernetes auth role:
#   vault write auth/kubernetes/role/veylant-proxy \
#     bound_service_account_names=veylant-proxy \
#     bound_service_account_namespaces=veylant \
#     policies=veylant-proxy \
#     ttl=1h

# LLM provider API keys — read only.
path "secret/data/veylant/llm-keys" {
  capabilities = ["read"]
}

# Cryptographic secrets (AES key for prompt encryption) — read only.
path "secret/data/veylant/crypto" {
  capabilities = ["read"]
}

# Database connection URL — read only.
path "secret/data/veylant/database" {
  capabilities = ["read"]
}

# Allow metadata reads (needed for dynamic lease renewal).
path "secret/metadata/veylant/*" {
  capabilities = ["read", "list"]
}

# Deny all other paths explicitly (defense-in-depth).
path "*" {
  capabilities = ["deny"]
}
