Skip to content

List available rollbacks#11751

Merged
ebeahan merged 8 commits intoelastic:mainfrom
pchila:list-available-rollbacks
Jan 14, 2026
Merged

List available rollbacks#11751
ebeahan merged 8 commits intoelastic:mainfrom
pchila:list-available-rollbacks

Conversation

@pchila
Copy link
Copy Markdown
Member

@pchila pchila commented Dec 11, 2025

What does this PR do?

Add elastic-agent upgrade list-rollbacks subcommand to show whether there are versions of agent that can be used to trigger a manual rollback with elastic-agent upgrade --rollback <version>

Available rollbacks are listed by version and include versioned home and TTL for each.
Output is available in either 'human', 'json' or 'yaml' format

Output looks similar to this

vagrant@elastic-agent-dev:/vagrant/build/distributions$ sudo elastic-agent upgrade list-rollbacks
── 9.4.0-SNAPSHOT
   ├─ VersionedHome: data/elastic-agent-9.4.0-SNAPSHOT-facbd1
   └─ ValidUntil: 2026-01-12T12:54:30Z
vagrant@elastic-agent-dev:/vagrant/build/distributions$ sudo elastic-agent upgrade list-rollbacks -o yaml
- version: 9.4.0-SNAPSHOT
  versioned_home: data/elastic-agent-9.4.0-SNAPSHOT-facbd1
  valid_until: 2026-01-12T12:54:30Z
vagrant@elastic-agent-dev:/vagrant/build/distributions$ sudo elastic-agent upgrade list-rollbacks -o json
[
  {
    "version": "9.4.0-SNAPSHOT",
    "versioned_home": "data/elastic-agent-9.4.0-SNAPSHOT-facbd1",
    "valid_until": "2026-01-12T12:54:30Z"
  }
]

Why is it important?

Checklist

  • I have read and understood the 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
  • I have added an integration test or an E2E test

Disruptive User Impact

How to test this PR locally

  • Package the agent from this PR (it can be packaged twice using an IAR-style version or any version greater or equal to 9.3.0-SNAPSHOT can be used)
    USE_PACKAGE_VERSION=true AGENT_PACKAGE_VERSION=9.4.0+build20260112 BEAT_VERSION=9.4.0 SNAPSHOT=true PACKAGES="tar.gz" PLATFORMS=linux/amd64 mage package && USE_PACKAGE_VERSION=true SNAPSHOT=true PACKAGES="tar.gz" PLATFORMS=linux/amd64 mage package
  • unpack the initial agent package and add agent.upgrade.rollback.window: "2h" to elastic-agent.yml config file
  • install elastic-agent as standalone
  • upgrade agent to the version packaged from this PR
    sudo elastic-agent upgrade --skip-verify --source-uri=file://<path where the package is located> 9.4.0+build20260112-SNAPSHOT
  • Wait for the upgrade to complete, then list the available rollbacks with elastic-agent upgrade list-rollbacks subcommand
    vagrant@elastic-agent-dev:/vagrant/build/distributions/elastic-agent-9.4.0-SNAPSHOT-linux-x86_64$ sudo elastic-agent upgrade list-rollbacks
    ── 9.4.0-SNAPSHOT
       ├─ VersionedHome: data/elastic-agent-9.4.0-SNAPSHOT-facbd1
       └─ ValidUntil: 2026-01-12T14:31:09Z
    vagrant@elastic-agent-dev:/vagrant/build/distributions/elastic-agent-9.4.0-SNAPSHOT-linux-x86_64$ sudo elastic-agent upgrade list-rollbacks -o json
    [
      {
        "version": "9.4.0-SNAPSHOT",
        "versioned_home": "data/elastic-agent-9.4.0-SNAPSHOT-facbd1",
        "valid_until": "2026-01-12T14:31:09Z"
      }
    ]
    vagrant@elastic-agent-dev:/vagrant/build/distributions/elastic-agent-9.4.0-SNAPSHOT-linux-x86_64$ sudo elastic-agent upgrade list-rollbacks -o yaml
    - version: 9.4.0-SNAPSHOT
      versioned_home: data/elastic-agent-9.4.0-SNAPSHOT-facbd1
      valid_until: 2026-01-12T14:31:09Z
    vagrant@elastic-agent-dev:/vagrant/build/distributions/elastic-agent-9.4.0-SNAPSHOT-linux-x86_64$ sudo elastic-agent upgrade list-rollbacks -o human
    ── 9.4.0-SNAPSHOT
       ├─ VersionedHome: data/elastic-agent-9.4.0-SNAPSHOT-facbd1
       └─ ValidUntil: 2026-01-12T14:31:09Z
    vagrant@elastic-agent-dev:/vagrant/build/distributions/elastic-agent-9.4.0-SNAPSHOT-linux-x86_64$ sudo elastic-agent upgrade list-rollbacks -o wrong
    unsupported output format "wrong": defaulting to "human"
    ── 9.4.0-SNAPSHOT
       ├─ VersionedHome: data/elastic-agent-9.4.0-SNAPSHOT-facbd1
       └─ ValidUntil: 2026-01-12T14:31:09Z
    

