Upload an integration to Kibana
Fleet supports integration installation through direct upload as a means to support integration developers or users who have created custom integrations that they don’t want to commit upstream back to the Elastic Integrations repository.
Direct upload can also be useful in air-gapped environments, by providing a way to update integrations without needing to update a self-hosted package registry.
If you’ve followed the local development steps in Build an integration, upload your integration to Kibana with the following command:
elastic-package install --zip /path/to/my/custom-integration
For more information, see elastic-package install
.
To upload your integration to a production deployment, first zip the package:
$ cd /path/to/my/custom-integration
$ elastic-package build
You can now use the Kibana API to upload your integration:
$ curl -XPOST \
-H 'content-type: application/zip' \
-H 'kbn-xsrf: true' \
http://your.kibana.host/api/fleet/epm/packages \
-u {username}:{password} \
--data-binary @my-custom-integration.zip
More information on this endpoint is available in the Fleet API Reference.