Commit Graph

47 Commits

Author SHA1 Message Date
Neuron CI 6160e8e6b8 ci(neuron-prod): deploy neuron@v0.8.1 2026-04-25 00:57:54 +00:00
Neuron CI af8a178b8c ci(neuron-prod): deploy neuron@v0.8.0 2026-04-25 00:36:02 +00:00
Neuron CI cc489e4047 ci(neuron-prod): deploy neuron@v0.7.7 2026-04-25 00:22:52 +00:00
Will Anderson 0e590df537 fix(neuron-prod): reduce mcp memory request to unblock scheduling 2026-04-24 18:27:18 -05:00
Neuron CI 851e64a561 ci(neuron-prod): deploy neuron@v0.7.6 2026-04-24 23:22:38 +00:00
Neuron CI cf6f390756 ci(neuron-prod): deploy neuron@v0.7.5 2026-04-24 22:26:03 +00:00
Neuron CI 2befcc088a ci(neuron-prod): deploy neuron@v0.7.4 2026-04-24 22:07:54 +00:00
Neuron CI b36de8190e ci(neuron-prod): deploy neuron@v0.7.3 2026-04-24 21:59:07 +00:00
Neuron CI 060995e762 ci(neuron-prod): deploy neuron@v0.7.2 2026-04-24 21:26:01 +00:00
Neuron CI 2a0011c479 ci(neuron-prod): deploy neuron@v0.7.1 2026-04-24 20:57:42 +00:00
Will Anderson 1e5a02f5d0 debug: add Spring Security DEBUG logging to license service 2026-04-24 15:42:09 -05:00
Will Anderson fe17d020ef fix(k8s): use Recreate strategy for neuron-mcp deployments
Single-node k3s cluster cannot schedule a second pod during rolling update
(512Mi request × 2 exceeds available memory). Recreate terminates the old
pod before starting the new one, trading brief downtime for schedulability.
2026-04-24 15:19:10 -05:00
Will Anderson 95b4669839 feat(neuron-prod): add IngressRoute for license API at /api/v1/* paths 2026-04-24 15:12:37 -05:00
Will Anderson 02db9c3d43 feat(observability): wire OpenTelemetry into MCP backend and marketing site
- Add OTEL_EXPORTER_OTLP_ENDPOINT env var to prod and stage MCP deployments pointing at Alloy in-cluster
- Add Neuron Platform Overview Grafana dashboard (request rate, latency percentiles, error rate, memory nodes, HTTP status distribution)
- Allow grafana/dashboards/*.json through .gitignore (was blocked by secrets rule)
2026-04-24 14:21:34 -05:00
Neuron CI 477af9b673 ci(neuron-prod): deploy neuron@v0.7.0 2026-04-24 18:32:40 +00:00
Will Anderson 0bb18cedac Route /connect to neuron-mcp for OAuth dynamic client registration 2026-04-24 13:16:36 -05:00
Will Anderson 0f9448e8ea deploy neuron marketing site to neurontechnologies.ai
Add marketing/ manifests (Deployment, Service, ExternalSecret) for the
Next.js marketing site in neuron-prod namespace, an Argo CD app pointing
to the new path, and update the prod ingress to serve / from neuron-marketing
instead of neuron-rest.
2026-04-24 13:09:29 -05:00
Will Anderson ebe4789935 Route /.well-known, /oauth2, /login, /sse, /message to neuron-mcp
OAuth discovery endpoints (/.well-known/oauth-protected-resource and
/.well-known/oauth-authorization-server) and the authorization server
paths (/oauth2/*, /login) were routing to neuron-rest, which has none
of those endpoints. MCP also uses /sse and /message directly.

All five path prefixes now route to neuron-mcp on port 8080.
2026-04-24 13:00:56 -05:00
Neuron CI befbc006be ci(neuron-prod): deploy neuron@v0.6.1 2026-04-24 17:35:59 +00:00
Neuron CI 5eb18b6e7c ci(neuron-prod): deploy neuron@v0.6.0 2026-04-24 17:20:57 +00:00
Will Anderson 0858844c25 neuron-prod: add NEURON_API_KEY to ExternalSecret from Vault 2026-04-24 12:07:08 -05:00
Neuron CI fb17a37bea ci(neuron-prod): deploy neuron@v0.5.0 2026-04-24 15:42:48 +00:00
Neuron CI 6f349a21b9 ci(neuron-prod): deploy neuron@v0.4.4 2026-04-24 12:44:46 +00:00
Neuron CI 8e27d7e069 ci(neuron-prod): deploy neuron@v0.4.3 2026-04-24 12:05:43 +00:00
Neuron CI 5f99d10839 ci(neuron-prod): deploy neuron@v0.4.2 2026-04-24 11:47:42 +00:00
Neuron CI ec2ee48ae5 ci(neuron-prod): deploy neuron@v0.4.1 2026-04-24 11:42:27 +00:00
Neuron CI 0f77faea81 ci(neuron-prod): deploy neuron@v0.4.0 2026-04-24 10:22:56 +00:00
Will Anderson add9d92fd0 chore(neuron-prod): restart pods to pick up NEURON_DATA_DIR configmap change 2026-04-24 04:57:11 -05:00
Will Anderson b5e8ea9111 fix(neuron-prod): set NEURON_DATA_DIR to point app to PVC database
NeuronModule reads NEURON_DATA_DIR to construct the DB path as
$NEURON_DATA_DIR/neuron.db. Without this env var the app falls
back to a temp file, losing all data on pod restart. Also renamed
the PVC file from neuron-prod.db to neuron.db to match.
2026-04-24 04:56:29 -05:00
Will Anderson 883c4afd50 ci(neuron-prod): restart mcp and rest pods to reload DB state 2026-04-24 04:47:33 -05:00
Neuron CI 87d11aa87c ci(neuron-prod): deploy neuron@v0.3.2 2026-04-24 09:21:57 +00:00
Neuron CI 129dd0d606 ci(neuron-prod): deploy neuron@v0.3.1 2026-04-24 08:58:38 +00:00
Will Anderson 9bf99bdd8e fix(neuron-prod): add PVC and volume mount for neuron-license SQLite data
The license server writes its database to /data/neuron-license.db.
The deployment had no volume, causing CrashLoopBackOff on first start.
2026-04-24 03:13:56 -05:00
Neuron CI d66062b4cc ci(neuron-prod): deploy neuron@v0.3.0 2026-04-24 08:12:04 +00:00
Neuron CI 7a47e0cbf9 ci(neuron-prod): deploy neuron@v0.2.0 2026-04-24 08:04:37 +00:00
Will Anderson 59aa0f0dfb deploy neuron-license service to prod
Adds license deployment, service, ingress route (/license), and
Unkey + admin token secrets via ExternalSecret. Image built and
pushed by CI on merge of neuron PR #30.
2026-04-24 01:42:07 -05:00
Neuron CI 3e28dd88eb ci(neuron-prod): deploy neuron@v0.0.15 2026-04-24 05:45:09 +00:00
Neuron CI 97973ba6be ci(neuron-prod): deploy neuron@v0.0.14 2026-04-24 05:35:02 +00:00
Neuron CI c3f2ecc9a9 ci(neuron-prod): deploy neuron@v0.0.13 2026-04-24 05:16:25 +00:00
Neuron CI b9e1c94b36 ci(neuron-prod): deploy neuron@v0.0.11 2026-04-24 04:53:51 +00:00
Neuron CI 69c2f1d2f9 ci(neuron-prod): deploy neuron@v0.0.8 2026-04-24 04:23:02 +00:00
Neuron CI 0b23a5e964 ci(neuron-prod): deploy neuron@v0.0.7 2026-04-24 04:14:10 +00:00
Will Anderson d71bc3bd9e ci(neuron-prod): scale prod to 1 replica — DB migrated, v0.0.6 ready 2026-04-23 23:06:55 -05:00
Neuron CI c9e9f11db8 ci(neuron-prod): deploy neuron@v0.0.6 2026-04-24 04:04:24 +00:00
Will Anderson 5085840a79 Add neuron prod DB backup and tighten actuator surface
- Add hourly restic backup CronJob to neuron-prod namespace
  - Backs up /data/neuron-prod.db to Cloudflare R2 (legion-neuron-backup bucket)
  - Retention: 24 hourly, 7 daily, 4 weekly — <$0.01/month at current DB size
  - ExternalSecret pulls restic password + R2 creds from Vault secret/r2
- Actuator exposure per environment:
  - prod: health,info only / show-details=never (no internals exposed)
  - stage: health,info,metrics,loggers / show-details=always (pre-prod visibility)
  - dev: full (health,info,metrics,env,beans,loggers,mappings) / show-details=always
2026-04-23 21:43:20 -05:00
Will Anderson 939e2574d2 fix(neuron): scale stage/prod to 0 replicas and reduce dev memory requests
- Stage and prod deployments scaled to 0 — not yet promoted, no need for running pods
- Dev memory requests reduced from 384Mi to 256Mi to allow scheduling on memory-constrained node
2026-04-17 10:18:50 -05:00
Will Anderson 1b8ea63541 feat(neuron): add stage and prod k8s manifests + Argo CD apps
Completes the three-env setup (dev was added previously). Each env has
deployments, services, ingress, PVC, ConfigMap, and ExternalSecret pulling
from Vault. Prod has larger resource limits and 10Gi PVC. Vault secret at
secret/neuron-technologies/prod seeded separately.
2026-04-17 09:43:23 -05:00