Skip to content

[OpAMP] Support AcceptsOpAMPConnectionSettings #6815

@ycombinator

Description

@ycombinator

Describe the enhancement:

Add support to Fleet Server for offering OpAMP connection settings to clients, allowing Fleet to redirect or reconfigure how a managed client connects back to an OpAMP server (endpoint, headers, TLS certificates, etc.). This corresponds to the OffersConnectionSettings server capability applied to the OpAMP channel itself.

Capability advertisement vs. offering:

Per the OpAMP spec, Fleet Server MUST advertise OffersConnectionSettings in the capabilities field of the first ServerToAgent message unconditionally. However, Fleet Server may only actually send an OpAMP-channel ConnectionSettings offer to clients that have advertised AcceptsOpAMPConnectionSettings in their most recent AgentToServer message. Advertisement is unconditional; offering is gated on client capability. See the Connection Settings Management section of the spec.

Testing:

This feature should be tested against an upstream OTel Collector (contrib distribution) managed by the OpAMP Supervisor. The supervisor does NOT advertise AcceptsOpAMPConnectionSettings by default — the supervisor config must set capabilities.accepts_opamp_connection_settings: true. See the OpAMP Supervisor README for instructions on running the supervisor, and the OTel Collector contrib releases page for the collector binary.

Describe a specific use case for the enhancement or feature:

Rotating credentials or migrating managed clients between OpAMP endpoints without manual reconfiguration. For example, when a Fleet Server certificate rotates, Fleet can push new TLS material to all managed agents so they continue connecting without operator intervention.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions