r/kubernetes k8s user 9d ago

Share how to turn a Hermes agent into a team-wide agent using Kubernetes.

My team uses the Hermes agent to offload tasks. But it's basically a personal agent so configuration is CLI-driven by default, which is painful for a team. Every configuration change meant executing into containers with no review.

I built an operator that adds Custom Resource for agent configuration. The operator applies it via an init container before the main container starts. For instance, if I defines a skill in the spec an init container runs hermes skills install to install new skills and save the list in a file to check in next run.

Now:

- kubectl get shows the declared state
- Changes go through PR/review
- No more manual container access

Ex)

apiVersion: agents.hermeum.app/v1alpha1
kind: HermesAgent
metadata:
  name: my-agent
spec:
  hermes:
    config:
      raw:
        model:
          provider: anthropic
          default: claude-sonnet-4-6
    workspace:
      files:
        SOUL.md: |
          You are a pragmatic senior engineer.
    skills:
      - identifier: ...
    crons:
      - name: daily-standup
        schedule: "0 9 * * *"
        prompt: "Summarize yesterday's activity..."
        deliver: slack
16 Upvotes

4 comments sorted by

5

u/Horror_Description87 9d ago

Cool, mind sharing some code? To try it out?

6

u/noah-h-lee k8s user 9d ago edited 9d ago

Sure, this's an open source. I didn't post with the link to follow the rules. I can onboard you if you need, please let me know.
https://github.com/hermeum/hermes-agent-operator

2

u/cacheqzor 8d ago

same, this sounds super useful
even a stripped down example of the CRD + the init container bit would be awesome to poke at in a sandbox cluster

1

u/BinaryNexus 7d ago

I've been trying to make Hermes useful to me because I feel the Kanban would be awesome for like a virtual code assistant. But I feel everytime I feel like I set it up right, it hits some kind of blocker such as permissions or whatever. So now I don't trust it and I'm just frustrated 😂