Feature
Arbitrary request metadata propagation (announced 2026-06-25). Modules and clients can attach arbitrary key/value metadata to a request context.Context and have it travel automatically across every gRPC hop — from a client, through viam-server, into and between modules — without piggybacking on OpenTelemetry trace IDs. New Go package go.viam.com/rdk/utils/contextutils/metadata with Set / Get / All / Delete.
import "go.viam.com/rdk/utils/contextutils/metadata"
ctx = metadata.Set(ctx, "sanding-pass-id", "abc-123") // client side
if passID, ok := metadata.Get(ctx, "sanding-pass-id"); ok { // downstream
logger.Infof("handling pass %s", passID)
}
Current docs coverage
Not documented (no contextutils / metadata.Set references). Unrelated "propagation" hits are frame-system and OTel trace-context wording.
Verified state / source PRs
viamrobotics/rdk#6049 — "RSDK-13144: Client-to-server arbitrary metadata passing via Context" (merged)
Proposed docs work — needs a placement decision (issue-only for now)
This is a low-level Go SDK utility aimed at advanced module developers — arguably godoc/reference territory rather than a standalone docs page. Options for the docs team to choose:
- A short subsection on an existing advanced Go modules page (recommended if there's a natural home).
- A reference note only.
wontfix — leave it to Go package docs.
Draft LO (if documented): [Apply] Attach key/value metadata to a request context and read it in a downstream module, so application-specific identifiers propagate across gRPC hops without coupling to tracing.
No PR is being opened for this yet — flagging for a human placement call to avoid spawning a thin page.
Feature
Arbitrary request metadata propagation (announced 2026-06-25). Modules and clients can attach arbitrary key/value metadata to a request
context.Contextand have it travel automatically across every gRPC hop — from a client, throughviam-server, into and between modules — without piggybacking on OpenTelemetry trace IDs. New Go packagego.viam.com/rdk/utils/contextutils/metadatawithSet/Get/All/Delete.Current docs coverage
Not documented (no
contextutils/metadata.Setreferences). Unrelated "propagation" hits are frame-system and OTel trace-context wording.Verified state / source PRs
viamrobotics/rdk#6049— "RSDK-13144: Client-to-server arbitrary metadata passing via Context" (merged)Proposed docs work — needs a placement decision (issue-only for now)
This is a low-level Go SDK utility aimed at advanced module developers — arguably godoc/reference territory rather than a standalone docs page. Options for the docs team to choose:
wontfix— leave it to Go package docs.Draft LO (if documented): [Apply] Attach key/value metadata to a request context and read it in a downstream module, so application-specific identifiers propagate across gRPC hops without coupling to tracing.
No PR is being opened for this yet — flagging for a human placement call to avoid spawning a thin page.