elastic / elastic/fleet-server
[OpAMP] Support `AcceptsOpAMPConnectionSettings`
- Dominant language
- Go
- Stars
- 113
- Forks
- 117
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 112
Description
**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](https://opentelemetry.io/docs/specs/opamp/#servertoagentcapabilities) of the first `ServerToAgent` message unconditionally. However, Fleet Server may only actually send an OpAMP-channel `ConnectionSettings` offer to clients that have advertised [`AcceptsOpAMPConnectionSettings`](https://opentelemetry.io/docs/specs/opamp/#agenttoservercapabilities) in their most recent `AgentToServer` message. Advertisement is unconditional; offering is gated on client capability. See the [Connection Settings Management section](https://opentelemetry.io/docs/specs/opamp/#connection-settings-management) 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](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/cmd/opampsupervisor) for instructions on running the supervisor, and the [OTel Collector contrib releases](https://github.com/open-telemetry/opentelemetry-collector-releases/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.
Contributor guide
Assessment
This issue has not been assessed yet.