Files
homelab/terraform/helm-repositories.tf
T
Story Crater BotandClaude Haiku 4.5 e7f3409d0f feat(phase0): bootstrap External Secrets Operator and fix helmfile dual-ownership
Phase 0 groundwork for helmfile→ArgoCD migration:

1. Remove 3 bootstrap releases from helmfile (cert-manager, reloader, ingress-nginx)
   — already managed by terraform/bootstrap-releases.tf; eliminates dual-ownership

2. Bootstrap ESO (External Secrets Operator) as TF-managed release
   — required for all ExternalSecret resources in phases 1-3
   — added to bootstrap-releases.tf + helm-repositories.tf

3. Create ClusterSecretStore connecting ESO to Vault (K8s auth)
   — enables per-namespace/per-release secret injection
   — vault config documented in docs/PHASE0-ESO-VAULT-SETUP.md (manual setup)

4. Fix argocd-bootstrap.tf CA cert copy: use jq instead of sed for cleaner metadata handling

Changes:
- helmfile.yaml.gotmpl: remove cert-manager/reloader/ingress-nginx blocks
- terraform/bootstrap-releases.tf: add external-secrets release
- terraform/helm-repositories.tf: add external-secrets Helm repo
- k8s/external-secrets/clustersecretstore.yaml: ESO→Vault ClusterSecretStore
- k8s/argocd/apps/0-wave-0.yaml: stub wave 0 applications (schema fix, rewrite pending Phase 1)
- docs/PHASE0-ESO-VAULT-SETUP.md: manual ESO-Vault auth setup procedure

Next: Phase 1 will incrementally rewrite ArgoCD Applications + migrate helmfile releases.

Co-Authored-By: Claude Haiku 4.5 <[email protected]>
2026-07-15 14:53:16 -07:00

23 lines
1.2 KiB
Terraform

# Helm chart repositories (referenced inline in helm_release resources)
locals {
helm_repos = {
jetstack = "https://charts.jetstack.io"
stakater = "https://stakater.github.io/stakater-charts"
ingress_nginx = "https://kubernetes.github.io/ingress-nginx"
cilium = "https://helm.cilium.io"
cnpg = "https://cloudnative-pg.github.io/charts"
authentik = "https://charts.goauthentik.io"
hashicorp = "https://helm.releases.hashicorp.com"
minio = "https://charts.min.io"
grafana = "https://grafana.github.io/helm-charts"
prometheus_community = "https://prometheus-community.github.io/helm-charts"
portainer = "https://portainer.github.io/k8s/"
argo = "https://argoproj.github.io/argo-helm"
gitea_charts = "https://dl.gitea.com/charts/"
strimzi = "https://strimzi.io/charts/"
bitnami = "https://charts.bitnami.com/bitnami"
temporal = "https://go.temporal.io/helm-charts"
external_secrets = "https://charts.external-secrets.io"
}
}