Files
homelab-infra/platform/external-secrets/values.yaml
T
panxiao81 88a02ababa
lint / yaml (push) Has been cancelled
lint / ansible (push) Has been cancelled
lint / terraform (push) Has been cancelled
Establish clean homelab infrastructure baseline
Reorganize the brownfield repository, remove retired and generated artifacts, harden ignore rules, and record the GitOps/IaC redesign.
2026-09-09 16:47:20 +00:00

44 lines
1.6 KiB
YAML

# External Secrets Operator — pulls secret material from OpenBao into Kubernetes
# Secrets, so the Secrets themselves become declarative instead of hand-created.
#
# Install:
# helm upgrade --install external-secrets external-secrets/external-secrets \
# -n external-secrets --create-namespace -f values.yaml
#
# WHY this and not SOPS: OpenBao is already the secrets store and the internal CA
# here, and its Kubernetes auth backend is already bootstrapped
# (../../infrastructure/openbao/ansible/roles/openbao_bootstrap/tasks/auth_kubernetes.yml), so a pod
# authenticates with its own ServiceAccount JWT and NOTHING long-lived is stored
# in the cluster. SOPS would mean managing an age key and committing ciphertext.
#
# Single node, so one replica of each component. The webhook and cert-controller
# are not optional — the CRDs use conversion/validating webhooks.
replicaCount: 1
webhook:
replicaCount: 1
resources:
requests: {cpu: 10m, memory: 32Mi}
limits: {memory: 128Mi}
certController:
replicaCount: 1
resources:
requests: {cpu: 10m, memory: 32Mi}
limits: {memory: 128Mi}
resources:
requests: {cpu: 10m, memory: 64Mi}
limits: {memory: 256Mi}
# The controller's own ServiceAccount is what the ClusterSecretStore presents to
# OpenBao, so its name is part of the contract with the bao Kubernetes auth role
# (bound_service_account_names). Pinned rather than left to the chart's default.
serviceAccount:
create: true
name: external-secrets
# ClusterSecretStore is cluster-scoped; leaving this on lets one store serve every
# namespace, which is the point here (authelia, gitea and cloudflared all consume it).
installCRDs: true