eso: Phase 2 — migrate all 104 ExternalSecrets + 2 ClusterSecretStores to v1
Some checks failed
ci/woodpecker/push/default Pipeline failed

The API rewrite half of the ESO 0.12->2.6 migration (last k8s-1.35 compat-gate
blocker). Done on chart 0.16.2, which serves BOTH external-secrets.io/v1beta1
and v1, so this is the safe window — MUST land before 0.17 removes v1beta1
(there is no conversion webhook). Pure apiVersion bump, schema is byte-identical:
106 occurrences (104 ExternalSecrets + 2 ClusterSecretStores vault-kv/vault-database)
across 73 .tf files, v1beta1 -> v1, no other field changes.

Validated live first on tandoor (single, non-coupled, synced ES): the
kubernetes_manifest apiVersion bump forces a REPLACE; the target Secret is
cascade-GC'd for ONE ~0.3s poll then ESO recreates it (identical value re-synced
from Vault, new UID) and the ES returns SecretSynced=True on v1. Running pods
keep their mounted copy through the sub-second blip. All 110 target Secrets were
snapshotted to /tmp first as a backstop.

CI applies the changed stacks serially (staged rollout); watching aggregate ES
sync back to 108 synced (2 pre-existing dead: instagram-poster, payslip-ingest).
Next: Phase 3 climb 0.16.2 -> 2.6.0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Viktor Barzin 2026-06-22 19:13:04 +00:00
parent 98cd535b97
commit c670cb7118
73 changed files with 106 additions and 106 deletions

View file

@ -6,7 +6,7 @@ variable "nfs_server" { type = string }
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "actualbudget-secrets" name = "actualbudget-secrets"

View file

