Repository: elastic/elastic-agent
Pull request #6972: [CI] Fixed container images packaging
Author: login: pazone
Labels: name: enhancement
description: New feature or request
name: Team:Elastic-Agent-Control-Plane
description: Label for the Agent Control Plane team
name: skip-changelog
name: Team:Ingest-EngProd
name: backport-active-all
description: Automated backport with mergify to all the active branches
Created: 2025-02-21T14:59:25Z | Merged: 2025-03-05T10:55:54Z

<!-- Type of change
Please label this PR with one of the following labels, depending on the scope of your change:
- Bug
- Enhancement
- Breaking change
- Deprecation
- Cleanup
- Docs
-->

## What does this PR do?
Fixed container image packaging by setting proper packaging variables
We now have 9 packaging steps: 

#### Packaging: linux/amd64 rpm 
Artifacts :
* elastic-agent-9.0.0-SNAPSHOT-x86_64.rpm
* elastic-agent-9.0.0-SNAPSHOT-x86_64.rpm.sha512

#### Packaging: linux/arm64 rpm
Artifacts :
* elastic-agent-9.0.0-SNAPSHOT-aarch64.rpm
* elastic-agent-9.0.0-SNAPSHOT-aarch64.rpm.sha512

#### Packaging: linux/amd64 deb
Artifacts :
* elastic-agent-9.0.0-SNAPSHOT-amd64.deb
* elastic-agent-9.0.0-SNAPSHOT-amd64.deb.sha512

#### Packaging: linux/arm64 deb
Artifacts:
* elastic-agent-9.0.0-SNAPSHOT-arm64.deb
* elastic-agent-9.0.0-SNAPSHOT-arm64.deb.sha512

#### Packaging: linux/amd64 tar.gz
Artifacts:
* elastic-agent-9.0.0-SNAPSHOT-linux-x86_64.tar.gz
* elastic-agent-9.0.0-SNAPSHOT-linux-x86_64.tar.gz.sha512

#### Packaging: linux/arm64 tar.gz
Artifacts:
* elastic-agent-9.0.0-SNAPSHOT-linux-arm64.tar.gz
* elastic-agent-9.0.0-SNAPSHOT-linux-arm64.tar.gz.sha512

#### Packaging: Containers linux/amd64
14 amd64 images. See the build

#### Packaging: Containers linux/arm64
14 arm64 images. See the build

#### Packaging: windows/amd64 zip
* elastic-agent-9.0.0-SNAPSHOT-windows-x86_64.zip
* elastic-agent-9.0.0-SNAPSHOT-windows-x86_64.zip.sha512

## Why is it important?
The container images will be used by k8s integration tests instead of rebuilding them.
<!-- Mandatory
Explain here the WHY, or the rationale/motivation for the changes.
-->

## Checklist

<!-- Mandatory
Add a checklist of things that are required to be reviewed in order to have the PR approved

List here all the items you have verified BEFORE sending this PR. Please DO NOT remove any item, striking through those that do not apply. (Just in case, strikethrough uses two tildes. ~~Scratch this.~~)
-->

