Files
infrastructure/servers/legion/apps/neuron.yaml
T

133 lines
3.2 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: neuron
namespace: neuron
labels:
app: neuron
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: neuron
template:
metadata:
labels:
app: neuron
spec:
containers:
- name: neuron
image: registry.neuralplatform.ai/neural-platform/neuron:2476e1167826cf320375143c09e94852b4330114
imagePullPolicy: Always
command:
- bash
- -c
- mkdir -p /root/.neuron && ln -sf /data/neuron.db /root/.neuron/neuron.db && python -m synapse platform serve --mcp-host 0.0.0.0 --mcp-port 8001 --webhook-port 3847
ports:
- name: mcp
containerPort: 8001
- name: webhook
containerPort: 3847
envFrom:
- configMapRef:
name: neuron-config
- secretRef:
name: neuron-secrets
volumeMounts:
- name: data
mountPath: /data
- name: app-config
mountPath: /app/config/default.yaml
subPath: default.yaml
resources:
requests:
memory: 256Mi
cpu: 100m
limits:
memory: 1Gi
cpu: 500m
livenessProbe:
httpGet:
path: /mcp
port: mcp
initialDelaySeconds: 15
periodSeconds: 30
readinessProbe:
httpGet:
path: /mcp
port: mcp
initialDelaySeconds: 10
periodSeconds: 10
volumes:
- name: data
persistentVolumeClaim:
claimName: neuron-data
- name: app-config
configMap:
name: neuron-config
items:
- key: default.yaml
path: default.yaml
---
apiVersion: v1
kind: Service
metadata:
name: neuron
namespace: neuron
spec:
selector:
app: neuron
ports:
- name: mcp
port: 8001
targetPort: 8001
- name: webhook
port: 3847
targetPort: 3847
type: ClusterIP
---
# cloudflared — Cloudflare tunnel for external Axon webhook access
# Routes: axon.neuralplatform.ai → neuron:3847
apiVersion: apps/v1
kind: Deployment
metadata:
name: cloudflared
namespace: neuron
labels:
app: cloudflared
spec:
replicas: 1
selector:
matchLabels:
app: cloudflared
template:
metadata:
labels:
app: cloudflared
spec:
containers:
- name: cloudflared
image: cloudflare/cloudflared:latest
args: ["tunnel", "--no-autoupdate", "run"]
env:
- name: TUNNEL_TOKEN
valueFrom:
secretKeyRef:
name: cloudflared-secret
key: TUNNEL_TOKEN
resources:
requests:
memory: 64Mi
cpu: 50m
limits:
memory: 128Mi
cpu: 200m
livenessProbe:
httpGet:
path: /ready
port: 20241
initialDelaySeconds: 10
periodSeconds: 30