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