Replace DNS-flip failover watcher with static vps.huskypup.net subdomains

The DNS-flip watcher (scripts/vps-dns-failover/) was designed but never
actually installed on the VPS despite being tracked as done - real gap,
found when asked whether the standby services are actually reachable.

New design: instead of dynamically flipping *.kube.huskypup.net between
home and VPS IPs, give the VPS site its own permanent, always-resolving
subdomain - vault/gitea/auth/n8n/nextcloud.vps.huskypup.net, each with
real Ingress+TLS on the VPS's own Traefik+cert-manager (both already
installed by Phase 0 bootstrap, just never wired up). No token-scoping
decision needed since there's no dynamic flipping - reuses the same
cert-manager token pattern as home.

Also scales Authentik/n8n/Nextcloud from 0 to 1 replica on the VPS so
the replicated data is actually browsable at all times, not just
present-but-unreachable. Their CNPG clusters are still read-only
replicas (spec.replica.enabled: true) - writes will error until a
deliberate manual promotion, but reads/browsing work now. Vault and
Gitea were already running continuously.
This commit is contained in:
Scooby Husky
2026-08-18 18:23:08 -05:00
parent f98c997293
commit 5bc1be2f00
13 changed files with 224 additions and 178 deletions
@@ -0,0 +1,22 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: vps-cert-manager-issuer
namespace: argocd
annotations:
argocd.argoproj.io/sync-wave: "1" # before the per-service Ingress resources (wave 3+) that reference it
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
project: vps-standby
source:
repoURL: https://gitlab.kube.huskypup.net/Scooby/Homelabv4.git
targetRevision: main
path: infrastructure/vps-standby/cert-manager/manifests
destination:
name: vps-standby
namespace: cert-manager
syncPolicy:
automated:
prune: true
selfHeal: true