Related issues

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?
  • ...

@pchila pchila self-assigned this Dec 11, 2025
@pchila pchila added enhancement New feature or request Team:Elastic-Agent-Control-Plane Label for the Agent Control Plane team backport-skip skip-changelog labels Dec 11, 2025
@ebeahan ebeahan added backport-9.3 Automated backport to the 9.3 branch and removed backport-skip labels Jan 5, 2026
@pchila pchila force-pushed the list-available-rollbacks branch from 3dcce8d to 444311e Compare January 12, 2026 12:34
@pchila pchila marked this pull request as ready for review January 12, 2026 12:49
@pchila pchila requested a review from a team as a code owner January 12, 2026 12:49
@elasticmachine
Copy link
Copy Markdown
Contributor

Pinging @elastic/elastic-agent-control-plane (Team:Elastic-Agent-Control-Plane)

Copy link
Copy Markdown
Member

@cmacknz cmacknz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code LGTM, is there a test that can be added to ensure this works?

@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Jan 13, 2026

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 list-available-rollbacks upstream/list-available-rollbacks
git merge upstream/main
git push upstream list-available-rollbacks

@pchila
Copy link
Copy Markdown
Member Author

pchila commented Jan 13, 2026

Code LGTM, is there a test that can be added to ensure this works?

@cmacknz
The UpgradeCmd instantiates its own client, making unit testing unnecessarily difficult (there is a need for a mockServer running with hardcoded behavior)

Request and responses messages are generated with cproto and the server operation implementation is pretty simple.

I suppose that this could be tested in an integration test (a new or an existing one) but that would seem overkill.

@pchila pchila force-pushed the list-available-rollbacks branch from 91e7b92 to 9fd3ea4 Compare January 13, 2026 08:33
@cmacknz
Copy link
Copy Markdown
Member

cmacknz commented Jan 13, 2026

Adding a check for available rollbacks in an existing integration test works for me. I wouldn't write a new integration test for this if unit testing isn't convenient.

For example we could list rollbacks right before manually triggering one in the block below for example and that would cover this and seems straight forward:

rollbackTrigger: func(ctx context.Context, t *testing.T, client client.Client, startFixture, endFixture *atesting.Fixture) {
t.Logf("sending version=%s rollback=%v upgrade to agent", startFixture.Version(), true)
retVal, err := client.Upgrade(ctx, startFixture.Version(), true, "", false, false)
require.NoError(t, err, "error triggering manual rollback to version %s", startFixture.Version())
t.Logf("received output %s from upgrade command", retVal)
},

