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

[Fleet] Enhancing the installation instruction to accomodate all architectures available #167592

Closed
nimarezainia opened this issue Sep 29, 2023 · 17 comments · Fixed by #210249
Closed
Assignees
Labels
Feature:Fleet Fleet team's agent central management project QA:Needs Validation Issue needs to be validated by QA Team:Fleet Team label for Observability Data Collection Fleet team v9.1.0

Comments

@nimarezainia
Copy link
Contributor

nimarezainia commented Sep 29, 2023

User story

As a user, I want to enroll agents across a variety of host architecture so that I can collect data from hosts across my diverse environment.

Description

The current "install Elastic Agent on your host" instructions do not suitably account for all platform/architecture combinations, making it challenging for users who support a diverse set of host architectures to easily enroll Elastic Agent.

Acceptance criteria

  • The "platform selector" UI in the Agent onboarding flyout is updated to include the following options in the following order
    • Linux aarch64
    • macOS aarch64
    • Windows x86_64
    • DEB aarch64
    • RPM aarch64
  • A new dropdown labeled ... includes three additional options for less common architectures
    • Linux x86_64
    • macOS x86_64
    • RPM x86_64
    • DEB x86_64
  • The copy-pasteable code block for each platform provides valid and functional steps to enroll an agent using the selected platform

Mockups

Figma link

Image Image
Old description

The cut+paste tutorials within fleet are very useful to our users, gets them started quickly:

image

these currently don't show a cut+paste option for aarch64 which is now ubiquitously available for all platforms.

this request is to have these tutorials accommodate an option for aarch64 types also. We should match what is available for download:
image

@nimarezainia nimarezainia added the Feature:Fleet Fleet team's agent central management project label Sep 29, 2023
@elasticmachine
Copy link
Contributor

Pinging @elastic/fleet (Feature:Fleet)

@botelastic botelastic bot added the needs-team Issues missing a team label label Sep 29, 2023
@nimarezainia nimarezainia added the Team:Fleet Team label for Observability Data Collection Fleet team label Sep 29, 2023
@botelastic botelastic bot removed the needs-team Issues missing a team label label Sep 29, 2023
@nimarezainia
Copy link
Contributor Author

@zombieFox your thoughts on this please.
I was thinking that a secondary choice (after platform is chosen), to say whether aarch64 or 64 but that would create an extra click for the user. Perhaps bets to just mention all types ate the top level.

@zombieFox
Copy link
Contributor

I wasn't aware the platforms had this difference. Agreed, we should provide code snippets which could be copied to keep things consistent.

@kpollich
Copy link
Member

@nimarezainia - Assigning to you for prioritization.

@nimarezainia nimarezainia removed their assignment Sep 10, 2024
@kpollich
Copy link
Member

kpollich commented Dec 2, 2024

cc @nimarezainia + @simosilvestri we have this slotted for the beginning of 2025 and it'd be good to make sure we have UX thoughts here. I think a dropdown with all available architecture would be fairly straightforward, but it'd be helpful to see how we expect this to work in conjunction with the copy/pasteable code blocks containing the instructions.

@nimarezainia
Copy link
Contributor Author

@kpollich do you think having more tabs would be too much?

@simosilvestri not sure what options we could pursue if too many tabs are problematic. Perhaps it could be a double look up? like first choice is the operating system (what we have today: linux, mac, windows etc). then the second choice would be the architecture?

@simosilvestri
Copy link

Hello @kpollich and @nimarezainia , I suggest to have tabs only for distinct categories, so in this case the dropdown solution works better.
One other option is to show at a glance the most used platforms and hide the rest.

I will create a design issue and share the proposal in the next days.

@nimarezainia
Copy link
Contributor Author

I think showing the most popular ones and a "...." to expand to the rest if needed makes sense. thank you @simosilvestri

@kpollich kpollich added QA:Needs Validation Issue needs to be validated by QA v8.18.0 labels Dec 4, 2024
@simosilvestri
Copy link

simosilvestri commented Dec 10, 2024

@kpollich and @nimarezainia Please review the design issue #546

@nimarezainia
Copy link
Contributor Author

thanks @simosilvestri , looks good to me.

@kpollich
Copy link
Member

Looks great! I'll work on translating this into an implementation issue based on those designs and get this scheduled.

@kpollich
Copy link
Member

This fell through the cracks a bit over the holidays, so I'm punting this to sprint 42. Will deliver the implementation plan this week.

@kpollich
Copy link
Member

I've updated the description to include implementation details.

@nimarezainia - Can you help with confirming the list of options (including naming), order, and placement of platform options? I recall we were considering having aarch64 as the first and foremost option as we're seeing it more commonly than x86 today, but I might be misremembering.

@nimarezainia
Copy link
Contributor Author

@kpollich no you are right. It was the macos aarch64 that should be favored instead of the x86 variant. I don't seem to have access to the download telemetry but revised the description based on the popular platforms we see today

@kpollich
Copy link
Member

Updated list, order and mockups based on conversation above. Thanks all.

@kpollich
Copy link
Member

We can use EUI's filter group for the UI here https://eui.elastic.co/#/forms/filter-group

@jen-huang
Copy link
Contributor

@nimarezainia FYI, Kubernetes is not part of this issue's requirements even though we currently have that as an available platform. I decided to put it as the first option in the dropdown.

I also found that it is hard to tell when there is a platform selected from the dropdown options (bold ... doesn't really look different from normal ellipses 😅), so I included the active badge when there is something selected there.

You can see how both of these changes look here. Let me know if any concerns:

image

@jen-huang jen-huang added v9.1.0 and removed v8.18.0 labels Feb 7, 2025
jen-huang added a commit that referenced this issue Feb 9, 2025
## Summary

Resolves [#167592](#167592).
This PR expands Fleet's enrollment/install snippets so that all
platforms & architectures are available:

**Fleet server instructions**

![image](https://github.com/user-attachments/assets/85db0e78-4100-42e7-9298-5645e1100145)

**Managed agent instructions**

![image](https://github.com/user-attachments/assets/82a41273-331c-4655-9984-f48c01a82d82)

**Standalone agent instructions** (with policy that includes K8, so K8
yml and platform is selected by default)

![image](https://github.com/user-attachments/assets/5e7ddfb1-9f34-418a-9077-addee703ed71)

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
Samiul-TheSoccerFan pushed a commit to Samiul-TheSoccerFan/kibana that referenced this issue Feb 10, 2025
## Summary

Resolves [elastic#167592](elastic#167592).
This PR expands Fleet's enrollment/install snippets so that all
platforms & architectures are available:

**Fleet server instructions**

![image](https://github.com/user-attachments/assets/85db0e78-4100-42e7-9298-5645e1100145)

**Managed agent instructions**

![image](https://github.com/user-attachments/assets/82a41273-331c-4655-9984-f48c01a82d82)

**Standalone agent instructions** (with policy that includes K8, so K8
yml and platform is selected by default)

![image](https://github.com/user-attachments/assets/5e7ddfb1-9f34-418a-9077-addee703ed71)

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Fleet Fleet team's agent central management project QA:Needs Validation Issue needs to be validated by QA Team:Fleet Team label for Observability Data Collection Fleet team v9.1.0
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants