-
Notifications
You must be signed in to change notification settings - Fork 8.2k
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] Remove default integrations #108456
Comments
Pinging @elastic/fleet (Team:Fleet) |
Just wanted to share an experience I had with a 7.16 snapshot in Cloud staging. For quick demos, I typically add a system integration, choose the default config and run with it. This is the first time I've received this error. I'm sure it's intentional, but I'd imagine many folks will just click through when onboarding to Elastic for the first time.\
|
@alexfrancoeur this is a regression we captured in #116475. We have a PR close to landing that fixes the regressions, as well as guarantees globally unique policy names here: #115212 |
Awesome, thanks for the update @kpollich ! |
@mostlyjason @joshdover I went through the issue and comments in linked issue. Here is my analysis so far, let me know your thoughts. Current state after Fleet setup:
Proposal: Phase 1:
Phase 2:
Additional tasks:
EDIT: saw the UX design doc, commented a few things there. |
@juliaElastic I have some questions about your task list. I'll schedule a meeting to review it with Dmitry. |
@mostlyjason I added my comment before seeing the design initially, updated now to reflect my understanding after seeing the designs. |
Is there a way to have the YAML equivalent to the UI configuration? for example to APM integration I've started to configure this and make the use of fleet more complicated than it is, IMHO to add a policy if you going to use the default settings is complicated to justify, for example, if you want to add an APM integration this can be the configuration
Can we simplify the configuration allowing to choose to create the default policy? by adding a couple of parameters (one required the other optional) we can create those policies, and the configuration is much easier.
Other alternative is to have a configuration generator in the UI that allows you to create a policy with all integration you need, then generate the YAML, then I only have to copy and paste in the Kibana.yml file, it will be a long piece of YAML but at least I do not have to create it manually. It will continue to be hard to read, edit, and without a way to validate that the syntax is correct other than launch Kibana that is not a quick operation. |
This feels like a pretty reasonable request and would mirror the improvements we did on the API in #119739. @juliaElastic WDYT, should we open an issue for this? |
@kuisathaverat Good point that adding the defaults to preconfig is not that simple. |
This is a good question, I don't see how this change impacts setting up any APM policies.
We'll have to see on timing, but I think an issue to start collecting use cases would be helpful. |
Created this: #124030 |
To start the APM server now you use, and Elastic Agent and the APM integration, it is true that the current default policy does not have the APM integration. To have a way to create a policy for an integration with the default values in a single config step simplifies the configuration. It is not directly related to remove the default policies but it could reuse the work in #124030
I am thinking on environments like our test environments that are configured as code for everything. |
I see, so this use case is similar to what we added on UI to create a new agent policy in Add integration flow. I think we have to consider that users may want to add multiple packages to an agent policy with preconfig (e.g apm and system). It could be represented as something like this:
|
Instead of introducing a new concept can we allow the actual preconfiguration to use default inputs like we now do in the package policy API
|
that's a good point, package_policies inputs are optional, and come with default values |
Thanks all for the feedback here. Definitely agree that using the default values for policy inputs makes sense. Let's move this discussion over to the issue that Julia created (#124030) to avoid confusing folks who are following this issue which is only tangentially related. |
@joshdover @jen-huang @mostlyjason We got confirmation today about the blockers, and it seems we are good to go. Are you okay with merging this feature then for 8.1? The remaining dependencies can be finished after FF.
|
@juliaElastic I'm comfortable moving forward with merging this for 8.1 based on those statuses. Let's be sure to be available to support any teams that need any additional help, but I know you've already been super on top of that 😄 |
@dikshachauhan-qasource @amolnater-qasource FYI this feature has been merged for 8.1, it might impact some of your existing manual testcases |
Thanks for pushing this over the finish line @juliaElastic. Can we close this and track pending items in another issue, if needed? |
@jen-huang yes, I think we can close it |
Hi @joshdover & @juliaElastic
Could you please review these and let us know if we are missing anything? Thanks |
Hi @amolnater-qasource, thank you for this, a few comments:
I would add "user is able to create a new Fleet Server agent policy"
It also installs Elastic Agent integration (without integration policy)
The feature of New/Existing hosts on Add integration form is included in the same ticket (details are in UX design doc). A few more testcases:
|
Hi @juliaElastic Further we have also added few testcases related to enrollment tokens. We will be testing this feature more and will be creating more scenarios, if required. Thanks |
Hi @juliaElastic Please let us know if we are missing anything. Thanks |
Currently, the system, elastic agent, and fleet server packages are automatically installed. The system integration is also added to the default agent policy in Fleet. This creates problems for the onboarding flow in other solutions and products #82851. It's also not the best UX because we are adding these integrations without explicit consent from the user.
What integrations should be installed by default, if any? If not, when should they get installed? How should this work in self-managed clusters, and on cloud where the APM & Fleet node is added by default? How should it work for standalone agents?
In particular, the system integration should be more explicit. That also means that we won't install the integration by default but instead when the user takes action to install it. It'd be still be nice to encourage users to add these packages as a useful way to get started or monitor hosts, but it should still be their choice. Additionally, it's not obvious that the system integration is the one users should install since we have separate integrations for linux and windows. Some proactive prompting should help users get started.
Potential places to add the system integration include when the user is adding their first agent in Fleet (potentially creating their first agent policy instead of using a default), adding their first integration (should we add it here or not), and creating a new agent policy.
Here it is not explicit choice:
Here it is an explicit choice:
Also, users are prevented from removing or reininstalling these default packages https://discuss.elastic.co/t/reinstall-system-integration-assets/283140. If we remove their special status, then users should have full control over them.
Another use case to consider is if the user adds the system integration from the integrations app. In this case, the user probably does not intend to add a duplicate integration policy. We might not to recommend adding the system integration to a new agent policy, if the user is already adding one.
UI automation tests: #121436
Related:
Blockers:
CC @dborodyansky @mukeshelastic
The text was updated successfully, but these errors were encountered: