Agent Cloud-Native in the House!
Excited by the vision of smart AI agents watching over your Kubernetes cluster?
Want an easy fully cloud-native way to run your agentic software?
Time to discover Kagent!
It’s a fairly young OSS project started by the folks at Solo.io which aims at making the building and running of AI Agents on Kubernetes easy and fun. With all the bells and whistles one would expect - authz and authn, security, visualization, governance and audit, optimization, you name it. Some of it on the roadmap, some of it being built as we speak.
Joining the Community
I started playing with Kagent a couple of months ago, loved its ergonomics and decided to build a workshop around it - meanwhile fixing some docs, submitting PRs and joining the community meetings. If you’re looking for a great OSS community to join - look no further - it’s a warm and welcoming bunch of very smart folks. And there’s a lot of work to be done!
The Need for Reactivity
So after working with Kagent for a while I realized something was missing. For me, anyway. You see - conceptually the difference between an agent and a tool is that an agent acts on your behalf, taking decisions in alignment with the declared goals and guidelines. (While with a tool - you need to take all of the decisions yourself and command your wishes.) In this respect - much of the cloud native software is already agentic. Anything built on KRM (
Kubernetes Resource Model) is declarative by nature - the user declares the desired state and then the operators or the controllers make sure it becomes the actual state. And in that respect - they are definitely our agents - acting on our behalf, recreating missing pods, reconciling broken states. True agents are reactive by nature - they listen on events and correct course accordingly with state or goal declarations being just one type of event.
And that’s exactly what Kagent didn’t have. Until now in order to summon an agent - one needed to chat to it - either in Kagent’s sleek Web UI, over CLI or API. But what good is an agent if it just sits there waiting for instructions? I wanted a way to make my agents reactive.
Khook
Enter Khook - a Kubernetes controller that allows defining:
- Kubernetes events to listen to
- the agent to call
- the templated prompt to pass to the agent
Khook assumes autonomous remediation and incident response. Finally - the ops person's dream come true!
The following diagram shows how Khook works:
It’s been a while since I’ve developed a full-blown Kubernetes controller from scratch and I have to thank Kiro and Cursor (and specifically Sonnet 3.7) for taking care of all the boilerplate for me. This definitely made me more productive.
A Hook to the Future
Last Monday I presented Khook to the Kagent community and it makes me happy that it was met with a lot of excitement. In fact - since Friday - the khook repository (with the gracious help from Eitan Yarmush) has been transferred in the kagent-dev org on Github and we’re actively looking for early users and contributors to take the hooks for test drives and find interesting bugs. Oh, and if you clicked on the link - make sure to star the repo. It will make my day brighter 🙏
While building this project I realized it can be of much wider use - becoming the connecting tissue between virtually any type of event (think task queues, DB transactions, webhooks) and any type of A2A-compatible agent (all agent communication in Kagent is based on the A2A protocol). Especially now with Kagent supporting BYO agents. So yes - a lot of space for improvement, innovation, experimentation.
Find this exciting too? Drop me a line, join the Kagent community and contribute to Kagent or Khook or both.
And may our future be agentic.
Here's a demo of Khook triggering a Kagent agent:
Top comments (0)