Commit Graph

24 Commits

Author SHA1 Message Date
Will Anderson 48106b27ec vault: cut over to GCE Raft HA cluster, retire nook.family media stack
- 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.
2026-05-04 16:40:03 -05:00
Will Anderson b70fef611a deploy DHARMA registry to neuron-prod
- Dockerfile for Go DHARMA server (registry.neuralplatform.ai/neuron-technologies/dharma)
- k8s manifests: deployment, service, ExternalSecret (Vault), IngressRoute
- Argo CD app: deploys to neuron-prod namespace
- Cloudflare tunnel rule for dharma.neurontechnologies.ai
- DNS CNAME record for dharma.neurontechnologies.ai → legion tunnel
- Vault secrets already populated (api_key, encryption_key, jwt_secret, engram_key, engram_url)
- Connects to neuron-daemon (engram) at neuron-daemon.neuron-prod.svc.cluster.local:7749
2026-05-03 13:26:54 -05:00
Will Anderson 3daf615dd2 add neuron-web phase-1 deploy on Legion
Stand up the elb-built native El landing server on Legion k3s alongside
the existing Cloud Run prod marketing site. Image is built on
gitea-runner-1 from elb-emitted .c files + native cc and pushed to
registry.neuralplatform.ai/neuron-web:dev-dfe41234. Deployment exposes
web-stage.neuralplatform.ai via Traefik + Cloudflare tunnel.

The point is to have a working local instance we can iterate against
while we redesign the CI/CD pipeline; nothing here replaces the Cloud
Run deploy yet.

* k8s/neuron-technologies/web/ — namespace, deployment, service, ingress,
  registry-pull-secret + externalsecret pulling anthropic/supabase keys
  from Vault
* apps/neuron-web.yaml — Argo CD Application
* dns-neuralplatform.tf, main.tf — CNAME + tunnel ingress for
  web-stage.neuralplatform.ai
2026-05-03 10:45:18 -05:00
Will Anderson a55b53f1bd fix: add registry.neuralplatform.ai to Cloudflare tunnel config
Was missing from tunnel ingress rules, causing 404 on all registry
requests through Cloudflare. Disabled chunked encoding for Docker
push compatibility.
2026-04-27 16:51:58 -05:00
Will Anderson 714a7c7a8d launch: deploy daemon StatefulSet, fix neuron-rest security context, add daemon Argo CD app
- Add neuron-daemon Argo CD Application (apps/neuron-daemon.yaml) pointing to
  k8s/neuron-technologies/daemon/ on main — daemon will deploy once image is built
- Add daemon k8s manifests: StatefulSet (2 replicas, imagePullPolicy: Always),
  Service (ClusterIP :7749, session affinity), ExternalSecret (Anthropic API key from Vault)
- Fix neuron-rest runAsNonRoot: remove constraint since v0.15.3 image runs as root,
  clears the CreateContainerConfigError on the 11h-old stale pod
