elastic / elastic/fleet-server
[OpAMP] Support `AcceptsPackages`
- 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 package/executable updates to OpAMP clients. This is the most complex capability — it requires integration with an upstream upgrade process, package signing/verification, and a delivery mechanism for binaries. Lowest priority / optional for this outcome.
**Capability advertisement vs. offering:**
Per the OpAMP spec, Fleet Server MUST advertise `OffersPackages` in the [`capabilities` field](https://opentelemetry.io/docs/specs/opamp/#servertoagentcapabilities) of the first `ServerToAgent` message unconditionally. However, Fleet Server MUST NOT actually send a `PackagesAvailable` payload unless the client has advertised [`AcceptsPackages`](https://opentelemetry.io/docs/specs/opamp/#agenttoservercapabilities) in its most recent `AgentToServer` message. Advertisement is unconditional; offering is gated on client capability. See the [Packages section](https://opentelemetry.io/docs/specs/opamp/#packages) of the spec.
**Testing:**
:warning: This feature **cannot currently be tested end-to-end with the upstream OTel Collector supervisor**. The supervisor has no config key for `accepts_packages` and does not advertise the capability bit. Testing will require upstream supervisor support (tracked at [opentelemetry-collector-contrib#47272](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47272)). See the [OpAMP Supervisor README](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/cmd/opampsupervisor) and the [OTel Collector contrib releases](https://github.com/open-telemetry/opentelemetry-collector-releases/releases) page.
**Describe a specific use case for the enhancement or feature:**
Fleet centrally offers package/executable updates to managed OpAMP agents, enabling operators to upgrade agent binaries across a fleet from Fleet rather than managing host-level package installs.
Contributor guide
Assessment
This issue has not been assessed yet.