Commit Graph

627 Commits

Author SHA1 Message Date
Will Anderson a823b0c1d3 Scale neuron-marketing to 0 — taking site down 2026-04-28 18:55:39 -05:00
Will Anderson e69ecd2240 Scale neuron-marketing to 1 replica for demo launch 2026-04-28 18:52:21 -05:00
Will Anderson 4943ccfc74 Add NEURON_API_KEY to neuron-dev secrets and fix OTLP endpoint
- ExternalSecret: pull neuron_api_key from Vault into NEURON_API_KEY
- ConfigMap: set OTEL_EXPORTER_OTLP_ENDPOINT to alloy-otlp in-cluster service
  instead of localhost (fixes 196 restart OTel connection errors)
2026-04-28 15:17:16 -05:00
Will Anderson c3a90ac484 Add SOMA_KEY_SECRET to Secret Manager and wire it into Cloud Run
Creates soma-key-secret in GCP Secret Manager for HMAC key signing, and
adds SOMA_KEY_SECRET + SOMA_BASE_DOMAIN env vars to the soma-prod-us Cloud
Run service so stateless API key validation works in production.
2026-04-28 11:39:33 -05:00
Will Anderson 1a8e039ecf Rename inference endpoint to neuron.neurontechnologies.ai, add wildcard DNS for customer orgs 2026-04-28 11:15:11 -05:00
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