- Add NEURON_DAEMON_WS_URL env var to marketing deployment for chat UI connectivity
- Add neuron.neurontechnologies.ai Cloudflare DNS record and tunnel ingress rule (Terraform)
2026-04-26 10:13:48 -05:00
Will Anderson a37deca724 Add GCS backup bucket + dual-destination hourly backup (R2 + GCS)
Provision Google Cloud Storage bucket for neuron prod DB backups via Terraform.
Create dedicated backup service account with objectAdmin on the bucket.
Update neuron-prod backup CronJob to run restic against both R2 and GCS hourly —
R2 as primary, GCS as secondary, independent credentials and repositories.
2026-04-25 15:23:51 -05:00
Will Anderson a6421a5f98 feat(api): expose api.neurontechnologies.ai + add Stripe and R2 secrets
- Add api.neurontechnologies.ai DNS CNAME → CF tunnel
- Add tunnel ingress rule for api.neurontechnologies.ai → Traefik
- Create rest-ingressroute.yaml: api.neurontechnologies.ai → neuron-rest:8081
- Add STRIPE_SECRET_KEY to neuron-prod ExternalSecret (from marketing-test Vault)
2026-04-25 01:25:39 -05:00
Will Anderson 816d79760d add alpha/beta/gamma subdomains on neurontechnologies.ai
- Tunnel ingress rules for alpha/beta/gamma.neurontechnologies.ai
- DNS CNAME records pointing to legion tunnel
- k8s ingress rules routing to neuron-alpha/beta/gamma services (port 8001)
- TLS certs via cert-manager for new hostnames
2026-04-24 01:13:03 -05:00
Will Anderson cc4db4dc11 feat(neuron): gamma zone, all-slot ingress, snapshot job, self-improvement loop script 2026-04-23 13:57:13 -05:00
Will Anderson 3234d9cee6 route vpn.neuralplatform.ai tunnel directly to headscale, bypass traefik 2026-04-22 01:38:28 -05:00
Will Anderson fb3b5ff564 Add vpn.neuralplatform.ai to Cloudflare tunnel for Headscale access 2026-04-22 01:22:45 -05:00
Will Anderson 69431f8823 Restore sign.neuralplatform.ai tunnel rule for license transfer 2026-04-21 17:40:22 -05:00
Will Anderson 8e87077bf0 Move Docuseal to sign.neurontechnologies.ai 2026-04-21 17:24:10 -05:00
Will Anderson d40fb8c3f1 Add Docuseal e-signature service at sign.neuralplatform.ai
- k8s manifests: Deployment, Service, PVC, Ingress, ExternalSecret
- Argo CD app watching servers/legion/k8s/docuseal
- CF tunnel ingress rule for sign.neuralplatform.ai
- Vault secret at secret/docuseal (secret_key_base seeded)
2026-04-21 14:26:01 -05:00
Will Anderson 8aa01bc840 infra: add neurontechnologies.ai Cloudflare routing and k8s namespaces
- Add CNAME records for @, www, dev, stage → legion tunnel
- Add tunnel ingress rules for neurontechnologies.ai, www, dev, stage
- Add neuron-dev, neuron-stage, neuron-prod k8s namespaces on Legion
2026-04-16 21:55:19 -05:00
Will Anderson 61ea7eaaef add all Cloudflare zones to Terraform, migrate tunnel config to non-deprecated resource 2026-04-16 18:36:16 -05:00
Will Anderson 87367d4387 Add Gitea SSH tunnel via ssh.git.neuralplatform.ai 2026-04-14 23:53:18 -05:00
Will Anderson d75d1b62d8 Add fornax.neuralplatform.ai to Cloudflare tunnel ingress rules 2026-04-14 04:43:25 +00:00
Will Anderson 354950a75d Remove voidstash adult media stack (DNS records, tunnel routes) 2026-04-12 04:37:18 -05:00
Will Anderson 538bba323d feat: add prowlarr.voidstash.xyz DNS + tunnel rule 2026-04-12 02:34:35 -05:00
Will Anderson b8b33e870f voidstash.xyz: add Cloudflare zone, CNAME records, and tunnel ingress rules
Register voidstash.xyz as the private media stack domain.
- DNS delegated from Porkbun to Cloudflare nameservers
- stash.voidstash.xyz and whisparr.voidstash.xyz CNAME to legion tunnel
- Tunnel ingress rules added for both subdomains → Traefik
2026-04-11 12:47:38 -05:00
Will Anderson 5f2720ae4e Add Cloudflare provider and neural-platform tunnel config to Terraform
Tunnel routes were being managed ad-hoc via Cloudflare API. Now codified
in Terraform so they can't drift — neuron.neuralplatform.ai was missing
from the tunnel config, causing 404s for Neuron MCP connections.

Also fix mcp.json: type http → sse (Neuron uses SSE transport, not
streamable HTTP). CF-Access headers were already present and correct.
2026-04-11 09:04:14 -05:00
Will Anderson 7f022d3a67 Remove null_resources, add bootstrap.sh, fix k3s cert for new LAN IP 2026-03-23 07:49:57 -05:00
Will Anderson 0b4a236a88 Restructure: servers/legion/ layout, rename repo to infrastructure 2026-03-23 07:38:42 -05:00