Skip to content

Commit ecc18ac

Browse files
authored
Merge pull request #207 from antweiss/feature/khook
A blog post announcing Khook
2 parents 5c79e39 + 2fc5e81 commit ecc18ac

File tree

7 files changed

+67
-0
lines changed

7 files changed

+67
-0
lines changed

public/images/authors/antweiss.png

3.12 MB
Loading
24.1 KB
Loading
105 KB
Loading
19.8 KB
Loading

src/app/blog/authors.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@ export interface Author {
77
}
88

99
export const authors: Author[] = [
10+
{
11+
id: 'antweiss',
12+
name: 'Ant Weiss',
13+
title: 'Cluster Whisperer',
14+
photo: '/images/authors/antweiss.jpg',
15+
bio: 'Ant Weiss is a Cluster Whisperer at PerfectScale.io, focusing on cloud-native technologies and open-source projects.Software delivery optimization expert and Kubernetes fanboy.',
16+
}
1017
{
1118
id: 'christianposta',
1219
name: 'Christian Posta',

src/app/blog/page.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ function shortDate(date: string) {
77
}
88

99
const posts = [
10+
{
11+
slug: 'khook4reactive-agents',
12+
publishDate: '2025-09-09',
13+
title: "Truly Reactive Cloud Native AI Agents with Kagent and Khook",
14+
description: "Khook makes Kagent Agents Reactive",
15+
},
1016
{
1117
slug: 'ai-reliability-aire',
1218
publishDate: '2025-05-14',
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
export const metadata = {
2+
title: "Truly Reactive Cloud Native AI Agents with Kagent and Khook",
3+
publishDate: "2025-09-09T16:00:00Z",
4+
description: "Khook makes Kagent Agents Reactive",
5+
author: "Ant Weiss",
6+
authorIds: ["antweiss"],
7+
}
8+
9+
10+
# Agent Cloud-Native in the House!
11+
12+
Excited by the vision of smart AI agents watching over your Kubernetes cluster?
13+
Want an easy fully cloud-native way to run your agentic software?
14+
Time to discover [Kagent](https://kagent.dev)!
15+
It’s a fairly young OSS project started by the folks at [Solo.io](https://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.
16+
17+
![Kagent logo](/images/blog/reactive-agents-khook/kagent-logo.png)
18+
# Joining the Community
19+
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!
20+
21+
# The Need for Reactivity
22+
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 (
23+
[Kubernetes Resource Model](https://www.geeksforgeeks.org/linux-unix/kubernetes-resource-model-krm-and-how-to-make-use-of-yaml/)) 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.
24+
25+
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.
26+
27+
# Introducing Khook
28+
29+
![khook logo](/images/blog/reactive-agents-khook/khook-logo.png)
30+
31+
Enter Khook - a Kubernetes controller that allows defining:
32+
- Kubernetes events to listen to
33+
- the agent to call
34+
- the templated prompt to pass to the agent
35+
36+
Khook assumes autonomous remediation and incident response. Finally - the ops person's dream come true!
37+
38+
The following diagram shows how Khook works:
39+
40+
![khook diagram](/images/blog/reactive-agents-khook/khook-diagram.png)
41+
42+
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.
43+
44+
# A Hook to the Future
45+
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](https://github.com/kagent-dev/khook) (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 🙏
46+
47+
Here's a demo of Khook triggering a Kagent agent: <YouTube id="cYXLKAXZnso" />
48+
49+
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](https://github.com/a2aproject/A2A)). Especially now with [Kagent supporting BYO agents](https://kagent.dev/docs/kagent/examples/a2a-byo). So yes - a lot of space for improvement, innovation, experimentation.
50+
51+
Find this exciting too? Drop me a line, [join the Kagent community](https://discord.com/invite/Fu3k65f2k3) and contribute to Kagent or Khook or both.
52+
53+
And may our future be agentic.
54+

0 commit comments

Comments
 (0)