Skip to content

Conversation

blakerouse
Copy link
Contributor

@blakerouse blakerouse commented Jan 8, 2025

What does this PR do?

Adds new --id (ELASTIC_AGENT_ID env for container) and --replace-token (FLEET_REPLACE_TOKEN env for container) to enrollment.

Why is it important?

Allows an Elastic Agent to enroll with a defined ID and replacement token to allow it to replace an existing Elastic Agent. The original Elastic Agent must have also been enrolled with the same --replace-token or it will not be allow to enroll if the --id collides with an existing Elastic Agent.

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 (no config changes)
  • [ ] I have added tests that prove my fix is effective or that my feature works (cannot unit test)
  • 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

None

How to test this PR locally

You need this PR (elastic/fleet-server#4290) from Fleet Server and have that Fleet Server running to enroll. Then you can build this PR and run enroll with --id and --replace-token.

Related issues

@blakerouse blakerouse added the Team:Elastic-Agent-Control-Plane Label for the Agent Control Plane team label Jan 8, 2025
@blakerouse blakerouse self-assigned this Jan 8, 2025
Copy link
Contributor

mergify bot commented Jan 8, 2025

This pull request does not have a backport label. Could you fix it @blakerouse? 🙏
To fixup this pull request, you need to add the backport labels for the needed
branches, such as:

  • backport-./d./d is the label to automatically backport to the 8./d branch. /d is the digit
Copy link
Contributor

mergify bot commented Jan 8, 2025

backport-v8.x has been added to help with the transition to the new branch 8.x.
If you don't need it please use backport-skip label and remove the backport-8.x label.

@mergify mergify bot added the backport-8.x Automated backport to the 8.x branch with mergify label Jan 8, 2025
@michalpristas michalpristas added the enhancement New feature or request label Jan 9, 2025
@blakerouse blakerouse marked this pull request as ready for review February 5, 2025 19:42
@blakerouse blakerouse requested a review from a team as a code owner February 5, 2025 19:42
@elasticmachine
Copy link
Collaborator

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

@blakerouse blakerouse added the backport-9.0 Automated backport to the 9.0 branch label Feb 5, 2025
@blakerouse blakerouse merged commit 8a878fc into elastic:main Feb 11, 2025
14 checks passed
@blakerouse blakerouse deleted the enroll-with-id branch February 11, 2025 13:04
mergify bot pushed a commit that referenced this pull request Feb 11, 2025
Allows an Elastic Agent to enroll with a defined ID and replacement token to allow it to replace an existing Elastic Agent. The original Elastic Agent must have also been enrolled with the same --replace-token or it will not be allow to enroll if the --id collides with an existing Elastic Agent. (cherry picked from commit 8a878fc)
mergify bot pushed a commit that referenced this pull request Feb 11, 2025
Allows an Elastic Agent to enroll with a defined ID and replacement token to allow it to replace an existing Elastic Agent. The original Elastic Agent must have also been enrolled with the same --replace-token or it will not be allow to enroll if the --id collides with an existing Elastic Agent. (cherry picked from commit 8a878fc)
blakerouse added a commit that referenced this pull request Feb 12, 2025
Allows an Elastic Agent to enroll with a defined ID and replacement token to allow it to replace an existing Elastic Agent. The original Elastic Agent must have also been enrolled with the same --replace-token or it will not be allow to enroll if the --id collides with an existing Elastic Agent. (cherry picked from commit 8a878fc) Co-authored-by: Blake Rouse <blake.rouse@elastic.co>
blakerouse added a commit that referenced this pull request Feb 13, 2025
Allows an Elastic Agent to enroll with a defined ID and replacement token to allow it to replace an existing Elastic Agent. The original Elastic Agent must have also been enrolled with the same --replace-token or it will not be allow to enroll if the --id collides with an existing Elastic Agent. (cherry picked from commit 8a878fc) Co-authored-by: Blake Rouse <blake.rouse@elastic.co>
@jlind23
Copy link
Contributor

jlind23 commented Jun 2, 2025

@theletterf @nimarezainia do we have any follow up actions here in order to document this for Kubernetes use case at least?
cc @ebeahan

@nimarezainia
Copy link
Contributor

@theletterf @nimarezainia do we have any follow up actions here in order to document this for Kubernetes use case at least? cc @ebeahan

@jlind23 I don't see an issue if we wanted to document this option for users who want to reuse the agent.id - but we haven't documented this yet as far as I know.

@theletterf
Copy link
Contributor

I take this is for Elastic Agent docs, not EDOT docs, right? I'd be happy to review a docs PR on this.

@nimarezainia
Copy link
Contributor

yes at the moment only applies to elastic agent docs.

@jlind23
Copy link
Contributor

jlind23 commented Jun 2, 2025

@nimarezainia are you taking this one or shall I kindly ask @ebeahan to find someone?

@nimarezainia
Copy link
Contributor

@jlind23 maybe I'm confused. This ask is for just documentation of the install flag --replace-token and the description above by Blake is explaining it well.

@theletterf
Copy link
Contributor

I guess Julien was hinting precisely at who would open the documentation PR. :)

I'll check with the team and see to it.

@vishaangelova
Copy link
Contributor

I’ve created a docs issue to document this, so it’s on our radar.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport-8.x Automated backport to the 8.x branch with mergify backport-9.0 Automated backport to the 9.0 branch enhancement New feature or request Team:Elastic-Agent-Control-Plane Label for the Agent Control Plane team

8 participants