## 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
55 lines
809 B
Markdown
55 lines
809 B
Markdown
# Phase 3: PostgreSQL Migration
|
|
|
|
**Goal**: Migrate miniflux database to CloudNativePG
|
|
|
|
**Status**: Pending
|
|
|
|
**Prerequisites**: [Phase 2](P2_grafana.md) complete
|
|
|
|
---
|
|
|
|
## Steps
|
|
|
|
### 1. Create databases and users in k8s PostgreSQL
|
|
|
|
- miniflux database/user
|
|
- borgmatic read-only user
|
|
|
|
---
|
|
|
|
### 2. Export from brew PostgreSQL
|
|
|
|
```bash
|
|
pg_dump -h localhost -U miniflux miniflux > miniflux_backup.sql
|
|
```
|
|
|
|
---
|
|
|
|
### 3. Expose k8s PostgreSQL via Tailscale
|
|
|
|
- Service with `loadBalancerClass: tailscale`
|
|
- Tag: `svc:pg-k8s`
|
|
|
|
---
|
|
|
|
### 4. Import data
|
|
|
|
```bash
|
|
psql -h pg-k8s.tail8d86e.ts.net -U miniflux miniflux < miniflux_backup.sql
|
|
```
|
|
|
|
---
|
|
|
|
### 5. Update borgmatic config
|
|
|
|
- Change hostname to k8s PostgreSQL
|
|
|
|
---
|
|
|
|
### 6. Verify data integrity
|
|
|
|
---
|
|
|
|
## Rollback
|
|
|
|
Keep brew PostgreSQL running until Phase 4 verified
|