C1: migrate homepage dashboard from minikube to ringtail (nix-built amd64) #348
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "homepage-to-ringtail"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Move the homepage dashboard off minikube (indri/arm64) onto ringtail's k3s
(amd64) to relieve indri pressure, and switch the container build from a
hand-written Dockerfile to a nix derivation adapted from nixpkgs
homepage-dashboard.Pinned to v1.11.0 (current production version).
Changes
containers/homepage/default.nix(new): adapts the upstream nixpkgsderivation to fetch from our forge mirror, includes the upstream Next.js
file-system-cache patches (nixpkgs issues #328621 and #458494 — without
these, prerender state breaks after restart). Wrapped with
dockerTools.buildLayeredImage.containers/homepage/Dockerfile(deleted): replaced by nix.argocd/apps/homepage.yaml: destination changed fromkubernetes.default.svc→https://ringtail.tail8d86e.ts.net:6443.argocd/manifests/homepage/kustomization.yaml: image tag bumped tov1.11.0-b87f62e-nix(built and verified amd64).argocd/manifests/homepage/services.yaml: reworked for theautodiscovery shift between clusters (see below).
Autodiscovery shift
Homepage's k8s integration (
mode: cluster) discovers Ingresses withgethomepage.dev/*annotations within its own cluster. Moving clustersswaps which services autodiscover.
Lost (now manual): ArgoCD, Immich, Kiwix, Mealie, Miniflux (with widget),
Grafana (with widget), Prometheus, Navidrome (with widget), Paperless,
TeslaMate, Transmission. All widgets preserved verbatim.
Gained (now autodiscovered): Frigate→NVR, Authentik, Ntfy, Ollama. Their
prior manual entries (NVR, Authentik, Ntfy) were removed from
services.yamlto avoid duplicates.
A new "Content" group was added for Immich/Kiwix/Miniflux to preserve their
prior grouping.
Cutover plan (post-merge)
appsArgoCD application from main to pick up the destination change.will try to register hostname
go— but indri's tailscale operatorcurrently owns it. Expect the new device to fail or get a
-1suffixuntil the old one is freed.
kubectl --context=minikube-indri delete namespace homepage(this freesthe Tailscale device after a short delay).
go.tail8d86e.ts.netcleanly.(NVR/Authentik/Ntfy/Ollama) should populate; the manually-added minikube
services should appear with widgets working.
Brief outage expected during the device handoff.
Test plan
go.ops.eblu.meloads (Caddy → Tailscale Ingress → ringtail pod)(Navidrome), Grafana, Miniflux
homepagenamespace on minikube is gone