@ -6,7 +6,7 @@ variable "nfs_server" { type = string }
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "affine-secrets" name = "affine-secrets"
@ -43,7 +43,7 @@ data "kubernetes_secret" "eso_secrets" {
# Provides DATABASE_URL that auto-updates when password rotates # Provides DATABASE_URL that auto-updates when password rotates
resource "kubernetes_manifest" "db_external_secret" { resource "kubernetes_manifest" "db_external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "affine-db-creds" name = "affine-db-creds"

View file

@ -7,7 +7,7 @@
# authentik pods if the password ever changes. # authentik pods if the password ever changes.
resource "kubernetes_manifest" "authentik_email_secret" { resource "kubernetes_manifest" "authentik_email_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "authentik-email" name = "authentik-email"

View file

@ -602,7 +602,7 @@ resource "kubernetes_config_map" "beadboard_config" {
# dispatch agent jobs via the in-cluster HTTP API. # dispatch agent jobs via the in-cluster HTTP API.
resource "kubernetes_manifest" "beadboard_agent_service_secret" { resource "kubernetes_manifest" "beadboard_agent_service_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "beadboard-agent-service" name = "beadboard-agent-service"

View file

@ -29,7 +29,7 @@ resource "kubernetes_namespace" "broker_sync" {
# imap_host, imap_user, imap_password, imap_directory for InvestEngine + Schwab email ingest # imap_host, imap_user, imap_password, imap_directory for InvestEngine + Schwab email ingest
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "broker-sync-secrets" name = "broker-sync-secrets"

View file

@ -20,7 +20,7 @@ resource "kubernetes_namespace" "changedetection" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "changedetection-secrets" name = "changedetection-secrets"

View file

@ -42,7 +42,7 @@ resource "kubernetes_namespace" "chrome_service" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "chrome-service-secrets" name = "chrome-service-secrets"

View file

@ -50,7 +50,7 @@ resource "kubernetes_namespace" "ci_pipeline_health" {
# the alias could not do. Blast radius = this single-CronJob namespace. # the alias could not do. Blast radius = this single-CronJob namespace.
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "ci-pipeline-health-creds" name = "ci-pipeline-health-creds"

View file

@ -39,7 +39,7 @@ resource "kubernetes_namespace" "claude_agent" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "claude-agent-secrets" name = "claude-agent-secrets"

View file

@ -58,7 +58,7 @@ resource "kubernetes_service_account" "breakglass" {
# pod can never read it. # pod can never read it.
resource "kubernetes_manifest" "external_secret_ssh" { resource "kubernetes_manifest" "external_secret_ssh" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "breakglass-ssh" name = "breakglass-ssh"
@ -83,7 +83,7 @@ resource "kubernetes_manifest" "external_secret_ssh" {
# same account) and the app bearer token (in-cluster/CLI fallback caller auth). # same account) and the app bearer token (in-cluster/CLI fallback caller auth).
resource "kubernetes_manifest" "external_secret_env" { resource "kubernetes_manifest" "external_secret_env" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "breakglass-env" name = "breakglass-env"

View file

@ -30,7 +30,7 @@ resource "kubernetes_namespace" "claude-memory" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "claude-memory-secrets" name = "claude-memory-secrets"
@ -58,7 +58,7 @@ resource "kubernetes_manifest" "external_secret" {
# DB credentials from Vault database engine (rotated every 24h) # DB credentials from Vault database engine (rotated every 24h)
resource "kubernetes_manifest" "db_external_secret" { resource "kubernetes_manifest" "db_external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "claude-memory-db-creds" name = "claude-memory-db-creds"

View file

@ -6,7 +6,7 @@ variable "public_ip" { type = string }
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "coturn-secrets" name = "coturn-secrets"

View file

@ -24,7 +24,7 @@ resource "kubernetes_namespace" "dawarich" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "dawarich-secrets" name = "dawarich-secrets"

View file

@ -21,7 +21,7 @@ resource "kubernetes_namespace" "diun" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "diun-secrets" name = "diun-secrets"

View file

@ -21,7 +21,7 @@ resource "kubernetes_namespace" "ebooks" {
# ExternalSecrets for all three sources # ExternalSecrets for all three sources
resource "kubernetes_manifest" "calibre_external_secret" { resource "kubernetes_manifest" "calibre_external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "calibre-secrets" name = "calibre-secrets"
@ -48,7 +48,7 @@ resource "kubernetes_manifest" "calibre_external_secret" {
resource "kubernetes_manifest" "audiobookshelf_external_secret" { resource "kubernetes_manifest" "audiobookshelf_external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "audiobookshelf-secrets" name = "audiobookshelf-secrets"
@ -75,7 +75,7 @@ resource "kubernetes_manifest" "audiobookshelf_external_secret" {
resource "kubernetes_manifest" "servarr_external_secret" { resource "kubernetes_manifest" "servarr_external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "servarr-secrets" name = "servarr-secrets"

View file

@ -35,7 +35,7 @@ resource "helm_release" "external_secrets" {
resource "kubernetes_manifest" "css_vault_kv" { resource "kubernetes_manifest" "css_vault_kv" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ClusterSecretStore" kind = "ClusterSecretStore"
metadata = { name = "vault-kv" } metadata = { name = "vault-kv" }
spec = { spec = {
@ -65,7 +65,7 @@ resource "kubernetes_manifest" "css_vault_kv" {
resource "kubernetes_manifest" "css_vault_db" { resource "kubernetes_manifest" "css_vault_db" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ClusterSecretStore" kind = "ClusterSecretStore"
metadata = { name = "vault-database" } metadata = { name = "vault-database" }
spec = { spec = {

View file

@ -34,7 +34,7 @@ resource "kubernetes_namespace" "f1-stream" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "f1-stream-secrets" name = "f1-stream-secrets"
@ -63,7 +63,7 @@ resource "kubernetes_manifest" "external_secret" {
# Secret so the verifier can reach the in-cluster Playwright pool. # Secret so the verifier can reach the in-cluster Playwright pool.
resource "kubernetes_manifest" "chrome_service_client_secret" { resource "kubernetes_manifest" "chrome_service_client_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "chrome-service-client-secrets" name = "chrome-service-client-secrets"

View file

@ -54,7 +54,7 @@ resource "kubernetes_namespace" "fire_planner" {
# secret/fire-planner -> property `recompute_bearer_token` # secret/fire-planner -> property `recompute_bearer_token`
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "fire-planner-secrets" name = "fire-planner-secrets"
@ -116,7 +116,7 @@ resource "kubernetes_manifest" "external_secret" {
# as DB_CONNECTION_STRING. # as DB_CONNECTION_STRING.
resource "kubernetes_manifest" "db_external_secret" { resource "kubernetes_manifest" "db_external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "fire-planner-db-creds" name = "fire-planner-db-creds"
@ -160,7 +160,7 @@ resource "kubernetes_manifest" "db_external_secret" {
# fire-planner ingest reads those tables via this role. # fire-planner ingest reads those tables via this role.
resource "kubernetes_manifest" "wealthfolio_sync_db_external_secret" { resource "kubernetes_manifest" "wealthfolio_sync_db_external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "wealthfolio-sync-db-creds" name = "wealthfolio-sync-db-creds"
@ -662,7 +662,7 @@ variable "run_examples_bulk_ingest" {
# Reddit OAuth creds pulled from Vault secret/viktor. # Reddit OAuth creds pulled from Vault secret/viktor.
resource "kubernetes_manifest" "external_secret_examples_reddit" { resource "kubernetes_manifest" "external_secret_examples_reddit" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "fire-planner-examples-reddit" name = "fire-planner-examples-reddit"
@ -702,7 +702,7 @@ resource "kubernetes_manifest" "external_secret_examples_reddit" {
# is decoupled from the Reddit creds. # is decoupled from the Reddit creds.
resource "kubernetes_manifest" "external_secret_examples_claude" { resource "kubernetes_manifest" "external_secret_examples_claude" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "fire-planner-examples-claude" name = "fire-planner-examples-claude"

View file

@ -7,7 +7,7 @@
# reloader annotation rolls the Forgejo pod if the password is ever rotated. # reloader annotation rolls the Forgejo pod if the password is ever rotated.
resource "kubernetes_manifest" "forgejo_email_secret" { resource "kubernetes_manifest" "forgejo_email_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "forgejo-email" name = "forgejo-email"

View file

@ -4,7 +4,7 @@ variable "tls_secret_name" {
} }
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "freedify-secrets" name = "freedify-secrets"

View file

@ -19,7 +19,7 @@ resource "kubernetes_namespace" "immich" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "freshrss-secrets" name = "freshrss-secrets"

View file

@ -6,7 +6,7 @@ variable "nfs_server" { type = string }
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "grampsweb-secrets" name = "grampsweb-secrets"

View file

@ -209,7 +209,7 @@ module "ingress" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "hackmd-secrets" name = "hackmd-secrets"

View file

@ -251,7 +251,7 @@ module "ingress_test" {
resource "kubernetes_manifest" "external_secret_db" { resource "kubernetes_manifest" "external_secret_db" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "health-db-secrets" name = "health-db-secrets"
@ -285,7 +285,7 @@ resource "kubernetes_manifest" "external_secret_db" {
resource "kubernetes_manifest" "external_secret_kv" { resource "kubernetes_manifest" "external_secret_kv" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "health-kv-secrets" name = "health-kv-secrets"

View file

@ -38,7 +38,7 @@ module "tls_secret" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "hermes-agent-secrets" name = "hermes-agent-secrets"

View file

@ -163,7 +163,7 @@ resource "kubernetes_resource_quota" "immich" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "immich-secrets" name = "immich-secrets"

View file

@ -21,7 +21,7 @@ resource "kubernetes_namespace" "insta2spotify" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "insta2spotify-secrets" name = "insta2spotify-secrets"

View file

@ -36,7 +36,7 @@ resource "kubernetes_namespace" "instagram_poster" {
# - immich_tag_posted (optional auto-resolved if missing) # - immich_tag_posted (optional auto-resolved if missing)
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "instagram-poster-secrets" name = "instagram-poster-secrets"
@ -140,7 +140,7 @@ resource "kubernetes_manifest" "external_secret" {
# bounces the pod when the password changes. # bounces the pod when the password changes.
resource "kubernetes_manifest" "benchmark_db_external_secret" { resource "kubernetes_manifest" "benchmark_db_external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "instagram-poster-benchmark-db" name = "instagram-poster-benchmark-db"

View file

@ -42,7 +42,7 @@ resource "kubernetes_namespace" "job_hunter" {
# digest_from_address From: header for the digest # digest_from_address From: header for the digest
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "job-hunter-secrets" name = "job-hunter-secrets"
@ -106,7 +106,7 @@ resource "kubernetes_manifest" "external_secret" {
# Template builds the asyncpg DSN consumed by the FastAPI app as DB_CONNECTION_STRING. # Template builds the asyncpg DSN consumed by the FastAPI app as DB_CONNECTION_STRING.
resource "kubernetes_manifest" "db_external_secret" { resource "kubernetes_manifest" "db_external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "job-hunter-db-creds" name = "job-hunter-db-creds"
@ -326,7 +326,7 @@ resource "kubernetes_service" "job_hunter" {
# Grafana whenever ESO updates this secret (every 7d on rotation). # Grafana whenever ESO updates this secret (every 7d on rotation).
resource "kubernetes_manifest" "grafana_job_hunter_db_external_secret" { resource "kubernetes_manifest" "grafana_job_hunter_db_external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "grafana-job-hunter-pg-creds" name = "grafana-job-hunter-pg-creds"

View file

@ -6,7 +6,7 @@
resource "kubernetes_manifest" "oauth2_proxy_externalsecret" { resource "kubernetes_manifest" "oauth2_proxy_externalsecret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "oauth2-proxy" name = "oauth2-proxy"

View file

@ -98,7 +98,7 @@ resource "kubernetes_namespace" "k8s_upgrade" {
# No claude-agent bearer needed the chain no longer POSTs to that service. # No claude-agent bearer needed the chain no longer POSTs to that service.
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "k8s-upgrade-creds" name = "k8s-upgrade-creds"

View file

@ -305,7 +305,7 @@ resource "kubernetes_config_map" "kms_slack_notifier" {
resource "kubernetes_manifest" "kms_slack_external_secret" { resource "kubernetes_manifest" "kms_slack_external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "kms-slack-webhook" name = "kms-slack-webhook"

View file

@ -30,7 +30,7 @@ resource "kubernetes_namespace" "linkwarden" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "linkwarden-secrets" name = "linkwarden-secrets"
@ -58,7 +58,7 @@ resource "kubernetes_manifest" "external_secret" {
# DB credentials from Vault database engine (rotated every 24h) # DB credentials from Vault database engine (rotated every 24h)
resource "kubernetes_manifest" "db_external_secret" { resource "kubernetes_manifest" "db_external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "linkwarden-db-creds" name = "linkwarden-db-creds"

View file

@ -801,7 +801,7 @@ resource "kubernetes_service" "mailserver_proxy" {
# `env_from { secret_ref {} }` block. # `env_from { secret_ref {} }` block.
resource "kubernetes_manifest" "email_roundtrip_monitor_secrets" { resource "kubernetes_manifest" "email_roundtrip_monitor_secrets" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "mailserver-probe-secrets" name = "mailserver-probe-secrets"

View file

@ -26,7 +26,7 @@ resource "kubernetes_namespace" "matrix" {
# later (e.g. to add family) without regenerating it. # later (e.g. to add family) without regenerating it.
resource "kubernetes_manifest" "secrets_external_secret" { resource "kubernetes_manifest" "secrets_external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "matrix-secrets" name = "matrix-secrets"

View file

@ -72,7 +72,7 @@ resource "kubernetes_persistent_volume" "alertmanager_pv" {
# Provides GF_DATABASE_PASSWORD that auto-updates when password rotates # Provides GF_DATABASE_PASSWORD that auto-updates when password rotates
resource "kubernetes_manifest" "grafana_db_creds" { resource "kubernetes_manifest" "grafana_db_creds" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "grafana-db-creds" name = "grafana-db-creds"

View file

@ -27,7 +27,7 @@ resource "kubernetes_namespace" "n8n" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "n8n-secrets" name = "n8n-secrets"
@ -54,7 +54,7 @@ resource "kubernetes_manifest" "external_secret" {
resource "kubernetes_manifest" "external_secret_claude_agent" { resource "kubernetes_manifest" "external_secret_claude_agent" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "claude-agent-token" name = "claude-agent-token"
@ -85,7 +85,7 @@ resource "kubernetes_manifest" "external_secret_claude_agent" {
# Workflows in stacks/n8n/workflows/instagram-*.json reference these env vars. # Workflows in stacks/n8n/workflows/instagram-*.json reference these env vars.
resource "kubernetes_manifest" "external_secret_instagram_pipeline" { resource "kubernetes_manifest" "external_secret_instagram_pipeline" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "instagram-pipeline-secrets" name = "instagram-pipeline-secrets"

View file

@ -20,7 +20,7 @@ resource "kubernetes_namespace" "navidrome" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "navidrome-secrets" name = "navidrome-secrets"

View file

@ -22,7 +22,7 @@ resource "kubernetes_namespace" "netbox" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "netbox-secrets" name = "netbox-secrets"

View file

@ -59,7 +59,7 @@ resource "kubernetes_namespace" "nextcloud_todos" {
# managed via the Vault database engine see static-creds/pg-nextcloud-todos. # managed via the Vault database engine see static-creds/pg-nextcloud-todos.
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "nextcloud-todos-secrets" name = "nextcloud-todos-secrets"
@ -98,7 +98,7 @@ resource "kubernetes_manifest" "external_secret" {
# `nextcloud_todos`, and Vault role `static-creds/pg-nextcloud-todos`. # `nextcloud_todos`, and Vault role `static-creds/pg-nextcloud-todos`.
resource "kubernetes_manifest" "db_external_secret" { resource "kubernetes_manifest" "db_external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "nextcloud-todos-db-creds" name = "nextcloud-todos-db-creds"

View file

@ -126,7 +126,7 @@ resource "kubernetes_namespace" "nextcloud" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "nextcloud-secrets" name = "nextcloud-secrets"
@ -155,7 +155,7 @@ resource "kubernetes_manifest" "external_secret" {
# Nextcloud Helm chart reads password at runtime via existingSecret reference # Nextcloud Helm chart reads password at runtime via existingSecret reference
resource "kubernetes_manifest" "db_external_secret" { resource "kubernetes_manifest" "db_external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "nextcloud-db-creds" name = "nextcloud-db-creds"

View file

@ -5,7 +5,7 @@ variable "tls_secret_name" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "novelapp-secrets" name = "novelapp-secrets"

View file

@ -25,7 +25,7 @@ resource "kubernetes_namespace" "onlyoffice" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "onlyoffice-secrets" name = "onlyoffice-secrets"

View file

@ -38,7 +38,7 @@ module "tls_secret" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "openclaw-secrets" name = "openclaw-secrets"

View file

@ -6,7 +6,7 @@ variable "nfs_server" { type = string }
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "owntracks-secrets" name = "owntracks-secrets"

View file

@ -27,7 +27,7 @@ resource "kubernetes_namespace" "paperless_ai" {
# custom_api_key placeholder bearer for llama-swap (no auth, field required). # custom_api_key placeholder bearer for llama-swap (no auth, field required).
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "paperless-ai-secrets" name = "paperless-ai-secrets"

View file

@ -29,7 +29,7 @@ resource "kubernetes_namespace" "paperless-mcp" {
# by ESO; the pod reads it via secret_key_ref. # by ESO; the pod reads it via secret_key_ref.
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "paperless-mcp-secrets" name = "paperless-mcp-secrets"

View file

@ -35,7 +35,7 @@ resource "kubernetes_namespace" "paperless-ngx" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "paperless-ngx-secrets" name = "paperless-ngx-secrets"

View file

@ -59,7 +59,7 @@ resource "kubernetes_namespace" "payslip_ingest" {
# (same as Viktor's sync_id) # (same as Viktor's sync_id)
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "payslip-ingest-secrets" name = "payslip-ingest-secrets"
@ -134,7 +134,7 @@ resource "kubernetes_manifest" "external_secret" {
# Template builds the asyncpg DSN consumed by the FastAPI app as DB_CONNECTION_STRING. # Template builds the asyncpg DSN consumed by the FastAPI app as DB_CONNECTION_STRING.
resource "kubernetes_manifest" "db_external_secret" { resource "kubernetes_manifest" "db_external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "payslip-ingest-db-creds" name = "payslip-ingest-db-creds"
@ -451,7 +451,7 @@ resource "kubernetes_cron_job_v1" "actualbudget_payroll_sync" {
# Grafana whenever ESO updates this secret (every 7d on rotation). # Grafana whenever ESO updates this secret (every 7d on rotation).
resource "kubernetes_manifest" "grafana_payslips_db_external_secret" { resource "kubernetes_manifest" "grafana_payslips_db_external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "grafana-payslips-pg-creds" name = "grafana-payslips-pg-creds"

View file

@ -29,7 +29,7 @@ resource "kubernetes_namespace" "phpipam" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "phpipam-secrets" name = "phpipam-secrets"
@ -58,7 +58,7 @@ resource "kubernetes_manifest" "external_secret" {
resource "kubernetes_manifest" "external_secret_pfsense_ssh" { resource "kubernetes_manifest" "external_secret_pfsense_ssh" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "phpipam-pfsense-ssh" name = "phpipam-pfsense-ssh"
@ -87,7 +87,7 @@ resource "kubernetes_manifest" "external_secret_pfsense_ssh" {
resource "kubernetes_manifest" "external_secret_admin" { resource "kubernetes_manifest" "external_secret_admin" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "phpipam-admin-password" name = "phpipam-admin-password"

View file

@ -20,7 +20,7 @@ resource "kubernetes_namespace" "plotting-book" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "plotting-book-secrets" name = "plotting-book-secrets"

View file

@ -73,7 +73,7 @@ resource "kubernetes_persistent_volume_claim" "uploads" {
# this Secret in via `envFrom: secretRef: postiz-secrets`. # this Secret in via `envFrom: secretRef: postiz-secrets`.
resource "kubernetes_manifest" "external_secret_jwt" { resource "kubernetes_manifest" "external_secret_jwt" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "postiz-jwt-secret" name = "postiz-jwt-secret"

View file

@ -208,7 +208,7 @@ resource "kubernetes_cluster_role_binding" "pve_snapshot_admin" {
# Referenced by the proxmox-lvm-encrypted StorageClass for node-stage and node-expand. # Referenced by the proxmox-lvm-encrypted StorageClass for node-stage and node-expand.
resource "kubernetes_manifest" "external_secret_encryption" { resource "kubernetes_manifest" "external_secret_encryption" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "proxmox-csi-encryption" name = "proxmox-csi-encryption"

View file

@ -8,7 +8,7 @@ variable "mysql_host" { type = string }
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "real-estate-crawler-secrets" name = "real-estate-crawler-secrets"
@ -37,7 +37,7 @@ resource "kubernetes_manifest" "external_secret" {
# Provides DB_CONNECTION_STRING that auto-updates when password rotates # Provides DB_CONNECTION_STRING that auto-updates when password rotates
resource "kubernetes_manifest" "db_external_secret" { resource "kubernetes_manifest" "db_external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "realestate-crawler-db-creds" name = "realestate-crawler-db-creds"
@ -86,7 +86,7 @@ data "kubernetes_secret" "eso_secrets" {
# (Sprig `b64enc`) so the PAT never sits in K8s in cleartext. # (Sprig `b64enc`) so the PAT never sits in K8s in cleartext.
resource "kubernetes_manifest" "dockerhub_pull_secret" { resource "kubernetes_manifest" "dockerhub_pull_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "dockerhub-pull-secret" name = "dockerhub-pull-secret"

View file

@ -56,7 +56,7 @@ resource "kubernetes_namespace" "recruiter_responder" {
# DB user: created via Vault database engine see static-creds/pg-recruiter-responder. # DB user: created via Vault database engine see static-creds/pg-recruiter-responder.
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "recruiter-responder-secrets" name = "recruiter-responder-secrets"
@ -108,7 +108,7 @@ resource "kubernetes_manifest" "external_secret" {
# `recruiter_responder`, and Vault role `static-creds/pg-recruiter-responder`. # `recruiter_responder`, and Vault role `static-creds/pg-recruiter-responder`.
resource "kubernetes_manifest" "db_external_secret" { resource "kubernetes_manifest" "db_external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "recruiter-responder-db-creds" name = "recruiter-responder-db-creds"

View file

@ -42,7 +42,7 @@ module "tls_secret" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "resume-secrets" name = "resume-secrets"

View file

@ -26,7 +26,7 @@ resource "kubernetes_namespace" "rybbit" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "rybbit-secrets" name = "rybbit-secrets"

View file

@ -186,7 +186,7 @@ resource "kubernetes_service" "aiostreams" {
resource "kubernetes_manifest" "probe_secrets" { resource "kubernetes_manifest" "probe_secrets" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "aiostreams-probe-secrets" name = "aiostreams-probe-secrets"

View file

@ -6,7 +6,7 @@ variable "nfs_server" { type = string }
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "servarr-secrets" name = "servarr-secrets"

View file

@ -22,7 +22,7 @@ resource "kubernetes_namespace" "shadowsocks" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "shadowsocks-secrets" name = "shadowsocks-secrets"

View file

@ -21,7 +21,7 @@ resource "kubernetes_namespace" "speedtest" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "speedtest-secrets" name = "speedtest-secrets"

View file

@ -17,7 +17,7 @@
resource "kubernetes_manifest" "rclone_external_secret" { resource "kubernetes_manifest" "rclone_external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "stem95su-rclone" name = "stem95su-rclone"

View file

@ -59,7 +59,7 @@ resource "kubernetes_namespace" "t3_afk" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "t3-afk-secrets" name = "t3-afk-secrets"

View file

@ -23,7 +23,7 @@ resource "kubernetes_namespace" "tandoor" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "tandoor-secrets" name = "tandoor-secrets"

View file

@ -420,7 +420,7 @@ module "ingress" {
# ExternalSecret for Technitium MySQL password (Vault auto-rotation) # ExternalSecret for Technitium MySQL password (Vault auto-rotation)
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "technitium-db-creds" name = "technitium-db-creds"

View file

@ -50,7 +50,7 @@ module "tls_secret" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "trading-bot-secrets" name = "trading-bot-secrets"
@ -104,7 +104,7 @@ resource "kubernetes_manifest" "external_secret" {
# DB credentials from Vault database engine (rotated every 24h) # DB credentials from Vault database engine (rotated every 24h)
resource "kubernetes_manifest" "db_external_secret" { resource "kubernetes_manifest" "db_external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "trading-bot-db-creds" name = "trading-bot-db-creds"

View file

@ -216,7 +216,7 @@ resource "kubernetes_namespace" "tripit" {
# DB user: created via Vault database engine see static-creds/pg-tripit. # DB user: created via Vault database engine see static-creds/pg-tripit.
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "tripit-secrets" name = "tripit-secrets"
@ -292,7 +292,7 @@ resource "kubernetes_manifest" "external_secret" {
# role `static-creds/pg-tripit`. # role `static-creds/pg-tripit`.
resource "kubernetes_manifest" "db_external_secret" { resource "kubernetes_manifest" "db_external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "tripit-db-creds" name = "tripit-db-creds"

View file

@ -15,7 +15,7 @@ resource "kubernetes_namespace" "tuya-bridge" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "tuya-bridge-secrets" name = "tuya-bridge-secrets"

View file

@ -36,7 +36,7 @@ resource "kubernetes_namespace" "shlink" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "url-secrets" name = "url-secrets"
@ -68,7 +68,7 @@ resource "kubernetes_manifest" "external_secret" {
# kubernetes_secret can be removed. # kubernetes_secret can be removed.
resource "kubernetes_manifest" "db_external_secret" { resource "kubernetes_manifest" "db_external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "url-db-creds" name = "url-db-creds"

View file

@ -22,7 +22,7 @@ resource "kubernetes_namespace" "wealthfolio" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "wealthfolio-secrets" name = "wealthfolio-secrets"
@ -52,7 +52,7 @@ resource "kubernetes_manifest" "external_secret" {
# the K8s Secret every 15m so the sidecar always has a valid password. # the K8s Secret every 15m so the sidecar always has a valid password.
resource "kubernetes_manifest" "wealthfolio_sync_db_external_secret" { resource "kubernetes_manifest" "wealthfolio_sync_db_external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "wealthfolio-sync-db-creds" name = "wealthfolio-sync-db-creds"
@ -778,7 +778,7 @@ resource "kubernetes_cron_job_v1" "wealthfolio_sync" {
# Grafana whenever ESO updates this secret (every 7d on rotation). # Grafana whenever ESO updates this secret (every 7d on rotation).
resource "kubernetes_manifest" "grafana_wealth_db_external_secret" { resource "kubernetes_manifest" "grafana_wealth_db_external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "grafana-wealth-pg-creds" name = "grafana-wealth-pg-creds"

View file

@ -292,7 +292,7 @@ module "ingress" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "webhook-handler-secrets" name = "webhook-handler-secrets"

View file

@ -64,7 +64,7 @@ module "tls_secret" {
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "woodpecker-secrets" name = "woodpecker-secrets"
@ -103,7 +103,7 @@ resource "kubernetes_manifest" "db_external_secret" {
force_conflicts = true force_conflicts = true
} }
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "woodpecker-db-creds" name = "woodpecker-db-creds"

View file

@ -7,7 +7,7 @@ variable "nfs_server" { type = string }
resource "kubernetes_manifest" "external_secret" { resource "kubernetes_manifest" "external_secret" {
manifest = { manifest = {
apiVersion = "external-secrets.io/v1beta1" apiVersion = "external-secrets.io/v1"
kind = "ExternalSecret" kind = "ExternalSecret"
metadata = { metadata = {
name = "ytdlp-secrets" name = "ytdlp-secrets"