- [ ] I have read and understood the [pull request guidelines](https://github.com/elastic/elastic-agent/blob/main/CONTRIBUTING.md#pull-request-guidelines) of this project.
- [ ] My code follows the style guidelines of this project
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] I have made corresponding change to the default configuration files
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] I have added an entry in `./changelog/fragments` using the [changelog tool](https://github.com/elastic/elastic-agent#changelog)
- [ ] I have added an integration test or an E2E test

## Disruptive User Impact

<!--
Will the changes introduced by this PR cause disruption to users in any way? If so, please describe what changes users
could make on their end to nullify or minimize this disruption. Consider impacts in related systems, not just directly
when using Elastic Agent.
-->

## How to test this PR locally

<!-- Recommended
Explain here how this PR will be tested by the reviewer: commands, dependencies, steps, etc.
-->

## Related issues

<!-- Recommended
Link related issues below. Insert the issue link or reference after the word "Closes" if merging this should automatically close it.

- Closes #123
- Relates #123
- Requires #123
- Superseds #123
-->
-

## Questions to ask yourself

- How are we going to support this in production?
- How are we going to measure its adoption?
- How are we going to debug this?
- What are the metrics I should take care of?
- ...

<!-- CI Cheatsheet
Trigger comments:
/test             (Or `buildkite test this|it`) Triggers unit test pipeline
/test extended    (Or `buildkite test extended`) Triggers integration test pipeline

PR labels:
skip-ci           Skips unit and integration tests
skip-it           Skips integration tests
-->


Linked issue #123: [Elastic Agent] Add ability to debug a composable provider
## Overview

To help support dynamic inputs elastic/beats#19225 Elastic Agent needs to add the ability to debug the providers using for variable substitution. This issue is to track the debugging effort, for information about variable substitution review elastic/beats#20781

## Debugging

This obviously adds a lot of confusion to what the resulting configuration that Elastic Agent will be running with. To ensure that the feature is deployed correctly and that providers are working as expected debugging needs to be a top priority in the implementation.

### Debugging the running daemon

With the new ability to communicate with the running daemon the `inspect` command should be changed to talk to the running daemon and return the current configuration that is being used in memory. This will ensure that with running providers like Docker and Kubernetes it is easy to inspect what the resulting configuration is.

The current `inspect` and `output` commands can be combined and moved under the `debug` subcommand. (**Note**: This is not connecting to the currently running Elastic Agent)

```
$ ./elastic-agent debug config
```

Possible to watch the configuration as changes come in with `--watch`.

```
$ ./elastic-agent debug config --watch
```

### Debugging a single provider

A new `debug` command should be implemented that runs a single provider and output what it's currently providing back to the Elastic Agent. (**Note**: This is not connecting to the currently running Elastic Agent)

Example outputting docker provider inventory key/value mappings:

```
$ ./elastic-agent debug provider docker 
{"id": "1",  "mapping": {"id": "1", "paths": {"log": "/var/log/containers/1.log"}}, "processors": {"add_fields": {"container.name": "my-container"}},}
{"id": "2", "mapping": {"id": "2", "paths": {"log": "/var/log/containers/2.log"}}, "processors": {"add_fields": {"container.name": "other-container"}},}
{"id": "2", "mapping": nil}
```

Example rendering configurations with changes:

```
$ ./elastic-agent debug provider docker -c testing-conf.yml
# {"id": "1",  "mapping": {"id": "1", "paths": {"log": "/var/log/containers/1.log"}}, "processors": {"add_fields": {"container.name": "my-container"}}}
inputs:
  - type: logfile
    path: /var/log/containers/1.log
    processors:
      - add_fields:
          container.name: my-container
# {"id": "2", "mapping": {"id": "2", "paths": {"log": "/var/log/containers/2.log"}}, "processors": {"add_fields": {"container.name": "other-container"}}}
inputs:
  - type: logfile
    path: /var/log/containers/1.log
    processors:
      - add_fields:
          container.name: my-container
  - type: logfile
    path: /var/log/containers/2.log
    processors:
      - add_fields:
          container.name: other-container
# {"id": "2", "mapping": nil}
inputs:
  - type: logfile
    path: /var/log/containers/1.log
Linked issue comments: user: login: elasticmachine
created_at: 2020-09-17T17:47:38Z
body: Pinging @elastic/ingest-management (Team:Ingest Management)
author_association: CONTRIBUTOR
user: login: ruflin
created_at: 2020-09-18T07:16:53Z
body: ++ on the proposal. I would skip the `--watch` part at first probably. I really like that the state of a provider can be read out and also the current running config.
author_association: CONTRIBUTOR
user: login: elasticmachine
created_at: 2021-10-29T10:25:47Z
body: Pinging @elastic/elastic-agent-control-plane  (Team:Elastic-Agent-Control-Plane)
author_association: CONTRIBUTOR
user: login: jlind23
created_at: 2021-10-29T15:14:29Z
body: @michel-laterman was it part of your diagnosis job? If yes, can we close this?`
author_association: CONTRIBUTOR
user: login: michel-laterman
created_at: 2021-10-29T16:16:33Z
body: The scope of the outlined issue is more then what is currently included with `diagnostics`, let's keep this open as I think we should add this to the command (eventually)
author_association: CONTRIBUTOR
user: login: michel-laterman
created_at: 2022-03-21T19:25:23Z
body: I want to add a little more details here as it relates to diagnostics.

Currently `diagnostics` will use the exact same output of `inspect` (and `inspect output`) when gathering config from the agent and running processes.
`diagnostics` also gathers its own copy of the local (`elastic-agent.yml`/`fleet.yml`) config files (I think with variable substitution?).

The `diagnostics` command should provide the process config/policies/etc from the running agent.

However, I don't think we should name the command that does not contact from to the running agent debug as we tend to use diagnostics and debug interchangeably; maybe add it as a diagnostic subcommand, or add a flag to `inspect`?
author_association: CONTRIBUTOR

Diff:
diff --git a/.buildkite/bk.integration.pipeline.yml b/.buildkite/bk.integration.pipeline.yml
index fa293b7c4ca..09ca0af86f2 100644
--- a/.buildkite/bk.integration.pipeline.yml
+++ b/.buildkite/bk.integration.pipeline.yml
@@ -27,6 +27,8 @@ steps:
       - integration-ess
     steps:
       - label: "Win2022:sudo:{{matrix}}"
+        depends_on:
+          - packaging-windows
         command: |
           buildkite-agent artifact download build/distributions/** . --step 'packaging-windows'
           .buildkite/scripts/integration-tests.ps1 {{matrix}} true
@@ -51,6 +53,8 @@ steps:
           - install-uninstall
 
       - label: "Win2022:non-sudo:{{matrix}}"
+        depends_on:
+          - packaging-windows
         command: |
           buildkite-agent artifact download build/distributions/** . --step 'packaging-windows'
           .buildkite/scripts/integration-tests.ps1 {{matrix}} false
@@ -68,6 +72,8 @@ steps:
           - default
 
       - label: "Win2025:sudo:{{matrix}}"
+        depends_on:
+          - packaging-windows
         command: |
           buildkite-agent artifact download build/distributions/** . --step 'packaging-windows'
           .buildkite/scripts/integration-tests.ps1 {{matrix}} true
@@ -78,6 +84,9 @@ steps:
           provider: "gcp"
           machineType: "n1-standard-8"
           image: "family/platform-ingest-elastic-agent-windows-2025"
+        retry:
+          automatic:
+            limit: 1
         matrix:
           - default
           - fleet
@@ -89,12 +98,17 @@ steps:
           - install-uninstall
 
       - label: "Win2025:non-sudo:{{matrix}}"
+        depends_on:
+          - packaging-windows
         command: |
           buildkite-agent artifact download build/distributions/** . --step 'packaging-windows'
           .buildkite/scripts/integration-tests.ps1 {{matrix}} false
         artifact_paths:
           - build/**
           - build/diagnostics/**
+        retry:
+          automatic:
+            limit: 1
         agents:
           provider: "gcp"
           machineType: "n1-standard-8"
@@ -108,7 +122,7 @@ steps:
       - integration-ess
     steps:
       - label: "x86_64:non-sudo: {{matrix}}"
-        # only packaging-ubuntu-x86-64 artifact dependency is required
+        depends_on: packaging-ubuntu-x86-64
         command: |
           buildkite-agent artifact download build/distributions/** . --step 'packaging-ubuntu-x86-64'
           .buildkite/scripts/steps/integration_tests_tf.sh {{matrix}} false
@@ -126,9 +140,11 @@ steps:
           - default
 
       - label: "x86_64:sudo: {{matrix}}"
+        depends_on:
+          - packaging-ubuntu-x86-64
         # due to deb group present in matrix tar.gz and deb packages artifacts are required
         command: |
-          buildkite-agent artifact download build/distributions/** .
+          buildkite-agent artifact download build/distributions/** . --step packaging-ubuntu-x86-64          
           .buildkite/scripts/steps/integration_tests_tf.sh {{matrix}} true
         artifact_paths:
           - build/**
@@ -157,6 +173,8 @@ steps:
           - container
 
       - label: "arm:sudo: {{matrix}}"
+        depends_on:
+          - packaging-ubuntu-arm64
         command: |
           buildkite-agent artifact download build/distributions/** . --step 'packaging-ubuntu-arm64'
           .buildkite/scripts/steps/integration_tests_tf.sh {{matrix}} true
@@ -189,6 +207,8 @@ steps:
 
       - label: "arm:non-sudo: {{matrix}}"
         skip: true
+        depends_on:
+          - packaging-ubuntu-arm64
         command: |
           buildkite-agent artifact download build/distributions/** . --step 'packaging-ubuntu-arm64'
           .buildkite/scripts/steps/integration_tests_tf.sh {{matrix}} false
@@ -211,8 +231,10 @@ steps:
       - integration-ess
     steps:
       - label: "x86_64:sudo:rpm"
+        depends_on:
+          - packaging-ubuntu-x86-64
         command: |
-          buildkite-agent artifact download build/distributions/** .
+          buildkite-agent artifact download build/distributions/** . --step packaging-ubuntu-x86-64
           .buildkite/scripts/steps/integration_tests_tf.sh rpm true
         artifact_paths:
           - build/**
diff --git a/.buildkite/integration.pipeline.yml b/.buildkite/integration.pipeline.yml
index 3a71673bfc3..4882522f5b3 100644
--- a/.buildkite/integration.pipeline.yml
+++ b/.buildkite/integration.pipeline.yml
@@ -8,14 +8,16 @@ steps:
   - group: "Integration tests: packaging"
     key: "int-packaging"
     steps:
-      - label: "Packaging: Ubuntu x86_64"
-        key: "packaging-ubuntu-x86-64"
+      # Build matrix is not used for packaging in favor to unique step keys
+      # Packaging linux/amd64
+      - label: "Packaging: linux/amd64 rpm"
+        key: packaging-ubuntu-x86-64
         env:
-          PACKAGES: "tar.gz"
           PLATFORMS: "linux/amd64"
+          PACKAGES: "tar.gz,rpm,deb"
         command: ".buildkite/scripts/steps/integration-package.sh"
         artifact_paths:
-        - build/distributions/**
+          - build/distributions/**
         retry:
           automatic:
             limit: 1
@@ -31,16 +33,20 @@ steps:
           FIPS: "true"
         command: ".buildkite/scripts/steps/integration-package.sh"
         artifact_paths:
-        - build/distributions/**
+          - build/distributions/**
+        retry:
+          automatic:
+            limit: 1
         agents:
           provider: "gcp"
           machineType: "n2-standard-4"
 
-      - label: "Packaging: Ubuntu arm64"
-        key: "packaging-ubuntu-arm64"
+      # Packaging linux/arm64
+      - label: "Packaging: linux/arm64 tar.gz"
+        key: packaging-ubuntu-arm64
         env:
-          PACKAGES: "tar.gz"
           PLATFORMS: "linux/arm64"
+          PACKAGES: "tar.gz"
         command: ".buildkite/scripts/steps/integration-package.sh"
         artifact_paths:
           - build/distributions/**
@@ -48,8 +54,9 @@ steps:
           automatic:
             limit: 1
         agents:
-          provider: "gcp"
-          machineType: "n2-standard-8"
+          provider: "aws"
+          instanceType: "c6g.4xlarge"
+          imagePrefix: "core-ubuntu-2204-aarch64"
 
       - label: "Packaging: Ubuntu arm64 FIPS"
         key: "packaging-ubuntu-arm64-fips"
@@ -60,12 +67,16 @@ steps:
         command: ".buildkite/scripts/steps/integration-package.sh"
         artifact_paths:
           - build/distributions/**
+        retry:
+          automatic:
+            limit: 1
         agents:
-          provider: "gcp"
-          machineType: "n2-standard-4"
+          provider: "aws"
+          instanceType: "c6g.4xlarge"
+          imagePrefix: "core-ubuntu-2204-aarch64"
 
-      - label: "Packaging: Windows"
-        key: "packaging-windows"
+      - label: "Packaging: windows/amd64 zip"
+        key: packaging-windows
         env:
           PACKAGES: "zip"
           PLATFORMS: "windows/amd64"
@@ -79,28 +90,31 @@ steps:
           provider: "gcp"
           machineType: "n2-standard-8"
 
-      - label: "Packaging: Containers {{matrix.ext}} {{matrix.arch}}"
-        key: "packaging-containers"
+      - label: "Packaging: Containers linux/amd64"
+        key: packaging-containers-x86-64
         env:
-          PACKAGES: "{{matrix.ext}}"
-          PLATFORMS: "{{matrix.arch}}"
+          PACKAGES: "docker"
+          PLATFORMS: "linux/amd64"
         command: ".buildkite/scripts/steps/integration-package.sh"
         artifact_paths:
           - build/distributions/**
-        retry:
-          automatic:
-            limit: 1
         agents:
           provider: "gcp"
           machineType: "n2-standard-8"
-        matrix:
-          setup:
-            arch:
-              - linux/amd64
-              - linux/arm64
-            ext:
-              - rpm
-              - deb
+
+      - label: "Packaging: Containers linux/arm64"
+        key: packaging-containers-arm64
+        env:
+          PACKAGES: "docker"
+          PLATFORMS: "linux/arm64"
+        command: |
+          .buildkite/scripts/steps/integration-package.sh
+        artifact_paths:
+          - build/distributions/**
+        agents:
+          provider: "aws"
+          instanceType: "c6g.4xlarge"
+          imagePrefix: "core-ubuntu-2204-aarch64"
 
   - label: "Serverless integration test"
     key: "serverless-integration-tests"
@@ -157,9 +171,8 @@ steps:
     command: "buildkite-agent pipeline upload .buildkite/bk.integration.pipeline.yml"
 
   - label: "Serverless Beats Tests"
-    # To speedup the build process only packaging-ubuntu-x86-64 artifact dependency is required
     depends_on:
-      - packaging-ubuntu-x86-64
+      - int-packaging
     key: "serverless-beats-integration-tests"
     concurrency_group: elastic-agent-extended-testing/beats-integration
     concurrency: 8
diff --git a/dev-tools/mage/crossbuild.go b/dev-tools/mage/crossbuild.go
index a1492902f98..c7340490d41 100644
--- a/dev-tools/mage/crossbuild.go
+++ b/dev-tools/mage/crossbuild.go
@@ -229,7 +229,7 @@ func CrossBuildImage(platform string) (string, error) {
 	case platform == "darwin/arm64" || platform == "darwin/universal":
 		tagSuffix = "darwin-arm64-debian11"
 	case platform == "linux/arm64":
-		tagSuffix = "arm"
+		tagSuffix = "base-arm-debian9"
 	case platform == "linux/armv5" || platform == "linux/armv6":
 		tagSuffix = "armel"
 	case platform == "linux/armv7":


Reviews:
user: login: pazone
state: COMMENTED
author_association: NONE
submitted_at: 2025-02-25T23:57:57Z
user: login: oakrizan
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-03-03T10:43:26Z
user: login: dliappis
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-04T19:41:40Z
user: login: pazone
state: COMMENTED
author_association: NONE
submitted_at: 2025-03-04T20:21:33Z
user: login: pazone
state: COMMENTED
author_association: NONE
submitted_at: 2025-03-04T20:56:57Z
user: login: pazone
state: COMMENTED
author_association: NONE
submitted_at: 2025-03-04T21:11:10Z
user: login: pkoutsovasilis
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-03-05T09:44:16Z
user: login: dliappis
body: LGTM
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-03-05T09:50:52Z

Review comments:
diff_hunk: @@ -102,9 +102,8 @@ steps:
       - integration-ess
     steps:
       - label: "x86_64:non-sudo: {{matrix}}"
-        # only packaging-ubuntu-x86-64 artifact dependency is required
         command: |
-          buildkite-agent artifact download build/distributions/** . --step 'packaging-ubuntu-x86-64' --build ${BUILDKITE_TRIGGERED_FROM_BUILD_ID}
path: .buildkite/bk.integration.pipeline.yml
user: login: pazone
body: Build matrix is not used because we need unique step keys
created_at: 2025-02-25T23:57:57Z
author_association: NONE
diff_hunk: @@ -108,7 +122,7 @@ steps:
       - integration-ess
     steps:
       - label: "x86_64:non-sudo: {{matrix}}"
-        # only packaging-ubuntu-x86-64 artifact dependency is required
+        depends_on: packaging-ubuntu-x86-64
path: .buildkite/bk.integration.pipeline.yml
user: login: dliappis
body: nit: let's stick with one style (can be done in a follow up) either like this, or [like below](https://github.com/elastic/elastic-agent/pull/6972/files#diff-f309b0b791582d35ad84f2c1ef44d26c489f926497a44a3f8e6d72bf3f680572R144) using a list
created_at: 2025-03-04T19:35:28Z
author_association: CONTRIBUTOR
diff_hunk: @@ -27,6 +27,8 @@ steps:
       - integration-ess
     steps:
       - label: "Win2022:sudo:{{matrix}}"
+        depends_on:
+          - packaging-windows
path: .buildkite/bk.integration.pipeline.yml
user: login: dliappis
body: Just curious: how come we didn't need such explicit dependencies until now?
created_at: 2025-03-04T19:38:59Z
author_association: CONTRIBUTOR
diff_hunk: @@ -78,6 +84,9 @@ steps:
           provider: "gcp"
           machineType: "n1-standard-8"
path: .buildkite/bk.integration.pipeline.yml
user: login: dliappis
body: nit: in a future PR let's get rid of those ancient n1 instance types in favor of n2.
created_at: 2025-03-04T19:39:19Z
author_association: CONTRIBUTOR
diff_hunk: @@ -8,14 +8,16 @@ steps:
   - group: "Integration tests: packaging"
     key: "int-packaging"
     steps:
-      - label: "Packaging: Ubuntu x86_64"
-        key: "packaging-ubuntu-x86-64"
+      # Build matrix is not used for packaging in favor to unique step keys
+      # Packaging linux/amd64
+      - label: "Packaging: linux/amd64 rpm"
path: .buildkite/integration.pipeline.yml
user: login: dliappis
body: should we update this to show rpm,deb,tgz since it's doing all three?
created_at: 2025-03-04T19:40:54Z
author_association: CONTRIBUTOR
diff_hunk: @@ -27,6 +27,8 @@ steps:
       - integration-ess
     steps:
       - label: "Win2022:sudo:{{matrix}}"
+        depends_on:
+          - packaging-windows
path: .buildkite/bk.integration.pipeline.yml
user: login: pazone
body: Good question. The integration tests trigger step depends on the entire `int-packaging` group that wraps all the packaging steps. So these dependensies give no effect. On the other hand, they strictly outline the exact step dependencies 
created_at: 2025-03-04T20:21:32Z
author_association: NONE
diff_hunk: @@ -108,7 +122,7 @@ steps:
       - integration-ess
     steps:
       - label: "x86_64:non-sudo: {{matrix}}"
-        # only packaging-ubuntu-x86-64 artifact dependency is required
+        depends_on: packaging-ubuntu-x86-64
path: .buildkite/bk.integration.pipeline.yml
user: login: pazone
body: This is about to be removed https://github.com/elastic/elastic-agent/pull/7184 
created_at: 2025-03-04T20:56:56Z
author_association: NONE
diff_hunk: @@ -8,14 +8,16 @@ steps:
   - group: "Integration tests: packaging"
     key: "int-packaging"
     steps:
-      - label: "Packaging: Ubuntu x86_64"
-        key: "packaging-ubuntu-x86-64"
+      # Build matrix is not used for packaging in favor to unique step keys
+      # Packaging linux/amd64
+      - label: "Packaging: linux/amd64 rpm"
path: .buildkite/integration.pipeline.yml
user: login: pazone
body: It is still possible to use the build matrix with 2 axes for arm and x86. The comment is added for questions like [this one](https://github.com/elastic/elastic-agent/pull/6971/files/249a6f0c1e82f61029a4a8a54b150fad059a8ecf#r1967170557) 
created_at: 2025-03-04T21:11:10Z
author_association: NONE
diff_hunk: @@ -8,14 +8,16 @@ steps:
   - group: "Integration tests: packaging"
     key: "int-packaging"
     steps:
-      - label: "Packaging: Ubuntu x86_64"
-        key: "packaging-ubuntu-x86-64"
+      # Build matrix is not used for packaging in favor to unique step keys
+      # Packaging linux/amd64
+      - label: "Packaging: linux/amd64 rpm"
path: .buildkite/integration.pipeline.yml
user: login: dliappis
body: > It is still possible to use the build matrix with 2 axes for arm and x86. The comment is added for questions like [this one](https://github.com/elastic/elastic-agent/pull/6971/files/249a6f0c1e82f61029a4a8a54b150fad059a8ecf#r1967170557)

Just to clarify the ask here, I am just proposing the following change

FROM:
```
      - label: "Packaging: linux/amd64 rpm"
```

TO

```
      - label: "Packaging: linux/amd64 tag.gz,rpm,deb"
```

It's ok, though, that this label gets fixed in a follow up PR
created_at: 2025-03-05T09:50:43Z
author_association: CONTRIBUTOR

PR comments:
user: login: mergify[bot]
created_at: 2025-02-26T07:35:03Z
body: This pull request is now in conflicts. Could you fix it? 🙏
To fixup this pull request, you can check out it locally. See documentation: https://help.github.com/articles/checking-out-pull-requests-locally/
```
git fetch upstream
git checkout -b ci_fix_packaging_containers upstream/ci_fix_packaging_containers
git merge upstream/main
git push upstream ci_fix_packaging_containers
```
author_association: CONTRIBUTOR
user: login: pazone
created_at: 2025-02-26T10:26:33Z
body: Build takes too long because of the emulation
author_association: NONE
user: login: mergify[bot]
created_at: 2025-03-03T10:44:02Z
body: This pull request is now in conflicts. Could you fix it? 🙏
To fixup this pull request, you can check out it locally. See documentation: https://help.github.com/articles/checking-out-pull-requests-locally/
```
git fetch upstream
git checkout -b ci_fix_packaging_containers upstream/ci_fix_packaging_containers
git merge upstream/main
git push upstream ci_fix_packaging_containers
```
author_association: CONTRIBUTOR
user: login: elasticmachine
created_at: 2025-03-04T10:52:07Z
body: Pinging @elastic/elastic-agent-control-plane (Team:Elastic-Agent-Control-Plane)
author_association: CONTRIBUTOR
user: login: elastic-sonarqube[bot]
created_at: 2025-03-04T17:46:54Z
body: ## [![Quality Gate passed](https://raw.githubusercontent.com/SonarSource/sonarqube-static-resources/master/v104/checks/QualityGateBadge/passed-16px.png 'Quality Gate passed')](https://sonar.elastic.dev/dashboard?id=elastic_elastic-agent_AYluowg0xMq8P7b4moiZ&pullRequest=6972) **Quality Gate passed**  
Issues  
[![](https://raw.githubusercontent.com/SonarSource/sonarqube-static-resources/master/v104/common/passed-16px.png '')](https://sonar.elastic.dev/project/issues?id=elastic_elastic-agent_AYluowg0xMq8P7b4moiZ&pullRequest=6972&resolved=false) [0 New issues](https://sonar.elastic.dev/project/issues?id=elastic_elastic-agent_AYluowg0xMq8P7b4moiZ&pullRequest=6972&resolved=false)  
[![](https://raw.githubusercontent.com/SonarSource/sonarqube-static-resources/master/v104/common/fixed-16px.png '')](https://sonar.elastic.dev/project/issues?id=elastic_elastic-agent_AYluowg0xMq8P7b4moiZ&fixedInPullRequest=6972) [0 Fixed issues](https://sonar.elastic.dev/project/issues?id=elastic_elastic-agent_AYluowg0xMq8P7b4moiZ&fixedInPullRequest=6972)  
[![](https://raw.githubusercontent.com/SonarSource/sonarqube-static-resources/master/v104/common/accepted-16px.png '')](https://sonar.elastic.dev/project/issues?id=elastic_elastic-agent_AYluowg0xMq8P7b4moiZ&pullRequest=6972&issueStatuses=ACCEPTED) [0 Accepted issues](https://sonar.elastic.dev/project/issues?id=elastic_elastic-agent_AYluowg0xMq8P7b4moiZ&pullRequest=6972&issueStatuses=ACCEPTED)

Measures  
[![](https://raw.githubusercontent.com/SonarSource/sonarqube-static-resources/master/v104/common/passed-16px.png '')](https://sonar.elastic.dev/security_hotspots?id=elastic_elastic-agent_AYluowg0xMq8P7b4moiZ&pullRequest=6972) [0 Security Hotspots](https://sonar.elastic.dev/security_hotspots?id=elastic_elastic-agent_AYluowg0xMq8P7b4moiZ&pullRequest=6972)  
![](https://raw.githubusercontent.com/SonarSource/sonarqube-static-resources/master/v104/common/no-data-16px.png '') No data about Coverage  
![](https://raw.githubusercontent.com/SonarSource/sonarqube-static-resources/master/v104/common/no-data-16px.png '') No data about Duplication  
  
[See analysis details on SonarQube](https://sonar.elastic.dev/dashboard?id=elastic_elastic-agent_AYluowg0xMq8P7b4moiZ&pullRequest=6972)


author_association: NONE
user: login: elasticmachine
created_at: 2025-03-04T23:48:23Z
body: ## :yellow_heart: Build succeeded, but was flaky
* [Buildkite Build](https://buildkite.com/elastic/elastic-agent/builds/18051)
* Commit: 7677e85949ab52d1b4ebf6f41e1d65a2b0e26980

### Failed CI Steps
* [Unit tests - Windows 2016](https://buildkite.com/elastic/elastic-agent/builds/18051#019561ef-016c-4963-ad56-ba43bda48868)
* [Win2022:sudo:fleet](https://buildkite.com/elastic/elastic-agent/builds/18051#01956207-776a-4c81-9974-526b3a299f10)

### History
* :broken_heart: [Build #18039](https://buildkite.com/elastic/elastic-agent/builds/18039) failed cbc3489229db4dae261aa411b55cde014b416ff5
* :broken_heart: [Build #18033](https://buildkite.com/elastic/elastic-agent/builds/18033) failed c84271dcdc0046b4339c064c91510bbd19135a3d
* :broken_heart: [Build #18014](https://buildkite.com/elastic/elastic-agent/builds/18014) failed a404b1dcbbb1889706c1b6082ea929f027f86ca2
* :broken_heart: [Build #18009](https://buildkite.com/elastic/elastic-agent/builds/18009) failed 4c6d45e4d3798bfdcf29daf257727c1ec886f5a7
* :broken_heart: [Build #17996](https://buildkite.com/elastic/elastic-agent/builds/17996) failed 8e2056686cd37a3d3c3261e782dbcb1fc6f15491
* :broken_heart: [Build #17569](https://buildkite.com/elastic/elastic-agent/builds/17569) failed ea7986049537cf6acc58e678912b1c5b3d2b4697

cc @pazone

<!--buildkite-pr-comment-elastic-agent
{"builds":[{"buildStatus":{"state":"passed","success":true,"hasRetries":true,"hasNonPreemptionRetries":true},"url":"https://buildkite.com/elastic/elastic-agent/builds/18051","number":18051,"commit":"7677e85949ab52d1b4ebf6f41e1d65a2b0e26980"},{"buildStatus":{"state":"failing","success":false,"hasRetries":true,"hasNonPreemptionRetries":true},"url":"https://buildkite.com/elastic/elastic-agent/builds/18039","number":18039,"commit":"cbc3489229db4dae261aa411b55cde014b416ff5"},{"buildStatus":{"state":"failing","success":false,"hasRetries":true,"hasNonPreemptionRetries":true},"url":"https://buildkite.com/elastic/elastic-agent/builds/18033","number":18033,"commit":"c84271dcdc0046b4339c064c91510bbd19135a3d"},{"buildStatus":{"state":"failing","success":false,"hasRetries":true,"hasNonPreemptionRetries":true},"url":"https://buildkite.com/elastic/elastic-agent/builds/18014","number":18014,"commit":"a404b1dcbbb1889706c1b6082ea929f027f86ca2"},{"buildStatus":{"state":"failing","success":false,"hasRetries":true,"hasNonPreemptionRetries":true},"url":"https://buildkite.com/elastic/elastic-agent/builds/18009","number":18009,"commit":"4c6d45e4d3798bfdcf29daf257727c1ec886f5a7"},{"buildStatus":{"state":"failing","success":false,"hasRetries":true,"hasNonPreemptionRetries":true},"url":"https://buildkite.com/elastic/elastic-agent/builds/17996","number":17996,"commit":"8e2056686cd37a3d3c3261e782dbcb1fc6f15491"}],"number":18051}
buildkite-pr-comment-->
author_association: CONTRIBUTOR