apiVersion: apps/v1 kind: Deployment metadata: name: rays-hermes-agent namespace: customer1 spec: replicas: 1 selector: matchLabels: app: rays-hermes-agent template: metadata: labels: app: rays-hermes-agent spec: containers: - name: rays-hermes-agent image: nousresearch/hermes-agent:latest command: ["/bin/bash", "-c"] args: - | # Make `hermes` CLI instantly available when you exec in ln -sf /opt/hermes/.venv/bin/hermes /usr/local/bin/hermes 2>/dev/null || true # Copy config from ConfigMap (read-only mount) into PVC so Hermes can modify it cp -f /etc/hermes/config.yaml /opt/data/config.yaml || true echo "Hermes Agent starting (Telegram polling + full config persistence)..." exec hermes gateway run env: # === Hermes Home - REQUIRED for config persistence === - name: HERMES_HOME value: "/opt/data" # === Telegram Configuration (polling only - no public exposure) === - name: TELEGRAM_BOT_TOKEN valueFrom: secretKeyRef: name: rays-hermes-secret key: TELEGRAM_BOT_TOKEN - name: XAI_API_KEY valuesFrom: secretKeyRef: name: xai-apikey key: XAI_API_KEY - name: TELEGRAM_ALLOWED_USERS value: "7105451284" # === Local vLLM (OpenAI-compatible) === - name: OPENAI_BASE_URL value: "http://openclaw-brain-service.customer1.svc.cluster.local:8000/v1" # ← adjust if your service name differs - name: HERMES_ALLOW_ROOT_GATEWAY value: 1 - name: HERMES_MODEL_PROVIDER value: xai - name: HERMES_MODEL value: grok-4.1-fast - name: OPENAI_API_KEY value: "dummy" # vLLM ignores this # === Optional === # - name: LOG_LEVEL # value: "INFO" volumeMounts: - name: hermes-data mountPath: /opt/data - name: hermes-configmap mountPath: /etc/hermes/config.yaml subPath: config.yaml readOnly: true resources: requests: memory: 2Gi cpu: "1" limits: memory: 4Gi cpu: "2" volumes: - name: hermes-data persistentVolumeClaim: claimName: rays-hermes-agent-pvc - name: hermes-configmap configMap: name: hermes-config --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: rays-hermes-agent-pvc namespace: customer1 spec: accessModes: - ReadWriteOnce resources: requests: storage: 25Gi