Co-authored-by: Joseph Crail <jbcrail@gmail.com> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Dario Gieselaar <dario.gieselaar@elastic.co> Co-authored-by: Joseph Crail <joseph.crail@elastic.co> Co-authored-by: Stephanie Boomsma <stephanieboomsma@optimyze.cloud> Co-authored-by: inge4pres <fgualazzi@gmail.com> Co-authored-by: inge4pres <francesco.gualazzi@elastic.co> Co-authored-by: Francesco Gualazzi <inge4pres@users.noreply.github.com> Co-authored-by: Tim Rühsen <tim.ruhsen@elastic.co> Co-authored-by: Tim Rühsen <tim.ruehsen@gmx.de>
1.6 KiB
Containerized development environment for Kibana
Kibana development moves quickly and has specific NodeJS requirements, which can change depending on the current branch or commit. This makes developing a plugin challenging for local development.
We created a containerized environment to encapsulate the necessary dependencies and reduce issues, especially when switching between Kibana versions.
Assumptions
By default, this setup assumes that you are running Elasticsearch via the
apm-integration-testing
repo. However, you can override this as described
below.
Usage
You will first need to build the Docker image for the Kibana environment:
make build
This will create a Docker image with the tag kibana-dev:latest
.
If you wish to change the image version, you can run this instead:
make build KIBANA_VERSION=8.4
If you need to do a full refresh of the Docker image, you can rebuild from scratch using this:
make build-nocache
Next, you can start the container using this (assumes Docker image is
kibana-dev:latest
and Elasticsearch is running on the apm-integration-testing
Docker network):
make run
If your Elasticsearch instance is not running via Docker, you can run this:
make run-networkless
Configuration
KIBANA_VERSION
This is the version of the Docker image. This can be used to build separate images for different Kibana versions.
NETWORK
This is the Docker network to use so that Kibana can connect to a local running instance of Elasticsearch.
PORT
This is the exposed port for the Kibana instance. This is useful if you have conflicts with another running instance.