K8s Migration Phase 2: Grafana to Kubernetes #30

Merged
eblume merged 8 commits from feature/k8s-phase2-grafana into main 2026-01-19 14:40:25 -08:00

8 commits

Author SHA1 Message Date
af1c370556 Update all apps to target main branch
Removed TODOs and updated targetRevision from feature/k8s-phase2-grafana
to main for all ArgoCD Applications in preparation for PR merge.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 14:38:24 -08:00
5c5251fd32 Retire ansible grafana role - now k8s-hosted
Grafana is now running in Kubernetes with:
- Helm chart from forge-mirrored grafana-helm-charts repo
- Tailscale Ingress at grafana.tail8d86e.ts.net
- SQLite persistence via PVC
- Dashboards provisioned via ConfigMaps

Removed:
- ansible/roles/grafana/ directory (dashboards migrated to k8s ConfigMaps)
- grafana role from indri.yml playbook

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 14:20:55 -08:00
f1d4fc0891 Remove svc:grafana from tailscale_serve - now k8s-hosted
Grafana is now running in Kubernetes with its own Tailscale Ingress.
Removing the ansible-managed Tailscale Serve entry frees up the
'grafana' hostname for the k8s ingress to claim.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 13:57:06 -08:00
f1547e4a4f Add indri SSH host key to ArgoCD known_hosts
- Add argocd-ssh-known-hosts-cm.yaml patch with forge (indri:2200) host key
- Include upstream ArgoCD default host keys for github, gitlab, bitbucket, etc.
- Required for ArgoCD to connect to forge via SSH

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 13:49:54 -08:00
d0966ae3f6 Switch chart repos from HTTPS to SSH for cluster egress compatibility
- Update cloudnative-pg and grafana apps to use SSH URLs
- Convert repo-forge secret to repo-creds-forge credential template
- The credential template matches all repos under eblume/ using URL prefix
- SSH key is now added to Forgejo user (not as deploy key) for all-repo access

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 12:17:51 -08:00
f27bbb49d2 Update all apps to target feature/k8s-phase2-grafana
Update app-of-apps and all ArgoCD applications to point at
this feature branch for testing. Will change back to main
before merging.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 11:46:23 -08:00
e78b4070fb Target feature branch for ArgoCD deployments
Temporarily point ArgoCD apps at feature/k8s-phase2-grafana branch
for testing. Will update back to 'main' before merging PR.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 11:41:40 -08:00
955253e124 K8s Migration Phase 2: Grafana to Kubernetes
- Migrate Grafana from Homebrew/Ansible to Kubernetes deployment
- Switch CloudNativePG to use forge-mirrored Helm chart (HTTPS)
- Add Grafana Helm chart deployment via ArgoCD
- Add Grafana config (Tailscale Ingress, dashboard ConfigMaps)
- Update Loki to bind 0.0.0.0 for k8s pod access
- Update P2 plan document with detailed implementation steps

Helm chart mirrors created in forge:
- cloudnative-pg-charts (from github.com/cloudnative-pg/charts)
- grafana-helm-charts (from github.com/grafana/helm-charts)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 11:37:30 -08:00