Neuron CI
7cbcb9e8c2
ci(neuron-prod): update rest+license to v0.14.2
2026-04-25 07:59:18 +00:00
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
Neuron CI
ba716640b4
ci(marketing): deploy marketing@1e94e8ae
2026-04-25 07:46:30 +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
Will Anderson
5d4cc17829
chore(neuron): retire Python backend — keep cloudflared only
...
Remove neuron/neuron-alpha/neuron-beta/neuron-gamma Deployments and
Services, the slot LB service, Python ingress, slot PVCs, snapshot job,
neuron-config ConfigMap, and neuron-secrets ExternalSecret. The Python
MCP backend has been superseded by the Spring Boot backend in neuron-prod.
Cloudflared Deployment and cloudflared-secret ExternalSecret are
retained in the neuron namespace. The neuron-data PVC is preserved
for data safety.
2026-04-24 20:39:17 -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
Will Anderson
91bfc42989
ops: scale down all non-critical services — dedicate resources to Neuron
...
Scaled to replicas: 0: fornax (coordinator/ui/workers), jellyfin via media,
overseerr, plex, radarr, sonarr, bazarr, prowlarr, flaresolverr, ollama,
harmonic-wordpress, docuseal, listmonk, memos, plane, redpanda, wp-coordinator
2026-04-24 20:07:41 -05: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
Neuron CI
1ba33ef201
ci(neuron-stage): deploy neuron@stage-0f5b2328
2026-04-24 20:21:11 +00:00
Will Anderson
90bde78d7a
feat(marketing): add NEURON_LICENSE_ADMIN_TOKEN to ExternalSecret
2026-04-24 15:19:15 -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
c238fbb198
fix(marketing): point license API URL to neuron-license service on correct port 8082
2026-04-24 15:10:08 -05:00
Will Anderson
d9257ab1b7
feat(marketing): expose Team and Enterprise Stripe price IDs via ExternalSecret
2026-04-24 14:34:59 -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
Will Anderson
2d98df75ad
Deploy Plane project management to k8s with Cloudflare Access gate
...
Adds all k8s manifests (namespace, postgres, redis, api, worker, beat,
web, ingress, externalsecret, configmap, kustomization), Argo CD Application,
and Cloudflare Zero Trust access policy for plane.neuralplatform.ai.
2026-04-24 14:21:02 -05:00
Will Anderson
e901b9a541
Add staging marketing site and Cloudflare Access gate
...
- Deploy marketing site to neuron-stage namespace (replaces bare REST catch-all)
- Staging uses test-mode Stripe keys from Vault
- Updated stage ingress to match prod routing pattern (MCP paths + marketing at /)
- Cloudflare Access: stage.neurontechnologies.ai requires Google auth
- @neurontechnologies.ai domain allowed
- 1timlingo@gmail.com explicitly allowed
2026-04-24 13:43:12 -05:00
Neuron CI
477af9b673
ci(neuron-prod): deploy neuron@v0.7.0
2026-04-24 18:32:40 +00:00
Neuron CI
b187805e63
ci(neuron-stage): deploy neuron@stage-6d08a241
2026-04-24 18:23:50 +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