apiVersion: apps/v1 kind: Deployment metadata: name: neuron-mcp namespace: swarm-beta labels: app: neuron-mcp env: swarm variant: beta spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app: neuron-mcp template: metadata: labels: app: neuron-mcp env: swarm variant: beta spec: terminationGracePeriodSeconds: 30 securityContext: runAsNonRoot: true seccompProfile: type: RuntimeDefault containers: - name: neuron-mcp image: registry.neuralplatform.ai/neuron-technologies/neuron-mcp:v0.18.14 imagePullPolicy: Always ports: - name: http containerPort: 8080 securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: false runAsNonRoot: true runAsUser: 1000 capabilities: drop: ["ALL"] env: - name: NEURON_SWARM_VARIANT value: "beta" - name: NEURON_SWARM_SESSION valueFrom: configMapKeyRef: name: swarm-beta-session key: session_id optional: true - name: NEURON_SWARM_GOAL valueFrom: configMapKeyRef: name: swarm-beta-session key: goal optional: true - name: NEURON_SWARM_LOOP_MAX valueFrom: configMapKeyRef: name: swarm-beta-session key: loop_max optional: true - name: OTEL_EXPORTER_OTLP_ENDPOINT value: "http://alloy-otlp.monitoring.svc.cluster.local:4318" - name: JAVA_TOOL_OPTIONS value: "-XX:+UseContainerSupport -XX:MaxRAMPercentage=75.0 -XX:+ExitOnOutOfMemoryError" envFrom: - configMapRef: name: swarm-beta-config - secretRef: name: swarm-beta-secrets volumeMounts: - name: data mountPath: /data resources: requests: cpu: 250m memory: 512Mi limits: cpu: 1500m memory: 1536Mi lifecycle: preStop: exec: command: ["sh", "-c", "sleep 5"] startupProbe: httpGet: path: /actuator/health/liveness port: http failureThreshold: 30 periodSeconds: 5 livenessProbe: httpGet: path: /actuator/health/liveness port: http periodSeconds: 30 failureThreshold: 3 readinessProbe: httpGet: path: /actuator/health/readiness port: http initialDelaySeconds: 5 periodSeconds: 10 failureThreshold: 3 volumes: - name: data persistentVolumeClaim: claimName: swarm-beta-data