elastic / elastic/package-spec
[Change Proposal] Add an optional field "Deployment instruction template" for integrations
- Dominant language
- Go
- Stars
- 20
- Forks
- 93
- Avg merge
- 15h 10m
- Merged PRs (30d)
- 12
Description
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](https://github.com/elastic/kibana/blob/main/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/hooks.tsx#L67) 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.
Contributor guide
Assessment
This issue has not been assessed yet.