Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ability to enroll with defined ID and replace_token #6498

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

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
Contributor

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
)

// Force uninstall the Agent (skipping information Fleet)
output, err = fixture.Uninstall(ctx, &atesting.UninstallOpts{
Copy link
Contributor

Choose a reason for hiding this comment

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

what if this agent is running through a container and replace-token and/or agent-id change?! shouldn't it re-enroll?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes it should. Forgot you added that new code to check those. I will look at updating this code to do that, and add to those tests as well.

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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add ability to define the specific agent-id during enroll
4 participants