cmacknz
cmacknz previously approved these changes Jan 13, 2026
cmacknz
cmacknz previously approved these changes Jan 13, 2026
cmacknz
cmacknz previously approved these changes Jan 14, 2026
@ebeahan ebeahan enabled auto-merge (squash) January 14, 2026 17:48
@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Jan 14, 2026

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 list-available-rollbacks upstream/list-available-rollbacks
git merge upstream/main
git push upstream list-available-rollbacks

@ebeahan ebeahan force-pushed the list-available-rollbacks branch from 1e10b16 to c17a254 Compare January 14, 2026 18:27
@ebeahan
Copy link
Copy Markdown
Member

ebeahan commented Jan 14, 2026

@pchila sorry for my shenanigans with force pushing to fix the commit history 😢 . I think I correctly fixed the Beats submodule conflict with my latest commit.

@ebeahan ebeahan merged commit 876106c into elastic:main Jan 14, 2026
22 checks passed
mergify bot pushed a commit that referenced this pull request Jan 14, 2026
* add new messages and operation

* List available rollbacks from CLI

* Add output flag for human, json, yaml

* assert list rollback command in standalone manual rollback tests

* bump beats

* fixup! assert list rollback command in standalone manual rollback tests

* fixup! fixup! assert list rollback command in standalone manual rollback tests

---------

Co-authored-by: Eric Beahan <eric.beahan@elastic.co>
(cherry picked from commit 876106c)
ebeahan added a commit that referenced this pull request Jan 15, 2026
* add new messages and operation

* List available rollbacks from CLI

* Add output flag for human, json, yaml

* assert list rollback command in standalone manual rollback tests

* bump beats

* fixup! assert list rollback command in standalone manual rollback tests

* fixup! fixup! assert list rollback command in standalone manual rollback tests

---------


(cherry picked from commit 876106c)

Co-authored-by: Paolo Chilà <paolo.chila@elastic.co>
Co-authored-by: Eric Beahan <eric.beahan@elastic.co>
osullivandonal pushed a commit to osullivandonal/elastic-agent that referenced this pull request Jan 15, 2026
* add new messages and operation

* List available rollbacks from CLI

* Add output flag for human, json, yaml

* assert list rollback command in standalone manual rollback tests

* bump beats

* fixup! assert list rollback command in standalone manual rollback tests

* fixup! fixup! assert list rollback command in standalone manual rollback tests

---------

