## Summary - Split k8s migration plan into phases folder for easier navigation - Added `tag:k8s` to Pulumi ACLs for Kubernetes workloads - Phase 1 work in progress ## Phase 1 Goals - Tailscale Kubernetes Operator - CloudNativePG Operator - PostgreSQL cluster for future app migrations ## Deployment and Testing - [ ] Review Phase 1 plan - [ ] `mise run tailnet-preview` to verify ACL changes - [ ] `mise run tailnet-up` to apply ACL changes - [ ] Create Tailscale OAuth client (manual) - [ ] Deploy operators and PostgreSQL cluster 🤖 Generated with [Claude Code](https://claude.com/claude-code) Reviewed-on: https://forge.tail8d86e.ts.net/eblume/blumeops/pulls/29
844 B
844 B
Phase 2: Grafana Migration (Pilot)
Goal: Migrate Grafana as lowest-risk pilot service
Status: Pending
Prerequisites: Phase 1 complete
Steps
1. Deploy Grafana via Helm
- Copy datasource config from existing role
- Copy dashboards from
ansible/roles/grafana/files/dashboards/ - Point to indri Prometheus/Loki (http://indri:9090, http://indri:3100)
2. Configure Tailscale LoadBalancer
service:
type: LoadBalancer
loadBalancerClass: tailscale
3. Verify all dashboards work
4. Update tailscale_serve
Remove grafana entry from ansible/roles/tailscale_serve/defaults/main.yml
5. Stop brew grafana
brew services stop grafana
Verification
- https://grafana.tail8d86e.ts.net loads
- All dashboards functional