From 941ef4aa599129e63d484b4e1d5ed570426e4b84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20Schmitz=20von=20H=C3=BClst?= Date: Wed, 11 Nov 2026 17:37:11 +0100 Subject: [PATCH] docs: cover the BYO harness path in the UI (#539) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Moritz Schmitz von Hülst --- .../kagent/latest/agents/bring-your-own-agent.md | 10 ++++++++++ .../content/kagent/main/agents/bring-your-own-agent.md | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/docs-site/content/kagent/latest/agents/bring-your-own-agent.md b/docs-site/content/kagent/latest/agents/bring-your-own-agent.md index e55f2603..d5447d14 100644 --- a/docs-site/content/kagent/latest/agents/bring-your-own-agent.md +++ b/docs-site/content/kagent/latest/agents/bring-your-own-agent.md @@ -153,6 +153,16 @@ EOF To configure the agent from Kubernetes instead, add the fields that any AgentTemplate takes, and read `/config/config.json` in the image. For what those fields mean, see [Your first agent]({{< link path="get-started/your-first-agent#create-a-harness-an-agenttemplate-and-an-agent" >}}). +## Create a BYO Harness in the UI + +The [kagent UI]({{< link path="ui/launch-ui" >}}) is another route to the same contract, not a separate feature. On the **Agents** page, **New Harness** opens the Harness form; pick `byo` under **Runtime adapter**. + +The form asks for the two fields [The A2A contract](#the-a2a-contract) says a `byo` Harness must satisfy: **Workload image**, pinned by `sha256` digest, and **Command**, which overrides the image entrypoint. Enter each part of the command and press Enter. **Arguments** is optional. **Create harness** stays disabled while the form reports a problem, so a `byo` Harness with no command cannot be submitted from the UI either. The rule is the same as the API's `BYO harnesses must specify workload.command` rejection; only the moment it is enforced differs — authoring instead of apply. + +The **Harnesses** tab reports the runtime of each Harness, and shows `byo` for a bring-your-own one. + +A BYO image decides its own model calls, so the model is optional on a `byo` agent. The Agent form asks for a model configuration only when the selected Harness is not `byo`, and it warns when the Harness you pair a template with still needs one. + ## Build the image The A2A contract is a gRPC service and a readiness endpoint, so any language with a gRPC server can satisfy it. kagent ships helpers for Go and Python. To build and run a minimal image end to end before writing your own, see [Run your own agent image]({{< link path="examples/a2a-byo" >}}). diff --git a/docs-site/content/kagent/main/agents/bring-your-own-agent.md b/docs-site/content/kagent/main/agents/bring-your-own-agent.md index e55f2603..d5447d14 100644 --- a/docs-site/content/kagent/main/agents/bring-your-own-agent.md +++ b/docs-site/content/kagent/main/agents/bring-your-own-agent.md @@ -153,6 +153,16 @@ EOF To configure the agent from Kubernetes instead, add the fields that any AgentTemplate takes, and read `/config/config.json` in the image. For what those fields mean, see [Your first agent]({{< link path="get-started/your-first-agent#create-a-harness-an-agenttemplate-and-an-agent" >}}). +## Create a BYO Harness in the UI + +The [kagent UI]({{< link path="ui/launch-ui" >}}) is another route to the same contract, not a separate feature. On the **Agents** page, **New Harness** opens the Harness form; pick `byo` under **Runtime adapter**. + +The form asks for the two fields [The A2A contract](#the-a2a-contract) says a `byo` Harness must satisfy: **Workload image**, pinned by `sha256` digest, and **Command**, which overrides the image entrypoint. Enter each part of the command and press Enter. **Arguments** is optional. **Create harness** stays disabled while the form reports a problem, so a `byo` Harness with no command cannot be submitted from the UI either. The rule is the same as the API's `BYO harnesses must specify workload.command` rejection; only the moment it is enforced differs — authoring instead of apply. + +The **Harnesses** tab reports the runtime of each Harness, and shows `byo` for a bring-your-own one. + +A BYO image decides its own model calls, so the model is optional on a `byo` agent. The Agent form asks for a model configuration only when the selected Harness is not `byo`, and it warns when the Harness you pair a template with still needs one. + ## Build the image The A2A contract is a gRPC service and a readiness endpoint, so any language with a gRPC server can satisfy it. kagent ships helpers for Go and Python. To build and run a minimal image end to end before writing your own, see [Run your own agent image]({{< link path="examples/a2a-byo" >}}).