Was macht hermes-operator?
Produktionsreifer Kubernetes-Operator für nousresearch/hermes-agent: deklarative Spezifikation, Sicherheitsstandards, S3-Backups, OCI-Auto-Update mit Rollback, SSA-basierte GitOps-Koexistenz, OpenClaw-Migration.
Funktionen
- Deklarative Spezifikation: Definiere den gewünschten Zustand des Hermes-Agenten über Kubernetes CRDs.
- Sicherheitsstandards: Standardmäßig restriktive RBAC, Pod Security Contexts und Netzwerkrichtlinien.
- S3-Backups: Automatische, verschlüsselte Backups von Agentenzuständen in S3-kompatiblen Speichern.
- OCI-Auto-Update: Automatische Updates des Agenten aus OCI-Registries mit integriertem Rollback-Mechanismus.
- SSA-basierte GitOps-Koexistenz: Server-Side Apply für konfliktfreies Zusammenspiel mit ArgoCD, Flux oder anderen GitOps-Tools.
- OpenClaw-Migration: Unterstützung für die schrittweise Migration von Legacy-Workloads in den Operator.
Voraussetzungen
- Kubernetes 1.22+
- kubectl
- Zugriff auf eine OCI-Registry (z. B. Docker Hub, GitHub Container Registry)
- S3-kompatibler Speicher (z. B. AWS S3, MinIO)
Installation
kubectl apply -f https://github.com/stubbi/hermes-operator/releases/latest/download/operator.yaml
Schnellstart
- Erstelle einen HermesAgent-Ressource:
apiVersion: hermes.stubbi.dev/v1alpha1
kind: HermesAgent
metadata:
name: my-agent
spec:
image: nousresearch/hermes-agent:latest
replicas: 3
backup:
s3:
bucket: my-backup-bucket
region: us-east-1
secretRef:
name: s3-credentials
- Wende die Ressource an:
kubectl apply -f my-agent.yaml
- Überwache den Status:
kubectl get hermesagent
Konfiguration
| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
image | string | nousresearch/hermes-agent:latest | Container-Image des Agenten |
replicas | integer | 1 | Anzahl der Replicas |
backup.s3.bucket | string | – | S3-Bucket-Name für Backups |
backup.s3.region | string | – | S3-Region |
backup.s3.secretRef | object | – | Verweis auf Secret mit AWS-Zugangsdaten |
update.oci.enabled | boolean | true | OCI-Auto-Update aktivieren |
update.oci.rollbackOnFailure | boolean | true | Automatischer Rollback bei Update-Fehlern |
Sicherheit
Der Operator erstellt standardmäßig:
- Ein ServiceAccount mit minimalen Rechten
- Eine Pod Security Policy (PSP) oder Pod Security Admission (PSA)
- Netzwerkrichtlinien, die nur notwendigen Traffic erlauben
Migration von OpenClaw
Für bestehende OpenClaw-Workloads:
kubectl hermes-operator migrate openclaw --source-namespace old-ns --target-namespace new-ns
Weitere Details findest du in der Dokumentation.