Skip to content

[OpAMP] Support AcceptsRemoteConfig #6814

@ycombinator

Description

@ycombinator

Describe the enhancement:

Add support to Fleet Server for offering remote configuration to OpAMP clients (e.g., the OpAMP supervisor managing a collector). This corresponds to the OpAMP server OffersRemoteConfig capability, enabling clients that advertise AcceptsRemoteConfig to receive configuration updates from Fleet Server.

Scope includes generating and delivering AgentRemoteConfig messages in the ServerToAgent flow and surfacing remote config status (APPLYING/APPLIED/FAILED) in Fleet.

Capability advertisement vs. offering:

Per the OpAMP spec, Fleet Server MUST advertise OffersRemoteConfig in the capabilities field of the first ServerToAgent message unconditionally. However, Fleet Server MUST NOT actually include an AgentRemoteConfig payload unless the client has advertised AcceptsRemoteConfig in its most recent AgentToServer message. Advertisement is unconditional; offering is gated on client capability. See the Configuration 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 AcceptsRemoteConfig by default — the supervisor config must set capabilities.accepts_remote_config: 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:

Fleet users need to centrally push configuration updates to managed OpAMP agents (such as an OTel Collector managed by the OpAMP supervisor) from Fleet, without manually editing config files on each agent host.

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