From ec015517d23c27c87a546915ef2de6e2392e2eff Mon Sep 17 00:00:00 2001 From: Yashraj Shukla Date: Thu, 13 Aug 2026 19:58:57 +0000 Subject: [PATCH 1/7] docs: add Kubernetes compatibility matrix, update stale max-kube version Addresses kagent-dev/kagent#2268 Signed-off-by: Yashraj Shukla --- docs-site/assets/versions/max-kube.md | 1 + .../resources/kubernetes-compatibility.md | 29 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 docs-site/assets/versions/max-kube.md create mode 100644 docs-site/content/kagent/resources/kubernetes-compatibility.md diff --git a/docs-site/assets/versions/max-kube.md b/docs-site/assets/versions/max-kube.md new file mode 100644 index 00000000..f7613c2d --- /dev/null +++ b/docs-site/assets/versions/max-kube.md @@ -0,0 +1 @@ +1.35 diff --git a/docs-site/content/kagent/resources/kubernetes-compatibility.md b/docs-site/content/kagent/resources/kubernetes-compatibility.md new file mode 100644 index 00000000..37568ce7 --- /dev/null +++ b/docs-site/content/kagent/resources/kubernetes-compatibility.md @@ -0,0 +1,29 @@ +--- +title: Kubernetes Compatibility +linkTitle: Kubernetes Compatibility +description: Which Kubernetes versions kagent is tested and supported against. +weight: 4 +author: kagent.dev +--- + +kagent's CI tests against Kubernetes {{}} today. Below is a history of which Kubernetes version each release was tested against, and the policy we follow going forward. + +## Compatibility matrix + +| kagent version | Kubernetes version tested | Status | +|---|---|---| +| v0.7.11 and later (including main) | 1.35 | Supported | +| v0.6.16 to v0.7.10 | 1.34 | Supported | +| Earlier than v0.6.16 | 1.33 and earlier | Untested, best effort only | + +The tested version comes from `KIND_IMAGE_VERSION` in the [kagent Makefile](https://github.com/kagent-dev/kagent/blob/main/Makefile). This pins the [kindest/node](https://hub.docker.com/r/kindest/node) image used to spin up the Kind cluster in [CI](https://github.com/kagent-dev/kagent/blob/main/.github/workflows/ci.yaml). Right now CI only exercises one Kubernetes minor version per release, not a matrix. + +## Support policy + +kagent tests and supports one Kubernetes minor version per release: whatever `KIND_IMAGE_VERSION` was pinned to when that release was cut. We want to move to an N-2 policy (current version plus the two before it) once CI actually runs a version matrix instead of a single pinned version. + +Versions not listed in the table above are not tested in CI. They might still work. kagent's Kubernetes client libraries (client-go, k8s.io/api, k8s.io/apimachinery) follow the [official client-go skew policy](https://github.com/kubernetes/client-go#compatibility-matrix), which generally supports API servers within one minor version of the client. That said, kagent does not guarantee compatibility outside the versions above. + +## Keeping this page current + +Update this page whenever `KIND_IMAGE_VERSION` changes in the kagent Makefile, or when a new kagent version ships. The current tested version is sourced from `docs-site/assets/versions/max-kube.md`. Update that file, then add a new row to the table for the release. From 3638d4a416965c9085e92064fd6a92e9b71aeb7a Mon Sep 17 00:00:00 2001 From: Yashraj Shukla Date: Thu, 13 Aug 2026 20:07:54 +0000 Subject: [PATCH 2/7] fix: use correct reuse shortcode syntax (was using escaped/documentation form) Signed-off-by: Yashraj Shukla --- docs-site/content/kagent/resources/kubernetes-compatibility.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs-site/content/kagent/resources/kubernetes-compatibility.md b/docs-site/content/kagent/resources/kubernetes-compatibility.md index 37568ce7..1883a5fe 100644 --- a/docs-site/content/kagent/resources/kubernetes-compatibility.md +++ b/docs-site/content/kagent/resources/kubernetes-compatibility.md @@ -6,7 +6,7 @@ weight: 4 author: kagent.dev --- -kagent's CI tests against Kubernetes {{}} today. Below is a history of which Kubernetes version each release was tested against, and the policy we follow going forward. +kagent's CI tests against Kubernetes {{< reuse "versions/max-kube.md" >}} today. Below is a history of which Kubernetes version each release was tested against, and the policy we follow going forward. ## Compatibility matrix From 61efecdb25afc3406b5d65fdaf657726991bb894 Mon Sep 17 00:00:00 2001 From: Peter Jausovec Date: Fri, 14 Aug 2026 11:17:32 +0200 Subject: [PATCH 3/7] add missing community meetings Signed-off-by: Peter Jausovec --- package-lock.json | 701 ++++--------------------------------- package.json | 6 +- public/sitemap.xml | 244 ++++++------- src/app/community/page.tsx | 79 ++++- src/data/livestreams.yaml | 346 +++++++++++++++++- 5 files changed, 606 insertions(+), 770 deletions(-) diff --git a/package-lock.json b/package-lock.json index b9c30e9d..98e4853d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,8 +12,8 @@ "@heroicons/react": "^2.2.0", "@mdx-js/loader": "^3.1.1", "@mdx-js/react": "^3.1.1", - "@next/mdx": "^16.3.0", - "@next/third-parties": "^16.3.0", + "@next/mdx": "^16.3.1", + "@next/third-parties": "^16.3.1", "@radix-ui/react-dropdown-menu": "^2.1.16", "@radix-ui/react-separator": "^1.1.7", "@radix-ui/react-slot": "^1.2.3", @@ -27,7 +27,7 @@ "gray-matter": "^4.0.3", "lucide-react": "^0.543.0", "mermaid": "^11.15.0", - "next": "^16.3.0", + "next": "^16.3.1", "next-mdx-remote": "^5.0.0", "next-themes": "^0.4.6", "prism-react-renderer": "^2.4.1", @@ -2505,7 +2505,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "Apache-2.0", "optional": true, "os": [ @@ -2528,7 +2527,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "Apache-2.0", "optional": true, "os": [ @@ -2544,41 +2542,6 @@ "@img/sharp-libvips-darwin-x64": "1.3.1" } }, - "node_modules/@img/sharp-freebsd-wasm32": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-freebsd-wasm32/-/sharp-freebsd-wasm32-0.35.3.tgz", - "integrity": "sha512-lUxcqWIj2wMQ9BrwNjngcr1gWUr5xgaGThBRqPPalIC2n67Cqj1uPh8NnA/ZhAg8hUbKl+kVHKwgUIwe6ZYPrg==", - "license": "Apache-2.0", - "optional": true, - "os": [ - "freebsd" - ], - "dependencies": { - "@img/sharp-wasm32": "0.35.3" - }, - "engines": { - "node": ">=20.9.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-freebsd-wasm32/node_modules/@img/sharp-wasm32": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.35.3.tgz", - "integrity": "sha512-cZ0XkcYGpHZkqW6iCkqTcmUC0CD9DhD5d/qeZlZkfRBn6GnHniZXLUo5+9xw8Iv76YE6LQFN9YNBlKREcCG76w==", - "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", - "optional": true, - "dependencies": { - "@emnapi/runtime": "^1.11.1" - }, - "engines": { - "node": ">=20.9.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, "node_modules/@img/sharp-libvips-darwin-arm64": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.3.1.tgz", @@ -2586,7 +2549,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -2603,7 +2565,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -2620,7 +2581,6 @@ "cpu": [ "arm" ], - "dev": true, "libc": [ "glibc" ], @@ -2640,7 +2600,6 @@ "cpu": [ "arm64" ], - "dev": true, "libc": [ "glibc" ], @@ -2660,7 +2619,6 @@ "cpu": [ "ppc64" ], - "dev": true, "libc": [ "glibc" ], @@ -2680,7 +2638,6 @@ "cpu": [ "riscv64" ], - "dev": true, "libc": [ "glibc" ], @@ -2700,7 +2657,6 @@ "cpu": [ "s390x" ], - "dev": true, "libc": [ "glibc" ], @@ -2720,7 +2676,6 @@ "cpu": [ "x64" ], - "dev": true, "libc": [ "glibc" ], @@ -2740,7 +2695,6 @@ "cpu": [ "arm64" ], - "dev": true, "libc": [ "musl" ], @@ -2760,7 +2714,6 @@ "cpu": [ "x64" ], - "dev": true, "libc": [ "musl" ], @@ -2780,7 +2733,6 @@ "cpu": [ "arm" ], - "dev": true, "libc": [ "glibc" ], @@ -2806,7 +2758,6 @@ "cpu": [ "arm64" ], - "dev": true, "libc": [ "glibc" ], @@ -2832,7 +2783,6 @@ "cpu": [ "ppc64" ], - "dev": true, "libc": [ "glibc" ], @@ -2858,7 +2808,6 @@ "cpu": [ "riscv64" ], - "dev": true, "libc": [ "glibc" ], @@ -2884,7 +2833,6 @@ "cpu": [ "s390x" ], - "dev": true, "libc": [ "glibc" ], @@ -2910,7 +2858,6 @@ "cpu": [ "x64" ], - "dev": true, "libc": [ "glibc" ], @@ -2936,7 +2883,6 @@ "cpu": [ "arm64" ], - "dev": true, "libc": [ "musl" ], @@ -2962,7 +2908,6 @@ "cpu": [ "x64" ], - "dev": true, "libc": [ "musl" ], @@ -2985,42 +2930,6 @@ "version": "0.35.2", "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.35.2.tgz", "integrity": "sha512-Mrv4JQNYVQ94xH+jzZ9r+gowleN8mv2FTgKT+PI6bx5C0G8TdNYndu161pg2i7uoBwxy2ImPMHrJOM2LZef7Bw==", - "dev": true, - "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", - "optional": true, - "dependencies": { - "@emnapi/runtime": "^1.11.1" - }, - "engines": { - "node": ">=20.9.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-webcontainers-wasm32": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-webcontainers-wasm32/-/sharp-webcontainers-wasm32-0.35.3.tgz", - "integrity": "sha512-2rnq7bX3NzeR2T4YWgz8qiG4h3TSdMe+vN1iQXpJleSJ3SM5zQ8Fy2SyyXAWlbxpEZ2Y+Z4u1BePgJEYbSy80Q==", - "cpu": [ - "wasm32" - ], - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@img/sharp-wasm32": "0.35.3" - }, - "engines": { - "node": ">=20.9.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-webcontainers-wasm32/node_modules/@img/sharp-wasm32": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.35.3.tgz", - "integrity": "sha512-cZ0XkcYGpHZkqW6iCkqTcmUC0CD9DhD5d/qeZlZkfRBn6GnHniZXLUo5+9xw8Iv76YE6LQFN9YNBlKREcCG76w==", "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", "optional": true, "dependencies": { @@ -3040,7 +2949,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "Apache-2.0 AND LGPL-3.0-or-later", "optional": true, "os": [ @@ -3060,7 +2968,6 @@ "cpu": [ "ia32" ], - "dev": true, "license": "Apache-2.0 AND LGPL-3.0-or-later", "optional": true, "os": [ @@ -3080,7 +2987,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "Apache-2.0 AND LGPL-3.0-or-later", "optional": true, "os": [ @@ -3271,9 +3177,9 @@ } }, "node_modules/@next/env": { - "version": "16.3.0", - "resolved": "https://registry.npmjs.org/@next/env/-/env-16.3.0.tgz", - "integrity": "sha512-o9r1S0BNiNreHP9Vs+Qnqd9kviDkJh8xIACY7UFZSmiGbbQRzPBBosvHzAU4TULHOIuOj/18RSsyz2qrREmIFw==", + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/@next/env/-/env-16.3.1.tgz", + "integrity": "sha512-35G3xwkQUb2oETSDjFXGrVugknoayLFBh7vSE+yAcl9IP2zT9wyGwq7297AYHR11kJld807t5f8AJBs6WBzXsQ==", "license": "MIT" }, "node_modules/@next/eslint-plugin-next": { @@ -3287,9 +3193,9 @@ } }, "node_modules/@next/mdx": { - "version": "16.3.0", - "resolved": "https://registry.npmjs.org/@next/mdx/-/mdx-16.3.0.tgz", - "integrity": "sha512-Vpfuf928ACvx4AOdDXWx/cj13Ak6xlvMn3QCkjvfQMmLnQWCesQTeY01CPDbIyZvjY+NOwP7bvbvJ2ghkj/3GA==", + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/@next/mdx/-/mdx-16.3.1.tgz", + "integrity": "sha512-H0oFxC5i9MH2I20eedDvHlJ61UuQ6BizOmD6QGWxtb6g27TDg1Vf4F/XegkNCnuSPfyX9U4KOHn7UQc2oYYFWQ==", "license": "MIT", "dependencies": { "source-map": "^0.7.0" @@ -3308,9 +3214,9 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "16.3.0", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.3.0.tgz", - "integrity": "sha512-55hpqq18bEVAlxedlTt3tFqZmKg2nUXT1kn1G/BGEy0R13h3LwtwHPVzzjG6P4LLeOHE32PFDQUVaJEWvBEZBw==", + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.3.1.tgz", + "integrity": "sha512-ABMIu2zQ7cnNIHm5ivKGwZwUrm0pAai3yiJ/gK/rF1c1VP9UOnj7XECbMKFdVKp9I9eMYq9NoDs1WXOoowxzJw==", "cpu": [ "arm64" ], @@ -3324,9 +3230,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "16.3.0", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.3.0.tgz", - "integrity": "sha512-SOi96kSaF5T+0wW4koiM1bWzSPwjzTesC1p3df+FjdOi5LIQkBK/blxh7HdoKnNuI4PURF1OO7TZqtfnbWDSgw==", + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.3.1.tgz", + "integrity": "sha512-gNG21e/UnrroeScbY/QndUEdl0mF1FRibW7BBeYUz/5ABCepjqDdEdgr592vpzMtCn/m7FTjYq3TN4TpyDnutw==", "cpu": [ "x64" ], @@ -3340,12 +3246,15 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "16.3.0", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.3.0.tgz", - "integrity": "sha512-P0gZAoPMF4dyTRzhmkV4PrqVzSOB6t4mC1oI3c4dqijJ+OVEVx5clIXAKR4/uQpsqw2KKM/0D5tVumcR2r5blg==", + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.3.1.tgz", + "integrity": "sha512-6B6Lw016iwNUQuaJoraMMTLh6TwHzFUtxipSScD1F3YyymcrRWkobodRS2ftIOkF5vrs4zNlyUrTC5YZQ9Lz5w==", "cpu": [ "arm64" ], + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -3356,12 +3265,15 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "16.3.0", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.3.0.tgz", - "integrity": "sha512-tXXGKJw0m37O0eKJARVTX/TheKPhz0QFVtVVZXmOig+9YKLQOSP6hvf2pxv5DO7CLEJyTHx3Pg043CDQkv1G4Q==", + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.3.1.tgz", + "integrity": "sha512-JUiPXZKK9wOhjf4MgDiH29GZLxfqOesbLtHq2pDxwH/WwscTRV2ToymnOTh1egzaZf0ueUf8T2+CeYTGHjW0Iw==", "cpu": [ "arm64" ], + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -3372,12 +3284,15 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "16.3.0", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.3.0.tgz", - "integrity": "sha512-pjGxK5EY7yWml78ALejFkWmgHsU7wbFQrISiugpH6FbUJhgEvw3xFZ/EBAtLl7QtL0WdQKiG9eWJ3mOKGTukHw==", + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.3.1.tgz", + "integrity": "sha512-Uog9jsrmIRIL/lfvIp9htmskSNC7JcQsMVucXL2V2YY1y/D9IUN3LPEafqy0zRJ2cIU1SQ0V6F6TlffQ+pLAGg==", "cpu": [ "x64" ], + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -3388,12 +3303,15 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "16.3.0", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.3.0.tgz", - "integrity": "sha512-sjo++Xx+lomlPs3HRsHWhVDyGG6ms1kGW5EtHLERdII8AyG1i+f6aq68xHREO6AEMlhjTNEWBSmfJfqm9orf7g==", + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.3.1.tgz", + "integrity": "sha512-6yy3FT13KgUFOj5H8bl8w/6nKiJwHIvbtwh1V+1acsu+7y4tJjnemSa6mhsh53BeoVrlozE+fMgZhXH46WmjMA==", "cpu": [ "x64" ], + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -3404,9 +3322,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "16.3.0", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.3.0.tgz", - "integrity": "sha512-C5JSgiO54wURdaxdEUIXqkz04uMqC9UmPX1gtDrV/5Tf1UowdWYI8uA5hfFbPolTlp0q4KZ60xlHePNibf0VIw==", + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.3.1.tgz", + "integrity": "sha512-iOoN1QecUoGNZik536U/vtK43YwgyrCsGIkth52yIkl612n+0C9MjSnJbQAikISpb+WYRooBVhaDlUW7iZoKog==", "cpu": [ "arm64" ], @@ -3420,9 +3338,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "16.3.0", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.3.0.tgz", - "integrity": "sha512-fDOggsweNb5SSw0ZKVk6U+gxSyGFFlIBY/LBc1r8GUj4u/6t6oArL+Pmkg0MBnsgR+KkdsURilVH4F3GXUGepA==", + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.3.1.tgz", + "integrity": "sha512-d/k+PpAriUPaeMJJOG7HUSdqfEX46FEPWU1p3/nm2ACmXhj9hFEWdFODUBIpkuijXYkfL90qZzTqVPRp4BW/hw==", "cpu": [ "x64" ], @@ -3436,9 +3354,9 @@ } }, "node_modules/@next/third-parties": { - "version": "16.3.0", - "resolved": "https://registry.npmjs.org/@next/third-parties/-/third-parties-16.3.0.tgz", - "integrity": "sha512-cAA96hSI9NC7083b6sEsKjgyvM/YJ2eqXs4HWv8a/z5LE12CL1sUJS+cmcTwNMY4yAFpLyyuZHrMBEfh/4Xupw==", + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/@next/third-parties/-/third-parties-16.3.1.tgz", + "integrity": "sha512-OyIUIohaQ8AkD/8Ew0yPTaxcoOwobIgBjvNnhajgJ2IWPuSjFHfKYAFmFjYmL5Jwrf2qJDWubadhPqPbFhrDNg==", "license": "MIT", "dependencies": { "third-party-capital": "1.0.20" @@ -4949,9 +4867,9 @@ "license": "CC0-1.0" }, "node_modules/@swc/helpers": { - "version": "0.5.15", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", - "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", + "version": "0.5.23", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.23.tgz", + "integrity": "sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.8.0" @@ -12323,13 +12241,13 @@ } }, "node_modules/next": { - "version": "16.3.0", - "resolved": "https://registry.npmjs.org/next/-/next-16.3.0.tgz", - "integrity": "sha512-NEdGOzH+08eTXMUp9UYkA99Nhi5N6Thrhc1jgFOQgfgnGK/dA2hRwBpXep+exdFQrnwlRf/3Wixyp8lLBUpE2A==", + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/next/-/next-16.3.1.tgz", + "integrity": "sha512-hsAp0i7Rh+/dhe7DGIeN2YlpLM1DP4MNxti9EtDMtqcO612X81MvvEj388/oTce9U1EcEIOWDlGq0zRwrBKvuA==", "license": "MIT", "dependencies": { - "@next/env": "16.3.0", - "@swc/helpers": "0.5.15", + "@next/env": "16.3.1", + "@swc/helpers": "0.5.23", "baseline-browser-mapping": "^2.9.19", "caniuse-lite": "^1.0.30001579", "postcss": "8.5.23", @@ -12342,14 +12260,14 @@ "node": ">=20.9.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "16.3.0", - "@next/swc-darwin-x64": "16.3.0", - "@next/swc-linux-arm64-gnu": "16.3.0", - "@next/swc-linux-arm64-musl": "16.3.0", - "@next/swc-linux-x64-gnu": "16.3.0", - "@next/swc-linux-x64-musl": "16.3.0", - "@next/swc-win32-arm64-msvc": "16.3.0", - "@next/swc-win32-x64-msvc": "16.3.0", + "@next/swc-darwin-arm64": "16.3.1", + "@next/swc-darwin-x64": "16.3.1", + "@next/swc-linux-arm64-gnu": "16.3.1", + "@next/swc-linux-arm64-musl": "16.3.1", + "@next/swc-linux-x64-gnu": "16.3.1", + "@next/swc-linux-x64-musl": "16.3.1", + "@next/swc-win32-arm64-msvc": "16.3.1", + "@next/swc-win32-x64-msvc": "16.3.1", "sharp": "^0.35.3" }, "peerDependencies": { @@ -12406,493 +12324,6 @@ "react-dom": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc" } }, - "node_modules/next/node_modules/@img/sharp-darwin-arm64": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.35.3.tgz", - "integrity": "sha512-RMnFX7YQsMoh7lWfcM4NEHHymBX/rLuKNPVM84XE9ONPcaSCDgE7CHIHpSgPcO2xcRthgBy1HfNO319mwhIAkg==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=20.9.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-darwin-arm64": "1.3.2" - } - }, - "node_modules/next/node_modules/@img/sharp-darwin-x64": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.35.3.tgz", - "integrity": "sha512-Xo+5uFBtLN0BKqieTxiFzFPQAUlBbbH5iBKyRX/z1JrbnYsHTfKJnUfL8+p2TPXr1pXqao4eeL4Rl144uDpK9w==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=20.9.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-darwin-x64": "1.3.2" - } - }, - "node_modules/next/node_modules/@img/sharp-libvips-darwin-arm64": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.3.2.tgz", - "integrity": "sha512-9J6ypZFpQBj4YnePGoq/S38w6nz+vqg5WZLrLGY4YuSemdMq47GMLBPO42MzwdGwpg/agZ7xzZcFHa48xlywfg==", - "cpu": [ - "arm64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "darwin" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/next/node_modules/@img/sharp-libvips-darwin-x64": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.3.2.tgz", - "integrity": "sha512-m2pW1n6cns9VaubNwsZ+c3CRYjxNQWgJ5gPlnL1nbBcpkBvFm6SCFN5o0psFHI8w9n11NKhFkeEDns98tiqbEw==", - "cpu": [ - "x64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "darwin" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/next/node_modules/@img/sharp-libvips-linux-arm": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.3.2.tgz", - "integrity": "sha512-1eMLzy92I4J6rmi4mAT8yC3HxOtniyGELlzGbNMLLeqe052ahFQ0h6LFq+lh5DsDIdYViIDst08abvSbcEdLXQ==", - "cpu": [ - "arm" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/next/node_modules/@img/sharp-libvips-linux-arm64": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.3.2.tgz", - "integrity": "sha512-dqVSFynCox4C/J8kT16V7SIFAns0IjgLwkvYT7p8LQVmJ5OS5b6tI9IGflxTeuBS//zXeFIUbwt5dwxyZ17cnA==", - "cpu": [ - "arm64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/next/node_modules/@img/sharp-libvips-linux-ppc64": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.3.2.tgz", - "integrity": "sha512-3z0NHDxD6n5I9gc05U1eW1AyRm+Gznzq3naMrthPNqE6oYykcogW0l/jfpJdjYnuNl8R7yI9pNbE1XiUeyq0Aw==", - "cpu": [ - "ppc64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/next/node_modules/@img/sharp-libvips-linux-riscv64": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.3.2.tgz", - "integrity": "sha512-bsb4rI+NldGOsXuej2r8OdSS8+zXDVaCWxyWrcv6kneTOlgAHtZABRzBBCwdsPiD90J4myNJuHpg6kA20ImW/w==", - "cpu": [ - "riscv64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/next/node_modules/@img/sharp-libvips-linux-s390x": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.3.2.tgz", - "integrity": "sha512-/ABshyj8gCpyIrNXnHn4LorDJ0HHm1VhXPBlxZ8zAtfVPAaSafXPGn+sUSIRiwaSBy0mmFjSjiXI5mkcwdChKQ==", - "cpu": [ - "s390x" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/next/node_modules/@img/sharp-libvips-linux-x64": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.3.2.tgz", - "integrity": "sha512-ITPEtgffGJ0S6G9dRyw/366tJQqFRcHWPHhC+Stpg3Z8AEMrDrTr2lhdz4f/Y/HMbRh//7Z5mBzEpVdi62Oc3w==", - "cpu": [ - "x64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/next/node_modules/@img/sharp-libvips-linuxmusl-arm64": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.3.2.tgz", - "integrity": "sha512-zE9EdiUzUmg5mDT5a1rk5fYJ6GWPloTwWBYDS14naqHsL+EaMpDj1AWnpLgh3u0YCORv2Tt50wrcrpYqkP97Kw==", - "cpu": [ - "arm64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/next/node_modules/@img/sharp-libvips-linuxmusl-x64": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.3.2.tgz", - "integrity": "sha512-m0lrLiUt+lBYnCFr8qV/65yMR4E/c7/wf78I5eKTdkEakFAlZ9QlzEM3QIhhAwVeUhLAHLcCq7a7Vszq/oFNZQ==", - "cpu": [ - "x64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/next/node_modules/@img/sharp-linux-arm": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.35.3.tgz", - "integrity": "sha512-affVWCTLooy8TSxbDx2qkzuDeaWLNVBA+P//FNBirHsXpP2fuBhk5AuboYUnrDnzoXes8GFjpTx0SBFOCRg+FA==", - "cpu": [ - "arm" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=20.9.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-arm": "1.3.2" - } - }, - "node_modules/next/node_modules/@img/sharp-linux-arm64": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.35.3.tgz", - "integrity": "sha512-QgKDspHPnrU+GQ55XPhGwyhC8acLVOOSyAvo1oVfFmrIXLkDNmGWzAfDZ4xK8oSA1qBQrALcHX0G5UZni/SuFQ==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=20.9.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-arm64": "1.3.2" - } - }, - "node_modules/next/node_modules/@img/sharp-linux-ppc64": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.35.3.tgz", - "integrity": "sha512-sMd8rDxmpLOwv/7N44klFjOD5DUO7FLdjiXDI0hoxYaf7Ar262dQIEkosE98bps+5HPLtp/EvNqeqQtOycP/IA==", - "cpu": [ - "ppc64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=20.9.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-ppc64": "1.3.2" - } - }, - "node_modules/next/node_modules/@img/sharp-linux-riscv64": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.35.3.tgz", - "integrity": "sha512-0Eob78yjlYPfL5vMNWAW55l3R9Y6BQS/gOfe0ZcP9mEz9ohhKSt4im1hayiknXgf8AWrFqMvJcKIdmLmEe7yeQ==", - "cpu": [ - "riscv64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=20.9.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-riscv64": "1.3.2" - } - }, - "node_modules/next/node_modules/@img/sharp-linux-s390x": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.35.3.tgz", - "integrity": "sha512-KgAxQ0DxpNOq1rG2t5cgTgShJFGSuU7XO45cqC+1NVOuZnP6tlgZRuSYOfNupGkHID0o3cJOsw4DVeJpMovcGw==", - "cpu": [ - "s390x" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=20.9.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-s390x": "1.3.2" - } - }, - "node_modules/next/node_modules/@img/sharp-linux-x64": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.35.3.tgz", - "integrity": "sha512-8pqvxubL2PGdhlPy6GLqzDYMUjyRmKAwKHYKixpdJYBUK7PJ0C029XdsnpFIdgRZG68fZiGdHVWcKPvtiPB4cA==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=20.9.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-x64": "1.3.2" - } - }, - "node_modules/next/node_modules/@img/sharp-linuxmusl-arm64": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.35.3.tgz", - "integrity": "sha512-Vz0iQjzzcSX3HCbfwFfCSG/9SCIqyO0mH2sXyiHaAYfBk0cRsCWXRyQYX0ovCK/PAQBbTzQ0dsPQHh5MAFL59w==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=20.9.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-arm64": "1.3.2" - } - }, - "node_modules/next/node_modules/@img/sharp-linuxmusl-x64": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.35.3.tgz", - "integrity": "sha512-6O1NPKcDVj9QEdg7Hx549EX8U0rp6yXQERqru6yRN7fGBn32UvIRJUlWnk+8xDCiG76hXVBbX82NZ/ZKr0euIg==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=20.9.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-x64": "1.3.2" - } - }, - "node_modules/next/node_modules/@img/sharp-win32-arm64": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.35.3.tgz", - "integrity": "sha512-4bPwFdMbeC4JQ8L8LOyWp6nsHcboP5fxkp6iPOXz2Vg49R42TuMs2whkJ5OAP4/Ul035qOzy0AecOF9VOscn4w==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=20.9.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/next/node_modules/@img/sharp-win32-ia32": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.35.3.tgz", - "integrity": "sha512-r53mXsBN6lFUDiST764SvgwUdHAqM4rPAiDzAmf4fLoB6X/rkfyTrLCg6+g17wJJiCmB3JYgHuUldCWUIRFSXw==", - "cpu": [ - "ia32" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^20.9.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/next/node_modules/@img/sharp-win32-x64": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.35.3.tgz", - "integrity": "sha512-D4y1vNeZrIIJCN+uHaWVtH86B+aCrdMYYjicy9pXHvbGZeGYLLSd3wdVuC37FxVXlU1ARsk84eKWfWMXGYEqvA==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=20.9.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/next/node_modules/sharp": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.35.3.tgz", - "integrity": "sha512-ej0zVHuZGHCiABXcNxeYhpRnPNPAcvbG8RMdBAhDAxLKkCRVSpK3Iyu7qbqw3JMzoj0REeM6f3tJLtVwl0023Q==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@img/colour": "^1.1.0", - "detect-libc": "^2.1.2", - "semver": "^7.8.5" - }, - "engines": { - "node": ">=20.9.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-darwin-arm64": "0.35.3", - "@img/sharp-darwin-x64": "0.35.3", - "@img/sharp-freebsd-wasm32": "0.35.3", - "@img/sharp-libvips-darwin-arm64": "1.3.2", - "@img/sharp-libvips-darwin-x64": "1.3.2", - "@img/sharp-libvips-linux-arm": "1.3.2", - "@img/sharp-libvips-linux-arm64": "1.3.2", - "@img/sharp-libvips-linux-ppc64": "1.3.2", - "@img/sharp-libvips-linux-riscv64": "1.3.2", - "@img/sharp-libvips-linux-s390x": "1.3.2", - "@img/sharp-libvips-linux-x64": "1.3.2", - "@img/sharp-libvips-linuxmusl-arm64": "1.3.2", - "@img/sharp-libvips-linuxmusl-x64": "1.3.2", - "@img/sharp-linux-arm": "0.35.3", - "@img/sharp-linux-arm64": "0.35.3", - "@img/sharp-linux-ppc64": "0.35.3", - "@img/sharp-linux-riscv64": "0.35.3", - "@img/sharp-linux-s390x": "0.35.3", - "@img/sharp-linux-x64": "0.35.3", - "@img/sharp-linuxmusl-arm64": "0.35.3", - "@img/sharp-linuxmusl-x64": "0.35.3", - "@img/sharp-webcontainers-wasm32": "0.35.3", - "@img/sharp-win32-arm64": "0.35.3", - "@img/sharp-win32-ia32": "0.35.3", - "@img/sharp-win32-x64": "0.35.3" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, "node_modules/node-domexception": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", @@ -14470,7 +13901,7 @@ "version": "0.35.2", "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.35.2.tgz", "integrity": "sha512-FVtFjtBCMiJS6yb5CX7Sop45WFMpeGw6oRKuJnXYgf/f1ms/D7LE/ZUSNxnW7rZ/dbslQWYkoqFHGPaDBtaK4w==", - "dev": true, + "devOptional": true, "license": "Apache-2.0", "dependencies": { "@img/colour": "^1.1.0", @@ -14515,7 +13946,6 @@ "version": "0.35.2", "resolved": "https://registry.npmjs.org/@img/sharp-freebsd-wasm32/-/sharp-freebsd-wasm32-0.35.2.tgz", "integrity": "sha512-YoAxdnd8hPUkvLHd3bWY+YA8nw3xM/RyRopYucNsWHVSan8NLVM3X2volsfoRDcXdUJPg6tXahSd7HXPK7lRnw==", - "dev": true, "license": "Apache-2.0", "optional": true, "os": [ @@ -14538,7 +13968,6 @@ "cpu": [ "wasm32" ], - "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { diff --git a/package.json b/package.json index ee90a427..e4bf84f4 100644 --- a/package.json +++ b/package.json @@ -21,8 +21,8 @@ "@heroicons/react": "^2.2.0", "@mdx-js/loader": "^3.1.1", "@mdx-js/react": "^3.1.1", - "@next/mdx": "^16.3.0", - "@next/third-parties": "^16.3.0", + "@next/mdx": "^16.3.1", + "@next/third-parties": "^16.3.1", "@radix-ui/react-dropdown-menu": "^2.1.16", "@radix-ui/react-separator": "^1.1.7", "@radix-ui/react-slot": "^1.2.3", @@ -36,7 +36,7 @@ "gray-matter": "^4.0.3", "lucide-react": "^0.543.0", "mermaid": "^11.15.0", - "next": "^16.3.0", + "next": "^16.3.1", "next-mdx-remote": "^5.0.0", "next-themes": "^0.4.6", "prism-react-renderer": "^2.4.1", diff --git a/public/sitemap.xml b/public/sitemap.xml index d9e93b49..b6d7d7d4 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -2,854 +2,854 @@ https://kagent.dev/agents - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/blog - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/community - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/concepts/agent-harness - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/concepts/agent-memory - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/concepts/agent-substrate - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/concepts/agents - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/concepts/architecture - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/concepts/mcp-apps - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/concepts - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/concepts/tools - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/examples/a2a-agents - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/examples/a2a-byo - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/examples/agent-harness - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/examples/agent-substrate - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/examples/agentgateway - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/examples/agents-mcp - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/examples/crewai-byo - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/examples/discord-a2a - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/examples/documentation - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/examples/human-in-the-loop - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/examples/langchain-byo - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/examples - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/examples/skills - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/examples/slack-a2a - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/examples/telegram-bot - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/getting-started/first-agent - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/getting-started/first-mcp-tool - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/getting-started/local-development - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/getting-started - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/getting-started/quickstart - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/getting-started/system-prompts - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/introduction/features - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/introduction/installation - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/introduction - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/introduction/what-is-kagent - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/observability/audit-prompts - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/observability/launch-ui - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/observability - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/observability/tracing - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/operations/debug - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/operations/operational-considerations - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/operations - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/operations/uninstall - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/operations/upgrade - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/resources/api-ref - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-add-mcp - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-bug-report - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-build - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-completion - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-dashboard - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-deploy - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-get - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-help - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-init - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-install - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-invoke - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-mcp - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-run - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-uninstall - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-version - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/resources/faq - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/resources/helm - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/resources - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/resources/release-notes - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/resources/tools-ecosystem - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/amazon-bedrock - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/anthropic - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/azure-ai-foundry - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/azure-openai - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/byo-openai - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/gemini - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/google-vertexai - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/ollama - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/openai - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/sap-ai-core - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/xai - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kmcp/deploy/install-controller - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kmcp/deploy - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kmcp/deploy/server - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kmcp/develop/fastmcp-python - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kmcp/develop/mcp-go - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kmcp/develop - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kmcp/introduction - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kmcp - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kmcp/quickstart - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kmcp/reference/api-ref - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-add-tool - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-build - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-completion - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-deploy - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-help - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-init - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-install - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-run - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-secrets - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kmcp/reference - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs/kmcp/secrets - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/docs - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/enterprise - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/page.tsx - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/tools - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/agents/argo-rollouts-conversion-agent - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/agents/cilium-crd-agent - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/agents/helm-agent - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/agents/istio-agent - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/agents/k8s-agent - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/agents/kgateway-agent - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/agents/observability-agent - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/agents/promql-agent - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/tools/istio - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/tools/kubernetes - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/tools/prometheus - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/tools/documentation - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/tools/helm - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/tools/argo - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/tools/grafana - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/tools/other - 2026-08-10 + 2026-08-14 weekly 0.8 https://kagent.dev/tools/cilium - 2026-08-10 + 2026-08-14 weekly 0.8 diff --git a/src/app/community/page.tsx b/src/app/community/page.tsx index c95f902e..4dad7859 100644 --- a/src/app/community/page.tsx +++ b/src/app/community/page.tsx @@ -94,7 +94,9 @@ const EventSkeleton = () => ( const CommunityPage = () => { const [currentPage, setCurrentPage] = useState(1); const [isLoading, setIsLoading] = useState(false); - const itemsPerPage = 6; + const [typeFilter, setTypeFilter] = useState<'all' | 'livestream' | 'community' | 'contributors'>('all'); + const [yearFilter, setYearFilter] = useState<'all' | string>('all'); + const itemsPerPage = 12; // Separate upcoming and past events const upcomingLivestreams = livestreams.livestreams.filter( @@ -130,9 +132,32 @@ const CommunityPage = () => { })), ].sort((a, b) => new Date(b.date).getTime() - new Date(a.date).getTime()); - const totalPages = Math.ceil(allPastEvents.length / itemsPerPage); + const availableYears = Array.from( + new Set(allPastEvents.map((event) => new Date(event.date).getFullYear())) + ).sort((a, b) => b - a); + + const matchesTypeFilter = (event: PastEvent): boolean => { + switch (typeFilter) { + case 'livestream': + return event.type === 'livestream'; + case 'community': + return event.type === 'meeting' && !event.title.toLowerCase().includes('contributor'); + case 'contributors': + return event.type === 'meeting' && event.title.toLowerCase().includes('contributor'); + default: + return true; + } + }; + + const filteredPastEvents = allPastEvents.filter( + (event) => + matchesTypeFilter(event) && + (yearFilter === 'all' || new Date(event.date).getFullYear().toString() === yearFilter) + ); + + const totalPages = Math.ceil(filteredPastEvents.length / itemsPerPage); const startIndex = (currentPage - 1) * itemsPerPage; - const pastEvents = allPastEvents.slice(startIndex, startIndex + itemsPerPage); + const pastEvents = filteredPastEvents.slice(startIndex, startIndex + itemsPerPage); useEffect(() => { if (currentPage > totalPages && totalPages > 0) { @@ -231,6 +256,7 @@ const CommunityPage = () => { src={getYouTubeThumbnail(videoId)} alt={event.title} fill + sizes="(max-width: 768px) 100vw, (max-width: 1200px) 50vw, 33vw" className="object-cover" />
@@ -287,16 +313,49 @@ const CommunityPage = () => { )} {/* Past Events Section - Combined */} - {pastEvents.length > 0 && ( + {allPastEvents.length > 0 && ( -
- -

Past Events

+
+
+ +

Past Events

+ ({filteredPastEvents.length}) +
+
+ + +
{ Array.from({ length: itemsPerPage }, (_, index) => ( )) + ) : pastEvents.length === 0 ? ( +

+ No events match the selected filters. +

) : ( pastEvents.map((event: PastEvent, index: number) => { const videoId = getYouTubeVideoId(event.url); @@ -335,6 +398,8 @@ const CommunityPage = () => { src={getYouTubeThumbnail(videoId)} alt={event.title} fill + sizes="(max-width: 768px) 100vw, (max-width: 1200px) 50vw, 33vw" + priority={index < 3} className="object-cover" />
diff --git a/src/data/livestreams.yaml b/src/data/livestreams.yaml index 82c2b9d5..a058c296 100644 --- a/src/data/livestreams.yaml +++ b/src/data/livestreams.yaml @@ -148,9 +148,351 @@ communityMeetings: meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" status: "completed" - - date: "July 27, 2025" + - date: "July 29, 2025" title: "All Things AI Agents community meeting" url: "https://www.youtube.com/watch?v=oqbOAR6E0V0" description: "Join us for the questions, discussions and demos in the All Things AI Agents community meeting" meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" - status: "completed" \ No newline at end of file + status: "completed" + - date: "August 5, 2025" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=oV8CY9egUGE" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "August 12, 2025" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=AK_agzLWjfU" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "August 19, 2025" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=m8geqFEcSZ8" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "August 21, 2025" + title: "kagent contributors meeting" + url: "https://www.youtube.com/watch?v=kQVfCvXTJIE" + description: "Join us for discussions about kagent development and contributions in the kagent contributors meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "August 26, 2025" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=PEjccUGpGNA" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "September 2, 2025" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=JOgVq59bFKc" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "September 4, 2025" + title: "kagent contributors meeting" + url: "https://www.youtube.com/watch?v=BgQ7kKlbBzk" + description: "Join us for discussions about kagent development and contributions in the kagent contributors meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "September 16, 2025" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=6GLxPxXMP6A" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "September 18, 2025" + title: "kagent contributors meeting" + url: "https://www.youtube.com/watch?v=FdoCWJURsug" + description: "Join us for discussions about kagent development and contributions in the kagent contributors meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "September 23, 2025" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=MEDmvsbUiAQ" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "September 30, 2025" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=9aGmh2XpTIo" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "October 7, 2025" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=sbo8pa7PgC0" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "October 14, 2025" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=_bSusoXg-EY" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "October 21, 2025" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=GcmsK-Ud_ms" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "October 28, 2025" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=VEn3eWGRds8" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "November 4, 2025" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=3y2zWjV1Qik" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "November 25, 2025" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=HbppNNjYxsI" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "December 2, 2025" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=XRHGfe1MRXU" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "December 9, 2025" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=xM_2xJ99Scc" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "December 11, 2025" + title: "kagent contributors meeting" + url: "https://www.youtube.com/watch?v=NO81y6fBDgs" + description: "Join us for discussions about kagent development and contributions in the kagent contributors meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "January 6, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=lq0hVLPVt6g" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "January 13, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=yZD76IC9d5s" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "January 20, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=qD2Bwxgjm1E" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "January 22, 2026" + title: "kagent contributors meeting" + url: "https://www.youtube.com/watch?v=4QeawzIOSsA" + description: "Join us for discussions about kagent development and contributions in the kagent contributors meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "January 27, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=pT5NJGhJops" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "February 10, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=dvBYwixQfXI" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "February 17, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=-TiQseG4U3E" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "February 19, 2026" + title: "kagent contributors meeting" + url: "https://www.youtube.com/watch?v=-1iOivT0LCA" + description: "Join us for discussions about kagent development and contributions in the kagent contributors meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "February 24, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=hCDiX3bCUmI" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "March 3, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=1NPzyPF_ctk" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "March 5, 2026" + title: "kagent contributors meeting" + url: "https://www.youtube.com/watch?v=VVmyowieqdI" + description: "Join us for discussions about kagent development and contributions in the kagent contributors meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "March 10, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=kS4A9z_UH1E" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "March 17, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=hDftxuvem2M" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "March 31, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=Zn8wluYcvWo" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "April 2, 2026" + title: "kagent contributors meeting" + url: "https://www.youtube.com/watch?v=-Mooh4genL0" + description: "Join us for discussions about kagent development and contributions in the kagent contributors meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "April 7, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=7cuWWmnuXjA" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "April 14, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=A76i1WfqvBs" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "April 16, 2026" + title: "kagent contributors meeting" + url: "https://www.youtube.com/watch?v=HjCYaUiPvx4" + description: "Join us for discussions about kagent development and contributions in the kagent contributors meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "April 21, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=9n4OZoT0nuE" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "April 28, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=odu9y6LT7Os" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "April 30, 2026" + title: "kagent contributors meeting" + url: "https://www.youtube.com/watch?v=5Vm4PwkJI9c" + description: "Join us for discussions about kagent development and contributions in the kagent contributors meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "May 5, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=FsNFBuChWyI" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "May 12, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=ktRC9jXH_vY" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "May 14, 2026" + title: "kagent contributors meeting" + url: "https://www.youtube.com/watch?v=flugoKbvWLg" + description: "Join us for discussions about kagent development and contributions in the kagent contributors meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "May 19, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=zCyujOmAmvA" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "May 26, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=UMwfzKUfTaM" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "June 2, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=wyRbKzdhy5c" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "June 9, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=Ir_9E1zwj9o" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "June 11, 2026" + title: "kagent contributors meeting" + url: "https://www.youtube.com/watch?v=WelyW9ngRFQ" + description: "Join us for discussions about kagent development and contributions in the kagent contributors meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "June 16, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=zBn5iqtc1bI" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "June 23, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=DETrc4SOPOY" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "June 25, 2026" + title: "kagent contributors meeting" + url: "https://www.youtube.com/watch?v=vwgDuNVPna0" + description: "Join us for discussions about kagent development and contributions in the kagent contributors meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "June 30, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=MM-Kuh3rGt8" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "July 7, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=Y7KshjBdvWk" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "July 9, 2026" + title: "kagent contributors meeting" + url: "https://www.youtube.com/watch?v=iPHMchZ0Zhs" + description: "Join us for discussions about kagent development and contributions in the kagent contributors meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "July 21, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=ylSjDA1pzvM" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" + - date: "July 28, 2026" + title: "kagent community meeting" + url: "https://www.youtube.com/watch?v=ccQPjpTP3w0" + description: "Join us for the questions, discussions and demos in the kagent community meeting" + meetingNotes: "https://docs.google.com/document/d/1rfXZSLIA4GXyTiwzJqSbAbbJIgL6kF0h00lrMnPh-KM/edit?tab=t.0#heading=h.o8pz6aqnzzgk" + status: "completed" From 81c68d73f0f0db45b53b6b88cb6a16a61990fc49 Mon Sep 17 00:00:00 2001 From: Yashraj Shukla Date: Sat, 15 Aug 2026 16:56:12 +0000 Subject: [PATCH 4/7] docs: address review feedback, drop unsupported-version claims - rename page to Version Support / versions.md - state only the current release is supported, not a historical matrix - remove unsourced N-2 policy statement - remove first-person language Signed-off-by: Yashraj Shukla --- .../resources/kubernetes-compatibility.md | 29 ------------------- .../content/kagent/resources/versions.md | 17 +++++++++++ 2 files changed, 17 insertions(+), 29 deletions(-) delete mode 100644 docs-site/content/kagent/resources/kubernetes-compatibility.md create mode 100644 docs-site/content/kagent/resources/versions.md diff --git a/docs-site/content/kagent/resources/kubernetes-compatibility.md b/docs-site/content/kagent/resources/kubernetes-compatibility.md deleted file mode 100644 index 1883a5fe..00000000 --- a/docs-site/content/kagent/resources/kubernetes-compatibility.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: Kubernetes Compatibility -linkTitle: Kubernetes Compatibility -description: Which Kubernetes versions kagent is tested and supported against. -weight: 4 -author: kagent.dev ---- - -kagent's CI tests against Kubernetes {{< reuse "versions/max-kube.md" >}} today. Below is a history of which Kubernetes version each release was tested against, and the policy we follow going forward. - -## Compatibility matrix - -| kagent version | Kubernetes version tested | Status | -|---|---|---| -| v0.7.11 and later (including main) | 1.35 | Supported | -| v0.6.16 to v0.7.10 | 1.34 | Supported | -| Earlier than v0.6.16 | 1.33 and earlier | Untested, best effort only | - -The tested version comes from `KIND_IMAGE_VERSION` in the [kagent Makefile](https://github.com/kagent-dev/kagent/blob/main/Makefile). This pins the [kindest/node](https://hub.docker.com/r/kindest/node) image used to spin up the Kind cluster in [CI](https://github.com/kagent-dev/kagent/blob/main/.github/workflows/ci.yaml). Right now CI only exercises one Kubernetes minor version per release, not a matrix. - -## Support policy - -kagent tests and supports one Kubernetes minor version per release: whatever `KIND_IMAGE_VERSION` was pinned to when that release was cut. We want to move to an N-2 policy (current version plus the two before it) once CI actually runs a version matrix instead of a single pinned version. - -Versions not listed in the table above are not tested in CI. They might still work. kagent's Kubernetes client libraries (client-go, k8s.io/api, k8s.io/apimachinery) follow the [official client-go skew policy](https://github.com/kubernetes/client-go#compatibility-matrix), which generally supports API servers within one minor version of the client. That said, kagent does not guarantee compatibility outside the versions above. - -## Keeping this page current - -Update this page whenever `KIND_IMAGE_VERSION` changes in the kagent Makefile, or when a new kagent version ships. The current tested version is sourced from `docs-site/assets/versions/max-kube.md`. Update that file, then add a new row to the table for the release. diff --git a/docs-site/content/kagent/resources/versions.md b/docs-site/content/kagent/resources/versions.md new file mode 100644 index 00000000..196f005f --- /dev/null +++ b/docs-site/content/kagent/resources/versions.md @@ -0,0 +1,17 @@ +--- +title: Version Support +linkTitle: Version Support +description: Which Kubernetes version kagent is tested against. +weight: 4 +author: kagent.dev +--- + +kagent's CI tests against Kubernetes {{< reuse "versions/max-kube.md" >}} today. + +Only the latest kagent release is supported. The tested Kubernetes version above applies to that release. Older kagent releases are not maintained or supported, regardless of which Kubernetes version they were originally tested against. + +The tested version is sourced from `KIND_IMAGE_VERSION` in the [kagent Makefile](https://github.com/kagent-dev/kagent/blob/main/Makefile), which pins the [kindest/node](https://hub.docker.com/r/kindest/node) image used in [CI](https://github.com/kagent-dev/kagent/blob/main/.github/workflows/ci.yaml). CI tests one Kubernetes minor version at a time, not a matrix. + +Kubernetes versions other than the one listed above are not tested in CI and are not guaranteed to work, though kagent's Kubernetes client libraries generally follow the [client-go version skew policy](https://github.com/kubernetes/client-go#compatibility-matrix). + +This page should be updated whenever `KIND_IMAGE_VERSION` changes in the kagent Makefile. The value is sourced from `docs-site/assets/versions/max-kube.md`. From f8564e49ab63172c44ec3a6345f19eedbebac6f0 Mon Sep 17 00:00:00 2001 From: Kristin Brown Date: Tue, 18 Aug 2026 08:49:52 -0400 Subject: [PATCH 5/7] Updates from mdx files Signed-off-by: Kristin Brown --- .../supported-providers/azure-ai-foundry.md | 257 ++++++++++++++++++ .../supported-providers/azure-openai.md | 56 +++- .../kagent/supported-providers/byo-openai.md | 39 +++ 3 files changed, 338 insertions(+), 14 deletions(-) create mode 100644 docs-site/content/kagent/supported-providers/azure-ai-foundry.md diff --git a/docs-site/content/kagent/supported-providers/azure-ai-foundry.md b/docs-site/content/kagent/supported-providers/azure-ai-foundry.md new file mode 100644 index 00000000..2f8edd63 --- /dev/null +++ b/docs-site/content/kagent/supported-providers/azure-ai-foundry.md @@ -0,0 +1,257 @@ +--- +title: Azure AI Foundry +description: Learn how to configure Azure AI Foundry models in kagent. +weight: 3 +author: kagent.dev +--- + +## Configuring Azure AI Foundry + +> **Note:** Foundry chat models and memory embeddings require the Go agent runtime (`runtime: go`). Chat models must be available through Foundry's OpenAI-compatible chat completions API. Claude and other models are not yet supported. + +The following steps use API key authentication. To authenticate without an API key, see [Workload Identity](#workload-identity). + +1. Create a Kubernetes Secret that contains your Foundry API key. + +```bash +export FOUNDRY_API_KEY="" + +kubectl create secret generic foundry-api-key \ + --namespace kagent \ + --from-literal=api-key="${FOUNDRY_API_KEY}" +``` + +2. Create a `ModelConfig` for your Foundry deployment. + +```yaml +apiVersion: kagent.dev/v1alpha2 +kind: ModelConfig +metadata: + name: foundry-chat + namespace: kagent +spec: + provider: Foundry + model: gpt-4.1-nano + apiKeySecret: foundry-api-key + apiKeySecretKey: api-key + foundry: + endpoint: https://my-foundry-account.cognitiveservices.azure.com/ + deployment: gpt-4-1-nano + apiVersion: "2024-10-21" +``` + +3. Reference the `ModelConfig` from an agent that uses the Go runtime. + +```yaml +apiVersion: kagent.dev/v1alpha2 +kind: Agent +metadata: + name: foundry-agent + namespace: kagent +spec: + type: Declarative + declarative: + runtime: go + modelConfig: foundry-chat + systemMessage: "You are a helpful assistant." +``` + +4. Save the manifests from steps 2 and 3 as `foundry-model.yaml` and `foundry-agent.yaml`, then apply them to your cluster. + +```bash +kubectl apply -f foundry-model.yaml +kubectl apply -f foundry-agent.yaml +``` + +Alternatively, apply only `foundry-model.yaml`, then select the `ModelConfig` from the **Model** dropdown when you create or update an agent in the kagent UI. + +## ModelConfig reference + +| Field | Required | Description | +| --- | --- | --- | +| `spec.provider` | Always | Must be `Foundry`. | +| `spec.model` | Always | Model name reported to the runtime, such as `gpt-4.1-nano`. This can differ from the Azure deployment name. | +| `spec.foundry.endpoint` | Exactly one endpoint field | Account endpoint, such as `https://.cognitiveservices.azure.com/`. | +| `spec.foundry.endpointFrom` | Exactly one endpoint field | Resolve the endpoint from a ConfigMap key. See [Endpoint from a ConfigMap](#endpoint-from-a-configmap). | +| `spec.foundry.deployment` | Always | Foundry model deployment name. | +| `spec.foundry.apiVersion` | Optional | Azure AI Foundry data-plane API version. Defaults to `2024-10-21`. | +| `spec.apiKeySecret` | Optional | Secret that contains the API key. Omit both this field and `apiKeyPassthrough` to use Workload Identity. Mutually exclusive with `apiKeyPassthrough`. | +| `spec.apiKeySecretKey` | With `apiKeySecret` | Key within `apiKeySecret` that contains the API key. | +| `spec.apiKeyPassthrough` | Optional | Let each caller supply its own Foundry API key instead of using a shared Secret. Mutually exclusive with `apiKeySecret`. See [Token passthrough](#token-passthrough). | + +## Authentication + +The runtime chooses a credential based on the fields in the `ModelConfig`. + +| Configuration | Credential | +| --- | --- | +| `apiKeySecret` is set | API key from the referenced Secret. | +| `apiKeyPassthrough: true` | Foundry API key supplied by the caller's A2A request. | +| Neither field is set | Azure Workload Identity. | + +### Workload Identity + +Omit `apiKeySecret` and `apiKeyPassthrough` to use Azure Workload Identity. For local development, the runtime tries to authenticate using your Azure CLI login. + +> **Note:** The runtime validates Azure credentials at startup. If credentials cannot be resolved, the agent does not become ready. + +```yaml +apiVersion: kagent.dev/v1alpha2 +kind: ModelConfig +metadata: + name: foundry-chat + namespace: kagent +spec: + provider: Foundry + model: gpt-4.1-nano + foundry: + endpoint: https://my-foundry-account.cognitiveservices.azure.com/ + deployment: gpt-4-1-nano + apiVersion: "2024-10-21" +``` + +See [Configure the agent for Azure Workload Identity](#configure-the-agent-for-azure-workload-identity) for the required agent settings. + +### Token passthrough + +Set `apiKeyPassthrough: true`, then send the Foundry API key as the bearer token in each Agent2Agent (A2A) request. The runtime forwards that value to Foundry as the API key. Use [Workload Identity](#workload-identity), not token passthrough, for Microsoft Entra ID authentication. + +```yaml +apiVersion: kagent.dev/v1alpha2 +kind: ModelConfig +metadata: + name: foundry-passthrough + namespace: kagent +spec: + provider: Foundry + model: gpt-4.1-nano + apiKeyPassthrough: true + foundry: + endpoint: https://my-foundry-account.cognitiveservices.azure.com/ + deployment: gpt-4-1-nano +``` + +## Endpoint from a ConfigMap + +To use an endpoint from a ConfigMap, set `foundry.endpointFrom` to the ConfigMap name and key. For example, [Azure Service Operator](https://azure.github.io/azure-service-operator/) (ASO) can provision the account and write its endpoint to a ConfigMap. + +```yaml +apiVersion: v1 +kind: ConfigMap +metadata: + name: foundry-account + namespace: kagent +data: + endpoint: https://my-foundry-account.cognitiveservices.azure.com/ +--- +apiVersion: kagent.dev/v1alpha2 +kind: ModelConfig +metadata: + name: foundry-chat + namespace: kagent +spec: + provider: Foundry + model: gpt-4.1-nano + foundry: + endpointFrom: + name: foundry-account + key: endpoint + deployment: gpt-4-1-nano + apiVersion: "2024-10-21" +``` + +The ConfigMap must be in the same namespace as the `ModelConfig`. + +> **Note:** Updating the endpoint value triggers a rolling update of agent pods that use this `ModelConfig` as their primary model. + +## Configure the agent for Azure Workload Identity + +First, follow the [AKS Workload Identity deployment guide](https://learn.microsoft.com/azure/aks/workload-identity-deploy-cluster) to configure your cluster and managed identity. Grant the identity the `Cognitive Services User` role on the Foundry resource. + +Azure Workload Identity requires the `azure.workload.identity/use: "true"` label on the agent pod and the managed identity client ID on its ServiceAccount. Configure the agent using one of the following options. + +### Let kagent create the ServiceAccount + +```yaml +apiVersion: kagent.dev/v1alpha2 +kind: Agent +metadata: + name: foundry-agent + namespace: kagent +spec: + type: Declarative + declarative: + runtime: go + modelConfig: foundry-chat + systemMessage: "You are a helpful assistant." + deployment: + labels: + azure.workload.identity/use: "true" + serviceAccountConfig: + annotations: + azure.workload.identity/client-id: +``` + +The ServiceAccount has the same name and namespace as the agent. Therefore, use `system:serviceaccount::` as the subject of the Azure federated identity credential. + +> **Note:** If you use Helm to configure a shared ServiceAccount with `controller.agentDeployment.serviceAccountName`, annotate that ServiceAccount and follow [Use an existing ServiceAccount](#use-an-existing-serviceaccount). + +### Use an existing ServiceAccount + +Create or reuse a pre-annotated ServiceAccount, then reference it from the agent. The pod label is still required. + +```yaml +apiVersion: v1 +kind: ServiceAccount +metadata: + name: foundry-workload-identity + namespace: kagent + annotations: + azure.workload.identity/client-id: +--- +apiVersion: kagent.dev/v1alpha2 +kind: Agent +metadata: + name: foundry-agent + namespace: kagent +spec: + type: Declarative + declarative: + runtime: go + modelConfig: foundry-chat + systemMessage: "You are a helpful assistant." + deployment: + serviceAccountName: foundry-workload-identity + labels: + azure.workload.identity/use: "true" +``` + +Use `system:serviceaccount::` as the subject of the Azure federated identity credential. + +## Memory embeddings + +Configure a memory embedding `ModelConfig` for a Foundry embedding deployment. + +```yaml +apiVersion: kagent.dev/v1alpha2 +kind: ModelConfig +metadata: + name: foundry-embeddings + namespace: kagent +spec: + provider: Foundry + model: text-embedding-3-small + foundry: + endpoint: https://my-foundry-account.cognitiveservices.azure.com/ + deployment: text-embedding-3-small + apiVersion: "2024-10-21" + # No API key: use Azure Workload Identity. +``` + +For the complete memory and embedding configuration and model requirements, see [Agent Memory](/docs/kagent/concepts/agent-memory). + +## Troubleshooting + +- **The `ModelConfig` reports `Accepted=False`:** Check whether the required `endpointFrom` ConfigMap and key exist with `kubectl describe modelconfig MODEL_CONFIG_NAME --namespace NAMESPACE`. +- **The agent fails to become ready with a Workload Identity credential error:** Confirm the pod label and ServiceAccount annotation, and verify that the federated credential subject matches the ServiceAccount used by the pod. +- **Foundry returns `401 Unauthorized` or `403 Forbidden`:** Confirm that the managed identity has the `Cognitive Services User` role on the Foundry resource, or that the configured API key has access to the resource. diff --git a/docs-site/content/kagent/supported-providers/azure-openai.md b/docs-site/content/kagent/supported-providers/azure-openai.md index 5317818e..ff10dc02 100644 --- a/docs-site/content/kagent/supported-providers/azure-openai.md +++ b/docs-site/content/kagent/supported-providers/azure-openai.md @@ -1,41 +1,69 @@ --- title: Azure OpenAI description: Learn how to configure Azure OpenAI models in kagent. -weight: 3 +weight: 3.5 author: kagent.dev --- ## Configuring Azure OpenAI -1. Create a Kubernetes Secret that stores the API key, replace `` with an actual API key: +The following steps use API key authentication. -```shell -export AZURE_OPENAI_API_KEY= -kubectl create secret generic kagent-azureopenai -n kagent --from-literal AZURE_OPENAI_API_KEY=$AZURE_OPENAI_API_KEY +1. Create a Kubernetes Secret that contains your Azure OpenAI API key. + +```bash +export AZURE_OPENAI_API_KEY="" + +kubectl create secret generic azure-openai-api-key \ + --namespace kagent \ + --from-literal=api-key="${AZURE_OPENAI_API_KEY}" ``` -2. Create a ModelConfig resource that references the secret and key name, and specify the additional information that's required for the Azure OpenAI - that's the deployment name, version and the Azure AD token. You can get these values from Azure. +2. Create a `ModelConfig` for your Azure OpenAI deployment. ```yaml apiVersion: kagent.dev/v1alpha2 kind: ModelConfig metadata: - name: azuredefault-model-config + name: azure-openai namespace: kagent spec: - apiKeySecret: kagent-azureopenai - apiKeySecretKey: AZURE_OPENAI_API_KEY + apiKeySecret: azure-openai-api-key + apiKeySecretKey: api-key model: gpt-4o-mini provider: AzureOpenAI azureOpenAI: - azureEndpoint: "https://{yourendpointname}.openai.azure.com/" + azureEndpoint: "https://.openai.azure.com/" apiVersion: "2025-03-01-preview" - azureDeployment: "gpt-4o-mini" - azureAdToken: + azureDeployment: gpt-4o-mini ``` For Azure OpenAI's standard models, kagent automatically configures the appropriate model capabilities. -3. Apply the above resource to the cluster. +3. Save the manifest as `azure-openai.yaml`, then apply it to your cluster. + +```bash +kubectl apply -f azure-openai.yaml +``` + +After you apply the `ModelConfig`, you can select it from the **Model** dropdown when you create or update an agent in the kagent UI. + +## Authentication + +| Configuration | Credential | +| --- | --- | +| `apiKeySecret` is set | API key from the referenced Secret. | +| `apiKeyPassthrough: true` | Azure OpenAI API key supplied as the bearer token in the caller's A2A request. This is not Microsoft Entra ID authentication. | +| Neither field is set | Azure Workload Identity. | + +### Workload Identity + +> **Note:** Azure Workload Identity requires the Go agent runtime (`runtime: go`). + +Omit `apiKeySecret` and `apiKeyPassthrough` to use Azure Workload Identity. For local development, the runtime tries to authenticate using your Azure CLI login. + +> **Note:** The runtime validates Azure credentials at startup. If credentials cannot be resolved, the agent does not become ready. + +Follow the [AKS Workload Identity deployment guide](https://learn.microsoft.com/azure/aks/workload-identity-deploy-cluster) and grant the managed identity the `Cognitive Services User` role. -Once the resource is applied, you can select the model from the Model dropdown in the UI when creating or updating agents. +The kagent pod and ServiceAccount settings are provider-independent. Follow [Configure the agent for Azure Workload Identity](/docs/kagent/supported-providers/azure-ai-foundry#configure-the-agent-for-azure-workload-identity) and set the agent's `modelConfig` to `azure-openai`. diff --git a/docs-site/content/kagent/supported-providers/byo-openai.md b/docs-site/content/kagent/supported-providers/byo-openai.md index 52f52de4..cfa7d381 100644 --- a/docs-site/content/kagent/supported-providers/byo-openai.md +++ b/docs-site/content/kagent/supported-providers/byo-openai.md @@ -51,6 +51,45 @@ You can bring your own model from an [OpenAI API-compatible](https://platform.op Good job! You added a model to kagent. Next, you can [create or update an agent](https://kagent.dev/docs/kagent/getting-started/first-agent) to use this model. +## Self-hosted vLLM behind an OpenAI-compatible gateway + +A common self-hosted pattern places an OpenAI-compatible gateway such as [Bifrost](https://github.com/maximhq/bifrost) or [LiteLLM](https://docs.litellm.ai/) in front of a [vLLM](https://docs.vllm.ai/) server (kagent → gateway → vLLM). Configure the gateway as an OpenAI-compatible provider, exactly as shown above, with two extra things to get right. + +### Enable tool calling in vLLM + +kagent sends a `tools` array with `tool_choice: "auto"` on every request. kagent's runtime registers a built-in `ask_user` tool on every agent, so a `tools` array is always sent, even when you configure no tools yourself. The vLLM backend **must** be launched with automatic tool choice enabled, or every agent turn fails. + +```bash +vllm serve Qwen/Qwen2.5-7B-Instruct \ + --enable-auto-tool-choice \ + --tool-call-parser hermes +``` + +The correct `--tool-call-parser` depends on your model family. For example, Qwen2.5 uses `hermes` and Llama 3.1 uses `llama3_json`. Parser names change across vLLM releases, so check the [vLLM tool calling docs](https://docs.vllm.ai/en/latest/features/tool_calling.html) for your model's current parser name. + +### Use the gateway's model identifier + +Set `spec.model` to the identifier your gateway routes on (often provider-prefixed, such as `vllm/Qwen/Qwen2.5-7B-Instruct`), which can differ from the bare model name vLLM serves internally. Point `openAI.baseUrl` at the gateway (LiteLLM defaults to port `4000`, Bifrost to `8080`). + +```yaml +apiVersion: kagent.dev/v1alpha2 +kind: ModelConfig +metadata: + name: qwen-vllm-via-gateway + namespace: kagent +spec: + apiKeySecret: kagent-my-provider + apiKeySecretKey: ${PROVIDER_API_KEY} + provider: OpenAI + model: vllm/Qwen/Qwen2.5-7B-Instruct + openAI: + baseUrl: http://litellm.kagent.svc.cluster.local:4000/v1 +``` + +### Troubleshooting: `provider API error (status 400)` + +If every agent message fails with a generic `status 400`, the most common cause is that vLLM started without `--enable-auto-tool-choice` and a matching `--tool-call-parser`. Because kagent always sends `tool_choice: "auto"`, vLLM rejects the request until automatic tool choice is enabled. Restart vLLM with the flags above and retry. + ## TLS Configuration To secure communication to LLMs with your own custom certificates, configure the TLS CA details in the `ModelConfig`. Then, your agents communicate with the LLM with those custom certificates. This feature is useful for internal or company-managed LLM servers. From 98d5927236bb5f65f68aadac553e86995d91d7dd Mon Sep 17 00:00:00 2001 From: Art Date: Tue, 18 Aug 2026 08:56:41 -0400 Subject: [PATCH 6/7] Update docs-site/content/kagent/resources/versions.md Signed-off-by: Art --- docs-site/content/kagent/resources/versions.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs-site/content/kagent/resources/versions.md b/docs-site/content/kagent/resources/versions.md index 196f005f..f40549bc 100644 --- a/docs-site/content/kagent/resources/versions.md +++ b/docs-site/content/kagent/resources/versions.md @@ -14,4 +14,6 @@ The tested version is sourced from `KIND_IMAGE_VERSION` in the [kagent Makefile] Kubernetes versions other than the one listed above are not tested in CI and are not guaranteed to work, though kagent's Kubernetes client libraries generally follow the [client-go version skew policy](https://github.com/kubernetes/client-go#compatibility-matrix). + From 36b5014c1a0f7e948050689a90b37cf26a1e296b Mon Sep 17 00:00:00 2001 From: artberger <20074219+artberger@users.noreply.github.com> Date: Wed, 19 Aug 2026 06:46:36 +0000 Subject: [PATCH 7/7] docs: Update kagent and kmcp API reference docs Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- docs-site/content/kagent/resources/helm.md | 111 ++------------------- 1 file changed, 7 insertions(+), 104 deletions(-) diff --git a/docs-site/content/kagent/resources/helm.md b/docs-site/content/kagent/resources/helm.md index e3198127..85eadd2f 100644 --- a/docs-site/content/kagent/resources/helm.md +++ b/docs-site/content/kagent/resources/helm.md @@ -13,16 +13,6 @@ A Helm chart for kagent, built with Google ADK | Repository | Name | Version | |------------|------|---------| | `${SUBSTRATE_REPO}` | substrate | `${SUBSTRATE_VERSION}` | -| file://../agents/argo-rollouts | argo-rollouts-agent | | -| file://../agents/cilium-debug | cilium-debug-agent | | -| file://../agents/cilium-manager | cilium-manager-agent | | -| file://../agents/cilium-policy | cilium-policy-agent | | -| file://../agents/helm | helm-agent | | -| file://../agents/istio | istio-agent | | -| file://../agents/k8s | k8s-agent | | -| file://../agents/kgateway | kgateway-agent | | -| file://../agents/observability | observability-agent | | -| file://../agents/promql | promql-agent | | | file://../tools/grafana-mcp | grafana-mcp | | | file://../tools/querydoc | querydoc | | | https://oauth2-proxy.github.io/manifests | oauth2-proxy | ~10.7.0 | @@ -34,48 +24,10 @@ A Helm chart for kagent, built with Google ADK | Key | Type | Default | Description | |-----|------|---------|-------------| | annotations | object | `{}` | Additional annotations to add to all Kubernetes deployment resources | -| argo-rollouts-agent.enabled | bool | `true` | | -| argo-rollouts-agent.memory.enabled | bool | `false` | | -| argo-rollouts-agent.memory.modelConfigRef | string | `""` | | -| argo-rollouts-agent.memory.ttlDays | int | `15` | | -| argo-rollouts-agent.modelConfigRef | string | `""` | | -| argo-rollouts-agent.resources.limits.memory | string | `"256Mi"` | | -| argo-rollouts-agent.resources.requests.cpu | string | `"50m"` | | -| argo-rollouts-agent.resources.requests.memory | string | `"128Mi"` | | -| cilium-debug-agent.enabled | bool | `true` | | -| cilium-debug-agent.memory.enabled | bool | `false` | | -| cilium-debug-agent.memory.modelConfigRef | string | `""` | | -| cilium-debug-agent.memory.ttlDays | int | `15` | | -| cilium-debug-agent.modelConfigRef | string | `""` | | -| cilium-debug-agent.resources.limits.memory | string | `"256Mi"` | | -| cilium-debug-agent.resources.requests.cpu | string | `"50m"` | | -| cilium-debug-agent.resources.requests.memory | string | `"128Mi"` | | -| cilium-manager-agent.enabled | bool | `true` | | -| cilium-manager-agent.memory.enabled | bool | `false` | | -| cilium-manager-agent.memory.modelConfigRef | string | `""` | | -| cilium-manager-agent.memory.ttlDays | int | `15` | | -| cilium-manager-agent.modelConfigRef | string | `""` | | -| cilium-manager-agent.resources.limits.memory | string | `"256Mi"` | | -| cilium-manager-agent.resources.requests.cpu | string | `"50m"` | | -| cilium-manager-agent.resources.requests.memory | string | `"128Mi"` | | -| cilium-policy-agent.enabled | bool | `true` | | -| cilium-policy-agent.memory.enabled | bool | `false` | | -| cilium-policy-agent.memory.modelConfigRef | string | `""` | | -| cilium-policy-agent.memory.ttlDays | int | `15` | | -| cilium-policy-agent.modelConfigRef | string | `""` | | -| cilium-policy-agent.resources.limits.memory | string | `"256Mi"` | | -| cilium-policy-agent.resources.requests.cpu | string | `"50m"` | | -| cilium-policy-agent.resources.requests.memory | string | `"128Mi"` | | | controller.a2aBaseUrl | string | `http://-controller..svc:` | The base URL of the A2A Server endpoint, as advertised to clients. | | controller.a2aClientTimeout | string | "" (no timeout) | HTTP client timeout for A2A requests from the controller to agent pods. 0 (the default) means no timeout, which is correct for SSE-based streaming agents that can run for an arbitrarily long time. The previous implicit default was 3m (inherited from the a2a-go SDK), which caused `context deadline exceeded` errors for agents that take longer than 3 minutes to complete. Set a positive Go duration string (e.g. "30m", "1h") only if you need a hard upper bound on individual A2A calls. | +| controller.a2aGatewayUrl | string | `http://-controller..svc:` | Public gRPC URL advertised by AgentInstance Agent Cards. | | controller.affinity | object | `{}` | [Affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) rules for the controller pod. | -| controller.agentDeployment | object | `{"host":"","nodeSelector":{},"podLabels":{},"serviceAccountName":""}` | Global deployment defaults applied to all agent pods. Per-agent settings in the Agent CRD take precedence over these defaults. | -| controller.agentDeployment.host | string | "" (controller falls back to "0.0.0.0"; "::" when ipv6.enabled) | Default host address for agent pods to bind to. Leave empty to use the controller's default fallback of "0.0.0.0". Automatically set to "::" when ipv6.enabled is true. Can be explicitly overridden here regardless of the ipv6 flag. | -| controller.agentDeployment.nodeSelector | object | {} (no default nodeSelector) | Default nodeSelector applied to all agent deployments. Useful when admission policies require a nodeSelector on every Deployment, since wizard-created Agents carry none. A per-agent nodeSelector in the Agent CRD takes precedence over these defaults. | -| controller.agentDeployment.podLabels | object | {} (no extra labels) | Default labels applied to all agent pod templates. Per-agent labels in the Agent CRD take precedence over these defaults. | -| controller.agentDeployment.serviceAccountName | string | "" (auto-create per-agent ServiceAccount) | Default ServiceAccount name for agent pods. When set, agent pods that don't specify an explicit serviceAccountName will use this ServiceAccount instead of creating a per-agent one. Useful for Workload Identity (GCP, AWS IRSA, Azure Workload Identity). Precedence: agent-level serviceAccountName > this default > auto-created SA. | -| controller.agentImage.pullPolicy | string | `""` | | -| controller.agentImage.pullSecret | string | `""` | Image pull secret name set on agent pods created by the controller | | controller.agentImage.registry | string | `""` | | | controller.agentImage.repository | string | `"kagent-dev/kagent/app"` | | | controller.agentImage.tag | string | `""` | | @@ -84,7 +36,8 @@ A Helm chart for kagent, built with Google ADK | controller.auth.userIdClaim | string | `""` | | | controller.env | list | `[]` | | | controller.envFrom | list | `[]` | | -| controller.goAgentImage | object | `{"pullPolicy":"","registry":"","repository":"kagent-dev/kagent/golang-adk","tag":""}` | The image used for the Go (ADK) runtime agent. | +| controller.goAgentImage | object | `{"registry":"","repository":"kagent-dev/kagent/golang-adk","tag":""}` | The image used for the Go (ADK) runtime agent. | +| controller.grpc | object | `{"bindAddress":":8084","maxMessageBytes":16777216,"reflection":false,"tlsCertFile":"","tlsKeyFile":""}` | Native gRPC application API settings. This port is internal unless a separate TLS-capable GRPCRoute or ingress is configured. | | controller.image.pullPolicy | string | `""` | | | controller.image.registry | string | `""` | | | controller.image.repository | string | `"kagent-dev/kagent/controller"` | | @@ -109,21 +62,18 @@ A Helm chart for kagent, built with Google ADK | controller.resources.requests.cpu | string | `"100m"` | | | controller.resources.requests.memory | string | `"128Mi"` | | | controller.service.annotations | object | `{}` | | +| controller.service.ports.grpc | int | `8084` | | | controller.service.ports.port | int | `8083` | | | controller.service.ports.targetPort | int | `8083` | | | controller.service.type | string | `"ClusterIP"` | | | controller.serviceAccount | object | `{"annotations":{}}` | ServiceAccount settings for the controller pod | | controller.serviceAccount.annotations | object | {} (no extra annotations) | Annotations to add to the controller ServiceAccount. Useful for GCP Workload Identity, AWS IRSA, or Azure Workload Identity. | -| controller.skillsInitImage | object | `{"pullPolicy":"","registry":"","repository":"kagent-dev/kagent/skills-init","tag":""}` | The image used by the skills-init container to clone skills from Git and pull OCI skill images. | +| controller.skillsInitImage | object | `{"registry":"","repository":"kagent-dev/kagent/skills-init","tag":""}` | The image used by the skills-init container to clone skills from Git and pull OCI skill images. | | controller.startupProbe | object | httpGet /health on port http, periodSeconds=15, initialDelaySeconds=15 | Custom startup probe for the controller container. Setting a value replaces the default probe entirely — include a handler (httpGet / exec / tcpSocket / grpc) when overriding. | | controller.streaming | string | `nil` | @deprecated Removed in 0.10.0. The A2A SDK now handles SSE buffering and timeouts internally. These values have no effect and will be removed in a future release. | | controller.substrate.ateApiEndpoint | string | `""` | | -| controller.substrate.ateApiInsecure | bool | `false` | | | controller.substrate.ateApiServer.namespace | string | `"ate-system"` | | | controller.substrate.ateApiServer.serviceAccount | string | `"ate-api-server"` | | -| controller.substrate.ateApiTokenAudience | string | `"api.ate-system.svc"` | | -| controller.substrate.ateApiTokenExpirationSeconds | int | `3600` | | -| controller.substrate.ateApiTokenFile | string | `"/var/run/secrets/tokens/ate-api/token"` | | | controller.substrate.atenetRouterURL | string | `""` | | | controller.substrate.defaultWorkerPool.name | string | `""` | | | controller.substrate.defaultWorkerPool.namespace | string | `""` | | @@ -160,33 +110,9 @@ A Helm chart for kagent, built with Google ADK | grafana-mcp.resources.limits.memory | string | `"512Mi"` | | | grafana-mcp.resources.requests.cpu | string | `"100m"` | | | grafana-mcp.resources.requests.memory | string | `"128Mi"` | | -| helm-agent.enabled | bool | `true` | | -| helm-agent.memory.enabled | bool | `false` | | -| helm-agent.memory.modelConfigRef | string | `""` | | -| helm-agent.memory.ttlDays | int | `15` | | -| helm-agent.modelConfigRef | string | `""` | | -| helm-agent.resources.limits.memory | string | `"256Mi"` | | -| helm-agent.resources.requests.cpu | string | `"50m"` | | -| helm-agent.resources.requests.memory | string | `"128Mi"` | | | imagePullPolicy | string | `"IfNotPresent"` | | | imagePullSecrets | list | `[]` | | | ipv6 | object | false | Enable IPv6/dual-stack support. When true, configures all components for dual-stack (IPv4+IPv6) networking: - nginx listens on both IPv4 and IPv6 (adds `listen [::]:8080`) - Next.js binds to `::` instead of `0.0.0.0` - Agent pods bind to `::` for dual-stack reachability Leave disabled on clusters where IPv6 is disabled at the kernel level. | -| istio-agent.enabled | bool | `true` | | -| istio-agent.memory.enabled | bool | `false` | | -| istio-agent.memory.modelConfigRef | string | `""` | | -| istio-agent.memory.ttlDays | int | `15` | | -| istio-agent.modelConfigRef | string | `""` | | -| istio-agent.resources.limits.memory | string | `"256Mi"` | | -| istio-agent.resources.requests.cpu | string | `"50m"` | | -| istio-agent.resources.requests.memory | string | `"128Mi"` | | -| k8s-agent.enabled | bool | `true` | | -| k8s-agent.memory.enabled | bool | `false` | | -| k8s-agent.memory.modelConfigRef | string | `""` | | -| k8s-agent.memory.ttlDays | int | `15` | | -| k8s-agent.modelConfigRef | string | `""` | | -| k8s-agent.resources.limits.memory | string | `"256Mi"` | | -| k8s-agent.resources.requests.cpu | string | `"50m"` | | -| k8s-agent.resources.requests.memory | string | `"128Mi"` | | | kagent-tools.enabled | bool | `true` | | | kagent-tools.nameOverride | string | `"tools"` | | | kagent-tools.nodeSelector | object | `{}` | Node labels to match for `Pod` [scheduling](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/). | @@ -202,14 +128,6 @@ A Helm chart for kagent, built with Google ADK | kagent-tools.tolerations | list | `[]` | Node taints which will be tolerated for `Pod` [scheduling](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/). | | kagent-tools.tools.loglevel | string | `"debug"` | | | kagent-tools.tools.metrics.port | int | `8085` | | -| kgateway-agent.enabled | bool | `true` | | -| kgateway-agent.memory.enabled | bool | `false` | | -| kgateway-agent.memory.modelConfigRef | string | `""` | | -| kgateway-agent.memory.ttlDays | int | `15` | | -| kgateway-agent.modelConfigRef | string | `""` | | -| kgateway-agent.resources.limits.memory | string | `"256Mi"` | | -| kgateway-agent.resources.requests.cpu | string | `"50m"` | | -| kgateway-agent.resources.requests.memory | string | `"128Mi"` | | | kmcp.enabled | bool | `true` | | | kmcp.fullnameOverride | string | `""` | | | kmcp.nameOverride | string | `"kmcp"` | | @@ -252,14 +170,6 @@ A Helm chart for kagent, built with Google ADK | oauth2-proxy.service.portNumber | int | `4180` | | | oauth2-proxy.service.type | string | `"ClusterIP"` | | | oauth2-proxy.sessionStorage.type | string | `"cookie"` | | -| observability-agent.enabled | bool | `true` | | -| observability-agent.memory.enabled | bool | `false` | | -| observability-agent.memory.modelConfigRef | string | `""` | | -| observability-agent.memory.ttlDays | int | `15` | | -| observability-agent.modelConfigRef | string | `""` | | -| observability-agent.resources.limits.memory | string | `"256Mi"` | | -| observability-agent.resources.requests.cpu | string | `"50m"` | | -| observability-agent.resources.requests.memory | string | `"128Mi"` | | | otel.logging.enabled | bool | `false` | | | otel.logging.exporter.otlp.endpoint | string | `""` | | | otel.logging.exporter.otlp.insecure | bool | `true` | | @@ -272,14 +182,6 @@ A Helm chart for kagent, built with Google ADK | podAnnotations | object | `{}` | | | podLabels | object | `{}` | Additional labels to add to all pod templates (merged into pod labels of the controller and UI Deployments; can be overridden per component). Useful for admission policies that require specific labels on pods. | | podSecurityContext | object | `{"runAsNonRoot":true,"seccompProfile":{"type":"RuntimeDefault"}}` | Security context for all pods | -| promql-agent.enabled | bool | `true` | | -| promql-agent.memory.enabled | bool | `false` | | -| promql-agent.memory.modelConfigRef | string | `""` | | -| promql-agent.memory.ttlDays | int | `15` | | -| promql-agent.modelConfigRef | string | `""` | | -| promql-agent.resources.limits.memory | string | `"256Mi"` | | -| promql-agent.resources.requests.cpu | string | `"50m"` | | -| promql-agent.resources.requests.memory | string | `"128Mi"` | | | providers.annotations | object | `{}` | Annotations added to the metadata of the generated default ModelConfig (the one derived from `providers.default`). Omitted from the resource when empty. | | providers.anthropic.apiKeySecretKey | string | `"ANTHROPIC_API_KEY"` | | | providers.anthropic.apiKeySecretRef | string | `"kagent-anthropic"` | | @@ -296,7 +198,7 @@ A Helm chart for kagent, built with Google ADK | providers.default | string | `"openAI"` | | | providers.gemini.apiKeySecretKey | string | `"GOOGLE_API_KEY"` | | | providers.gemini.apiKeySecretRef | string | `"kagent-gemini"` | | -| providers.gemini.model | string | `"gemini-2.0-flash-lite"` | | +| providers.gemini.model | string | `"gemini-2.5-flash-lite"` | | | providers.gemini.provider | string | `"Gemini"` | | | providers.ollama.config.host | string | `"host.docker.internal:11434"` | | | providers.ollama.config.options.num_ctx | string | `"64000"` | | @@ -329,6 +231,7 @@ A Helm chart for kagent, built with Google ADK | ui.affinity | object | `{}` | [Affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) rules for the UI pod. | | ui.annotations | object | `{}` | Additional annotations to add to the UI Deployment metadata | | ui.auth.ssoRedirectPath | string | `"/oauth2/start"` | | +| ui.backendGrpcUrl | string | `""` | | | ui.backendInternalUrl | string | `""` | | | ui.env | object | `{}` | | | ui.externalUrl | string | "" (share tools return paths only) | Public-facing base URL of the UI (e.g. https://kagent.example.com). When set, the controller injects KAGENT_UI_URL into agent pods so that share link tools return full clickable URLs instead of relative paths. |