.. | ||
common | ||
dev_docs | ||
public | ||
scripts | ||
server | ||
CHANGELOG.md | ||
kibana.json | ||
package.json | ||
README.md | ||
yarn.lock |
Ingest Manager
Plugin
- The plugin is enabled by default. See the TypeScript type for the the available plugin configuration options
- Adding
xpack.ingestManager.enabled=false
will disable the plugin including the EPM and Fleet features. It will also remove thePACKAGE_CONFIG_API_ROUTES
andAGENT_CONFIG_API_ROUTES
values incommon/constants/routes.ts
- Adding
--xpack.ingestManager.fleet.enabled=false
will disable the Fleet API & UI - Both EPM and Fleet require
ingestManager
be enabled. They are not standalone features. - For Gold+ license, a custom package registry URL can be used by setting
xpack.ingestManager.registryUrl=http://localhost:8080
Fleet Requirements
Fleet needs to have Elasticsearch API keys enabled, and also to have TLS enabled on kibana, (if you want to run Kibana without TLS you can provide the following config flag --xpack.ingestManager.fleet.tlsCheckDisabled=false
)
Also you need to configure the hosts your agent is going to use to comunication with Elasticsearch and Kibana (Not needed if you use Elastic cloud). You can use the following flags:
--xpack.ingestManager.fleet.elasticsearch.host=http://localhost:9200
--xpack.ingestManager.fleet.kibana.host=http://localhost:5601
Development
Getting started
See the Kibana docs for how to set up your dev environment, run Elasticsearch, and start Kibana
One common development workflow is:
- Bootstrap Kibana
yarn kbn bootstrap
- Start Elasticsearch in one shell
yarn es snapshot -E xpack.security.authc.api_key.enabled=true
- Start Kibana in another shell
yarn start --xpack.ingestManager.enabled=true --no-base-path
This plugin follows the common
, server
, public
structure from the Architecture Style Guide
. We also follow the pattern of developing feature branches under your personal fork of Kibana.
API Tests
Ingest & Fleet
-
In one terminal, change to the
x-pack
directory and start the test server withnode scripts/functional_tests_server.js --config test/api_integration/config.ts
-
in a second terminal, run the tests from the Kibana root directory with
node scripts/functional_test_runner.js --config x-pack/test/api_integration/config.ts
EPM
-
In one terminal, change to the
x-pack
directory and start the test server withnode scripts/functional_tests_server.js --config test/epm_api_integration/config.ts
-
in a second terminal, run the tests from the Kibana root directory with
node scripts/functional_test_runner.js --config x-pack/test/epm_api_integration/config.ts
Staying up-to-date with master
While we're developing in the feature-ingest
feature branch, here's is more information on keeping up to date with upstream kibana.
merge upstream master
into feature-ingest
## checkout feature branch to your fork
git checkout -B feature-ingest origin/feature-ingest
## make sure your feature branch is current with upstream feature branch
git pull upstream feature-ingest
## pull in changes from upstream master
git pull upstream master
## push changes to your remote
git push origin
# /!\ Open a DRAFT PR /!\
# Normal PRs will re-notify authors of commits already merged
# Draft PR will trigger CI run. Once CI is green ...
# /!\ DO NOT USE THE GITHUB UI TO MERGE THE PR /!\
## push your changes to upstream feature branch from the terminal; not GitHub UI
git push upstream
See https://github.com/elastic/kibana/pull/37950 for an example.