Co-authored-by: Eric Beahan <eric.beahan@elastic.co>
osullivandonal added a commit that referenced this pull request Jan 15, 2026
…ead of MY_POD_IP (#12205)

* Update OTel collector gateway to use 0.0.0.0 instead of MY_POD_IP

This allows the gateway to listen on all network interfaces for
traffic, this follows the same pattern that the daemon collector uses.
This prevents warnings being logged in k8s

* Add changelog for OTel gateway endpoint update

* Update gateway collector binding address to use specific K8s OTEL_K8S_POD_IP

This is done as using 0.0.0.0 can be more risky in the case of DDOS
attacks, see https://opentelemetry.io/docs/security/config-best-practices/#protect-against-denial-of-service-attacks

* Update OTel gateway otlp endpoint to be OTEL_K8S_POD_IP in k8s tests

* Update changelog with OTEL_K8S_POD_IP for kube-stack gateway OTLP update

* Revert update to k8s integration test for OTel gateway

These tests are automatically updated from upstream

* docs: update security url to link to central policy (#12241)

* docs: update security url to link to central policy

* docs: update security url to link to central policy

* [main][Automation] Update elastic/beats to eff88abc6dc8 (#12237)

Co-authored-by: swiatekm <93588780+swiatekm@users.noreply.github.com>
Co-authored-by: Mikołaj Świątek <mail@mikolajswiatek.com>

* Update elastic-agent-libs 0.31.0 -> 0.32.0 (#12240)

Co-authored-by: Mikołaj Świątek <mail@mikolajswiatek.com>

* List available rollbacks (#11751)

* add new messages and operation

* List available rollbacks from CLI

* Add output flag for human, json, yaml

* assert list rollback command in standalone manual rollback tests

* bump beats

* fixup! assert list rollback command in standalone manual rollback tests

* fixup! fixup! assert list rollback command in standalone manual rollback tests

---------

Co-authored-by: Eric Beahan <eric.beahan@elastic.co>

* [main][Automation] Update elastic/beats to 990735bb782a (#12252)

Co-authored-by: swiatekm <93588780+swiatekm@users.noreply.github.com>

---------

Co-authored-by: Mikołaj Świątek <mail@mikolajswiatek.com>
Co-authored-by: Paul McCann <paul.mccann@elastic.co>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: swiatekm <93588780+swiatekm@users.noreply.github.com>
Co-authored-by: Michal Pristas <michal.pristas@elastic.co>
Co-authored-by: Paolo Chilà <paolo.chila@elastic.co>
Co-authored-by: Eric Beahan <eric.beahan@elastic.co>
mergify bot pushed a commit that referenced this pull request Jan 15, 2026
…ead of MY_POD_IP (#12205)

* Update OTel collector gateway to use 0.0.0.0 instead of MY_POD_IP

This allows the gateway to listen on all network interfaces for
traffic, this follows the same pattern that the daemon collector uses.
This prevents warnings being logged in k8s

* Add changelog for OTel gateway endpoint update

* Update gateway collector binding address to use specific K8s OTEL_K8S_POD_IP

This is done as using 0.0.0.0 can be more risky in the case of DDOS
attacks, see https://opentelemetry.io/docs/security/config-best-practices/#protect-against-denial-of-service-attacks

* Update OTel gateway otlp endpoint to be OTEL_K8S_POD_IP in k8s tests

* Update changelog with OTEL_K8S_POD_IP for kube-stack gateway OTLP update

* Revert update to k8s integration test for OTel gateway

These tests are automatically updated from upstream

* docs: update security url to link to central policy (#12241)

* docs: update security url to link to central policy

* docs: update security url to link to central policy

* [main][Automation] Update elastic/beats to eff88abc6dc8 (#12237)

Co-authored-by: swiatekm <93588780+swiatekm@users.noreply.github.com>
Co-authored-by: Mikołaj Świątek <mail@mikolajswiatek.com>

* Update elastic-agent-libs 0.31.0 -> 0.32.0 (#12240)

Co-authored-by: Mikołaj Świątek <mail@mikolajswiatek.com>

* List available rollbacks (#11751)

* add new messages and operation

* List available rollbacks from CLI

* Add output flag for human, json, yaml

* assert list rollback command in standalone manual rollback tests

* bump beats

* fixup! assert list rollback command in standalone manual rollback tests

* fixup! fixup! assert list rollback command in standalone manual rollback tests

---------

Co-authored-by: Eric Beahan <eric.beahan@elastic.co>

* [main][Automation] Update elastic/beats to 990735bb782a (#12252)

Co-authored-by: swiatekm <93588780+swiatekm@users.noreply.github.com>

---------

Co-authored-by: Mikołaj Świątek <mail@mikolajswiatek.com>
Co-authored-by: Paul McCann <paul.mccann@elastic.co>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: swiatekm <93588780+swiatekm@users.noreply.github.com>
Co-authored-by: Michal Pristas <michal.pristas@elastic.co>
Co-authored-by: Paolo Chilà <paolo.chila@elastic.co>
Co-authored-by: Eric Beahan <eric.beahan@elastic.co>
(cherry picked from commit 6ae71f4)
mergify bot pushed a commit that referenced this pull request Jan 15, 2026
…ead of MY_POD_IP (#12205)

* Update OTel collector gateway to use 0.0.0.0 instead of MY_POD_IP

This allows the gateway to listen on all network interfaces for
traffic, this follows the same pattern that the daemon collector uses.
This prevents warnings being logged in k8s

* Add changelog for OTel gateway endpoint update

* Update gateway collector binding address to use specific K8s OTEL_K8S_POD_IP

This is done as using 0.0.0.0 can be more risky in the case of DDOS
attacks, see https://opentelemetry.io/docs/security/config-best-practices/#protect-against-denial-of-service-attacks

* Update OTel gateway otlp endpoint to be OTEL_K8S_POD_IP in k8s tests

* Update changelog with OTEL_K8S_POD_IP for kube-stack gateway OTLP update

* Revert update to k8s integration test for OTel gateway

These tests are automatically updated from upstream

* docs: update security url to link to central policy (#12241)

* docs: update security url to link to central policy

* docs: update security url to link to central policy

* [main][Automation] Update elastic/beats to eff88abc6dc8 (#12237)

Co-authored-by: swiatekm <93588780+swiatekm@users.noreply.github.com>
Co-authored-by: Mikołaj Świątek <mail@mikolajswiatek.com>

* Update elastic-agent-libs 0.31.0 -> 0.32.0 (#12240)

Co-authored-by: Mikołaj Świątek <mail@mikolajswiatek.com>

* List available rollbacks (#11751)

* add new messages and operation

* List available rollbacks from CLI

* Add output flag for human, json, yaml

* assert list rollback command in standalone manual rollback tests

* bump beats

* fixup! assert list rollback command in standalone manual rollback tests

* fixup! fixup! assert list rollback command in standalone manual rollback tests

---------

Co-authored-by: Eric Beahan <eric.beahan@elastic.co>

* [main][Automation] Update elastic/beats to 990735bb782a (#12252)

Co-authored-by: swiatekm <93588780+swiatekm@users.noreply.github.com>

---------

Co-authored-by: Mikołaj Świątek <mail@mikolajswiatek.com>
Co-authored-by: Paul McCann <paul.mccann@elastic.co>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: swiatekm <93588780+swiatekm@users.noreply.github.com>
Co-authored-by: Michal Pristas <michal.pristas@elastic.co>
Co-authored-by: Paolo Chilà <paolo.chila@elastic.co>
Co-authored-by: Eric Beahan <eric.beahan@elastic.co>
(cherry picked from commit 6ae71f4)
mergify bot pushed a commit that referenced this pull request Jan 15, 2026
…ead of MY_POD_IP (#12205)

* Update OTel collector gateway to use 0.0.0.0 instead of MY_POD_IP

This allows the gateway to listen on all network interfaces for
traffic, this follows the same pattern that the daemon collector uses.
This prevents warnings being logged in k8s

* Add changelog for OTel gateway endpoint update

* Update gateway collector binding address to use specific K8s OTEL_K8S_POD_IP

This is done as using 0.0.0.0 can be more risky in the case of DDOS
attacks, see https://opentelemetry.io/docs/security/config-best-practices/#protect-against-denial-of-service-attacks

* Update OTel gateway otlp endpoint to be OTEL_K8S_POD_IP in k8s tests

* Update changelog with OTEL_K8S_POD_IP for kube-stack gateway OTLP update

* Revert update to k8s integration test for OTel gateway

These tests are automatically updated from upstream

* docs: update security url to link to central policy (#12241)

* docs: update security url to link to central policy

* docs: update security url to link to central policy

* [main][Automation] Update elastic/beats to eff88abc6dc8 (#12237)

Co-authored-by: swiatekm <93588780+swiatekm@users.noreply.github.com>
Co-authored-by: Mikołaj Świątek <mail@mikolajswiatek.com>

* Update elastic-agent-libs 0.31.0 -> 0.32.0 (#12240)

Co-authored-by: Mikołaj Świątek <mail@mikolajswiatek.com>

* List available rollbacks (#11751)

* add new messages and operation

* List available rollbacks from CLI

* Add output flag for human, json, yaml

* assert list rollback command in standalone manual rollback tests

* bump beats

* fixup! assert list rollback command in standalone manual rollback tests

* fixup! fixup! assert list rollback command in standalone manual rollback tests

---------

Co-authored-by: Eric Beahan <eric.beahan@elastic.co>

* [main][Automation] Update elastic/beats to 990735bb782a (#12252)

Co-authored-by: swiatekm <93588780+swiatekm@users.noreply.github.com>

---------

Co-authored-by: Mikołaj Świątek <mail@mikolajswiatek.com>
Co-authored-by: Paul McCann <paul.mccann@elastic.co>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: swiatekm <93588780+swiatekm@users.noreply.github.com>
Co-authored-by: Michal Pristas <michal.pristas@elastic.co>
Co-authored-by: Paolo Chilà <paolo.chila@elastic.co>
Co-authored-by: Eric Beahan <eric.beahan@elastic.co>
(cherry picked from commit 6ae71f4)
osullivandonal added a commit that referenced this pull request Jan 15, 2026
…ead of MY_POD_IP (#12205) (#12256)

* Update OTel collector gateway to use 0.0.0.0 instead of MY_POD_IP

This allows the gateway to listen on all network interfaces for
traffic, this follows the same pattern that the daemon collector uses.
This prevents warnings being logged in k8s

* Add changelog for OTel gateway endpoint update

* Update gateway collector binding address to use specific K8s OTEL_K8S_POD_IP

This is done as using 0.0.0.0 can be more risky in the case of DDOS
attacks, see https://opentelemetry.io/docs/security/config-best-practices/#protect-against-denial-of-service-attacks

* Update OTel gateway otlp endpoint to be OTEL_K8S_POD_IP in k8s tests

* Update changelog with OTEL_K8S_POD_IP for kube-stack gateway OTLP update

* Revert update to k8s integration test for OTel gateway

These tests are automatically updated from upstream

* docs: update security url to link to central policy (#12241)

* docs: update security url to link to central policy

* docs: update security url to link to central policy

* [main][Automation] Update elastic/beats to eff88abc6dc8 (#12237)




* Update elastic-agent-libs 0.31.0 -> 0.32.0 (#12240)



* List available rollbacks (#11751)

* add new messages and operation

* List available rollbacks from CLI

* Add output flag for human, json, yaml

* assert list rollback command in standalone manual rollback tests

* bump beats

* fixup! assert list rollback command in standalone manual rollback tests

* fixup! fixup! assert list rollback command in standalone manual rollback tests

---------



* [main][Automation] Update elastic/beats to 990735bb782a (#12252)



---------








(cherry picked from commit 6ae71f4)

Co-authored-by: Dónal O'Sullivan <92297851+osullivandonal@users.noreply.github.com>
Co-authored-by: Mikołaj Świątek <mail@mikolajswiatek.com>
Co-authored-by: Paul McCann <paul.mccann@elastic.co>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: swiatekm <93588780+swiatekm@users.noreply.github.com>
Co-authored-by: Michal Pristas <michal.pristas@elastic.co>
Co-authored-by: Paolo Chilà <paolo.chila@elastic.co>
Co-authored-by: Eric Beahan <eric.beahan@elastic.co>
osullivandonal added a commit that referenced this pull request Jan 19, 2026
…ead of MY_POD_IP (#12205) (#12257)

* Update OTel collector gateway to use 0.0.0.0 instead of MY_POD_IP

This allows the gateway to listen on all network interfaces for
traffic, this follows the same pattern that the daemon collector uses.
This prevents warnings being logged in k8s

* Add changelog for OTel gateway endpoint update

* Update gateway collector binding address to use specific K8s OTEL_K8S_POD_IP

This is done as using 0.0.0.0 can be more risky in the case of DDOS
attacks, see https://opentelemetry.io/docs/security/config-best-practices/#protect-against-denial-of-service-attacks

* Update OTel gateway otlp endpoint to be OTEL_K8S_POD_IP in k8s tests

* Update changelog with OTEL_K8S_POD_IP for kube-stack gateway OTLP update

* Revert update to k8s integration test for OTel gateway

These tests are automatically updated from upstream

* docs: update security url to link to central policy (#12241)

* docs: update security url to link to central policy

* docs: update security url to link to central policy

* [main][Automation] Update elastic/beats to eff88abc6dc8 (#12237)




* Update elastic-agent-libs 0.31.0 -> 0.32.0 (#12240)



* List available rollbacks (#11751)

* add new messages and operation

* List available rollbacks from CLI

* Add output flag for human, json, yaml

* assert list rollback command in standalone manual rollback tests

* bump beats

* fixup! assert list rollback command in standalone manual rollback tests

* fixup! fixup! assert list rollback command in standalone manual rollback tests

---------



* [main][Automation] Update elastic/beats to 990735bb782a (#12252)



---------








(cherry picked from commit 6ae71f4)

Co-authored-by: Dónal O'Sullivan <92297851+osullivandonal@users.noreply.github.com>
Co-authored-by: Mikołaj Świątek <mail@mikolajswiatek.com>
Co-authored-by: Paul McCann <paul.mccann@elastic.co>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: swiatekm <93588780+swiatekm@users.noreply.github.com>
Co-authored-by: Michal Pristas <michal.pristas@elastic.co>
Co-authored-by: Paolo Chilà <paolo.chila@elastic.co>
Co-authored-by: Eric Beahan <eric.beahan@elastic.co>
osullivandonal added a commit that referenced this pull request Jan 21, 2026
…ead of MY_POD_IP (#12205) (#12255)

* Update OTel collector gateway to use 0.0.0.0 instead of MY_POD_IP

This allows the gateway to listen on all network interfaces for
traffic, this follows the same pattern that the daemon collector uses.
This prevents warnings being logged in k8s

* Add changelog for OTel gateway endpoint update

* Update gateway collector binding address to use specific K8s OTEL_K8S_POD_IP

This is done as using 0.0.0.0 can be more risky in the case of DDOS
attacks, see https://opentelemetry.io/docs/security/config-best-practices/#protect-against-denial-of-service-attacks

* Update OTel gateway otlp endpoint to be OTEL_K8S_POD_IP in k8s tests

* Update changelog with OTEL_K8S_POD_IP for kube-stack gateway OTLP update

* Revert update to k8s integration test for OTel gateway

These tests are automatically updated from upstream

* docs: update security url to link to central policy (#12241)

* docs: update security url to link to central policy

* docs: update security url to link to central policy

* [main][Automation] Update elastic/beats to eff88abc6dc8 (#12237)




* Update elastic-agent-libs 0.31.0 -> 0.32.0 (#12240)



* List available rollbacks (#11751)

* add new messages and operation

* List available rollbacks from CLI

* Add output flag for human, json, yaml

* assert list rollback command in standalone manual rollback tests

* bump beats

* fixup! assert list rollback command in standalone manual rollback tests

* fixup! fixup! assert list rollback command in standalone manual rollback tests

---------



* [main][Automation] Update elastic/beats to 990735bb782a (#12252)



---------








(cherry picked from commit 6ae71f4)

Co-authored-by: Dónal O'Sullivan <92297851+osullivandonal@users.noreply.github.com>
Co-authored-by: Mikołaj Świątek <mail@mikolajswiatek.com>
Co-authored-by: Paul McCann <paul.mccann@elastic.co>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: swiatekm <93588780+swiatekm@users.noreply.github.com>
Co-authored-by: Michal Pristas <michal.pristas@elastic.co>
Co-authored-by: Paolo Chilà <paolo.chila@elastic.co>
Co-authored-by: Eric Beahan <eric.beahan@elastic.co>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport-9.3 Automated backport to the 9.3 branch enhancement New feature or request skip-changelog Team:Elastic-Agent-Control-Plane Label for the Agent Control Plane team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add --list-rollbacks option to elastic-agent upgrade subcommand

4 participants