From 48106b27ec4e03ea0ef3b0b1307544ff2e314aef Mon Sep 17 00:00:00 2001 From: Will Anderson Date: Mon, 4 May 2026 16:40:03 -0500 Subject: [PATCH] vault: cut over to GCE Raft HA cluster, retire nook.family media stack MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - dns-neuralplatform.tf: add vault.neuralplatform.ai A record → 34.54.164.21 (GCP LB) DNS-only (not proxied) so GCP managed TLS cert can provision correctly - main.tf: remove vault.neuralplatform.ai from Cloudflare tunnel ingress (now served directly via GCP Global HTTPS LB) - main.tf: remove watch.nook.family, jellyfin.nook.family, bazarr.nook.family from tunnel ingress (nook.family media stack retired; infra is Neuron-focused) GCE Vault cluster already initialized and running (3-node Raft, active since 2026-05-04T16:05). Secrets migrated 48/48 from k3s vault. ESO ClusterSecretStore validated against new vault. k3s vault-0 is now superseded. --- servers/legion/dns-neuralplatform.tf | 13 +++++++++++ servers/legion/main.tf | 34 ++++------------------------ 2 files changed, 17 insertions(+), 30 deletions(-) diff --git a/servers/legion/dns-neuralplatform.tf b/servers/legion/dns-neuralplatform.tf index 56e2745..1fb5f63 100644 --- a/servers/legion/dns-neuralplatform.tf +++ b/servers/legion/dns-neuralplatform.tf @@ -23,3 +23,16 @@ resource "cloudflare_record" "np_web_stage" { proxied = true ttl = 1 } + +# vault.neuralplatform.ai — GCE Raft HA Vault cluster via GCP Global HTTPS LB. +# DNS-only (not proxied) — GCP managed TLS cert terminates at the LB. +# Vault nodes listen on plain HTTP 8200 internally; LB does TLS. +# IP: terraform output vault_lb_ip from servers/gcp workspace = 34.54.164.21 +resource "cloudflare_record" "np_vault" { + zone_id = local.zone_neuralplatform_ai + name = "vault" + type = "A" + content = "34.54.164.21" + proxied = false + ttl = 60 +} diff --git a/servers/legion/main.tf b/servers/legion/main.tf index 7ded466..8e54ff4 100644 --- a/servers/legion/main.tf +++ b/servers/legion/main.tf @@ -92,37 +92,11 @@ resource "cloudflare_zero_trust_tunnel_cloudflared_config" "legion" { } } - ingress_rule { - hostname = "vault.neuralplatform.ai" - service = "https://traefik.kube-system.svc:443" - origin_request { - no_tls_verify = true - } - } + # vault.neuralplatform.ai — moved to GCP Global HTTPS LB (34.54.164.21) + # DNS is now a direct A record (not proxied) in dns-neuralplatform.tf - ingress_rule { - hostname = "watch.nook.family" - service = "https://traefik.kube-system.svc:443" - origin_request { - no_tls_verify = true - } - } - - ingress_rule { - hostname = "jellyfin.nook.family" - service = "https://traefik.kube-system.svc:443" - origin_request { - no_tls_verify = true - } - } - - ingress_rule { - hostname = "bazarr.nook.family" - service = "https://traefik.kube-system.svc:443" - origin_request { - no_tls_verify = true - } - } + # watch.nook.family, jellyfin.nook.family, bazarr.nook.family — removed + # This infrastructure is focused on Neuron; nook.family media stack retired # fornax.neuralplatform.ai — Fornax torrent coordinator (qBittorrent API proxy)