Add heartbeat to FIPS collector build for lightweight synthetics - #15818
Add heartbeat to FIPS collector build for lightweight synthetics#15818mcapell wants to merge 2 commits into
Conversation
Register the heartbeat sub-command in the requirefips build of the elastic-otel-collector binary so that FIPS-capable Elastic Agent images can run lightweight synthetics monitors. This adds heartbeat to AddCommands() in the FIPS variant, mirroring the non-FIPS cmd.go. heartbeat is already FIPS-compilable upstream after elastic/beats#51326 removed SHA1 from requirefips builds.
|
This pull request does not have a backport label. Could you fix it @mcapell? 🙏
|
|
If we're doing this for agentbeat, we should also do it for the heartbeat otel receiver. Moving it from https://github.com/elastic/elastic-agent/blob/main/internal/edot/otelcol/components/components_nofips.go to https://github.com/elastic/elastic-agent/blob/main/internal/edot/otelcol/components/default.go will do it. |
TL;DR
Remediation
Investigation detailsRoot CauseThe PR adds Evidence
VerificationNo PR changes were made and no local PR build was run; diagnosis is based on the failed Buildkite log and PR diff. No matching What is this? | From workflow: PR Buildkite Detective Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not. |
|
Pinging @elastic/elastic-agent-control-plane (Team:Elastic-Agent-Control-Plane) |
💚 Build Succeeded
History
cc @mcapell |
|
@kruskall I took care of it here: elastic/beats#52273 |
What does this PR do?
Register the heartbeat sub-command in the requirefips build of the
elastic-otel-collector binary so that FIPS-capable Elastic Agent images
can run lightweight synthetics monitors.
This adds heartbeat to AddCommands() in the FIPS variant, mirroring the
non-FIPS cmd.go. heartbeat is already FIPS-compilable upstream after
elastic/beats#51326 removed SHA1 from requirefips builds.
Why is it important?
Registers heartbeat to elastic-agent FIPS image.
Checklist
./changelog/fragmentsusing the changelog toolDisruptive User Impact
How to test this PR locally
After building the image, we can now see the heartbeat binary:
$ docker run --rm --entrypoint sh docker.elastic.co/elastic-agent/elastic-agent-fips:9.6.0-SNAPSHOT -c "/usr/share/elastic-agent/data/elastic-agent-*/components/elastic-otel-collector heartbeat version" heartbeat version 9.6.0 (arm64), libbeat 9.6.0 [704a13dc743fe599e707ae39308d0b5b5be8d497 built 2026-07-21 11:50:27 +0000 UTC] (FIPS-distribution: true)Related issues
Questions to ask yourself