Hermes Atlas
Deployment & hosting

hermes-operator

UndermountainCC/hermes-operator

Kubernetes operator that deploys and manages Hermes Agent instances from a HermesAgent resource

In short

hermes-operator is a Kubernetes operator written in Go that deploys and manages Hermes Agent instances from a HermesAgent custom resource. It gives Hermes Agent users one declarative object per agent instead of hand-managing a Deployment, volume, secrets and RBAC for each.

What hermes-operator does

You define an agent with a HermesAgent custom resource, and the operator reconciles the Pod, PVC, ServiceAccount, RBAC bindings, environment composition and per-gateway readiness status. The README's reasoning is that each Hermes agent is stateful, with a persistent home directory, paired credentials and accumulated memory, so running several on Kubernetes otherwise means managing a Deployment, PVC, Secrets and RBAC per agent.

A HermesAgent spec sets the image, storage, LLM providers with secret-backed environment variables, and gateways such as Discord with their tokens. It installs through a Helm chart from ghcr.io or with kustomize, and cert-manager is a prerequisite. The README notes that llmDefaultProvider works mostly as a typo guard, because Hermes reads model.provider from config.yaml first. An end-to-end suite runs against a Kind cluster. Status is v1alpha1, ready for internal alpha use, and the public API may change.

Key features

  • HermesAgent custom resource for declarative agent definitions
  • Reconciliation of Pod, PVC, ServiceAccount and RBAC bindings
  • Secret-backed environment variables for LLM providers and gateways
  • Per-gateway readiness reported in status
  • Helm chart and kustomize install options
  • End-to-end tests on a Kind cluster

When to use it

  • Run several Hermes agents on one Kubernetes cluster
  • Give each agent its own persistent volume and credentials
  • Configure fallback LLM providers and multiple gateways in YAML

Who it is for: Platform engineers who run Hermes Agent on Kubernetes and want it managed declaratively.

How it fits with Hermes Agent

Built for Hermes Agent: it runs the nousresearch/hermes-agent image and manages its home directory, gateways and credentials.

How to install hermes-operator

These commands are copied from the project's README. Check the repository for the latest steps before you run them.

helm repo add hermes-operator oci://ghcr.io/undermountaincc/charts
helm install hermes-operator hermes-operator/hermes-operator \
  --namespace hermes-operator-system --create-namespace

Requirements: A Kubernetes cluster with cert-manager installed.

Note: Status is v1alpha1, described as ready for internal alpha use, and the public API may change.

FAQ

What is hermes-operator?

hermes-operator is a Kubernetes operator that deploys Hermes Agent instances from a HermesAgent custom resource and reconciles the Pod, volume, RBAC and gateway status for each one.

How do I install hermes-operator?

Add the Helm chart from ghcr.io with helm repo add, then run helm install into the hermes-operator-system namespace. A kustomize install is also documented, and cert-manager is a prerequisite.

Is hermes-operator free and open source?

Yes. The repository is published under the Apache-2.0 license.

Similar deployment for Hermes Agent

All deployment

Related guides: How to run Hermes Agent securely · How to install Hermes Agent · Connect Hermes agents on several machines with Hermes Desktop