elastic / elastic/package-spec

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

Open
#320 4 comments 2 reactions 0 assignees View on GitHub
discuss Team:Ecosystem
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.