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

[Change Proposal] Add an optional field "Deployment instruction template" for integrations #320

Open
amirbenun opened this issue Apr 18, 2022 · 4 comments
Labels
discuss Issue needs discussion Team:Ecosystem Label for the Packages Ecosystem team

Comments

@amirbenun
Copy link

TL;DR Kibana holds hard-coded integration names, for them, it provides different deployment instructions than the default.

Problem description:
When a user installs an elastic-agent using an existing agent-policy, Kibana provides you with some instructions on how it will be best to deploy the agent on any one of the platforms "Linux", "mac", "windows", "RPM" and "DEB".
When installing "Kubernetes" integration on your agent-policy Kibana shows instead a daemonset yaml file that can be installed on your K8s cluster.
Behind the scenes, Kibana checks if the integration name is "Kubernetes" and based on that it decides what deployment instructions the user should get.
It means that a new integration that should use the same daemonset template will have to modify Kibana's hard-coded integration names that should get the K8s instructions.

Alternatives suggestions:
(1) Add an optional field "Deployment instruction template" an enum that holds one of "Kubernetes" or "default" (by default Kibana shows "Linux", "mac", "windows", "RPM" or "DEB").

or

(2) Add an optional field "Deployment instruction templates", an array that holds some of the following: "Kubernetes" "Linux", "mac", "windows", "RPM" or "DEB".

In both cases, Kibana will provide the deployment instructions based on a field that comes from the integration itself.

@amirbenun amirbenun added the discuss Issue needs discussion label Apr 18, 2022
@jlind23 jlind23 added the Team:Ecosystem Label for the Packages Ecosystem team label Apr 18, 2022
@oren-zohar
Copy link

oren-zohar commented Apr 20, 2022

example for the agent manifest flyout when adding the Kubernetes integration:

image

@jsoriano
Copy link
Member

I think that the deployment method shouldn't be decided in package definitions. Any integration could be deployed on different platforms. It doesn't depend on the package.

For example it would be possible to monitor a Kubernetes cluster from outside of it if access to the API and/or the metrics service is available.
It is also possible to install any integration on agents deployed in Kubernetes, even if the Kubernetes integration is not used.

I think it'd be better to have the different methods available in the "Add agent" UI, so the user can select which one to use.

@jsoriano
Copy link
Member

Pinging @elastic/fleet for their thoughts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discuss Issue needs discussion Team:Ecosystem Label for the Packages Ecosystem team
Projects
None yet
Development

No branches or pull requests

5 participants