Skip to main content

Overview

This section is for operators and administrators who want to install, run, and maintain Hermeum for their own organization. For the end-user perspective (creating agents, chatting, connecting platforms), see Using Hermeum.

What Hermeum is

Hermeum is a self-hostable control plane for tailored Hermes agents on Kubernetes. You describe an agent in natural language; Hermeum turns that description into a HermesAgent custom resource, and the hermes-agent-operator reconciles each CR into a running Hermes agent pod — with its model config, skills, env vars, and messaging-platform endpoints wired in. Nothing about your agents leaves your cluster.

Architecture

Hermeum has three moving parts: the Hermeum server, the operator, and the HermesAgent custom resource.

You ──► Hermeum (:3000) ──► HermesAgent CR ──► Operator ──► Agent pods
▲ │
kube-apiserver ──► :8443 mutating webhook ───────┘ (JSON-Patch)

Hermeum

The control plane. A Node/Express server hosting the web UI, tRPC API, Better Auth, and an AI config generator that turns a natural-language description into an agent configuration corresponding to a HermesAgent CR. Hermeum reconciles each agent into a HermesAgent CR and writes the per-agent ConfigMaps and Secrets the operator consumes.

Operator

The reconciler. It installs the HermesAgent CRD and turns each CR into a running Hermes agent StatefulSet. It ships as an OCI Helm chart dependency that Hermeum's chart installs by default — set operator.enabled=false if you've already installed it cluster-wide. See hermes-agent-operator on GitHub.

Custom resource

The source of truth for one agent. HermesAgent (agents.hermeum.app/v1alpha1) is reconciled by the operator into a running Hermes agent. A mutating admission webhook applies agentTypes.<type>.mutatingWebhookJsonPatch on CREATE/UPDATE.

Next steps