Migrate paperless, teslamate, and mealie off the OOM-saturated minikube-indri node onto ringtail k3s, shedding ~1.1 GiB of resident load. Second chain in the indri-k8s decommission after immich. **Containers ported to Nix (default.nix), build-verified on ringtail:** - paperless → wraps nixpkgs paperless-ngx 2.20.15 (pinned unstable); runs as web/worker/beat/consumer - mealie → wraps nixpkgs mealie 3.16.0 (forward 4-minor bump, breaking-change reviewed); single gunicorn, SQLite - teslamate → from-scratch beamPackages mixRelease (not in nixpkgs); erlang_27+elixir_1_18, npm assets, ex_cldr locales pre-fetched **Data:** cold downtime-tolerant cutover. paperless+teslamate postgres dump/restore from quiesced source into a new ringtail blumeops-pg CNPG cluster; mealie SQLite PVC copied. Source DBs untouched until verified (rollback = repoint). **Also:** ringtail blumeops-pg cluster + ExternalSecrets scaffold; fixes pre-existing shower version-check drift. Runbook: docs/how-to/ringtail/migrate-wave1-ringtail.md. Deploy-from-branch + cutover happens before merge; container images rebuilt from main after merge. Reviewed-on: #363
28 lines
924 B
YAML
28 lines
924 B
YAML
# TeslaMate on ringtail k3s.
|
|
#
|
|
# Wave-1 indri-k8s decommission. Staging deployment; the minikube
|
|
# `teslamate` app stays in parallel until cutover (migrate the teslamate
|
|
# database, drop the minikube tailscale ingress, flip Caddy). See
|
|
# [[migrate-wave1-ringtail]].
|
|
#
|
|
# Prerequisites:
|
|
# - databases-ringtail blumeops-pg (teslamate database + role; cube +
|
|
# earthdistance extensions created by superuser at cutover)
|
|
# - external-secrets-ringtail (onepassword-blumeops ClusterSecretStore)
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: teslamate-ringtail
|
|
namespace: argocd
|
|
spec:
|
|
project: default
|
|
source:
|
|
repoURL: ssh://forgejo@forge.ops.eblu.me:2222/eblume/blumeops.git
|
|
targetRevision: main
|
|
path: argocd/manifests/teslamate-ringtail
|
|
destination:
|
|
server: https://ringtail.tail8d86e.ts.net:6443
|
|
namespace: teslamate
|
|
syncPolicy:
|
|
syncOptions:
|
|
- CreateNamespace=true
|