Neuron CI
7931d54e40
ci(neuron-prod): blue-green flip to green@v0.14.2 (registry.neuralplatform.ai/neuron-technologies/neuron-mcp:v0.14.2)
2026-04-25 07:59:17 +00:00
Will Anderson
ff71e53c11
point MCP STRIPE_WEBHOOK_SECRET to marketplace webhook
2026-04-25 02:05:40 -05:00
Will Anderson
8b7dea5b50
switch neuron-prod Stripe secrets to live marketing keys
2026-04-25 02:01:41 -05:00
Will Anderson
9b41d2302c
feat(secrets): add STRIPE_WEBHOOK_SECRET to neuron-prod ExternalSecret
2026-04-25 01:50:51 -05:00
Neuron CI
f831da7f17
ci(neuron-prod): deploy neuron@v0.13.1
2026-04-25 06:44:48 +00:00
Will Anderson
b0d4e9c6ec
fix(runpod): set LB replicas=0 until RunPod pods are provisioned
2026-04-25 01:36:04 -05:00
Neuron CI
11e9962431
ci(neuron-prod): deploy neuron@v0.12.2
2026-04-25 06:25:49 +00: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
8eb88a3116
feat(runpod): add inference pod templates, nginx LB, and provisioner script
...
Infrastructure readiness for RunPod inference workloads:
- runpod-inference.yaml: ConfigMap with pod creation payloads for RTX 4090,
A40 (single+dual), and custom templates
- runpod-lb-configmap.yaml: nginx least-conn load balancer for inference
endpoint distribution (Deployment + ClusterIP Service)
- runpod-provision.sh: bash provisioner script — reads RUNPOD_API_KEY/HF_TOKEN,
creates pods via GraphQL, polls until RUNNING, outputs endpoint URLs.
Does NOT spin up any pods (dry-run flag available).
2026-04-25 01:20:55 -05:00
Will Anderson
c847b22014
fix(secrets): add R2 credentials to neuron-prod ExternalSecret
...
License service references NEURON_R2_ENDPOINT/ACCESS_KEY/SECRET_KEY
but these were missing from neuron-prod-secrets. Pull from secret/r2
in Vault.
2026-04-25 01:20:38 -05:00
Neuron CI
c76eb09aa5
ci(neuron-prod): deploy neuron@v0.12.1
2026-04-25 06:11:44 +00:00
Neuron CI
5ff525e1c8
ci(neuron-prod): deploy neuron@v0.12.0
2026-04-25 05:50:26 +00:00
Neuron CI
ec66233644
ci(neuron-prod): deploy neuron@v0.11.1
2026-04-25 05:33:25 +00:00
Neuron CI
abf3453d8d
ci(neuron-prod): deploy neuron@v0.10.0
2026-04-25 04:53:36 +00:00
Will Anderson
1a9dd13b0a
Fix neuron-mcp OTLP endpoint: alloy → alloy-otlp service
...
The `alloy` ClusterIP service only exposes port 12345 (UI/metrics).
OTLP HTTP ingestion on port 4318 is on the separate `alloy-otlp` service.
Pointing OTEL_EXPORTER_OTLP_ENDPOINT at `alloy:4318` caused continuous
SocketTimeoutException in neuron-mcp. Updated both blue and green deployments.
2026-04-24 23:36:48 -05:00
Neuron CI
c9ffa55863
ci(neuron-prod): deploy neuron@v0.9.1
2026-04-25 03:35:33 +00:00
Will Anderson
1d527a9365
chore(neuron-prod): add green deployment to kustomization
...
Green manifest was committed but missing from kustomization.yaml so Argo CD
never created the resource. Wires it in so the blue/green slot swap can work.
2026-04-24 22:22:20 -05:00
Neuron CI
67de9ac463
ci(neuron-prod): deploy neuron@v0.9.0
2026-04-25 03:17:56 +00:00
Will Anderson
f86ee04467
fix(neuron-mcp): blue/green deployment, memory limits, preStop drain hook
...
- Rename Deployment to neuron-mcp-blue with slot=blue label
- Add neuron-mcp-green Deployment scaffold (replicas=0, ready to receive new image)
- Service selector now routes by slot label; annotation tracks active slot
- Memory: 768Mi → 1536Mi limit, 256Mi → 512Mi request (fixes OOM pod restarts / 502s)
- Add JAVA_TOOL_OPTIONS: container-aware GC + ExitOnOutOfMemoryError
- Add preStop sleep 8s so Traefik drains in-flight connections before pod terminates
- terminationGracePeriodSeconds: 30
- Add scripts/blue-green-deploy.sh: automated slot-swap with health check and rollback
2026-04-24 22:08:12 -05:00
Neuron CI
b411f2a7b0
ci(neuron-prod): deploy neuron@v0.8.3
2026-04-25 01:35:26 +00:00
Neuron CI
719c66ea82
ci(neuron-prod): deploy neuron@v0.8.2
2026-04-25 01:13:52 +00:00
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