mirror of
https://gitlab.kube.huskypup.net/Scooby/Homelabv4.git
synced 2026-08-20 23:16:49 +00:00
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.
31 lines
877 B
YAML
31 lines
877 B
YAML
---
|
|
# Public-ish access to the VPS Vault standby, replacing the old
|
|
# "reachable over Netbird only" model with a stable, permanent hostname
|
|
# (vault.vps.huskypup.net) that doesn't depend on home being up at all -
|
|
# see the vps.huskypup.net subdomain design note in
|
|
# infrastructure/vps-standby/cert-manager/manifests/cluster-issuer.yaml.
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: vps-vault
|
|
namespace: vault
|
|
annotations:
|
|
cert-manager.io/cluster-issuer: letsencrypt-production
|
|
spec:
|
|
ingressClassName: traefik
|
|
tls:
|
|
- hosts:
|
|
- vault.vps.huskypup.net
|
|
secretName: vps-vault-tls
|
|
rules:
|
|
- host: vault.vps.huskypup.net
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: vps-vault-ui
|
|
port:
|
|
number: 8200
|