Repository navigation
[Automated] Draft docs (kagent): fix: make push notification JWT signing optional with operator-managed… - #589
Closed
github-actions[bot] wants to merge 1 commit into
Closed
github-actions[bot] wants to merge 1 commit into
github-actions[bot] wants to merge 1 commit into
Conversation
…ing optional with operator-managed… Signed-off-by: GitHub Action <action@github.com>
Rachael-Graham
added a commit
that referenced
this pull request
Oct 13, 2026
Takes the content of three automated draft PRs into this branch rather than merging them. Each was cut before main rewrote the page it targets, so all three conflict with main on their own; the conflicts are not caused by the alpha12 work on this branch. #590, WorkerPool placement labels. Verified against the alpha12 chart: the substrate-workerpool template applies kagent.dev/worker-pool-name and kagent.dev/worker-pool-namespace through mergeOverwrite after substrateWorkerPool.labels, so an extra label reusing either key is overwritten. The chart's own unit test asserts kagent.dev/worker-pool is no longer set and records why a pinned revision from an earlier release still needs it. Compressed against the draft, which carried two field tables that restated their YAML. #589, push notification signing. controller.push.signing.secretName and .issuer both exist at v1.0.0-alpha12. Dropped the draft's numbered `helm upgrade` step: every other setting on this page shows the values block and leaves the upgrade implicit. Spelled out A2A, which the page used unexpanded. #582, Session share TTL. controller.sessionShareMaxTTL exists at alpha12. The draft added a row to a values table that main's rewrite replaced with prose, so the cap moved into the prose instead. Its cross-link pointed at #expire-idle-conversations, which no longer exists; retargeted to #expire-idle-sessions. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Rachael Graham <rachael.graham@solo.io>
Contributor
|
Absorbed into #591 (commit 0ef30c0), rewritten against the current page rather than merged — this branch was cut before main's rewrite of
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
kagent-dev/kagent#3122 — fix: make push notification JWT signing optional with operator-managed PEM keys
Docs versions:
1.x(first shipped in v1.0.0-alpha11)What changes for users: A2A push notifications still work when no signing key is configured, but callbacks are unsigned and the JWKS endpoint returns 404. To send signed callbacks, operators now provide an unencrypted PKCS#8 Ed25519 key in a Secret and set
controller.push.signing.secretName; the old generated seed Secret is gone.What the docs now say: The operational considerations page now shows how to generate the key, store it as
private-key.pem, setcontroller.push.signing.secretName, keep the issuer stable, and rotate the key across controller replicas.Not verified: A cluster API surface was captured in
cluster-facts.md, but no configuration was applied; the steps are unrun.How
kagent-3122was drafted, and what was not verifiedPlan, and what changed it
agent-memory.mdmatched only database Secret examples, andreference/helm.mdis generated;operations/operational-considerations.mdis the specific editable page for production controller settings.operations/operational-considerations.mdand wrote a proposed release note.Why a documentation change is necessary
The pull request changes the push notification signing model from a base64 seed value and chart-managed Secret to an operator-managed Secret that contains an unencrypted PKCS#8 Ed25519 PEM key. It also makes signing optional, so push notifications are sent without an
Authorizationheader by default. The existing website docs did not tell production operators how to configure the newcontroller.push.signing.secretNamefield or what happens when they leave it empty.What changed on disk
docs-site/content/kagent/1.x/operations/operational-considerations.md— Added a section that documents optional push notification JWT signing, theprivate-key.pemSecret shape, thecontroller.push.signing.secretNameandcontroller.push.signing.issuervalues, and the rotation requirement for controller replicas.How to verify this change
controller.push.signing.secretName: kagent-push-signingand a stablecontroller.push.signing.issuer.OKPwhen signing is enabled. Withcontroller.push.signing.secretNameomitted, the same endpoint returns 404 and push callbacks have noAuthorizationheader.What was not verified
The configuration was not applied to a cluster, so every command in this diff is unrun.
cluster-facts.mdlists the installed CRDs, but this change documents Helm values and runtime behavior from the dossier diff rather than a live apply.How the pages were chosen (triage report)
Draft a documentation change
kagent-dev/kagent#3122 — fix: make push notification JWT signing optional with operator-managed PEM keys
kagent-dev/websiteexistingSecret, replaces the old seed value. Remove render-time key generation so deployments reuse an operator-managed key. When no key is provided, push notification still works but JWT signing and JWKS publication will not be enabled.docs/architecture/a2a-push-notifications.mddocs/env.mdgo/core/internal/service/session/push_jwt.gogo/core/internal/service/session/push_notifications.gogo/core/pkg/app/app.gogo/core/pkg/env/kagent.goDraft branch:
pr-tracker-draft-kagent-3122Important
The test suite has not run on this pull request. It was opened by
github-actions[bot], and GitHub does not start workflows for pull requests opened with the repository's own token. This repository's checks are held asaction_requireduntil somebody presses Approve and run on the Checks tab. Checks that come from GitHub Apps rather than Actions, such as DCO, run on their own.Please approve the checks before reviewing the content: an absence of failures here means the tests have not run, not that they passed.