From bb7dcd565186f74635b1a25abcaa70bd8a3e8586 Mon Sep 17 00:00:00 2001 From: sirius0xdev Date: Tue, 28 Apr 2026 23:16:51 +0000 Subject: [PATCH] fix node selector for 6000pro --- .../customer1/hermes-agent/deployment.yaml | 2 +- .../hermes-agent/rays-deployment.yaml | 81 +++++++++++++++++++ .../hermes-agent/rays-hermes-secret.yaml | 23 ++++++ .../gpus/base/vllm-servers/rtx6000-vllm.yaml | 2 +- 4 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 apps/base/customer1/hermes-agent/rays-deployment.yaml create mode 100644 apps/base/customer1/hermes-agent/rays-hermes-secret.yaml diff --git a/apps/base/customer1/hermes-agent/deployment.yaml b/apps/base/customer1/hermes-agent/deployment.yaml index 773f97e..9fd0982 100644 --- a/apps/base/customer1/hermes-agent/deployment.yaml +++ b/apps/base/customer1/hermes-agent/deployment.yaml @@ -77,4 +77,4 @@ spec: - ReadWriteOnce resources: requests: - storage: 5Gi + storage: 25Gi diff --git a/apps/base/customer1/hermes-agent/rays-deployment.yaml b/apps/base/customer1/hermes-agent/rays-deployment.yaml new file mode 100644 index 0000000..8900fbe --- /dev/null +++ b/apps/base/customer1/hermes-agent/rays-deployment.yaml @@ -0,0 +1,81 @@ + +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 + 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: "" + + # === 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_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 + volumes: + - name: hermes-data + persistentVolumeClaim: + claimName: hermes-agent-pvc +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: hermes-agent-pvc + namespace: customer1 +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 25Gi diff --git a/apps/base/customer1/hermes-agent/rays-hermes-secret.yaml b/apps/base/customer1/hermes-agent/rays-hermes-secret.yaml new file mode 100644 index 0000000..0b160b2 --- /dev/null +++ b/apps/base/customer1/hermes-agent/rays-hermes-secret.yaml @@ -0,0 +1,23 @@ +apiVersion: v1 +data: + TELEGRAM_BOT_TOKEN: ENC[AES256_GCM,data:PJeH0yhrNtHAm4FQCBKTqYkt4m9+maEM9lkXF4YTxV1S3gAr+NNcDQIc3KSsE//laxALZa5JYqhMgnHqsKq8aA==,iv:pjVF074inwQ17OnKgwzjcCK58prPcVz46PonzbGcq+M=,tag:s6weSORj/YHm2+VVEqQ2Lw==,type:str] +kind: Secret +metadata: + creationTimestamp: null + name: rays-hermes-secret + namespace: customer1 +sops: + age: + - recipient: age1uuxf066xuuqgvjppxfcmqkwfcufnwp3wcwnl9h20g9k4l8nkw9jsaungf7 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwRzhtaXE1bDZ1RlJJdkho + czdCS3NQWmZ3Mzh1Qm1kODBNSStkRkoxRWg0CjBGWm1DdUJqSUFjRDF0Z2w1c2NN + OGh1S3FjYk54UDFHTXFIMmM3UytVRlEKLS0tIGVmN0xFNEZhbkJCMEh5OTE4VGc2 + L3FRWFdqYnlkUFl3amJFd094a2tRSEEKSMmIWPG2EJ2eJpqlCXJgq7DJofKM16VI + B5KHxv8lRIAZe2UGSgs4+DkSV3bqB4mENA4yTVMYBVKtNka44OZLXw== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2026-04-28T22:47:13Z" + mac: ENC[AES256_GCM,data:dC/CrMNN0wYIw5fNCh6uQjp8JaBJ91l1zM/WIts7jmtx4tRDPpJdca5ena2ISLKxmlet5IWXfAc1PgQ5jqGf6TseNVQi21znnGT0ag8g2QxkZx0xw+hz2QJIv49twbVAyigxIq+Zr2Hb3EkARqu2fN15t4jfS6CiYTpbOqQCq90=,iv:S06Xl0brsVkmRyzu5FDIHQo8Of9DD97oFw/mhR5Ogs8=,tag:3XJYh92ifaB60LVC05ud+g==,type:str] + encrypted_regex: ^(data|stringData)$ + version: 3.11.0 diff --git a/infrastructure/gpus/base/vllm-servers/rtx6000-vllm.yaml b/infrastructure/gpus/base/vllm-servers/rtx6000-vllm.yaml index dfc69ba..e7a7dd5 100644 --- a/infrastructure/gpus/base/vllm-servers/rtx6000-vllm.yaml +++ b/infrastructure/gpus/base/vllm-servers/rtx6000-vllm.yaml @@ -17,7 +17,7 @@ spec: app: openclaw-brain spec: nodeSelector: - cloud.google.com/gke-accelerator: "nvidia-a100-80gb" + cloud.google.com/gke-accelerator: "nvidia-rtx-pro-6000" tolerations: - key: "nvidia.com/gpu-nvidia-rtx-pro-6000" operator: "Equal"