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] Allow combining agent configurations #76640

Closed
SHolzhauer opened this issue Sep 3, 2020 · 7 comments
Closed

[Fleet] Allow combining agent configurations #76640

SHolzhauer opened this issue Sep 3, 2020 · 7 comments
Labels
enhancement New value added to drive a business result Feature:Fleet Fleet team's agent central management project Team:Fleet Team label for Observability Data Collection Fleet team triage_needed

Comments

@SHolzhauer
Copy link

Describe the feature:
This feature would allow to create an agent configuration and specify a "parent" configuration from which it will inherit properties.

Process:

  1. Create a parent agent configuration, for example one for all your linux machines
    Most likely this would include the system integration and for future reference auditbeat parts
  2. Create an agent configuration for a specific subset. E.g.: webservers
  3. Activate the "parent configuration" option
  4. Select the parent configuration
  5. Add the integrations for this specific agent configuration
    This would be Apache, Tomcat or HaProxy for example

Describe a specific use case for the feature:
This will allow to enroll agents with a hierarchical nature and change integrations over multiple subsets of agents without having
to change every single configuration. Agents would enroll with the most specific configuration and inherit all of the parent configurations.

If there is no limit to parent configurations you can configure your own hierarchy within them, this would play nicely with orchestration like Puppet and Chef:

Global
  - linux
     - webservers
         - Apache
         - Tomcat
     - proxies
     - databases
  - windows
@lukeelmers lukeelmers added enhancement New value added to drive a business result Feature:Fleet Fleet team's agent central management project Team:Fleet Team label for Observability Data Collection Fleet team triage_needed labels Sep 4, 2020
@elasticmachine
Copy link
Contributor

Pinging @elastic/ingest-management (Feature:Fleet)

@elasticmachine
Copy link
Contributor

Pinging @elastic/ingest-management (Team:Ingest Management)

@ruflin
Copy link
Member

ruflin commented Sep 4, 2020

@SHolzhauer Our current thinking around solving this problem was to have reusable configs: #75867 With this we would prevent issues like dependencies of dependencies for example.

@mostlyjason
Copy link
Contributor

Another way to achieve this effect is to have the parent policy specify all the inputs, and then use dynamic input conditions to enable/disable on selective basis elastic/beats#19225. The advantage of this is you don't run into issues where child policies conflict with parent policies.

@SHolzhauer
Copy link
Author

@mostlyjason The idea here is to be able to build on top of other policies, you wouldn't overwrite them. Would always be an x + y = z casus.

@ruflin Reusable policies seems to do mostly the same, however the part I am missing is the dependency, or more accurately the forced update upon updating a "parent" configuration. (Or I'm misunderstanding #75867 ?)

@ruflin
Copy link
Member

ruflin commented Sep 7, 2020

@SHolzhauer If one of the reusable policies is updated, it would also update each Agent config using this policy. The main difference between the two concepts is that in ours the Agent configs are composed of different policies, in your proposal there is a tree structure.

@SHolzhauer
Copy link
Author

Closing in favor of #75867

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New value added to drive a business result Feature:Fleet Fleet team's agent central management project Team:Fleet Team label for Observability Data Collection Fleet team triage_needed
Projects
None yet
Development

No branches or pull requests

5 participants