Commit Graph

572 Commits

Author SHA1 Message Date
Will Anderson 9e2646701c Grant soma compute permissions for GCE inference nodes
- Add roles/compute.instanceAdmin.v1 for soma SA (provision/terminate GCE VMs)
- Add roles/iam.serviceAccountUser for soma SA (assign SA to inference VMs)
- Add firewall rule: allow TCP 8000 inbound to soma-inference-node tagged VMs
- Add soma-node-secret to Secret Manager (GCE startup script auth)
- Inject SOMA_NODE_SECRET, GCP_PROJECT_ID, GCP_ZONE, SOMA_PUBLIC_URL into
  the soma Cloud Run service via env vars
2026-04-28 10:48:32 -05:00
Will Anderson f2b025a433 Deploy soma to GCP Cloud Run at ai.neurontechnologies.ai
- Add cloud-run-soma.tf: soma-prod-us Cloud Run service in us-central1,
  neuron-soma-sa service account, soma Artifact Registry repo, Secret
  Manager secrets for HF token and operator key, serverless NEG, backend
  service, SSL cert
- Add dns-gcp.tf: Cloudflare A record for ai.neurontechnologies.ai pointing
  to GCP LB IP; Cloudflare provider added to main.tf/variables.tf
- Update load-balancer.tf: soma host rule + path matcher, soma SSL cert
  added to HTTPS proxy
- Update outputs.tf: soma service URL and artifact registry URL outputs
- Remove legion soma k8s manifests (Legion is gone)
- Update AGENTS.md to reflect GCP as primary production environment
2026-04-28 10:15:15 -05:00
Will Anderson 65dd9884ae Fix soma model ID: NeuronTechnologiesAI/Neuron (correct HF org casing) 2026-04-28 09:35:37 -05:00
Will Anderson 88d7799911 deploy soma inference gateway with neuron model on ai.neurontechnologies.ai 2026-04-28 09:31:46 -05:00
Will Anderson 60f4e0693e Remove adguard — home DNS server, no purpose on GCP 2026-04-27 18:27:21 -05:00
Will Anderson fb5b93f9d7 fix broken pods in GCP k3s cluster
- neuron-dev: update neuron-rest and neuron-mcp from dev-d7a587e2 to v0.18.14
- neuron-stage: update neuron-rest/mcp from stage-0f5b2328 to v0.18.14; marketing from :latest to 1e94e8ae
- swarm-alpha/beta/gamma: update neuron-rest and neuron-mcp from v0.15.3 to v0.18.14
- ci runners: fix docker socket path from /var/run/docker.sock to /run/k3s/containerd/containerd.sock (k3s node has no Docker daemon)
2026-04-27 18:17:32 -05:00
Will Anderson aee77bbfc0 Bump secret-hash annotation to force MCP pod restart
The NEURON_API_KEY secret was updated in Vault to the real ntn_ key;
bumping this annotation triggers a rolling restart so pods pick up
the new value.
2026-04-27 18:05:47 -05:00
Will Anderson 409a04ce80 Route neurontechnologies.ai/mcp to neuron-mcp:8080
Expose the MCP endpoint directly at the root domain so Bearer token
clients can reach it without going through the OAuth subdomain.
The Spring Boot MCP layer already accepts ntn_* API keys via
ApiKeyAuthenticationFilter; this ingress rule enables access via
https://neurontechnologies.ai/mcp.
2026-04-27 18:05:04 -05:00
Will Anderson 20a4a2c37f Take marketing site offline until launch 2026-04-27 17:58:33 -05:00
Will Anderson dda07ae269 Route /oauth2, /connect, /.well-known at neurontechnologies.ai to MCP 2026-04-27 17:51:59 -05:00
Will Anderson f5a691be3c Remove media (torrents) and headscale VPN — no longer needed on GCP 2026-04-27 17:44:08 -05:00
Will Anderson 03495962e0 fix(daemon): use neuron-rest cluster service instead of local JVM (--jar was circular proxy) 2026-04-27 17:26:58 -05:00
Will Anderson 498979ec90 fix(redis): remove image tag override, use chart default 2026-04-27 17:18:46 -05:00
Will Anderson bba12f3156 fix: remove static volumeNames for GCP migration, fix redis image tag
Dynamic PVC provisioning needed on new GCP instance.
Redis image 7.4.3-debian-12-r0 was removed from Docker Hub;
use floating 7.4-debian-12 tag instead.
2026-04-27 16:53:01 -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 a7a1b6a778 fix: remove static volumeName from registry PVC, restore public Vault URL
New GCP instance needs dynamic PVC provisioning for registry.
Vault now accessible via neuralplatform.ai tunnel.
2026-04-27 16:45:11 -05:00
Will Anderson be6bee2c5b fix: use internal Vault URL for ESO ClusterSecretStore during GCP migration
Cloudflare tunnel not yet running on new instance. Use cluster-internal
URL until tunnel is established. Revert to neuralplatform.ai once tunnel
is configured.
2026-04-27 16:21:52 -05:00
Will Anderson 55a38bb693 fix: update Gitea URL to new GCP cluster instance
Legion hardware died April 27, 2026. New GCP k3s instance at 104.197.5.199.
Gitea now at gitea.git.svc.cluster.local:3000 within cluster.
2026-04-27 16:20:46 -05:00
Will Anderson 3943ebc204 feat: scale marketing to 1 replica, add notification + turnstile secrets
Single replica required for in-memory pending leads Map used by SMS
double-opt-in flow. ExternalSecret adds Resend, Twilio, and Turnstile
keys to the marketing pod environment.
2026-04-27 03:31:45 -05:00
will.anderson b2940c70e0 fix(swarm): add runAsUser: 1001 to all swarm containers (#44) 2026-04-27 05:13:50 +00:00
will.anderson f8e3db6d94 Merge pull request 'ci(neuron-prod): rest+license v0.18.14' (#43) from ci/rest-license-deploy-v0.18.14 into main 2026-04-26 17:26:19 +00:00
Neuron CI e9da888512 ci(neuron-prod): update rest+license to v0.18.14 2026-04-26 17:26:16 +00:00
will.anderson 833e62f959 Merge pull request 'ci(neuron-prod): mcp blue-green blue@v0.18.14' (#42) from ci/mcp-deploy-v0.18.14 into main 2026-04-26 17:26:11 +00:00
Neuron CI cdadd723b6 ci(neuron-prod): blue-green flip to blue@v0.18.14 (registry.neuralplatform.ai/neuron-technologies/neuron-mcp:v0.18.14) 2026-04-26 17:26:05 +00:00
will.anderson 39f7aace69 Merge pull request 'ci(daemon): deploy main neuron-daemon@0f5dbd6a' (#41) from ci/daemon-deploy-0f5dbd6a into main 2026-04-26 17:02:52 +00:00
Neuron CI 41f94d93be ci(daemon): deploy main neuron-daemon@0f5dbd6a 2026-04-26 17:02:49 +00:00
will.anderson b65b0e5e0f Merge pull request 'ci(daemon): deploy main neuron-daemon@10cd48e0' (#40) from ci/daemon-deploy-10cd48e0 into main 2026-04-26 16:55:24 +00:00
Neuron CI 9d7bc48ed0 ci(daemon): deploy main neuron-daemon@10cd48e0 2026-04-26 16:55:20 +00:00
will.anderson b21c804158 Merge pull request 'ci(neuron-prod): rest+license v0.18.8' (#39) from ci/rest-license-deploy-v0.18.8 into main 2026-04-26 16:49:52 +00:00
Neuron CI 15482b9241 ci(neuron-prod): update rest+license to v0.18.8 2026-04-26 16:49:46 +00:00
will.anderson d2914651e2 Merge pull request 'ci(neuron-prod): mcp blue-green green@v0.18.8' (#38) from ci/mcp-deploy-v0.18.8 into main 2026-04-26 16:49:05 +00:00
Neuron CI bd7d5efa66 ci(neuron-prod): blue-green flip to green@v0.18.8 (registry.neuralplatform.ai/neuron-technologies/neuron-mcp:v0.18.8) 2026-04-26 16:49:02 +00:00
will.anderson c68f545746 Merge pull request 'ci(daemon): deploy main neuron-daemon@5dc2d833' (#37) from ci/daemon-deploy-5dc2d833 into main 2026-04-26 16:34:13 +00:00
Neuron CI 726510d7d9 ci(daemon): deploy main neuron-daemon@5dc2d833 2026-04-26 16:34:07 +00:00
will.anderson 3ff40d1a09 Merge pull request 'iam: grant ci-pusher serviceAccountUser on Cloud Run runtime SAs' (#36) from fix/ci-pusher-iam-actAs into main 2026-04-26 16:19:26 +00:00
Will Anderson fdbbfdb0ad iam: grant ci-pusher serviceAccountUser on all Cloud Run runtime SAs 2026-04-26 11:18:50 -05:00
will.anderson 66bffc5a4b Merge pull request 'fix(rest): run as UID 1000 to match PVC file ownership' (#35) from feat/daemon-image-c190e6e5 into main 2026-04-26 16:07:02 +00:00
Will Anderson c6245d1170 fix(rest): run as UID 1000 to match PVC file ownership — SQLite needs write access 2026-04-26 11:06:23 -05:00
will.anderson f056806cbd Merge pull request 'fix(rest): Recreate strategy to avoid SQLite write lock on rollout' (#34) from feat/daemon-image-c190e6e5 into main 2026-04-26 16:05:24 +00:00
Will Anderson 58513835e2 fix(rest): use Recreate strategy to avoid SQLite write lock on rollout 2026-04-26 11:04:16 -05:00
will.anderson 310bb4ab0d Merge pull request 'ci(daemon): deploy main neuron-daemon@b2bed846' (#33) from ci/daemon-deploy-b2bed846 into main 2026-04-26 16:03:33 +00:00
Neuron CI f525437c77 ci(daemon): deploy main neuron-daemon@b2bed846 2026-04-26 16:03:29 +00:00
will.anderson f9b6d4223b Merge pull request 'iam: grant ci-pusher run.developer for Cloud Run deploys' (#32) from feat/daemon-image-c190e6e5 into main 2026-04-26 15:56:52 +00:00
Will Anderson e22dce6b5a iam: grant ci-pusher run.developer for Cloud Run deploys 2026-04-26 10:53:21 -05:00
will.anderson 4808ae3138 Merge pull request 'ci(daemon): deploy neuron-daemon@c190e6e5' (#31) from feat/daemon-image-c190e6e5 into main
Merge PR #31: deploy neuron-daemon@c190e6e5
2026-04-26 15:37:44 +00:00
Will Anderson baf147543c ci(daemon): deploy main neuron-daemon@c190e6e5 2026-04-26 10:37:29 -05:00
will.anderson e23925a246 Merge pull request 'Launch: daemon StatefulSet, neuron-rest security fix, Argo CD app' (#30) from feat/marketplace-postgres-infra into main
Merge PR #30: launch daemon StatefulSet, fix neuron-rest security context, add daemon Argo CD app
2026-04-26 15:17:32 +00: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 a903842dbc Merge pull request 'Deploy neuron-mcp:a837369 — VBD marketplace architecture' (#29) from feat/marketplace-postgres-infra into main 2026-04-26 13:54:07 +00:00
Will Anderson 655ab38558 Deploy neuron-mcp:a837369 — VBD marketplace architecture 2026-04-26 08:51:07 -05:00