From a5f90c9cfab9a48bda3cd15f10a77a810f209496 Mon Sep 17 00:00:00 2001 From: Rachael-Graham <29711887+Rachael-Graham@users.noreply.github.com> Date: Tue, 22 Sep 2026 17:08:38 +0000 Subject: [PATCH] docs: Update kagent 1.x and kmcp reference docs Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .../kagent-docs/versions/agent-substrate.md | 2 +- .../assets/kagent-docs/versions/kagent.md | 2 +- .../versions/runtime-image-claude.md | 2 +- .../kagent-docs/versions/runtime-image.md | 2 +- .../content/kagent/1.x/reference/api-ref.md | 181 +++++++++++------- .../content/kagent/1.x/reference/helm.md | 32 +++- docs-site/content/kmcp/reference/api-ref.md | 36 ++-- .../content/kmcp/reference/cli/_index.md | 2 +- .../kmcp/reference/cli/kmcp-add-tool.md | 2 +- .../content/kmcp/reference/cli/kmcp-build.md | 2 +- .../reference/cli/kmcp-completion-bash.md | 2 +- .../reference/cli/kmcp-completion-fish.md | 2 +- .../cli/kmcp-completion-powershell.md | 2 +- .../kmcp/reference/cli/kmcp-completion-zsh.md | 2 +- .../kmcp/reference/cli/kmcp-completion.md | 2 +- .../kmcp/reference/cli/kmcp-deploy-package.md | 2 +- .../content/kmcp/reference/cli/kmcp-deploy.md | 2 +- .../kmcp/reference/cli/kmcp-init-go.md | 2 +- .../kmcp/reference/cli/kmcp-init-java.md | 2 +- .../kmcp/reference/cli/kmcp-init-python.md | 2 +- .../reference/cli/kmcp-init-typescript.md | 2 +- .../content/kmcp/reference/cli/kmcp-init.md | 2 +- .../kmcp/reference/cli/kmcp-install.md | 2 +- .../content/kmcp/reference/cli/kmcp-run.md | 2 +- .../kmcp/reference/cli/kmcp-secrets-sync.md | 2 +- .../kmcp/reference/cli/kmcp-secrets.md | 2 +- 26 files changed, 175 insertions(+), 120 deletions(-) diff --git a/docs-site/assets/kagent-docs/versions/agent-substrate.md b/docs-site/assets/kagent-docs/versions/agent-substrate.md index d3a3eb56..69df32e8 100644 --- a/docs-site/assets/kagent-docs/versions/agent-substrate.md +++ b/docs-site/assets/kagent-docs/versions/agent-substrate.md @@ -1 +1 @@ -{{< version include-if="0.x" >}}0.0.9{{< /version >}}{{< version include-if="1.x" >}}0.2.0-beta4{{< /version >}} \ No newline at end of file +{{< version include-if="0.x" >}}0.0.9{{< /version >}}{{< version include-if="1.x" >}}0.2.0-beta5{{< /version >}} \ No newline at end of file diff --git a/docs-site/assets/kagent-docs/versions/kagent.md b/docs-site/assets/kagent-docs/versions/kagent.md index 705d98cb..274aad72 100644 --- a/docs-site/assets/kagent-docs/versions/kagent.md +++ b/docs-site/assets/kagent-docs/versions/kagent.md @@ -1 +1 @@ -{{< version include-if="0.x" >}}0.10.1{{< /version >}}{{< version include-if="1.x" >}}1.0.0-alpha1{{< /version >}} \ No newline at end of file +{{< version include-if="0.x" >}}0.10.1{{< /version >}}{{< version include-if="1.x" >}}1.0.0-alpha2{{< /version >}} \ No newline at end of file diff --git a/docs-site/assets/kagent-docs/versions/runtime-image-claude.md b/docs-site/assets/kagent-docs/versions/runtime-image-claude.md index 4593664e..69c35641 100644 --- a/docs-site/assets/kagent-docs/versions/runtime-image-claude.md +++ b/docs-site/assets/kagent-docs/versions/runtime-image-claude.md @@ -1 +1 @@ -ghcr.io/kagent-dev/kagent/claude-harness@sha256:23b59459d66ce3162892239b035ba924cd1d64a6e3826db277599e9a98b2f36a \ No newline at end of file +ghcr.io/kagent-dev/kagent/claude-harness@sha256:6794f2d25be053766030dcd15aa0da58747a425bcf423e851ad0b6870d79d1b5 \ No newline at end of file diff --git a/docs-site/assets/kagent-docs/versions/runtime-image.md b/docs-site/assets/kagent-docs/versions/runtime-image.md index c04e1f15..d4537392 100644 --- a/docs-site/assets/kagent-docs/versions/runtime-image.md +++ b/docs-site/assets/kagent-docs/versions/runtime-image.md @@ -1 +1 @@ -ghcr.io/kagent-dev/kagent/golang-adk@sha256:c8ab012e9774d50e20ffa8cd035ddebff69486a2843b3af281f5f6ebc67ab512 \ No newline at end of file +ghcr.io/kagent-dev/kagent/golang-adk@sha256:0ef67974d39518b18de074bd9762fb4aea9764fc8836eeb45d7868b358eecb30 \ No newline at end of file diff --git a/docs-site/content/kagent/1.x/reference/api-ref.md b/docs-site/content/kagent/1.x/reference/api-ref.md index 7de7842b..d4884c6f 100644 --- a/docs-site/content/kagent/1.x/reference/api-ref.md +++ b/docs-site/content/kagent/1.x/reference/api-ref.md @@ -30,7 +30,7 @@ AgentTemplate defines portable agent behavior. | `kind` _string_ | Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | | | | `apiVersion` _string_ | APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | | | | `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | -| `spec` _[AgentTemplateSpec](#agenttemplatespec)_ | | | | +| `spec` _[AgentTemplateSpec](#agenttemplatespec)_ | | | **Required**
| | `status` _[AgentTemplateStatus](#agenttemplatestatus)_ | | | | #### AgentTemplateConfigMapKeyReference @@ -42,8 +42,8 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `name` _string_ | | | MinLength: 1
| -| `key` _string_ | | | MinLength: 1
| +| `name` _string_ | | | MinLength: 1
**Required**
| +| `key` _string_ | | | MinLength: 1
**Required**
| #### AgentTemplateHarnessStatus @@ -54,8 +54,8 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `harness` _string_ | Harness names a same-namespace Harness whose admission selector matches
this AgentTemplate. | | MinLength: 1
| -| `desiredRevision` _string_ | | | MinLength: 1
| +| `harness` _string_ | Harness names a same-namespace Harness whose admission selector matches
this AgentTemplate. | | MinLength: 1
**Required**
| +| `desiredRevision` _string_ | | | MinLength: 1
**Required**
| | `latestSuccessfulRevision` _string_ | | | MinLength: 1
| | `warnings` _string array_ | Warnings reports non-blocking compatibility decisions made while compiling
this AgentTemplate for the Harness. | | MaxItems: 100
| | `conditions` _[Condition](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#condition-v1-meta) array_ | | | MaxItems: 4
| @@ -69,7 +69,7 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `name` _string_ | | | MinLength: 1
| +| `name` _string_ | | | MinLength: 1
**Required**
| | `alias` _string_ | Alias is the name used by include. The ConfigMap name is used when omitted. | | MinLength: 1
| #### AgentTemplatePromptTemplateSpec @@ -92,8 +92,8 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `name` _string_ | | | MinLength: 1
| -| `source` _[ArtifactSource](#artifactsource)_ | | | | +| `name` _string_ | | | MinLength: 1
**Required**
| +| `source` _[ArtifactSource](#artifactsource)_ | | | **Required**
| #### AgentTemplateSpec @@ -134,9 +134,9 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `name` _string_ | | | MinLength: 1
| -| `description` _string_ | Description tells the parent when to route work to this binding. | | MinLength: 1
| -| `templateRef` _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#localobjectreference-v1-core)_ | | | | +| `name` _string_ | | | MinLength: 1
**Required**
| +| `description` _string_ | Description tells the parent when to route work to this binding. | | MinLength: 1
**Required**
| +| `templateRef` _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#localobjectreference-v1-core)_ | | | **Required**
| | `isolation` _[AgentToolIsolation](#agenttoolisolation)_ | | Shared | Enum: [Shared Dedicated]
| #### AgentToolIsolation @@ -194,8 +194,8 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `projectID` _string_ | The project ID | | | -| `location` _string_ | The project location | | | +| `projectID` _string_ | The project ID | | **Required**
| +| `location` _string_ | The project location | | **Required**
| | `temperature` _string_ | Temperature | | | | `topP` _string_ | Top-p sampling parameter | | | | `topK` _string_ | Top-k sampling parameter | | | @@ -226,8 +226,8 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `azureEndpoint` _string_ | Endpoint for the Azure OpenAI API | | | -| `apiVersion` _string_ | API version for the Azure OpenAI API | | | +| `azureEndpoint` _string_ | Endpoint for the Azure OpenAI API | | **Required**
| +| `apiVersion` _string_ | API version for the Azure OpenAI API | | **Required**
| | `azureDeployment` _string_ | Deployment name for the Azure OpenAI API | | | | `azureAdToken` _string_ | Azure AD token for authentication | | | | `temperature` _string_ | Temperature for sampling | | | @@ -249,8 +249,8 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `projectID` _string_ | The project ID | | | -| `location` _string_ | The project location | | | +| `projectID` _string_ | The project ID | | **Required**
| +| `location` _string_ | The project location | | **Required**
| | `temperature` _string_ | Temperature | | | | `topP` _string_ | Top-p sampling parameter | | | | `topK` _string_ | Top-k sampling parameter | | | @@ -265,10 +265,10 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `region` _string_ | AWS region where the Bedrock model is available (e.g., us-east-1, us-west-2) | | | +| `region` _string_ | AWS region where the Bedrock model is available (e.g., us-east-1, us-west-2) | | **Required**
| | `additionalModelRequestFields` _[JSON](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#json-v1-apiextensions-k8s-io)_ | AdditionalModelRequestFields passes model-specific parameters to Bedrock's
additionalModelRequestFields in the Converse API. Use this for provider-specific
options that are not part of the standard InferenceConfiguration block, such as
Claude extended thinking or top_k. Values are forwarded as-is to the API.
Example: \{"top_k": 5, "thinking": \{"type": "enabled", "budget_tokens": 16000\}\} | | | -| `promptCaching` _boolean_ | PromptCaching enables Bedrock prompt caching by appending a CachePoint
block at the end of the Converse request's `system` content array and
the end of the `toolConfig.tools` array. Bedrock will cache the prefix up to and
including those cache points across requests in the same region for
roughly 5 minutes after first use, billing the cached portion at a
reduced rate on cache hits.

Recommended for tool-using agents that make many Converse calls per
task with a stable system prompt and tool set — the per-call input
token count can drop by 70-90% on hit. Has no effect on models that
don't support caching; the marker is ignored by Bedrock for those.

See https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-caching.html
for the current list of supported models and minimum prefix sizes. | false | | -| `cacheTTL` _string_ | CacheTTL controls how long Bedrock retains a cached prefix when
PromptCaching is enabled. Only meaningful when PromptCaching is true.

- "5m" (default): Bedrock's standard 5-minute sliding cache. Each cache
hit refreshes the window. Supported by all prompt-caching models.
- "1h": extended-TTL caching, useful for tasks whose Converse calls are
spaced more than 5 minutes apart.

NOTE: "1h" is NOT strictly better than "5m". Extended-TTL cache writes are
billed at a higher per-token rate than 5-minute writes, and 1h is supported
on a narrower set of models. Only choose "1h" when calls are spaced far
enough apart that a 5-minute cache would expire between them; otherwise the
higher write cost is wasted. See the AWS prompt-caching docs above. | 5m | Enum: [5m 1h]
| +| `promptCaching` _boolean_ | PromptCaching enables Bedrock prompt caching by appending a CachePoint
block at the end of the Converse request's `system` content array and
the end of the `toolConfig.tools` array. Bedrock will cache the prefix up to and
including those cache points across requests in the same region for
roughly 5 minutes after first use, billing the cached portion at a
reduced rate on cache hits.
Recommended for tool-using agents that make many Converse calls per
task with a stable system prompt and tool set — the per-call input
token count can drop by 70-90% on hit. Has no effect on models that
don't support caching; the marker is ignored by Bedrock for those.
See https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-caching.html
for the current list of supported models and minimum prefix sizes. | false | | +| `cacheTTL` _string_ | CacheTTL controls how long Bedrock retains a cached prefix when
PromptCaching is enabled. Only meaningful when PromptCaching is true.
- "5m" (default): Bedrock's standard 5-minute sliding cache. Each cache
hit refreshes the window. Supported by all prompt-caching models.
- "1h": extended-TTL caching, useful for tasks whose Converse calls are
spaced more than 5 minutes apart.
NOTE: "1h" is NOT strictly better than "5m". Extended-TTL cache writes are
billed at a higher per-token rate than 5-minute writes, and 1h is supported
on a narrower set of models. Only choose "1h" when calls are spaced far
enough apart that a 5-minute cache would expire between them; otherwise the
higher write cost is wasted. See the AWS prompt-caching docs above. | 5m | Enum: [5m 1h]
| | `guardrail` _[BedrockGuardrailConfig](#bedrockguardrailconfig)_ | | | | | `readTimeout` _integer_ | ReadTimeout is the Bedrock HTTP client read timeout in seconds, applied by
both the Python and Go ADK runtimes. Raise this for agents that make long
Converse calls (large tool-augmented turns, extended reasoning). On the
Python ADK it overrides botocore's ~60s read timeout, which otherwise
aborts long completions with a ReadTimeoutError; on the Go ADK it bounds
the whole Converse request (default 30m). When unset, each runtime's
default is used. | | Minimum: 1
| | `connectTimeout` _integer_ | ConnectTimeout is the Bedrock HTTP client connection-establishment timeout
in seconds, applied by both the Python and Go ADK runtimes. It bounds
connection setup only, not the response read. When unset, each runtime's
default is used (Python ADK: botocore; Go ADK: net dialer). | | Minimum: 1
| @@ -280,8 +280,8 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `identifier` _string_ | Identifier is the guardrail ID or full ARN. AWS accepts either a bare
guardrail ID or an arn:aws:bedrock:...:guardrail/... ARN, so the value is
only length-bounded here (AWS caps guardrailIdentifier at 2048 chars). | | MaxLength: 2048
MinLength: 1
| -| `version` _string_ | Version is the guardrail version: a numeric version (e.g. "1") or "DRAFT". | | MaxLength: 8
MinLength: 1
| +| `identifier` _string_ | Identifier is the guardrail ID or full ARN. AWS accepts either a bare
guardrail ID or an arn:aws:bedrock:...:guardrail/... ARN, so the value is
only length-bounded here (AWS caps guardrailIdentifier at 2048 chars). | | MaxLength: 2048
MinLength: 1
**Required**
| +| `version` _string_ | Version is the guardrail version: a numeric version (e.g. "1") or "DRAFT". | | MaxLength: 8
MinLength: 1
**Required**
| | `trace` _string_ | | disabled | Enum: [disabled enabled enabled_full]
| #### BucketArtifact @@ -293,7 +293,7 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `s3` _[S3Object](#s3object)_ | | | | +| `s3` _[S3Object](#s3object)_ | | | **Required**
| #### ClaudeHarness @@ -339,8 +339,8 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | | `endpoint` _string_ | Endpoint is the Foundry or Azure AI Services account endpoint
(e.g., https://my-account.cognitiveservices.azure.com/).
Mutually exclusive with EndpointFrom. | | | -| `endpointFrom` _[ConfigMapKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#configmapkeyselector-v1-core)_ | EndpointFrom resolves the Foundry endpoint from a ConfigMap key, such as
one written by Azure Service Operator. Mutually exclusive with Endpoint.

The selector's optional flag only controls how a missing key is handled: when
set to true, the missing key is ignored while reading the ConfigMap, but a
Foundry endpoint must always be supplied, so an unresolved endpointFrom still
leaves the model unusable and the agent fails to start. | | | -| `deployment` _string_ | Deployment is the Foundry model deployment name. | | | +| `endpointFrom` _[ConfigMapKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#configmapkeyselector-v1-core)_ | EndpointFrom resolves the Foundry endpoint from a ConfigMap key, such as
one written by Azure Service Operator. Mutually exclusive with Endpoint.
The selector's optional flag only controls how a missing key is handled: when
set to true, the missing key is ignored while reading the ConfigMap, but a
Foundry endpoint must always be supplied, so an unresolved endpointFrom still
leaves the model unusable and the agent fails to start. | | | +| `deployment` _string_ | Deployment is the Foundry model deployment name. | | **Required**
| | `apiVersion` _string_ | APIVersion is the Foundry OpenAI-compatible data-plane API version.
Ignored when APIFormat is Anthropic (the Messages surface is versioned via
the anthropic-version header instead). | 2024-10-21 | | | `apiFormat` _[FoundryAPIFormat](#foundryapiformat)_ | APIFormat selects the Foundry API format: "OpenAI" (default, chat
completions) or "Anthropic" (Claude models served over the Anthropic
Messages API). | OpenAI | Enum: [OpenAI Anthropic]
| @@ -373,7 +373,7 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `audience` _string_ | Audience is the token exchange audience URL (the GDC inference gateway base URL) | | | +| `audience` _string_ | Audience is the token exchange audience URL (the GDC inference gateway base URL) | | **Required**
| #### GeminiConfig @@ -395,8 +395,8 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `projectID` _string_ | The project ID | | | -| `location` _string_ | The project location | | | +| `projectID` _string_ | The project ID | | **Required**
| +| `location` _string_ | The project location | | **Required**
| | `temperature` _string_ | Temperature | | | | `topP` _string_ | Top-p sampling parameter | | | | `topK` _string_ | Top-k sampling parameter | | | @@ -414,8 +414,8 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `url` _string_ | | | MinLength: 1
Pattern: `^https?://[^[:space:]]+$`
| -| `commit` _string_ | | | Pattern: `^([0-9a-fA-F]\{40\}\|[0-9a-fA-F]\{64\})$`
| +| `url` _string_ | | | MinLength: 1
Pattern: `^https?://[^[:space:]]+$`
**Required**
| +| `commit` _string_ | | | Pattern: `^([0-9a-fA-F]\{40\}\|[0-9a-fA-F]\{64\})$`
**Required**
| #### Harness @@ -428,7 +428,7 @@ Harness defines a reusable agent runtime and infrastructure policy. | `kind` _string_ | Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | | | | `apiVersion` _string_ | APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | | | | `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | -| `spec` _[HarnessSpec](#harnessspec)_ | | | | +| `spec` _[HarnessSpec](#harnessspec)_ | | | **Required**
| | `status` _[HarnessStatus](#harnessstatus)_ | | | | #### HarnessAgentTemplateAdmission @@ -441,7 +441,7 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `selector` _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#labelselector-v1-meta)_ | Selector selects admitted AgentTemplates in the Harness namespace. | | | +| `selector` _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#labelselector-v1-meta)_ | Selector selects admitted AgentTemplates in the Harness namespace. | | **Required**
| #### HarnessCapabilities @@ -453,19 +453,19 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `version` _string_ | Version identifies the controller capability catalog entry. | | MinLength: 1
| -| `nativeAgentTools` _boolean_ | | | | -| `maxNativeAgentDepth` _integer_ | | | Minimum: 0
| -| `dedicatedAgentTools` _boolean_ | | | | -| `mcpInjection` _boolean_ | | | | -| `streaming` _boolean_ | | | | -| `interruption` _boolean_ | | | | -| `inputRequired` _boolean_ | | | | -| `approvals` _boolean_ | | | | +| `version` _string_ | Version identifies the controller capability catalog entry. | | MinLength: 1
**Required**
| +| `nativeAgentTools` _boolean_ | | | **Required**
| +| `maxNativeAgentDepth` _integer_ | | | Minimum: 0
**Required**
| +| `dedicatedAgentTools` _boolean_ | | | **Required**
| +| `mcpInjection` _boolean_ | | | **Required**
| +| `streaming` _boolean_ | | | **Required**
| +| `interruption` _boolean_ | | | **Required**
| +| `inputRequired` _boolean_ | | | **Required**
| +| `approvals` _boolean_ | | | **Required**
| | `inputModalities` _string array_ | | | MaxItems: 16
| | `outputModalities` _string array_ | | | MaxItems: 16
| -| `resume` _boolean_ | | | | -| `checkpoint` _boolean_ | | | | +| `resume` _boolean_ | | | **Required**
| +| `checkpoint` _boolean_ | | | **Required**
| #### HarnessEnvVar @@ -476,7 +476,7 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `name` _string_ | | | MinLength: 1
| +| `name` _string_ | | | MinLength: 1
**Required**
| | `value` _string_ | Value is a literal value, including an empty string. | | | | `credentialRef` _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#secretkeyselector-v1-core)_ | CredentialRef references a key in a same-namespace Secret. | | | @@ -489,7 +489,7 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `location` _string_ | Location is the snapshot storage location used by Substrate. | | Pattern: `^[^[:space:]]+$`
| +| `location` _string_ | Location is the snapshot storage location used by Substrate. | | Pattern: `^[^[:space:]]+$`
**Required**
| #### HarnessSpec @@ -504,9 +504,9 @@ _Appears in:_ | `codex` _[CodexHarness](#codexharness)_ | | | | | `claude` _[ClaudeHarness](#claudeharness)_ | | | | | `byo` _[BYOHarness](#byoharness)_ | | | | -| `workload` _[HarnessWorkload](#harnessworkload)_ | | | | +| `workload` _[HarnessWorkload](#harnessworkload)_ | | | **Required**
| | `env` _[HarnessEnvVar](#harnessenvvar) array_ | | | MaxItems: 100
| -| `substrate` _[HarnessSubstratePolicy](#harnesssubstratepolicy)_ | | | | +| `substrate` _[HarnessSubstratePolicy](#harnesssubstratepolicy)_ | | | **Required**
| | `allowedAgentTemplates` _[HarnessAgentTemplateAdmission](#harnessagenttemplateadmission)_ | AllowedAgentTemplates selects AgentTemplates this Harness admits.
When omitted, the Harness admits none. | | | #### HarnessStatus @@ -531,8 +531,8 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `workerPoolRef` _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#localobjectreference-v1-core)_ | WorkerPoolRef references a WorkerPool in the Harness namespace. | | | -| `snapshotPolicy` _[HarnessSnapshotPolicy](#harnesssnapshotpolicy)_ | SnapshotPolicy configures runtime snapshot storage. | | | +| `workerPoolRef` _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#localobjectreference-v1-core)_ | WorkerPoolRef references a WorkerPool in the Harness namespace. | | **Required**
| +| `snapshotPolicy` _[HarnessSnapshotPolicy](#harnesssnapshotpolicy)_ | SnapshotPolicy configures runtime snapshot storage. | | **Required**
| #### HarnessWorkload @@ -543,7 +543,7 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `image` _string_ | Image is an OCI image reference pinned by sha256 digest. | | Pattern: `^[^[:space:]@]+@sha256:[a-f0-9]\{64\}$`
| +| `image` _string_ | Image is an OCI image reference pinned by sha256 digest. | | Pattern: `^[^[:space:]@]+@sha256:[a-f0-9]\{64\}$`
**Required**
| | `command` _string array_ | Command overrides the image entrypoint when set. | | MaxItems: 32
| | `args` _string array_ | Args overrides the image command arguments when set. | | MaxItems: 64
| @@ -557,6 +557,27 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | | `memory` _[KagentHarnessMemory](#kagentharnessmemory)_ | Memory enables long-term memory for agents using this Harness. | | | +| `compaction` _[KagentHarnessCompaction](#kagentharnesscompaction)_ | Compaction summarizes older session events so the prompt stays small as
a conversation grows. Omitted leaves the history uncompacted. | | | + +#### KagentHarnessCompaction + +KagentHarnessCompaction selects the compaction strategies and the model that +writes the summaries. The sliding window (compactionInterval, overlapSize) +summarizes each group of completed invocations; tail retention +(tokenThreshold, eventRetentionSize) bounds the prompt by summarizing +everything but the most recent events once the prompt grows past a token +count. At least one strategy must be configured. + +_Appears in:_ +- [KagentHarness](#kagentharness) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `compactionInterval` _integer_ | CompactionInterval is the number of new user-initiated invocations that,
once fully represented in the session, triggers a sliding-window
compaction of those invocations. | | Minimum: 1
| +| `overlapSize` _integer_ | OverlapSize is the number of already-compacted invocations pulled back
into the next sliding window so consecutive summaries overlap. | | Minimum: 0
| +| `tokenThreshold` _integer_ | TokenThreshold is the prompt token count at which tail-retention
compaction summarizes the history before the next model call. | | Minimum: 1
| +| `eventRetentionSize` _integer_ | EventRetentionSize is the number of most recent events that tail
retention keeps uncompacted. | | Minimum: 1
| +| `summarizer` _[KagentHarnessSummarizer](#kagentharnesssummarizer)_ | Summarizer selects the model and prompt that write the summaries.
Omitted summarizes with the agent's own model and the runtime's default
prompt. | | | #### KagentHarnessMemory @@ -567,9 +588,21 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `modelConfigRef` _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#localobjectreference-v1-core)_ | ModelConfigRef references the embedding ModelConfig in the Harness namespace. | | | +| `modelConfigRef` _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#localobjectreference-v1-core)_ | ModelConfigRef references the embedding ModelConfig in the Harness namespace. | | **Required**
| | `ttlDays` _integer_ | TTLDays controls how many days a stored memory entry remains valid. | | Minimum: 1
| +#### KagentHarnessSummarizer + +KagentHarnessSummarizer configures the model that summarizes compacted events. + +_Appears in:_ +- [KagentHarnessCompaction](#kagentharnesscompaction) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `modelConfigRef` _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#localobjectreference-v1-core)_ | ModelConfigRef references the ModelConfig in the Harness namespace that
writes the summaries. Omitted uses the agent's own model. | | | +| `promptTemplate` _string_ | PromptTemplate replaces the runtime's default summarization prompt. It
must contain \{conversation_history\}, which the runtime replaces with the
rendered events. | | MinLength: 1
| + #### MCPTool _Appears in:_ @@ -577,8 +610,8 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `name` _string_ | | | | -| `description` _string_ | | | | +| `name` _string_ | | | **Required**
| +| `description` _string_ | | | **Required**
| #### MCPToolBinding @@ -589,8 +622,8 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `server` _[TypedLocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#typedlocalobjectreference-v1-core)_ | | | | -| `tools` _string array_ | Tools optionally limits which server tools are exposed. An omitted or empty
list exposes every tool. Harnesses that cannot enforce a partial selection
may expose the whole server and report a warning. | | MaxItems: 50
| +| `server` _[TypedLocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#typedlocalobjectreference-v1-core)_ | | | **Required**
| +| `tools` _string array_ | Tools optionally limits which server tools are exposed. An omitted or empty
list exposes every tool. Harnesses that cannot enforce a partial selection
may expose the whole server and report a warning. | | MaxItems: 50
items:MinLength: 1
| | `requireApproval` _boolean_ | RequireApproval pauses before each invocation of a tool exposed by this
binding. It applies to the selected tools, or to every server tool when
Tools is omitted or empty. | | | #### ModelConfig @@ -616,7 +649,7 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `model` _string_ | | | | +| `model` _string_ | | | **Required**
| | `apiKeySecret` _string_ | The name of the secret that contains the API key. Must be a reference to the name of a secret in the same namespace as the referencing ModelConfig.
For the SAPAICore provider, the secret must contain two keys: "client_id" and "client_secret"
(the OAuth2 client credentials for SAP AI Core). The apiKeySecretKey field is not used for SAPAICore. | | | | `apiKeySecretKey` _string_ | The key in the secret that contains the API key.
Not used for the SAPAICore provider (which always reads "client_id" and "client_secret" from the secret). | | | | `apiKeyPassthrough` _boolean_ | APIKeyPassthrough enables forwarding the Bearer token from incoming A2A requests
directly to the LLM provider as the API key. This is useful for organizations
with federated identity that want to avoid separate secret management.
Mutually exclusive with apiKeySecret. | | | @@ -697,7 +730,7 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `type` _[ModelProvider](#modelprovider)_ | Type is the model provider type (OpenAI, Anthropic, etc.) | | Enum: [Anthropic OpenAI AzureOpenAI Ollama Gemini GeminiVertexAI AnthropicVertexAI Bedrock SAPAICore Foundry]
| +| `type` _[ModelProvider](#modelprovider)_ | Type is the model provider type (OpenAI, Anthropic, etc.) | | Enum: [Anthropic OpenAI AzureOpenAI Ollama Gemini GeminiVertexAI AnthropicVertexAI Bedrock SAPAICore Foundry]
**Required**
| | `endpoint` _string_ | Endpoint is the API endpoint URL for the provider.
If not specified, the default endpoint for the provider type will be used. | | Pattern: `^https?://.*`
| | `secretRef` _[SecretReference](#secretreference)_ | SecretRef references the Kubernetes Secret containing the API key.
Optional for providers that don't require authentication (e.g., local Ollama). | | | @@ -793,8 +826,8 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `source` _[ArtifactSource](#artifactsource)_ | | | | -| `skills` _string array_ | An empty selection enables nothing. | | MaxItems: 50
| +| `source` _[ArtifactSource](#artifactsource)_ | | | **Required**
| +| `skills` _string array_ | An empty selection enables nothing. | | MaxItems: 50
items:MinLength: 1
| #### RemoteMCPServer @@ -834,15 +867,15 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `description` _string_ | | | | +| `description` _string_ | | | **Required**
| | `protocol` _[RemoteMCPServerProtocol](#remotemcpserverprotocol)_ | | STREAMABLE_HTTP | Enum: [SSE STREAMABLE_HTTP]
| -| `url` _string_ | | | MinLength: 1
| +| `url` _string_ | | | MinLength: 1
**Required**
| | `headersFrom` _[ValueRef](#valueref) array_ | | | | | `timeout` _[Duration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#duration-v1-meta)_ | | 30s | | | `sseReadTimeout` _[Duration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#duration-v1-meta)_ | | | | | `terminateOnClose` _boolean_ | | true | | -| `allowedNamespaces` _[AllowedNamespaces](#allowednamespaces)_ | AllowedNamespaces defines which namespaces are allowed to reference this RemoteMCPServer.
This follows the Gateway API pattern for cross-namespace route attachments.
If not specified, only Agents in the same namespace can reference this RemoteMCPServer.
See: https://gateway-api.sigs.k8s.io/guides/multiple-ns/#cross-namespace-route-attachment

A cross-namespace-permitting value (from: All or from: Selector) is
mutually exclusive with spec.tls.caCertSecretRef (enforced by a spec-level
XValidation rule): a pinned CA Secret is mounted onto the consuming agent's
pod by bare name and Kubernetes resolves it in the agent's namespace, not
this RemoteMCPServer's, so a CA-pinning RemoteMCPServer cannot be referenced
cross-namespace. from: Same (the default) is always allowed. | | | -| `tls` _[TLSConfig](#tlsconfig)_ | TLS configuration for the upstream MCP server connection.
Use this for HTTPS upstreams that present a certificate the agent's
system trust store does not include (corporate CA, self-signed cert
on a test fixture, internal MCP gateway). Reuses the same TLSConfig
type as ModelConfig.spec.tls — disableVerify turns off certificate
validation entirely, caCertSecretRef + caCertSecretKey point at a
PEM bundle Secret in the same namespace, and disableSystemCAs
trusts only the named bundle.

Note one asymmetry with ModelConfig: a spec-level XValidation rule
on RemoteMCPServer rejects spec.tls when spec.url has the http://
scheme (a TLS opinion contradicts a plaintext URL). ModelConfig has
no equivalent rule, so a TLS block can sit alongside any baseUrl. | | | +| `allowedNamespaces` _[AllowedNamespaces](#allowednamespaces)_ | AllowedNamespaces defines which namespaces are allowed to reference this RemoteMCPServer.
This follows the Gateway API pattern for cross-namespace route attachments.
If not specified, only Agents in the same namespace can reference this RemoteMCPServer.
See: https://gateway-api.sigs.k8s.io/guides/multiple-ns/#cross-namespace-route-attachment
A cross-namespace-permitting value (from: All or from: Selector) is
mutually exclusive with spec.tls.caCertSecretRef (enforced by a spec-level
XValidation rule): a pinned CA Secret is mounted onto the consuming agent's
pod by bare name and Kubernetes resolves it in the agent's namespace, not
this RemoteMCPServer's, so a CA-pinning RemoteMCPServer cannot be referenced
cross-namespace. from: Same (the default) is always allowed. | | | +| `tls` _[TLSConfig](#tlsconfig)_ | TLS configuration for the upstream MCP server connection.
Use this for HTTPS upstreams that present a certificate the agent's
system trust store does not include (corporate CA, self-signed cert
on a test fixture, internal MCP gateway). Reuses the same TLSConfig
type as ModelConfig.spec.tls — disableVerify turns off certificate
validation entirely, caCertSecretRef + caCertSecretKey point at a
PEM bundle Secret in the same namespace, and disableSystemCAs
trusts only the named bundle.
Note one asymmetry with ModelConfig: a spec-level XValidation rule
on RemoteMCPServer rejects spec.tls when spec.url has the http://
scheme (a TLS opinion contradicts a plaintext URL). ModelConfig has
no equivalent rule, so a TLS block can sit alongside any baseUrl. | | | #### RemoteMCPServerStatus @@ -867,10 +900,10 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `endpoint` _string_ | Endpoint is the HTTP(S) endpoint of an AWS or S3-compatible service. | | Pattern: `^https?://[^[:space:]]+$`
| -| `bucket` _string_ | | | MinLength: 1
| -| `key` _string_ | | | MinLength: 1
| -| `versionId` _string_ | | | MinLength: 1
| +| `endpoint` _string_ | Endpoint is the HTTP(S) endpoint of an AWS or S3-compatible service. | | Pattern: `^https?://[^[:space:]]+$`
**Required**
| +| `bucket` _string_ | | | MinLength: 1
**Required**
| +| `key` _string_ | | | MinLength: 1
**Required**
| +| `versionId` _string_ | | | MinLength: 1
**Required**
| | `region` _string_ | Region is used for request signing when required by the service. | | | #### SAPAICoreConfig @@ -882,7 +915,7 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `baseUrl` _string_ | Base URL for the SAP AI Core API (e.g., https://api.ai.prod.eu-central-1.aws.ml.hana.ondemand.com) | | | +| `baseUrl` _string_ | Base URL for the SAP AI Core API (e.g., https://api.ai.prod.eu-central-1.aws.ml.hana.ondemand.com) | | **Required**
| | `resourceGroup` _string_ | Resource group in SAP AI Core | default | | | `authUrl` _string_ | OAuth2 token endpoint URL (e.g., https://tenant.authentication.eu10.hana.ondemand.com) | | | @@ -896,7 +929,7 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `name` _string_ | Name is the name of the secret in the same namespace as the ModelProviderConfig. | | | +| `name` _string_ | Name is the name of the secret in the same namespace as the ModelProviderConfig. | | **Required**
| #### TLSConfig @@ -925,7 +958,7 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `type` _[TokenExchangeType](#tokenexchangetype)_ | | | Enum: [GDCHServiceAccount]
| +| `type` _[TokenExchangeType](#tokenexchangetype)_ | | | Enum: [GDCHServiceAccount]
**Required**
| | `gdchServiceAccount` _[GDCHServiceAccountConfig](#gdchserviceaccountconfig)_ | | | | #### TokenExchangeType @@ -965,7 +998,7 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `name` _string_ | | | | +| `name` _string_ | | | **Required**
| | `value` _string_ | | | | | `valueFrom` _[ValueSource](#valuesource)_ | | | | @@ -978,9 +1011,9 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `type` _[ValueSourceType](#valuesourcetype)_ | | | Enum: [ConfigMap Secret]
| -| `name` _string_ | The name of the ConfigMap or Secret. | | MaxLength: 253
| -| `key` _string_ | The key of the ConfigMap or Secret. | | MaxLength: 253
| +| `type` _[ValueSourceType](#valuesourcetype)_ | | | Enum: [ConfigMap Secret]
**Required**
| +| `name` _string_ | The name of the ConfigMap or Secret. | | MaxLength: 253
**Required**
| +| `key` _string_ | The key of the ConfigMap or Secret. | | MaxLength: 253
**Required**
| #### ValueSourceType diff --git a/docs-site/content/kagent/1.x/reference/helm.md b/docs-site/content/kagent/1.x/reference/helm.md index b8750188..5143bfa6 100644 --- a/docs-site/content/kagent/1.x/reference/helm.md +++ b/docs-site/content/kagent/1.x/reference/helm.md @@ -12,7 +12,7 @@ A Helm chart for kagent, built with Google ADK | Repository | Name | Version | |------------|------|---------| | `${SUBSTRATE_REPO}` | substrate | `${SUBSTRATE_VERSION}` | -| file://../tools/grafana-mcp | grafana-mcp | 0.10.0-rc1 | +| file://../tools/grafana-mcp | grafana-mcp | 1.0.0-alpha2 | | https://oauth2-proxy.github.io/manifests | oauth2-proxy | ~10.7.0 | | oci://ghcr.io/kagent-dev/kmcp/helm | kmcp | `${KMCP_VERSION}` | | oci://ghcr.io/kagent-dev/tools/helm | kagent-tools | 0.2.1 | @@ -39,6 +39,19 @@ A Helm chart for kagent, built with Google ADK | controller.loglevel | string | `"info"` | | | controller.mcpEgressPlaintext | bool | `false` | Rewrite RemoteMCPServer tool URLs and the controller's tool-discovery dial from `https://host[:port]` to `http://host:` so MCP traffic egresses in plaintext to a proxy that originates TLS upstream off by default. | | controller.metrics | object | disabled | Prometheus-style /metrics endpoint for the controller manager. When enabled, provisions a dedicated metrics Service plus the ClusterRoles required for authenticated scrapes. Bind `-metrics-reader` to your Prometheus ServiceAccount to grant scrape access. Use `bindAddress` for any port change: the Service `targetPort` and the pod `containerPort` are derived from it at template time, so overriding `METRICS_BIND_ADDRESS` via `controller.env` shifts only the runtime listener and leaves the rendered Service pointing at the chart-time port. Setting `bindAddress: "0"` (or empty) is treated as a disable signal — equivalent to `enabled: false` — to keep faith with the controller binary's documented contract for `--metrics-bind-address`. | +| controller.metrics.serviceMonitor | object | disabled | Prometheus Operator `ServiceMonitor` for the metrics `Service`. Requires `controller.metrics.enabled` and the `monitoring.coreos.com/v1` CRDs; the chart only renders it when the target cluster serves that API, so enabling it on a cluster without the Prometheus Operator is a no-op rather than a failed install (`helm template` needs `--api-versions monitoring.coreos.com/v1`). The endpoint follows `secureServing`: port name, scheme, bearer token and TLS settings are all derived from it, so flipping `secureServing` alone keeps the scrape working. With `secureServing` enabled the scrape is also authorized only once `-metrics-reader` is bound to the Prometheus ServiceAccount; set `prometheusServiceAccount` below and the chart renders that binding for you. | +| controller.metrics.serviceMonitor.annotations | object | `{}` | Annotations for the `ServiceMonitor`. | +| controller.metrics.serviceMonitor.bearerTokenFile | string | `"/var/run/secrets/kubernetes.io/serviceaccount/token"` | Token presented to the authenticated metrics endpoint. Only used when `secureServing` is enabled; set to `""` to omit it. | +| controller.metrics.serviceMonitor.honorLabels | bool | `false` | Keep the scraped labels when they collide with server-side ones. | +| controller.metrics.serviceMonitor.interval | string | `""` | Scrape interval. Prometheus' global default when empty. | +| controller.metrics.serviceMonitor.labels | object | `{}` | Extra labels for the `ServiceMonitor` (merged with the chart labels). Set whatever label your Prometheus `serviceMonitorSelector` matches on. | +| controller.metrics.serviceMonitor.metricRelabelings | list | `[]` | `metricRelabelings` applied to the scraped samples. | +| controller.metrics.serviceMonitor.namespace | string | the release namespace | Namespace to create the `ServiceMonitor` in. The scrape target stays the release namespace either way. | +| controller.metrics.serviceMonitor.prometheusServiceAccount | object | `{"name":"","namespace":""}` | ServiceAccount Prometheus scrapes with. When `name` is set and `secureServing` is enabled, the chart binds `-metrics-reader` to it with a `ClusterRoleBinding` so the scrape does not fail with 403. Leave `name` empty to manage the binding yourself. | +| controller.metrics.serviceMonitor.prometheusServiceAccount.namespace | string | `serviceMonitor.namespace`, then the release namespace | Namespace of the Prometheus ServiceAccount. | +| controller.metrics.serviceMonitor.relabelings | list | `[]` | `relabelings` applied to the scrape targets. | +| controller.metrics.serviceMonitor.scrapeTimeout | string | `""` | Scrape timeout. Prometheus' global default when empty. | +| controller.metrics.serviceMonitor.tlsConfig | object | insecureSkipVerify: true | `tlsConfig` for the scrape. Only used when `secureServing` is enabled, where the controller serves a self-signed certificate. | | controller.nodeSelector | object | `{}` | Node labels to match for `Pod` [scheduling](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/). | | controller.pdb | object | `{"annotations":{},"enabled":false,"labels":{},"maxUnavailable":1,"minAvailable":null,"unhealthyPodEvictionPolicy":""}` | [PodDisruptionBudget](https://kubernetes.io/docs/tasks/run-application/configure-pdb/) for the controller pods. Disabled by default: `controller.replicas` is 1, and a `minAvailable: 1` budget on a single-replica Deployment blocks every voluntary eviction, so node drains and cluster upgrades hang indefinitely. Raise `controller.replicas` before switching to `minAvailable`. | | controller.pdb.annotations | object | `{}` | Annotations for the controller PodDisruptionBudget. | @@ -73,11 +86,11 @@ A Helm chart for kagent, built with Google ADK | controller.volumeMounts | list | `[]` | | | controller.volumes | list | `[]` | | | controller.watchNamespaces | list | [] (watches all available namespaces) | Namespaces the controller should watch. If empty, the controller will watch ALL available namespaces. | -| database.postgres.bundled | object | `{"affinity":{},"enabled":true,"image":{"name":"postgres","pullPolicy":"IfNotPresent","registry":"docker.io","repository":"library","tag":"18.6-alpine3.23"},"nodeSelector":{},"podLabels":{},"podSecurityContext":{"fsGroup":999,"runAsGroup":999,"runAsNonRoot":true,"runAsUser":999,"seccompProfile":{"type":"RuntimeDefault"}},"resources":{"limits":{"cpu":"500m","memory":"512Mi"},"requests":{"cpu":"250m","memory":"256Mi"}},"securityContext":{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]}},"storage":"500Mi","storageClassName":"","tolerations":[]}` | Bundled PostgreSQL instance — for development and evaluation only. Not suitable for production. Deployed when enabled is true and url/urlFile are not set. | +| database.postgres.bundled | object | `{"affinity":{},"enabled":true,"image":{"name":"postgres","pullPolicy":"","registry":"docker.io","repository":"library","tag":"18.6-alpine3.23"},"nodeSelector":{},"podLabels":{},"podSecurityContext":{"fsGroup":999,"runAsGroup":999,"runAsNonRoot":true,"runAsUser":999,"seccompProfile":{"type":"RuntimeDefault"}},"resources":{"limits":{"cpu":"500m","memory":"512Mi"},"requests":{"cpu":"250m","memory":"256Mi"}},"securityContext":{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]}},"storage":"500Mi","storageClassName":"","tolerations":[]}` | Bundled PostgreSQL instance — for development and evaluation only. Not suitable for production. Deployed when enabled is true and url/urlFile are not set. | | database.postgres.bundled.affinity | object | `{}` | [Affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) rules for the bundled PostgreSQL pod. | | database.postgres.bundled.enabled | bool | `true` | Set to false to disable the bundled database and provide your own via url or urlFile. | | database.postgres.bundled.image.name | string | `"postgres"` | Bundled PostgreSQL image name | -| database.postgres.bundled.image.pullPolicy | string | `"IfNotPresent"` | Bundled PostgreSQL image pull policy | +| database.postgres.bundled.image.pullPolicy | string | `""` | Bundled PostgreSQL image pull policy. Empty falls back to the top-level imagePullPolicy, then global.imagePullPolicy, then IfNotPresent. A declared default here would shadow both fallbacks. | | database.postgres.bundled.image.registry | string | `"docker.io"` | Bundled PostgreSQL image registry | | database.postgres.bundled.image.repository | string | `"library"` | Bundled PostgreSQL image repository (org/namespace) | | database.postgres.bundled.image.tag | string | `"18.6-alpine3.23"` | Bundled PostgreSQL image tag | @@ -96,6 +109,10 @@ A Helm chart for kagent, built with Google ADK | database.postgres.vectorEnabled | bool | `false` | Enable the pgvector migration Required to use features that depend on database vector capability. (e.g. long-term memory) Set to true when using an external PostgreSQL that has the pgvector extension installed. | | extraObjects | list | [] | Additional arbitrary Kubernetes manifests to deploy alongside the chart. Each list entry is rendered through `tpl`, so values may reference the release context (e.g. `{{ include "kagent.fullname" . }}`, `{{ .Release.Namespace }}`). Both map and multi-line string entries are supported. Use this to manage resources such as ExternalSecret, HTTPRoute, or NetworkPolicy within the same chart lifecycle without maintaining a separate chart. To use, replace the empty list below with your manifests, e.g.: extraObjects: - apiVersion: external-secrets.io/v1 kind: ExternalSecret metadata: name: '`{{ include "kagent.fullname" . }}`-openai' namespace: '`{{ .Release.Namespace }}`' spec: secretStoreRef: name: aws-secretsmanager kind: ClusterSecretStore target: name: kagent-openai data: - secretKey: OPENAI_API_KEY remoteRef: key: prod/kagent/openai property: api_key | | fullnameOverride | string | `""` | | +| global.imagePullPolicy | string | `""` | Fallback imagePullPolicy where neither a component nor the top-level imagePullPolicy sets one. | +| global.imagePullSecrets | list | `[]` | Pull secrets for every pod. The chart merges this list (union) into each pod's own imagePullSecrets, so a local secret is never removed. Coverage matches imageRegistry above. | +| global.imageRegistry | string | `""` | Registry that overrides every per-image registry when set. This is the air-gap mirror knob: one value redirects all images. Repository and tag stay per-image. For per-image control, leave this unset and set the per-image registry keys. Covers this chart's own images: controller, ui, bundled postgres, grafana-mcp, and substrateWorkerPool.workerImage. The vendored subcharts (kagent-tools, kmcp, substrate) adopt it when their pinned versions bump. | +| global.watchNamespaces | list | `[]` | Namespace scope for the whole install. A non-empty list replaces ClusterRoles with Roles and scopes the controller's watch. Both derive from this one value, so they cannot disagree. Prefer this value over the per-surface keys. rbac.namespaces overrides it when the key is present. An explicit empty rbac.namespaces restores cluster-scoped RBAC. Mixing in controller.watchNamespaces is validated: the watch must stay inside the RBAC scope. A watched namespace without a Role is a permanent Forbidden loop at runtime. | | grafana-mcp.enabled | bool | `true` | | | grafana-mcp.grafana.serviceAccountToken | string | `""` | | | grafana-mcp.grafana.url | string | `"grafana.kagent:3000/api"` | | @@ -103,7 +120,7 @@ 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"` | | -| imagePullPolicy | string | `"IfNotPresent"` | | +| imagePullPolicy | string | `""` | Pull policy for all containers. Empty falls back to global.imagePullPolicy, then 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. | | kagent-tools.enabled | bool | `true` | | @@ -165,9 +182,12 @@ 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"` | | +| otel.captureSensitiveContent | bool | `false` | Include prompts, tool details, and assistant responses in agent telemetry. This may expose sensitive user or model content. | +| otel.logging.captureRawApiBodies | bool | `false` | Include complete provider API request and response bodies in Claude logs. This is more verbose than captureSensitiveContent. | | otel.logging.enabled | bool | `false` | | | otel.logging.exporter.otlp.endpoint | string | `""` | | | otel.logging.exporter.otlp.insecure | bool | `true` | | +| otel.logging.exporter.otlp.protocol | string | `"grpc"` | | | otel.logging.exporter.otlp.timeout | int | `15000` | | | otel.tracing.enabled | bool | `false` | | | otel.tracing.exporter.otlp.endpoint | string | `""` | | @@ -204,9 +224,11 @@ A Helm chart for kagent, built with Google ADK | providers.openAI.model | string | `"gpt-4.1-mini"` | | | providers.openAI.provider | string | `"OpenAI"` | | | proxy.url | string | `""` | | -| rbac.namespaces | list | `[]` | Namespaces in which to create Role and RoleBinding resources. If empty (default), the chart creates cluster-scoped ClusterRole and ClusterRoleBinding resources and the controller watches all namespaces. If set, the chart creates a Role + RoleBinding per listed namespace and the controller's WATCH_NAMESPACES is derived from this list (unless controller.watchNamespaces is set explicitly, which always takes precedence). | +| rbac | object | `{}` | | | registry | string | `"ghcr.io"` | | | securityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":true}` | Security context for all containers | +| substrate.ateApi.extraArgs[0] | string | `"--template-resync-interval=250ms"` | | +| substrate.credentialProvider.namespacePolicies | list | `[]` | | | substrate.enabled | bool | `false` | | | substrateWorkerPool | object | `{"create":false,"labels":{},"name":"kagent-default","replicas":1,"sandboxClass":"gvisor","template":{},"workerImage":""}` | Optional Agent Substrate WorkerPool installed by this chart. This is platform capacity and is not owned by individual agents. | | tag | string | `""` | | diff --git a/docs-site/content/kmcp/reference/api-ref.md b/docs-site/content/kmcp/reference/api-ref.md index 7a5f5d86..ed19bc62 100644 --- a/docs-site/content/kmcp/reference/api-ref.md +++ b/docs-site/content/kmcp/reference/api-ref.md @@ -51,9 +51,9 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | | `image` _string_ | Image defines the full image reference for the init container.
If specified, this overrides the default transport adapter image.
Example: "myregistry.com/agentgateway/agentgateway:0.9.0-musl" | | | -| `imagePullPolicy` _[PullPolicy](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#pullpolicy-v1-core)_ | ImagePullPolicy defines the pull policy for the init container image. | | Enum: [Always Never IfNotPresent]
| -| `resources` _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#resourcerequirements-v1-core)_ | Resources defines the compute resource requirements for the init container.
Use this to specify CPU and memory requests and limits for the init container. | | | -| `securityContext` _[SecurityContext](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#securitycontext-v1-core)_ | SecurityContext defines the security context for the init container.
If not specified, the main container's security context will be used. | | | +| `imagePullPolicy` _[PullPolicy](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#pullpolicy-v1-core)_ | ImagePullPolicy defines the pull policy for the init container image. | | Enum: [Always Never IfNotPresent]
| +| `resources` _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#resourcerequirements-v1-core)_ | Resources defines the compute resource requirements for the init container.
Use this to specify CPU and memory requests and limits for the init container. | | | +| `securityContext` _[SecurityContext](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#securitycontext-v1-core)_ | SecurityContext defines the security context for the init container.
If not specified, the main container's security context will be used. | | | #### MCPServer @@ -65,7 +65,7 @@ MCPServer is the Schema for the mcpservers API. | `kind` _string_ | `MCPServer` | | | | `kind` _string_ | Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | | | | `apiVersion` _string_ | APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | | `spec` _[MCPServerSpec](#mcpserverspec)_ | | | | | `status` _[MCPServerStatus](#mcpserverstatus)_ | | | | @@ -79,29 +79,29 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | | `image` _string_ | Image defines the container image to to deploy the MCP server. | | | -| `imagePullPolicy` _[PullPolicy](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#pullpolicy-v1-core)_ | ImagePullPolicy defines the pull policy for the container image. | | Enum: [Always Never IfNotPresent]
| +| `imagePullPolicy` _[PullPolicy](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#pullpolicy-v1-core)_ | ImagePullPolicy defines the pull policy for the container image. | | Enum: [Always Never IfNotPresent]
| | `port` _integer_ | Port defines the port on which the MCP server will listen. | 3000 | | | `cmd` _string_ | Cmd defines the command to run in the container to start the mcp server. | | | | `args` _string array_ | Args defines the arguments to pass to the command. | | | | `env` _object (keys:string, values:string)_ | Env defines the environment variables to set in the container. | | | -| `secretRefs` _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core) array_ | SecretRefs defines the list of Kubernetes secrets to reference.
These secrets will be mounted as volumes to the MCP server container. | | | -| `configMapRefs` _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core) array_ | ConfigMapRefs defines the list of Kubernetes configmaps to reference.
These configmaps will be mounted as volumes to the MCP server container. | | | -| `volumeMounts` _[VolumeMount](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#volumemount-v1-core) array_ | VolumeMounts defines the list of volume mounts for the MCP server container.
This allows for more flexible volume mounting configurations. | | | -| `volumes` _[Volume](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#volume-v1-core) array_ | Volumes defines the list of volumes that can be mounted by containers.
This allows for custom volume configurations beyond just secrets and configmaps. | | | +| `secretRefs` _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#localobjectreference-v1-core) array_ | SecretRefs defines the list of Kubernetes secrets to reference.
These secrets will be mounted as volumes to the MCP server container. | | | +| `configMapRefs` _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#localobjectreference-v1-core) array_ | ConfigMapRefs defines the list of Kubernetes configmaps to reference.
These configmaps will be mounted as volumes to the MCP server container. | | | +| `volumeMounts` _[VolumeMount](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#volumemount-v1-core) array_ | VolumeMounts defines the list of volume mounts for the MCP server container.
This allows for more flexible volume mounting configurations. | | | +| `volumes` _[Volume](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#volume-v1-core) array_ | Volumes defines the list of volumes that can be mounted by containers.
This allows for custom volume configurations beyond just secrets and configmaps. | | | | `initContainer` _[InitContainerConfig](#initcontainerconfig)_ | InitContainer defines the configuration for the init container that copies
the transport adapter binary. This is used for stdio transport type. | | | | `serviceAccount` _[ServiceAccountConfig](#serviceaccountconfig)_ | ServiceAccount defines the configuration for the ServiceAccount to be created. | | | | `serviceAccountName` _string_ | ServiceAccountName is the name of an existing ServiceAccount to use. | | | -| `sidecars` _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#container-v1-core) array_ | Sidecars defines additional containers to run alongside the MCP server container.
These containers will share the same pod and can share volumes with the main container. | | | +| `sidecars` _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#container-v1-core) array_ | Sidecars defines additional containers to run alongside the MCP server container.
These containers will share the same pod and can share volumes with the main container. | | | | `labels` _object (keys:string, values:string)_ | Labels defines additional labels to add to the pod template.
These labels will be merged with the default labels. | | | | `annotations` _object (keys:string, values:string)_ | Annotations defines additional annotations to add to the pod template.
These annotations will be merged with the default annotations. | | | -| `resources` _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#resourcerequirements-v1-core)_ | Resources defines the compute resource requirements for the main MCP server container.
Use this to specify CPU and memory requests and limits.
Example:
resources:
requests:
cpu: "100m"
memory: "128Mi"
limits:
cpu: "500m"
memory: "512Mi" | | | -| `securityContext` _[SecurityContext](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#securitycontext-v1-core)_ | SecurityContext defines the security context for the main MCP server container.
Use this to configure container-level security settings such as:
- runAsUser/runAsGroup: Run as specific user/group
- runAsNonRoot: Ensure container doesn't run as root
- readOnlyRootFilesystem: Make root filesystem read-only
- allowPrivilegeEscalation: Prevent privilege escalation
- capabilities: Add or drop Linux capabilities | | | -| `podSecurityContext` _[PodSecurityContext](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podsecuritycontext-v1-core)_ | PodSecurityContext defines the security context for the entire pod.
Use this to configure pod-level security settings such as:
- runAsUser/runAsGroup: Default user/group for all containers
- fsGroup: Group ownership of mounted volumes
- seccompProfile: Seccomp profile for the pod
- sysctls: Kernel parameters to set | | | -| `tolerations` _[Toleration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#toleration-v1-core) array_ | Tolerations defines the tolerations for the pod.
Use this to schedule pods on nodes with matching taints. | | | -| `affinity` _[Affinity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#affinity-v1-core)_ | Affinity defines the affinity rules for the pod.
Use this to control pod placement based on node labels, pod labels,
or other scheduling constraints. | | | +| `resources` _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#resourcerequirements-v1-core)_ | Resources defines the compute resource requirements for the main MCP server container.
Use this to specify CPU and memory requests and limits.
Example:
resources:
requests:
cpu: "100m"
memory: "128Mi"
limits:
cpu: "500m"
memory: "512Mi" | | | +| `securityContext` _[SecurityContext](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#securitycontext-v1-core)_ | SecurityContext defines the security context for the main MCP server container.
Use this to configure container-level security settings such as:
- runAsUser/runAsGroup: Run as specific user/group
- runAsNonRoot: Ensure container doesn't run as root
- readOnlyRootFilesystem: Make root filesystem read-only
- allowPrivilegeEscalation: Prevent privilege escalation
- capabilities: Add or drop Linux capabilities | | | +| `podSecurityContext` _[PodSecurityContext](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#podsecuritycontext-v1-core)_ | PodSecurityContext defines the security context for the entire pod.
Use this to configure pod-level security settings such as:
- runAsUser/runAsGroup: Default user/group for all containers
- fsGroup: Group ownership of mounted volumes
- seccompProfile: Seccomp profile for the pod
- sysctls: Kernel parameters to set | | | +| `tolerations` _[Toleration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#toleration-v1-core) array_ | Tolerations defines the tolerations for the pod.
Use this to schedule pods on nodes with matching taints. | | | +| `affinity` _[Affinity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#affinity-v1-core)_ | Affinity defines the affinity rules for the pod.
Use this to control pod placement based on node labels, pod labels,
or other scheduling constraints. | | | | `nodeSelector` _object (keys:string, values:string)_ | NodeSelector defines the node selector for the pod.
Use this to constrain pods to nodes with specific labels. | | | | `replicas` _integer_ | Replicas defines the number of desired pod replicas.
Defaults to 1 if not specified. | 1 | | -| `imagePullSecrets` _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core) array_ | ImagePullSecrets defines the list of secrets to use for pulling container images. | | | +| `imagePullSecrets` _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#localobjectreference-v1-core) array_ | ImagePullSecrets defines the list of secrets to use for pulling container images. | | | #### MCPServerSpec @@ -116,7 +116,7 @@ _Appears in:_ | `transportType` _[TransportType](#transporttype)_ | TransportType defines the type of mcp server being run | | Enum: [stdio http]
| | `stdioTransport` _[StdioTransport](#stdiotransport)_ | StdioTransport defines the configuration for a standard input/output transport. | | | | `httpTransport` _[HTTPTransport](#httptransport)_ | HTTPTransport defines the configuration for a Streamable HTTP transport. | | | -| `timeout` _[Duration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#duration-v1-meta)_ | Timeout defines the default connection timeout for clients connecting
to this MCP server. MCP servers deployed via the MCPServer CRD use a
sidecar gateway that spawns a new stdio process (e.g. via uvx/npx)
for each session. Process startup can take 2-8 seconds depending on
package cache state, which may exceed the default timeout used by some
clients. This value is propagated to the generated RemoteMCPServer
resources when they do not specify an explicit timeout. | 30s | | +| `timeout` _[Duration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#duration-v1-meta)_ | Timeout defines the default connection timeout for clients connecting
to this MCP server. MCP servers deployed via the MCPServer CRD use a
sidecar gateway that spawns a new stdio process (e.g. via uvx/npx)
for each session. Process startup can take 2-8 seconds depending on
package cache state, which may exceed the default timeout used by some
clients. This value is propagated to the generated RemoteMCPServer
resources when they do not specify an explicit timeout. | 30s | | #### MCPServerStatus @@ -127,7 +127,7 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `conditions` _[Condition](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#condition-v1-meta) array_ | Conditions describe the current conditions of the MCPServer.
Implementations should prefer to express MCPServer conditions
using the `MCPServerConditionType` and `MCPServerConditionReason`
constants so that operators and tools can converge on a common
vocabulary to describe MCPServer state.

Known condition types are:

* "Accepted"
* "ResolvedRefs"
* "Programmed"
* "Ready" | | MaxItems: 8
| +| `conditions` _[Condition](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#condition-v1-meta) array_ | Conditions describe the current conditions of the MCPServer.
Implementations should prefer to express MCPServer conditions
using the `MCPServerConditionType` and `MCPServerConditionReason`
constants so that operators and tools can converge on a common
vocabulary to describe MCPServer state.
Known condition types are:
* "Accepted"
* "ResolvedRefs"
* "Programmed"
* "Ready" | | MaxItems: 8
| | `observedGeneration` _integer_ | ObservedGeneration is the most recent generation observed for this MCPServer.
It corresponds to the MCPServer's generation, which is updated on mutation by the API Server. | | | #### ServiceAccountConfig diff --git a/docs-site/content/kmcp/reference/cli/_index.md b/docs-site/content/kmcp/reference/cli/_index.md index b61da6da..33b2534a 100644 --- a/docs-site/content/kmcp/reference/cli/_index.md +++ b/docs-site/content/kmcp/reference/cli/_index.md @@ -1,6 +1,6 @@ --- title: CLI docs -description: Complete reference docs for the kmcp CLI commands +description: Review the reference docs for the kmcp CLI commands. weight: 1 --- diff --git a/docs-site/content/kmcp/reference/cli/kmcp-add-tool.md b/docs-site/content/kmcp/reference/cli/kmcp-add-tool.md index 0e63474a..e9024fc0 100644 --- a/docs-site/content/kmcp/reference/cli/kmcp-add-tool.md +++ b/docs-site/content/kmcp/reference/cli/kmcp-add-tool.md @@ -1,6 +1,6 @@ --- title: kmcp add-tool -description: Add a new MCP tool to your project +description: Add a new MCP tool to your project. weight: 10 --- diff --git a/docs-site/content/kmcp/reference/cli/kmcp-build.md b/docs-site/content/kmcp/reference/cli/kmcp-build.md index a6453235..46af7e07 100644 --- a/docs-site/content/kmcp/reference/cli/kmcp-build.md +++ b/docs-site/content/kmcp/reference/cli/kmcp-build.md @@ -1,6 +1,6 @@ --- title: kmcp build -description: Build MCP server as a Docker image +description: Build MCP server as a Docker image. weight: 20 --- diff --git a/docs-site/content/kmcp/reference/cli/kmcp-completion-bash.md b/docs-site/content/kmcp/reference/cli/kmcp-completion-bash.md index 6878a47f..af5fec5d 100644 --- a/docs-site/content/kmcp/reference/cli/kmcp-completion-bash.md +++ b/docs-site/content/kmcp/reference/cli/kmcp-completion-bash.md @@ -1,6 +1,6 @@ --- title: kmcp completion bash -description: Generate the autocompletion script for bash +description: Generate the autocompletion script for bash. weight: 40 --- diff --git a/docs-site/content/kmcp/reference/cli/kmcp-completion-fish.md b/docs-site/content/kmcp/reference/cli/kmcp-completion-fish.md index 6502e137..b4dbcf3d 100644 --- a/docs-site/content/kmcp/reference/cli/kmcp-completion-fish.md +++ b/docs-site/content/kmcp/reference/cli/kmcp-completion-fish.md @@ -1,6 +1,6 @@ --- title: kmcp completion fish -description: Generate the autocompletion script for fish +description: Generate the autocompletion script for fish. weight: 50 --- diff --git a/docs-site/content/kmcp/reference/cli/kmcp-completion-powershell.md b/docs-site/content/kmcp/reference/cli/kmcp-completion-powershell.md index 335c8067..27147b23 100644 --- a/docs-site/content/kmcp/reference/cli/kmcp-completion-powershell.md +++ b/docs-site/content/kmcp/reference/cli/kmcp-completion-powershell.md @@ -1,6 +1,6 @@ --- title: kmcp completion powershell -description: Generate the autocompletion script for powershell +description: Generate the autocompletion script for powershell. weight: 60 --- diff --git a/docs-site/content/kmcp/reference/cli/kmcp-completion-zsh.md b/docs-site/content/kmcp/reference/cli/kmcp-completion-zsh.md index 4c0113ae..1bb395e2 100644 --- a/docs-site/content/kmcp/reference/cli/kmcp-completion-zsh.md +++ b/docs-site/content/kmcp/reference/cli/kmcp-completion-zsh.md @@ -1,6 +1,6 @@ --- title: kmcp completion zsh -description: Generate the autocompletion script for zsh +description: Generate the autocompletion script for zsh. weight: 70 --- diff --git a/docs-site/content/kmcp/reference/cli/kmcp-completion.md b/docs-site/content/kmcp/reference/cli/kmcp-completion.md index 3635fe3e..fddcc562 100644 --- a/docs-site/content/kmcp/reference/cli/kmcp-completion.md +++ b/docs-site/content/kmcp/reference/cli/kmcp-completion.md @@ -1,6 +1,6 @@ --- title: kmcp completion -description: Generate the autocompletion script for the specified shell +description: Generate the autocompletion script for the specified shell. weight: 30 --- diff --git a/docs-site/content/kmcp/reference/cli/kmcp-deploy-package.md b/docs-site/content/kmcp/reference/cli/kmcp-deploy-package.md index 1f507e47..f27deda1 100644 --- a/docs-site/content/kmcp/reference/cli/kmcp-deploy-package.md +++ b/docs-site/content/kmcp/reference/cli/kmcp-deploy-package.md @@ -1,6 +1,6 @@ --- title: kmcp deploy package -description: Deploy an MCP server using a package manager (npx, uvx) +description: Deploy an MCP server using a package manager (npx, uvx). weight: 90 --- diff --git a/docs-site/content/kmcp/reference/cli/kmcp-deploy.md b/docs-site/content/kmcp/reference/cli/kmcp-deploy.md index 352dea90..3e556cba 100644 --- a/docs-site/content/kmcp/reference/cli/kmcp-deploy.md +++ b/docs-site/content/kmcp/reference/cli/kmcp-deploy.md @@ -1,6 +1,6 @@ --- title: kmcp deploy -description: Deploy MCP server to Kubernetes +description: Deploy MCP server to Kubernetes. weight: 80 --- diff --git a/docs-site/content/kmcp/reference/cli/kmcp-init-go.md b/docs-site/content/kmcp/reference/cli/kmcp-init-go.md index 9bbec163..876926e9 100644 --- a/docs-site/content/kmcp/reference/cli/kmcp-init-go.md +++ b/docs-site/content/kmcp/reference/cli/kmcp-init-go.md @@ -1,6 +1,6 @@ --- title: kmcp init go -description: Initialize a new Go MCP server project +description: Initialize a new Go MCP server project. weight: 110 --- diff --git a/docs-site/content/kmcp/reference/cli/kmcp-init-java.md b/docs-site/content/kmcp/reference/cli/kmcp-init-java.md index b2d9ae97..ee9c1848 100644 --- a/docs-site/content/kmcp/reference/cli/kmcp-init-java.md +++ b/docs-site/content/kmcp/reference/cli/kmcp-init-java.md @@ -1,6 +1,6 @@ --- title: kmcp init java -description: Initialize a new Java MCP server project +description: Initialize a new Java MCP server project. weight: 120 --- diff --git a/docs-site/content/kmcp/reference/cli/kmcp-init-python.md b/docs-site/content/kmcp/reference/cli/kmcp-init-python.md index 870c66aa..9ca490e5 100644 --- a/docs-site/content/kmcp/reference/cli/kmcp-init-python.md +++ b/docs-site/content/kmcp/reference/cli/kmcp-init-python.md @@ -1,6 +1,6 @@ --- title: kmcp init python -description: Initialize a new Python MCP server project +description: Initialize a new Python MCP server project. weight: 130 --- diff --git a/docs-site/content/kmcp/reference/cli/kmcp-init-typescript.md b/docs-site/content/kmcp/reference/cli/kmcp-init-typescript.md index 827d0ee1..21c37453 100644 --- a/docs-site/content/kmcp/reference/cli/kmcp-init-typescript.md +++ b/docs-site/content/kmcp/reference/cli/kmcp-init-typescript.md @@ -1,6 +1,6 @@ --- title: kmcp init typescript -description: Initialize a new TypeScript MCP server project +description: Initialize a new TypeScript MCP server project. weight: 140 --- diff --git a/docs-site/content/kmcp/reference/cli/kmcp-init.md b/docs-site/content/kmcp/reference/cli/kmcp-init.md index 97592c87..ba01e2d7 100644 --- a/docs-site/content/kmcp/reference/cli/kmcp-init.md +++ b/docs-site/content/kmcp/reference/cli/kmcp-init.md @@ -1,6 +1,6 @@ --- title: kmcp init -description: Initialize a new MCP server project +description: Initialize a new MCP server project. weight: 100 --- diff --git a/docs-site/content/kmcp/reference/cli/kmcp-install.md b/docs-site/content/kmcp/reference/cli/kmcp-install.md index 24b6671e..34e35741 100644 --- a/docs-site/content/kmcp/reference/cli/kmcp-install.md +++ b/docs-site/content/kmcp/reference/cli/kmcp-install.md @@ -1,6 +1,6 @@ --- title: kmcp install -description: Install the KMCP controller on a Kubernetes cluster +description: Install the KMCP controller on a Kubernetes cluster. weight: 150 --- diff --git a/docs-site/content/kmcp/reference/cli/kmcp-run.md b/docs-site/content/kmcp/reference/cli/kmcp-run.md index 28909946..5753509c 100644 --- a/docs-site/content/kmcp/reference/cli/kmcp-run.md +++ b/docs-site/content/kmcp/reference/cli/kmcp-run.md @@ -1,6 +1,6 @@ --- title: kmcp run -description: Run MCP server locally +description: Run MCP server locally. weight: 160 --- diff --git a/docs-site/content/kmcp/reference/cli/kmcp-secrets-sync.md b/docs-site/content/kmcp/reference/cli/kmcp-secrets-sync.md index 8756375c..0239e036 100644 --- a/docs-site/content/kmcp/reference/cli/kmcp-secrets-sync.md +++ b/docs-site/content/kmcp/reference/cli/kmcp-secrets-sync.md @@ -1,6 +1,6 @@ --- title: kmcp secrets sync -description: Sync secrets to a Kubernetes environment from a local .env file +description: Sync secrets to a Kubernetes environment from a local .env file. weight: 180 --- diff --git a/docs-site/content/kmcp/reference/cli/kmcp-secrets.md b/docs-site/content/kmcp/reference/cli/kmcp-secrets.md index db691773..412e4e95 100644 --- a/docs-site/content/kmcp/reference/cli/kmcp-secrets.md +++ b/docs-site/content/kmcp/reference/cli/kmcp-secrets.md @@ -1,6 +1,6 @@ --- title: kmcp secrets -description: Manage project secrets +description: Manage project secrets. weight: 170 ---