Repository navigation
Admit service certificates with separate sampler Session ownership - #16357
Merged
agentydragon merged 2 commits intoNov 14, 2026
Merged
agentydragon merged 2 commits into
agentydragon merged 2 commits into
Conversation
Contributor
Visual review for
|
agentydragon-agent
force-pushed
the
agent/service-svid-sampler
branch
2 times, most recently
from
November 14, 2026 07:00
3a580a2 to
8c2b9e5
Compare
agentydragon
enabled auto-merge (squash)
November 14, 2026 07:06
auto-merge was automatically disabled
November 14, 2026 07:27
Head branch was pushed to by a user without write access
agentydragon-agent
force-pushed
the
agent/service-svid-sampler
branch
from
November 14, 2026 07:27
8c2b9e5 to
d718c2c
Compare
agentydragon-agent
force-pushed
the
agent/service-svid-sampler
branch
from
November 14, 2026 07:50
d718c2c to
25619ca
Compare
agentydragon
pushed a commit
that referenced
this pull request
Nov 14, 2026
…16358) Add exact service SVID allowlists for LLM ModelConfig reads and Central Sampler inference delegation. The sampler must supply a typed effective Identity and Session envelope; live UID verification and the Identity’s egress grants remain authoritative. A service certificate carries neither a synthetic account nor Pod proof, and failed certificate verification cannot select a bearer fallback. Rebased PR head: `958c9417080866e425fa72e8195c479f0f4f28c3`. This PR targets devel because cross-fork native stacks are unsupported. Stage 3 only. Deliberately excludes production settings, the sampler’s `auth.mode: agentplane_ingress` caller switch, other caller TLS changes, and TokenReview/RBAC removal. Those wait for receiver image pins. Staging’s existing bearer mode continues during this stage. The overview includes optional service edges. Validation: pre-commit and commit hooks passed. Isolated `bbr test //agentplane/llm_ingress:ingress_test //agentplane/llm_ingress:settings` passed (real TLS peer/delegation tests, exact caller denial, effective Identity/Session, stale UID and bearer ambiguity). Deployment suite coverage is recorded below. Rollback: revert before enabling service callers; after caller migration, first restore compatible caller images/settings. Existing bearer/workload admission remains available at this stage. Check ModelConfig discovery and ordinary inference after rollout. Isolated `bbr test //agentplane/llm_ingress:ingress_test //agentplane/llm_ingress:settings` passed (https://app.buildbuddy.io/invocation/ff86e46a-7863-4843-a78a-19815e3c2aa1). Deployment suite `bbr test //agentplane/system_tests/suites/mcp:test_services` passed (https://app.buildbuddy.io/invocation/16dc4905-93cc-4c45-bc49-9fb33e486584). Rollout gate: no new certificate-path or service-allowlist manifest setting until #16359 merges and the receiver images are pinned. Inactive service defaults are omitted from rendered settings. `bbr test //agentplane/llm_ingress:settings //cluster/cdk8s:test_generate_manifests` passed (https://app.buildbuddy.io/invocation/19584d67-2eb9-41cc-9e33-fbfdb3960e32). ## Questions for Claude Before stage 4, verify staging central Sessions retain execution Identity name and UID required by typed LLM delegation. No fallback to bearer is permitted if that proof is absent. Rebased after #16354 and #16357 merged; the only conflict was in `system_overview.md`. Both merged diagrams and the LLM authentication edge are preserved. Scoped pre-commit and `git diff --check` passed; receiver code is unchanged by this rebase. --------- Co-authored-by: agentydragon-agent <260791330+agentydragon-agent@users.noreply.github.com>
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.
Admit exactly configured service SVIDs on the sampler listener, alongside existing bearer accounts. Persist service-owned Sessions using the actual SPIFFE ID in a separate column; the authenticated service never becomes a ServiceAccount UID and cannot reopen an account-owned Session. The schema addition supports overlapping legacy writers.
Rebased PR head:
25619ca36759b7f2373fe0cb9a4a5155e06e3411. This PR targets devel because cross-fork native stacks are unsupported. It reuses #16333’s optional TLS listener, adding client trust before any manifest enables it.Stage 3 only. This deliberately leaves out caller switches, production settings, ownership transfer, outbound History/LLM authentication changes and bearer/RBAC removal. In particular, stage 4 must explicitly handle existing account-owned Sessions rather than map a service to an account UID. The overview diagram records the optional service edge.
Validation: pre-commit and commit hooks passed. RPC and Session-store tests passed in ca8830c5, including exact service denial, mixed bearer rejection and separate ownership. Isolated
bbr testpassed for//agentplane/central_sampler/internal/rpc:unit_test,//agentplane/central_sampler/internal/sessionstore:sessionstore_test,//agentplane/central_sampler/internal/settings:settings_test, and//agentplane/central_sampler:settings(invocation). Deployment coverage is recorded below.Rollback: before enabling service callers, revert this receiver commit; leave the additive migration applied. Existing account-owned Sessions remain readable by prior images. After service-owned Sessions exist, do not revert to an old binary without a reviewed ownership cutover; the migration down path refuses to orphan them. Check retained Sessions and continuation after rollout.
Deployment suite
bbr test //agentplane/system_tests/suites/mcp:test_servicespassed (https://app.buildbuddy.io/invocation/b49f4760-c385-4be6-85b7-236af088de77).Rollout gate: no new certificate-path or service-allowlist manifest setting until #16359 merges and the receiver images are pinned.
Inactive service defaults are omitted from rendered settings.
bbr test //agentplane/central_sampler:settings //cluster/cdk8s:test_generate_manifestspassed (https://app.buildbuddy.io/invocation/d2ddfa23-2fcc-4176-8a44-45ad959f6d3a).Questions for Claude
Stage 4 needs an explicit ownership cutover for existing sampler Sessions; no implicit service→ServiceAccount UID mapping is introduced.