Repository navigation
[Automated] Draft docs (agentgateway): CEL: Expose outbound calls as upstreamCalls - #1437
Merged
Merged
Conversation
…upstreamCalls Drafts-Commit: 41fd4e3 Signed-off-by: GitHub Action <action@github.com>
The release-notes entry for this change now lives in the combined release-notes PR, #1482, so the draft PRs no longer conflict on the release-notes pages. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Collaborator
|
Moved this PR's release-notes entry to the combined release-notes PR, #1482, so the draft PRs stop conflicting on the release-notes pages. Review or change the entry there. |
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Signed-off-by: Kristin Brown <kristin.brown@solo.io>
- Rewrite the Kubernetes access log example to the AgentgatewayPolicy shape: accessLog.attributes.add is a list of name/expression entries. - Mark upstreamCalls as available to tracing and metrics as well as logging. Metric and tracer fields are registered and evaluated through the same log CEL executor that records upstream calls. - Drop the upstreamCalls footnotes from both variables pages; the regenerated CEL reference covers the field. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Art Berger <art.berger@solo.io>
artberger
approved these changes
Nov 6, 2026
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.
agentgateway/agentgateway#4044 — CEL: Expose outbound calls as upstreamCalls
Docs versions:
standalone/main,kubernetes/mainNo code-path rule covers 4 touched file(s). The planner could route these only by identifier search, so the candidate pages may miss what they changed, including in the other mode:
crates/agentgateway/src/proxy/httpproxy.rscrates/agentgateway/src/telemetry/mod.rscrates/agentgateway/src/telemetry/upstream.rscrates/core/src/metrics.rsWhat changes for users: Access log CEL expressions can read
upstreamCallsto inspect outbound HTTP calls that a request made, including MCP target calls and policy callouts after backend authentication or token exchange. The variable is populated only when an access log expression references it, and stdio MCP targets do not add entries.What the docs now say: The standalone and Kubernetes CEL variables pages list
upstreamCallsfor logging expressions, and the CEL examples pages show how to log MCP token audiences and outbound call statuses from access logs.Not verified: No cluster, local gateway, or Hugo run; the configuration is unrun.
How
agentgateway-4044was drafted, and what was not verifiedPlan, and what changed it
upstreamCallsCEL access-log surface from the new-feature candidate list.schema/cel.mdand the generated main CEL reference already list the full field shape, so the missing docs were mode-specific availability and a copyable access-log expression.upstreamCallson the standalone and Kubernetes CEL variables and examples pages.Why a documentation change is necessary
The pull request adds the
upstreamCallsCEL variable for access log expressions, and the generated reference lists its nested fields. No existing prose page mentionedupstreamCalls, so readers had no example that showed where the variable is available or how to use it to inspect MCP target calls after backend authentication or token exchange. The CEL reference pages are the specific pages for expression availability and examples in both deployment modes.Rejected candidates: the MCP guide pages cover connectivity, authentication, authorization, guardrails, and client setup rather than access-log expression variables; the metrics and traces pages cover Prometheus and trace attributes rather than CEL access logs; the access-log export pages cover OTLP delivery rather than expression syntax; the Kubernetes setup customization and backend tunnel pages cover unrelated configuration areas. The generated CEL context reference already carries the field reference, so no generated file was edited.
What changed on disk
content/docs/standalone/main/reference/cel/variables.md: AddedupstreamCallsto the logging row and clarified that tracing and metrics do not get that variable.content/docs/standalone/main/reference/cel/yaml-and-examples.md: Added a standalonefrontendPolicies.accessLog.addexample for MCP token audiences and outbound call statuses.content/docs/kubernetes/main/reference/cel/variables.md: AddedupstreamCallsto the logging row.content/docs/kubernetes/main/reference/cel/yaml-and-examples.md: Added a Kubernetesspec.frontend.accessLog.addexample for MCP token audiences and outbound call statuses.How to verify this change
frontendPolicies.accessLog.addexample fromcontent/docs/standalone/main/reference/cel/yaml-and-examples.mdto a working MCP HTTP target configuration that uses backend authentication or token exchange, and runagentgateway -f config.yaml.tools/callrequest through the gateway. The stdout access log includesmcp_token_audiencesandupstream_call_statuses, with an entry whosesubtypeisMcp, whosetargetis the MCP target name, and whosestatusis the upstream HTTP response code.spec.frontend.accessLog.addexample fromcontent/docs/kubernetes/main/reference/cel/yaml-and-examples.mdto the AgentgatewayPolicy that targets the Gateway, send the same request, and check the proxy pod logs for the same custom fields. The generated CEL reference formainlists the nested fields used by the examples, includingupstreamCalls.request.headers,upstreamCalls.response.code,upstreamCalls.response.grpcStatus,upstreamCalls.duration, andupstreamCalls.error.What was not verified
Validation of the added standalone configuration
0 of 1 added config file(s) passed
--validate-only(latestwithcr.agentgateway.dev/agentgateway:latest,mainwithcr.agentgateway.dev/agentgateway:latest-dev).Validation checks field names and types only. Commands, runtime behavior, and field paths written in prose are unverified.
Rejected:
content/docs/standalone/main/reference/cel/yaml-and-examples.md:94— Run 'docker run --help' for more informationHow the pages were chosen (triage report)
Feature clusters
Kept apart on purpose. Merging wrongly produces a guide that documents two things and explains neither, so these are reported for a person to merge rather than grouped automatically:
New configuration: no page mentions it yet
agentgateway/agentgateway#4044 — CEL: Expose outbound calls as upstreamCalls
agentgateway/websitecrates/agentgateway/src/proxy/httpproxy.rscrates/agentgateway/src/telemetry/mod.rscrates/agentgateway/src/telemetry/upstream.rscrates/core/src/metrics.rsRelease notes
This pull request also adds its release-note entries:
content/docs/kubernetes/main/release-notes/release-notes.md: Access logs can inspect outbound upstream calls (feature, in a new 1.8 section)content/docs/standalone/main/release-notes/release-notes.md: Access logs can inspect outbound upstream calls (feature, in a new 1.8 section)Draft branch:
pr-tracker-draft-agentgateway-4044