Commit graph

1704 commits

Author SHA1 Message Date
Brandon Kobel e616935d0b
Using re2 for Timelion regular expressions (#67416)
* Revert "Revert "Using re2 for Timelion regular expressions (#55208)""

This reverts commit c90293d03f.

* Updating re2 to 1.14.0. Still need to update build patching

* Extract the gzip to the destination, supporting multiple extract methods

* Adding 'node' to jest's moduleFileExtensions

'node' is in the defaults, not sure why we aren't using the defaults...
https://jestjs.io/docs/en/configuration#modulefileextensions-arraystring

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-06-10 09:55:42 -07:00
Greg Thompson 0306c7a8cf
Upgrade EUI to v24.1.0 (#68141)
* eui to 24.1.0

* src snapshot updates

* x-pack snapshot updates

* euiPaletteColorBlind param updates

* euiPaletteColorBlind ts-ignore

* fix collapsibleNav close button click for functional testing

* await focus

* increase legacy sass build timeout value

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-06-09 15:07:40 -06:00
Peter Pisljar 0a73891714
bumping makelogs version to v6.0.0 (#66163) 2020-06-09 12:21:42 +02:00
Spencer 25e71c1096
upgrade npm-run-path (#68539)
Co-authored-by: spalger <spalger@users.noreply.github.com>
2020-06-08 11:29:09 -07:00
Robert Austin c98cfda890
upgrade eslint-plugin-react-hooks from 2.3.0 to 4.0.4 (#68295)
* updates `eslint-plugin-react-hooks` from `v2.3.0` to `v4.0.4`. 
* Disable rules on failing lines
2020-06-05 12:43:55 -04:00
Thomas Watson b01a8f8e08
Update Node.js to version 10.21.0 (#68059) 2020-06-05 08:31:59 +02:00
Spencer 3b43821401
upgrade elastic/numeral and complete migration away from numeral (#68035)
Co-authored-by: spalger <spalger@users.noreply.github.com>
2020-06-03 10:07:11 -07:00
Brian Seeders 81d55f8822
[CI] Bump chromedriver and use DETECT_CHROMEDRIVER_VERSION (#67642) 2020-05-29 14:58:40 -04:00
Brian Seeders 2c70571c72
Revert "[CI] Bump chromedriver and use DETECT_CHROMEDRIVER_VERSION (#67182)"
This reverts commit 2bf3a592f4.
2020-05-27 17:26:23 -04:00
Brian Seeders 2bf3a592f4
[CI] Bump chromedriver and use DETECT_CHROMEDRIVER_VERSION (#67182) 2020-05-27 10:37:33 -04:00
Vignesh Shanmugam faaafd69a2
fix: rum agent should work correctly on new platform (#67037)
* fix: rum agent should work correctly on new platform

* chore: add IS_KIBANA_DISTRIBUTABLE flag back

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-05-25 13:13:58 +02:00
restrry 64ad4f3f92 bump prettier version to v2 2020-05-22 08:51:10 +02:00
Greg Thompson 204fd5b5a2
Upgrade EUI to v23.3.1 (#65877)
* eui to 23.2.0

* nav drawer ts updates

* eui to 23.3.0

* src snapshot updates

* makeId -> htmlIdGenerator mocks

* EuiCodeBlock testenv element lookup

* x-pack snapshot updates

* remove obsolete EuiCode and EuiCodeBlock mocks

* eui to 23.3.1

* patch updates

* searchbar type update

* docViewer tabs use valid DOMString id

* docViewer snapshot

* header updates

* cert_search field wrapper update
2020-05-21 14:31:26 -05:00
Tyler Smalley c675301a87
[build] Removes commonjs transforms (#66506)
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
Co-authored-by: spalger <spalger@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-05-21 09:43:31 -07:00
Brandon Kobel 0e55b248d3
Revert "Integration of a static filesystem for the node_modules (#47998)" (#67124)
This reverts commit 33376fc368.
2020-05-20 12:11:02 -07:00
patrykkopycinski 2d32034f96
Bump styled-component dependencies (#66611) 2020-05-20 16:03:44 +02:00
patrykkopycinski 871196c2b0
Bump react-markdown dependencies (#66615) 2020-05-20 16:02:30 +02:00
Tiago Costa a8e82118c8
chore(NA): bump static-fs to 1.0.2 (#66775)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-05-15 21:32:27 +01:00
Rudolf Meijering 795483d9b5
Don't bootstrap core type emits (#66377) 2020-05-15 11:03:46 +02:00
Tre 4853f24705
Ingest code coverage (#62336) 2020-05-13 15:09:42 -06:00
Joe Reuter 5394fa43fe
Tsvb less update (#65467) 2020-05-08 16:53:42 +02:00
Michail Yasonik 35e10273d3
New nav (#64018)
Notably, also removes aria-hidden from many visualizations
2020-05-05 23:14:14 -05:00
Corey Robertson b8bea5b8b2
[Canvas] move files from legacy/plugins to plugins (#65283)
* Moves the files

* Rename legacy/plugins/canvas paths

* Correct paths

* Fix shareable_runtime and storybook

* ESLint Fixes

* Fix jest test and paths
2020-05-05 20:52:56 -04:00
Tiago Costa 33376fc368
Integration of a static filesystem for the node_modules (#47998)
* feat(NA): added new build step to generate a static file system for node_modules and monkey patch the bin start files to include the static file system loader on begining.

* chore(NA): updated lockfile.

* chore(NA): replace import to the correct static-fs files.

* fix(NA): resolve for a correct static fs loader.

* chore(NA): last static-fs working version.

* feat(NA): changed patched entryPoints.

* chore(NA): update to last static fs.

* fix(NA): fix imports on webpack shims. chore(NA): added new static-fs version.

* chore(NA): update to static-fs with stat and statSync.

* fix(NA): vendor chunk filtering in order to include default node modules and static node modules.

* refact(NA): major refact on create static modules fs task.

* fix(NA): remove global from clean empty folders task.

* chore(NA): change args order for deleteAll.

* chore(NA): move to the new static fs

* feat(NA): migrate to last apis of static fs

* fix(NA): patch correct entry file.

* chore(NA): last stable integration with static-fs task

* chore(NA): rollback some unecessary changes

* chore(NA): remove changes on sinon webpackshim

* chore(NA): integrate with official static-fs version

* chore(NA): integrate last thread-loader version

* chore(NA): added last static-fs version

* chore(NA): upgrade to last static-fs version

* chore(NA): upgrade to last static-fs version 1.1.1

* chore(NA): rever static-fs version to 1.1.0

* chore(NA): upgrade static-fs to 1.1.1

* chore(NA): upgrade static-fs for last 1.2.0 version

* chore(NA): update package.json

* chore(NA): run apm after patched environment

* chore(NA): specify rule to disable eslint for

* chore(NA): remove changes in the src/apm file

* chore(NA): change apm order in the dev scripts

* chore(na): update static-fs versin

* chore(NA): bump static fs version

* chore(NA): correctly lint task file

* chore(NA): move away from rimraf to del

* chore(NA): bump static-fs version

* chore(NA): bump static-fs version

* chore(NA): bump static-fs version

* chore(NA): bump static-fs version

* chore(NA): bump to last static-fs version

* chore(NA): apply changed according PR review feedback

* chore(NA): remove changes to base optimizer

* chore(NA): fix discover pattern

* chore(NA): bump static-fs version

* chore(NA): bump static fs to 1.6.3

* chore(NA): bump static-fs to 1.6.4

* chore(NA): bump static-fs to last version

* chore(NA): bump static-fs to last version

* chore(NA): bump static-fs to last version

* chore(NA): bump static-fs to last version

* chore(NA): bump static-fs to last version

* chore(NA): bump static-fs to last version

* chore(NA): bump static-fs for 1.8.3

* chore(NA): bump static-fs to 1.9.0

* chore(NA): bump static-fs to 1.9.1

* chore(NA): update to last static-fs version 1.10.0

* chore(NA): moving to @elastic/static-fs package

* fix(NA): change import to the new package

* chore(NA): bump elastic static-fs to 1.0.1

Co-authored-by: spalger <email@spalger.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-05-05 20:16:47 +01:00
dependabot[bot] 23282a2f37
Bump jquery from 3.4.1 to 3.5.0 (#64884) 2020-05-05 13:31:49 -04:00
Marco Vettorello 4928978557
update elastic/charts to 19.2.0 (#65279) 2020-05-05 19:14:25 +02:00
Marco Vettorello 2d4dc801c3
Update dependency @elastic/charts to v19.1.2 (#64759)
* build: upgrade @elastic/charts to 19.0.0

* refactor: onBrushEnd breaking changes

* fix: missing onBrushEnd argument changes

* fix: update ech to 19.1.1

* fix: lens onBrushEnd breaking changes

* update to 19.1.2
2020-05-04 18:42:58 -05:00
Josh Dover 306a5fe55e
Use brotli compression for some KP assets (#64367) 2020-05-04 10:53:06 -06:00
Søren Louv-Jansen 007b16793d
Bump backport to 5.4.1 (#65041) 2020-05-04 12:18:19 +02:00
Spencer 23665133d7
[kbn clean] delete plugin target directories (#64016) 2020-04-27 17:56:44 -07:00
Thomas Watson 8c05a724e7
Bump cypress dev-dependency from 4.2.0 to 4.4.1 (#64408) 2020-04-27 14:23:33 +02:00
Thomas Watson a6fff8b298
Bump karma-mocha dev-dependency from 1.3.0 to 2.0.0 (#64407) 2020-04-27 12:25:03 +02:00
Thomas Watson 3c5eee7526
Bump karma dev-dependency from 3.1.4 to 5.0.2 (#64403) 2020-04-27 08:41:17 +02:00
Thomas Watson 9eca4026f9
Bump iedriver dev-dependency from 3.14.1 to 3.14.2 (#64406) 2020-04-27 08:35:56 +02:00
Nick Partridge 3a898a159c
update charts library to 18.4.2 (#64438) 2020-04-24 17:47:59 -05:00
Thomas Watson cbf006c2a0
Bump handlebars dependency from 4.5.3 to 4.7.6 (#64402) 2020-04-24 19:20:15 +02:00
Nick Partridge bc6291349c
Update elastic charts v18.4.1 (#64257) 2020-04-23 11:59:19 -05:00
Chandler Prall 126d187429
Upgrade to EUI v22.3.0 (#62963)
* snapshot updates

* bump to eui 22.3.0

* snapshots

* Fix css selector in test to match EUI internal DOM change

* Updated snapshots

* Insert react-beautiful-dnd@10 into top-level kibana to force siem's node_modules to hold its correct version

* More snapshot updates, resolved a typescript issue

* Move react-beautiful-dnd dependency around to make things happy again

* Use SearchFilterConfig from the top-level eui export

* Swallow 'ResizeObserver error does not have an err object' error in canvas

* Swallow ResizeObserver error cross-browser
2020-04-22 11:01:49 -06:00
Cauê Marcondes 90f5ce0ef3
[APM]Upgrade apm-rum agent to latest version to fix full page reload (#63723) 2020-04-17 11:15:28 +02:00
Nick Partridge 4e8ff57355
update elastic charts to 18.3.0 (#63732) 2020-04-16 17:00:36 -05:00
Dmitry Lemeshko 464a3c23ba
[FTR]: add chromium-based Edge browser support (#63566) 2020-04-16 19:06:33 +03:00
Thomas Watson cf87efb9d0
Add test:jest_integration npm script (#62938) 2020-04-15 10:20:01 +02:00
Dmitry Lemeshko 637a9e11a2
Revert FTR: add chromium-based Edge browser support (#61684) (#63448) 2020-04-14 13:25:26 +02:00
Dmitry Lemeshko eb3fe8eb50
update chromedriver dependency to 81.0.0 (#63266) 2020-04-10 23:05:20 +03:00
Ahmad Bamieh ed5dd0a325
[Telemetry] use prod keys (#63263) 2020-04-10 22:18:11 +03:00
Dmitry Lemeshko 330956ec1a
Code coverage: fix missing coverage after merging oss & x-pack data (#63178)
* update nyc & istanbul-babel deps

* update index.js in kbn-pm

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-04-10 02:55:28 +03:00
Marco Vettorello 93b34632c0
[TSVB] Fix wrongly display stacked as percentage charts (#62654)
Update to  elastic-charts 18.2.2 with the valid 0% rendering
2020-04-09 23:53:47 +02:00
Dmitry Lemeshko 578e443bdd
FTR: add chromium-based Edge browser support (#61684)
* bump dependency, add edge support in ftr services

* add config files

* fix browser version for msedge

* use npm ms-chromium-edge-driver

* download edge driver aside from session creation

* move dependency to dev

* update dist/index file

* bump edge-driver version

* change type to msedge to match w3c spec

* fix discover tests for Edge

* Revert "fix discover tests for Edge"

This reverts commit 87e7fdd256.

* bump driver version up

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-04-09 00:08:21 +03:00
Ahmad Bamieh e16885c3ad
[Telemetry] update crypto packages (#62469)
* update crypto packages

* as type for return value

* get default export

* add if checks

* wrap errors in i18n

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-04-07 00:36:15 +03:00
Gidi Meir Morris e7a4ca261b
[Event Log] adds query support to the Event Log (#62015)
* added Start api on Event Log plugin

* added empty skeleton for Event Log FTs

* added functional test to public find events api

* added test for pagination

* fixed unit tests

* added support for date ranges

* removed unused code

* replaces valdiation typing

* Revert "replaces valdiation typing"

This reverts commit 711c098e9b.

* replaces match with term

* added sorting

* fixed saved objects nested query

* updated plugin FTs path

* Update x-pack/plugins/encrypted_saved_objects/README.md

Co-Authored-By: Aleh Zasypkin <aleh.zasypkin@gmail.com>

* Update x-pack/plugins/encrypted_saved_objects/README.md

Co-Authored-By: Aleh Zasypkin <aleh.zasypkin@gmail.com>

* remofed validation from tests

* fixed typos

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Aleh Zasypkin <aleh.zasypkin@gmail.com>
2020-04-06 18:02:58 +01:00
Spencer e6c23ea9b2
[kbn/ui-shared-deps] expand and split (#62364)
* [kbn/ui-shared-deps] expand and split

* add two import styles for eui/react-dom that are new

Co-authored-by: spalger <spalger@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-04-03 14:11:36 -07:00
Søren Louv-Jansen 2df0b41959
[backport] Bump to 5.1.3 (#62286) 2020-04-02 14:49:59 +02:00
Aaron Caldwell b06eaf4874
[Maps] Update ems client dependency to 7.8.0 (#62181) 2020-04-01 11:13:58 -06:00
liza-mae dc77759f4b
Update percy agent to latest version (#62089)
* Update percy agent to latest version

* Update kbn-pm index

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-04-01 09:33:17 -06:00
Søren Louv-Jansen 3b3e3f539b
[backport] Bump to 5.1.2 (#62117) 2020-04-01 14:10:16 +02:00
spalger 51ee797ad7 fix local @elastic/datemath version 2020-03-31 15:16:15 -07:00
Tiago Costa 207c0d2e96
chore(NA): update es legacy client versions (#61477) 2020-03-27 16:25:09 +00:00
Mikhail Shustov ab39ceba8f
Serve static assets from NP (#60490)
* add hapi.inert plugin to NP

* update tests

* move serving static assets

* update tests

* add functional tests

* fix type errors. Hapi.Request doesn't support typings for payload

* update docs

* remove comment

* move assets to NP

* update all assets references

* address Spencer's comments

* move ui settings migration to migration examples

* document legacy plugin spec

* move platform assets test to integration_tests

* address Spencer's comment p.2

* try to fix type errors

* fix merge commit

* update tests
2020-03-27 14:24:28 +01:00
Marco Vettorello ba3d639201
fix(line_annotation): keep the spec in state after chart rerender (#61499) 2020-03-27 12:01:20 +01:00
Thomas Watson 672a81032a
Bump @elastic/makelogs from v5.0.0 to v5.0.1 (#61396) 2020-03-26 17:40:17 +01:00
Thomas Watson c21419c6d4
Bump glob-all from v3.1.0 to v3.2.1 (#61215) 2020-03-26 17:39:19 +01:00
Mikhail Shustov a8f92c5e0b
bump up babel version (#61037)
* bump babel version

* build kbm-pm

* refresh transitive @babel/* versions to kick yarn into shape

* update kbn/pm dist

Co-authored-by: spalger <spalger@users.noreply.github.com>
2020-03-25 16:37:30 +01:00
Nick Peihl 49c7518976
Bump ems-client to 7.7.1 (#61153)
* Bump ems-client to 7.7.1

* Update in x-pack dir, too

* erg, yarn lock

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-03-24 16:50:09 -07:00
Thomas Watson 34bfc1bfc7
Bump core-js and jimp (#61124)
This commit bumps the following dependencies:

- core-js (prod-dependency): 3.2.1 -> 3.6.4
- jimp (dev-dependency): 0.8.4 -> 0.9.6
2020-03-24 21:59:27 +01:00
Brandon Kobel 4b9126b2c3
Updating our direct usage of https-proxy-agent to 5.0.0 (#58296)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-03-24 07:57:50 -07:00
Thomas Watson e96ed69bf6
Upgrade mocha dev-dependency from 6.2.2 to 7.1.1 (#60779)
Co-authored-by: spalger <spalger@users.noreply.github.com>
2020-03-24 08:26:09 +01:00
Chandler Prall 0bf62cbf3e
Upgrade EUI to 21.0.1 (#60282)
* update to eui 21.0.1

* most changes needed for search bar ts changes

* Passing types

* snapshots

* jest tests

* Removed IQuery placeholder types

* Updated functional test to only look at table headers with content

* Moved 'filters' definition around in api docs

* Update types

* update snapshot

* typo

* Move DATA_FRAME_TASK_STATE enum to its own file to fix x-pack functional test config imports

* merge public api 'changes'

Co-authored-by: patrykkopycinski <patryk.kopycinski@elastic.co>
Co-authored-by: Patryk Kopycinski <contact@patrykkopycinski.com>
2020-03-20 14:07:04 -06:00
Marco Vettorello 88612743a9
Update dependency @elastic/charts to v18.1.0 (#60578) 2020-03-20 17:37:11 +01:00
Gidi Meir Morris 8fd317c55a
[Alerting] Adds navigation by consumer and alert type to alerting (#58997)
Adds Navigation APIs to Alerting.

Parts to this PR:

Adds a client side (Public) plugin to Alerting, including two APIs: registerNavigation & registerDefaultNavigation. These allow a plugin to register navigation handlers for any alerts which it is the consumer of- one for specific AlertTypes and one for a default handler for all AlertTypes created by the plugin.
The Alert Details page now uses these navigation handlers for the View In App button. If there's an AlertType specific handler it uses that, otherwise it uses a default one and if the consumer has not registered a handler - it remains disabled.
A generic Alerting Example plugin that demonstrates usage of these APIs including two AlertTypes - one that always fires, and another that checks how many people are in Outer Space and allows you to trigger based on that. 😉 To enable the plugin run yarn start --ssl --run-examples
2020-03-19 09:49:05 +00:00
renovate[bot] b9d2affc73
Update dependency nock to v12 (#60422)
* Update dependency nock to v12

* update yarn.lock file

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: spalger <spalger@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-03-18 17:48:42 -07:00
Spencer cc8f7c43dd
upgrade execa to get stdout/stderr in error messages (#60537)
* upgrade execa to get stdout/stderr in error messages

* rebuild kbn/pm

Co-authored-by: spalger <spalger@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-03-18 17:45:04 -07:00
Thomas Watson 59a522b4ef
Upgrade @types/node to match Node.js runtime (#60368)
Kibana uses Node.js v10.19.0. The closest version of @types/node to this
version is currently v10.17.17.

This commit updates the resolutions field in package.json to ensure that
the latest version less than 10.20.0 is always used.
2020-03-18 14:27:56 +01:00
Spencer 2367d749c1
upgrade react-use (#60427)
Co-authored-by: spalger <spalger@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-03-17 15:24:59 -07:00
Nick Peihl 928454afa4
Update the ems-client dependency to 7.7.0 (#59936)
* Update the ems-client dependency

This PR adds the `appName` and `appVersion` parameters used by ems-client. The `appVersion` parameter replaces the now deprecated `kbnVersion` parameter in ems-client.

* Review feedback

* Fix borked merge

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-03-17 11:51:17 -07:00
Marco Vettorello e25430ba36
[TSVB] fix text color when using custom background color (#60261)
When the user apply a background color manually from the UI,
this commit adapt the current colors to have a better contrast with
the chosen background color irrespective of the used dark/light theme
2020-03-17 12:22:45 +01:00
spalger c90293d03f Revert "Using re2 for Timelion regular expressions (#55208)"
This reverts commit 728d073c12.
2020-03-13 09:14:20 -07:00
Alexey Antonov 9d00427aef
Downgrade to query-string v5.1.1 (#59633)
* Downgrade to query-string v5.1.1

* update lib version for x-pack

* fix JEST

* fix functional tests

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-03-13 17:27:09 +03:00
John Schulz 96f74e6e7a
[Ingest] Add Fleet & EPM features (#59376)
* [EPM] Documentation of HTTP routes & TS types for Ingest (#48798)

* Add beginning models and two routes for Ingest

* Update types & models per discussion w/Ruflin
Also reviewed data structures listed at https://docs.google.com/document/d/1IBR3f9dpHqJmXYEdg06WV34KSMd3g5k4aMGa4jde_Eg/edit#

* Update: /policies always returns array. /policy returns single policy

* Add pagination for /policy & /datasources. Uses per_page & page params

* Add API metadata. Standardize policy_id param name.

* Update descriptions to match Google Doc. Move use case to Policy.

Disabled the '@typescript-eslint/array-type' rule because it was going around in circles. It didn't like Datasource[] or Array<Datasource>

* Return to initial TS annotation for Arrays

Remove the line disabling @typescript-eslint/array-type now that it's behaving normally again 🤷

* [EPM] Add directory structure for server/lib. (#50469)

* Add directory structure for server/lib.

* 'tests' seems to be more common than 'test'

* Make CI happy

* [EPM] Add basic documentation directory (#50478)

* [EPM] Add basic documentation directory

Having the doc directory around allows us to easily add docs from here on to document how EPM works.

To run the docs build, use the following command from the kibana directory:

```
../docs/build_docs --doc docs/epm/index.asciidoc --open
```

The above assumes that docs (https://github.com/elastic/docs) are checked out in the same directory as Kibana.

With this change, the EPM docs build is not included yet in the overall docs build. For this adjustments to https://github.com/elastic/docs/blob/master/conf.yaml must be made.

* [EPM] Add basic index template (#50471)

This PR adds the very basic index template we will use for the packages. It contains all the basic settings and some examples. The examples will be remove as soon as we have an actual implementation with packages but for now is convenient to see if it is a valid package.

This code is put into the lib directory as it does not tie directly into any handlers.

It also adds an functional tests for loading a template. This means we have a way to check if a template is valid in Elasticsearch. Based on this we can check in the future all our generated templates for validity with Elasticsearch.

To run the functional test, go to the Kibana x-pack directory. Start the first command:

```
node scripts/functional_tests_server.js --config test/epm_api_integration/config.ts
```

Keep the above running and switch to an other Terminal. Now run:

```
node scripts/functional_test_runner.js --config x-pack/test/epm_api_integration/config.ts
```

* 40752 rewrite ingest pipeline (#50627)

* Add directory structure for server/lib.

* 'tests' seems to be more common than 'test'

* Make CI happy

* Implement pipeline rewriting.

* Add more testcases

* For posterity (comment change)

* Allow beats-style template delimiters

* Be more succinct

* Document better

* Replace AssetType enum with union type (#50696)

See https://github.com/elastic/kibana/pull/50609#discussion_r346080439

Discussed in Slack and agree to revert for now. Can track down the issues & restore later

* Remove unnecessary await if we can return the promise (#50329)

* Fix whitespace per figma comments. Closes #47348 (#47350)

* Add fix & comment for TS 3.7.2 regression

* [EPM] cleanup assets, filter assets for those currently supported (#50609)

* cleanup assets, filter assets for those currently supported

* removed unused type

* fix type

* add comment for better type

* change type name to be more descriptive

* hardcode image width for ie11 (#49796)

* hardcode image width for ie11

* eslint

* improve comment

* add maxWidth

* [EPM] useKibana hook & render in plugin.start (#50110)

* plugin.start now does reactdom.render vs returning react element

export plugin function from public/index

* Move setClient call from plugin.start to plugin.setup

* Use `useUiSetting$` from `useKibana` hooks

* Fix broken app due to bad hooks usage

Can't use useKibana outside a React component.

Reverting to prior approach since it's still NP. Can revisit context usage in a followup PR

* [EPM] Install package from detail view on button click (#50735)

* Support basic "click button -> show spinner -> installed" install flow

* Remove incorrect comments. Add TS return types to data functions.

* [EPM] Use NP feature_catalogue.register (#50108)

* Use NP feature_catalogue.register

* Use type from NP plugin

* fix linting

* fix types

* fix headers in Fleet

* skipping test due to ES param change

* Revert "skipping test due to ES param change"

This reverts commit d05f20decf.

* remove type field

* remove unused import

* [EPM] Final(?) update from integrations_manager -> EPM (#50976)

* Update (all remaining?) references from integrations_manager to EPM

* Update path in i18n file

* [EPM] update compatibility section (#50975)

* change min max version to single range value

* add elastic stack icon and change text

* remove badge from version and use code font

* remove euistyled

* add back version component lost in merge

* remove euiStyled

* remove old file

* Restore RequirementVersionRange type

* Disable test for elasticsearch username.

Temporary work around until we know how the stack wants to add the permissions we need. Either adding to the kibana user or creating a new user.

* Revert "Disable test for elasticsearch username."

This reverts commit f1020e4eab.

* Disable test for elasticsearch username.

    Temporary work around until we know how the stack wants to add the permissions we need. Either adding to the kibana user or creating a new user.

* Fix EPM typing issues in register feature

* Fix typings after master merge

* [EPM] CI fixes (#51284)

* Initialize es in test.

* Add it(), no es.init()

* Clean up.

* [EPM] add confirmation modal (#51172)

* add confirmation modal, move install state to Header

* update callout to use title

* move components only used in detail view to detail dir

* use better variable names

* update to more descriptive  variable names

* Restore prior response vaulues for install & delete package (#51252)

Discussed this with @skh https://github.com/elastic/kibana/pull/51112#commitcomment-35961413 & https://github.com/elastic/kibana/pull/51112#commitcomment-35970664 as well as in a video call

Also added some TS type annotations for data fetching functions to make the contracts more explicit

* [EPM] /package API only lists installable assets. Restore enums. (#51414)

* API only shows installable assets. Server types to own file. Restore enums

* Fix type imports

* Only return installable asset types (kibana for now)

* server/types now only has code from hapi which shouldn't go to client

* Add more restricted TS types to DisplayAssets object

* Flip order of arguments to Extract

In these cases it still works the same, but looking at https://www.typescriptlang.org/docs/handbook/advanced-types.html the signature is

`Extract<T, U>` - Extract from `T` those types that are assignable to `U`

so the larger set should be first

* [Fleet] Enrollment api key UI (#51495)

* Make button pretty in dark mode as well. (#51610)

* [EPM] Add docs entry about registryUrl config (#51697)

This documentation is at the moment mainly for internal use. I found myself searching for this URL several times in the code or PRs so I thought I rather add it to the docs for now.

* [EPM] Remove encoding of Kibana objects as not needed anymore

* [Fleet] Move agent status server side and API to get aggregated status for a policy (#51673)

* [EPM] Add basic docs around install/delete API endpoint (#51728)

This is mainly for internal usage at the moment to look up.

* Ingest/policy (#51741)

* wip policy

* tweaks

* tweaks

* FIX TYPOS

* WIP move policy => agent config conversion to fleet, WIP policy changed method

* fix tests and bugs

* updates tests and snaps

* more fixes

* use AGENT_POLLING_INTERVAL

* cleanup and fix some formatting

* Update x-pack/legacy/plugins/ingest/server/libs/datasources.ts

Co-Authored-By: John Schulz <github.com@jfsiii.org>

* Update x-pack/legacy/plugins/ingest/server/libs/datasources.ts

Co-Authored-By: John Schulz <github.com@jfsiii.org>

* Update x-pack/legacy/plugins/ingest/server/libs/outputs.ts

Co-Authored-By: John Schulz <github.com@jfsiii.org>

* Update x-pack/legacy/plugins/fleet/server/libs/policy.ts

Co-Authored-By: John Schulz <github.com@jfsiii.org>

* fix things broken by PR review suggestions

* remove unused field

* fix types

* fix mappings

* add datasource mappings

* Fix mappings and remove get full policy from checkin

* Fix ingest api integration tests

* run es-lint to fix fleet

* Fix typescript issues

* [EPM] Track package install state and add toast notification (#51734)

* add notifications from core to plugin

* add package install state hook

* fix type error

* use toMountPoint helper to add jsx to notification

* add warning notification to failed install

* make notifications dependency explicit prop

* move PackageInstall provider lower

* add comment about InstallStatus type overlapping InstallationStatus

* use InstallStatus type in InstallationButton component

* fix type

* [Ingest] Adds support for a working default output (#51841)

* aadding config

* add working settings to the default output

* remove default username and password

* update libs

* [EPM] Add basics for creating the ILM setup (#50474)

This contains the basic objects to setup ILM

* Create index and alias with a write index
* Get the policy

The code does not contain any functional tests yet as it is still open on how to do it best. I suggest to get this in as a foundation and then iterate on top of it.

* [EPM] Add datasource (ingest pipeline) from package (#51851)

## Summary

This mixes a few concerns but I think it's worth it to show the parts working together.

Take a look at the individual commits for a better separation of features.

This adds 
 - the `/datasource/install/{pkgkey}` endpoint which installs ingest pipelines from a package into ES and saves a reference to them in the EPM state Saved Object
 - Connects the "Add datasource" button in the successful installation Toast to the new API
 - Adds a toast notification to inform the user the datasource was added correctly
 - Adds a "Delete Package" button on the details page so we can uninstall a package while we're waiting for the separate view which allows deletes
 - b99eda6 Pushes logic that was in the detail view into `InstallationButton`. This consolidates the logic in one component (or one component & the existing hook) and, iiic, means we can put `<InstallationButton package={...} />` on any view and get the same behavior

I'm marking this as a normal PR so people can merge if they wish

![add-datasource-delete-package-small](https://user-images.githubusercontent.com/57655/69775686-7fb39280-1167-11ea-8d41-e2b8a02252a1.gif)

* [EPM] Add basic processing of fields.yml file (#51148)

The fields.yml is used to generate the Elasticsearch template and Kibana index pattern. This PR adds a very basic implementation of processing the fields.yml and then create an Elasticsearch template out of it. The only fields that are supported at the moment are keyword fields, more will be added as a follow up.

The testing was implemented with a golden file. The output from the method is compared to a json file. If the input is changed or the method is changed, it is possible to regenerate the files with the `-generate` flag as following:

```
node scripts/jest  ./legacy/plugins/epm/server/lib/template/template.test.ts -generate
```

This will allow us to quickly test many inputs / outputs in the future, make adjustments to the existing files and generate the new outputs. We then can compare it in the diff it the changes make sense.

* [EPM] Create basic implementation to merge input template and dataset manifest (#51803)

* [EPM] Create basic implementation to merge input template and dataset manifest

With this code it is possible to take an input template for the agent and merge it with the config variables from the dataset manifest file. Currently only the name and the default value are merged. Later on we must implement to be able to pass user configured variables to it and make decision based on OS selection.

Closing https://github.com/elastic/kibana/issues/51794

* [EPM] Refactoring of lib structure (#51885)

This refactors the structure of lib. As so far all the lib parts are related to assets in the package, it is organised the same way with the same structure. Each directory has its own tests directory if it needs one. This makes it possible to (almost) not need relative paths for tests.

* [EPM] Allow to read files from fields directory (#51958)

This change allows to also extract files from the `fields` directory. Previously this was not possible because it always assumed a service must be there.

* [EPM] Install Elasticsearch Index Template for data source (#51878)

This installs the Elasticsearch index template for each dataset in a package. For now the names are hardcoded based on package key and dataset name but will be more dynamic later on when we pass the full dataset information.

The dataset extractions is a bit "hacky" at the moment and we should get a full implementation of dataset at a later stage and replace this code.

* [Fleet] Policy list, details, create, edit UIs (#51950)

* Set up simple policies list view

* Adjust spec to return single policy

* Set up simple policy details page

* Add demo stats/chart to policy details

* Add description string

* Initial setup of policy form and create policy UI

* Policy create/edit form; integrate policy list api

* Integrate create policy api

* Integrate policy detail, agent status, and policy edit APIs; adjust policy list api integration in agent enrollment

* Fix edit policy mock meta

* Fix policy list search bar

* PR and linting fixes; use typings from ingest plugin

* Fix i18n

* [EPM] Add datasource saved object type (#51871)

## Summary

This PR makes a few assumptions, and contains a lot of refactoring. It might be beneficial to look at the resulting directory structure under `server` first to get the (new) big picture.

Assumptions:
- our API deals with several concerns, for now these are packages and datasources
- we manage our own HTTP API endpoints for these concerns (in particular, don't use the ingest plugin for that)
- we manage (for now) the Kibana saved object in which datasources are saved. importing and calling methods from the ingest plugin to do that down the road will (hopefully) be a manageable change

This led to the following decisions:
- the code is separated into subdirectories by concern, containing all the route handlers and tightly coupled code
- for now, these directories are in `server/packages` and `server/datasources`. I'm tempted to move them into `server/api/{packages,datasources}` but wanted to limit the amount of refactoring in one PR
- shared code lives in `server/lib`
- some code from `server/packages` has been almost duplicated to handle saving to Datasource saved objects, some has been refactored and is used from both places. The deduplication needs further improvement
- maybe `server/registry` should also move under `server/lib` (but see above, I'm trying to not move everything around all at once)

Testing:

* Please note that this is a breaking change because the saved object type for package information
has also been renamed. You'll need to start with a fresh `.kibana-*` index. Restarting `yarn es snapshot` (withouth specifying a data directory) should do the trick.

* Package installation should still work, e.g. with a GET request to `http://localhost:5601/api/epm/package/coredns-1.0.1`. The saved objects for packages can be inspected with a GET request to `http://localhost:5601/api/saved_objects/epm-package/$PKG_KEY`, e.g. `http://localhost:5601/api/saved_objects/epm-package/coredns-1.0.1`
* Datasource creation should still work, e.g. with a GET request to `http://localhost:5601/api/epm/datasource/install/coredns-1.0.1`. The saved objects for datasources can be inspected with a GET to `http://localhost:5601/api/saved_objects/epm-datasource/$PKG_KEY`, e.g. `http://localhost:5601/api/saved_objects/epm-datasource/coredns-1.0.1`

* [Fleet] Expose policy during agent checkin (#51968)

* [EPM] Add /epr prefix to the tar.gz download path (#51881)

The registry slightly changed the .tar.gz path because of download stats reason. This adjusts for it. See https://github.com/elastic/package-registry/pull/169

* [EPM] Move template installation to lib and add asset helper  (#52049)

* [EPM] Move template installation to lib and add asset helper

All the logic related to the installation of the templates for a package should be inside the template library folder. This moves the logic into this folder.

A few refactorings were made to simplify installation:

* Introduction of DataSet interface: This interface is needed to extract the data sets inside a package and install one template per data set.
* Pass package instead of package key to installation process: Passing the package instead of the package key means fetching of package information is decoupled from the installation process and abstracted. This separates the two concerns and should simplify testing.
* getAsssets method: The getAssets methods works on top of the package object to extract asset paths. It is inspired by get_objects methods but supports passing a package and a dataset.

Currently one problem with testing that exists is that to fetch the content of an asset is not decoupled yet.

* [EPM] Reduce data source to one type (#52061)

Between Fleet / Ingest / EPM there had been several interface definitions of Datasource and the related types. This reduces it to one place for the definition. The same applies to the policy definition.

The goal of this is that from now on we all rely on the same definition. If we make changes, we make them in all parts of the code.

In this PR is only the minimal change needed to get us all on one interface. Further changes will be needed that we all rely on the same saved objects etc.

* add export command

* revert 2 more files to rely on export

* revert imports

* Fix types for Datasource Saved Object

* merge in master

* fix type check

* Run VSCode's organize imports on EPM files (#52234)

Learned about it on Slack from https://twitter.com/ryanchenkie/status/1201883268527927301

Blog at https://code.visualstudio.com/updates/v1_23#_run-code-actions-on-save

Basically does the order we've been loosely following (3rd party, then relative) & alphabetic by location and variable name.

It's not customizable but it's reasonable and, afaict, consistent.

* [EPM] More realistic datasource SO. Error if package not installed. (#52229)

* Move cache 'hack' into getAssetsData

* p -> pkg. package is reserved. pkgkey is used in many places

* Remove unnecessary type cast

* Clarify reasons behind asset path manipulation

* Return the Datasource; not the Saved Object.

* Use real values from package in fake datasource SO

* Error if /datasource/install before /package/install

```
> curl --user elastic:changeme localhost:5601/api/epm/datasource/install/coredns-1.0.1
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "coredns-1.0.1 is not installed"
}

> curl --user elastic:changeme localhost:5601/api/epm/install/coredns-1.0.1
[
  {
    "id": "53aa1f70-443e-11e9-8548-ab7fbe04f038",
    "type": "dashboard"
  },
  {
    "id": "Metricbeat-CoreDNS-Dashboard-ecs",
    "type": "dashboard"
  },
  {
    "id": "75743f70-443c-11e9-8548-ab7fbe04f038",
    "type": "visualization"
  },
  {
    "id": "36e08510-53c4-11e9-b466-9be470bbd327-ecs",
    "type": "visualization"
  },
  {
    "id": "277fc650-67a9-11e9-a534-715561d0bf42",
    "type": "visualization"
  },
  {
    "id": "cfde7fb0-443d-11e9-8548-ab7fbe04f038",
    "type": "visualization"
  },
  {
    "id": "a19df590-53c4-11e9-b466-9be470bbd327-ecs",
    "type": "visualization"
  },
  {
    "id": "a58345f0-7298-11e9-b0d0-414c3011ddbb",
    "type": "visualization"
  },
  {
    "id": "9dc640e0-4432-11e9-8548-ab7fbe04f038",
    "type": "visualization"
  },
  {
    "id": "3ad75810-4429-11e9-8548-ab7fbe04f038",
    "type": "visualization"
  },
  {
    "id": "57c74300-7308-11e9-b0d0-414c3011ddbb",
    "type": "visualization"
  },
  {
    "id": "27da53f0-53d5-11e9-b466-9be470bbd327-ecs",
    "type": "visualization"
  },
  {
    "id": "86177430-728d-11e9-b0d0-414c3011ddbb",
    "type": "visualization"
  },
  {
    "id": "4804eaa0-7315-11e9-b0d0-414c3011ddbb",
    "type": "visualization"
  }
]

> curl --user elastic:changeme localhost:5601/api/epm/datasource/install/coredns-1.0.1
[
  {
    "id": "coredns_1_0_1_dataset_log_elasticsearch_ingest_pipeline_pipeline_plaintext_json",
    "type": "ingest-pipeline"
  },
  {
    "id": "coredns_1_0_1_dataset_log_elasticsearch_ingest_pipeline_pipeline_json_json",
    "type": "ingest-pipeline"
  },
  {
    "id": "coredns_1_0_1_dataset_log_elasticsearch_ingest_pipeline_pipeline_entry_json",
    "type": "ingest-pipeline"
  }
]
```

* fix duplicated imports

* [EPM] Move golden files generation over to jest snapshot (#52203)

* [EPM] Move golden files generation over to jest snapshot

I initially used my own implementation to write the generated files. It runs out jest has a feature to write snapshots which simplifies the code a lot.

I added a loop with an additional test file so in the future we can just keep adding test files without having to modify the test code.

To updated the snapshots, the param `-u` has to be used:

```
node scripts/jest legacy/plugins/epm/server/lib/fields/field.test.ts -u
```

* [EPM] Create metrics-* and logs-* Kibana index pattern (#52277)

This creates the very basic Kibana index patterns metrics-* and logs-* for Kibana. At the moment it is overwritten every time. We need to change this in the future to take the fields from all installed data sources and regenerate it.

* [EPM] Create helper for elasticsearch asset names (#52265)

Most of the Elasticsearch assets have the same base name. This creates a helper to get the base name for the assets. In case we decide to change the base name in the future, we can change it in one place.

* fix tests and destructing

* [EPM] Update Registry types. Prevent errors installing certain datasources. (#52285)

* Update RegistryPackage type

* Use download key from EPR to fetch archive

* Fix errors caused by correcting the Registry types.

The issues were largely that some Registry types like `title, `datasets` and `assets` where marked as required, but are actually optional. This highlighted area in the code were we relied on them always being present.

We added to the issue by wrapping Registry types in `Required` which made those items which were correctly listed as optional, required for EPM code. Updated EPM types to reflect the largely pass-through nature of the EPM types.

There are two properties which we ensure are in every EPM response, those were put into their own (unexported) type.

Confirm by trying to add a datasource to a package which has no datasources, like apache-1.0.1 or system-2.0.1. In `feature-ingest` and the earlier version of this PR, the `/datasource/install` call returns a 500. In this PR it succeeds.

* [EPM] Add setup of default ILM policies (#52272)

This creates two ILM policies: logs-default and metrics-default. These are the default ILM policies used. Currently the policy content is hardcoded in the code but should be fetched from the base package in the future. The setup happens as part of the datasource installation. When a data source is installed it is a good time to check if the assets are there but we might extract this to a better place in the future.

* [EPM] 52075 add data source first page (#52320)

* Update RegistryPackage type

* add first page of add data source

* fix for ie11 flex min width bug

* remove toDetailViewRelative

* remove unneeded spread

* Update TS type names for EPR search results (#52512)


 * `RegistryList -> RegistrySearchResults`
 * `RegistryListItem -> RegistrySearchResult`

* Restore import sort order from #52234 (#52548)

Many of the changes from #52234 were lost. Presumably due to PR(s) merging which were based on branches which had the previous unsorted order.

* [EPM] Replace wildcard export (#52554)


 * PackageNotInstalledError -> packages/index.ts
 * pkgToPkgKey -> registry/index.ts (will convert existing `${name}-${version}` instances later)

* Replace export * from packages.

There's an argument that the import sites should be updated to import from `packages/get`, `packages/install`, etc but that can wait for a later PR.

* [EPM] Reduce usage of epm-package SavedObject (#52576)

* Delete existing Installation type. Rename InstallationAttributes to Installation

* Reduce usage of EPM SO. Add getInstallation().

Replaced two calls of getInstallationObject() with getInstallation().

Two less places with knowledge of SO internals.

Lots of potential improvements for EPM TS types remain (refactoring/removing Installable, etc), but this is a good incremental step, IMO

* [EPM] Fix missing export link (#52628)

Without it, things break. I am surprised CI did not catch this.

* [EPM] Cleanup ILM loading (#52632)

Before the check for the ILM policy to exist triggered an exception. With this change it is a normal response also if the policy does not exist yet.

A follow up issue will be created in Elasticsearch to get a HEAD request for this available.

* [EPM] Switch to staging URL for registry (#52626)

The old cluster with the registry will be removed as soon as this is merged.

* [EPM] Use Dataset interface to generate template (#52255)

This will make sure we have to pass much feature params and can fully rely on the datasource object to create names for assets.

* [Fleet] Use agent events to compute agent health (#52513)

* [EPM] Data source integration tests (#52542)

* Add fixtures for data source integration test.

* Move test setup to beforeEach

* Add test for datasource creation

* Handle pipelines in yml format.

* Make integration test for adding a data source pass.

* Use EPR staging URL with CDN. (#52776)

See https://github.com/elastic/kibana/pull/52626#pullrequestreview-330622868

* [EPM] Add Data Source page updates (#52705)

* remove dupe type RegistryPackage

* change switches to checkboxes, use datasets to create checkboxes, add some local form state

* update types

* [EPM] redirect after package install (#52771)

* add callback after successful installation and redirect

* add temp data sources tab content to access add data source page

* remove assets tab for mvp

* hide data sources link and redirect from data sources tab if package not installed

* change callback name

* remove commented out assets logic

* add redirect to hook

* fix type

* Use ingest datasource api (#52964)

Incremental change. Uses HTTP API for datasource creation. Will do follow-up PR which uses JS function instead

* Remove duplicate fetchInfo & installTemplates

I think this was from a bad merge, but pretty sure we don't want these functions called twice in the same function

* WIP. Pushing so others can see

* Improve correctness/flexibility of absolute URL

* Disable datasource test & template installation

* [Ingest] Data source APIs (#52448)

* Clean up ingest imports and remove unneeded mock_spec files

* Initial pass at datasources lib and API endpoints

* Add add/remove datasource to/from policy API endpoints

* Add datasource contract tests and related policy contract tests; update snapshots

* Fix tests

* Fix tests again

* Fix tests 3

* Adjust routes, PR feedback

* modify epm createDatasource endpoint to use user data (#52971)

* change epm/datasource/install/{pkg} to POST, send user data to endpoint, install pipelines and templates based on user selected datasets

* change test to post for installing a datasource

* change some names and types around

* delete request.headers['transfer-encoding'] being passed through from epm request

* [EPM] Don't share CreateFakeDatasource type (#53068)

It's not shared between client & server so it doesn't need to be in common. Also, it imports server code which would try to bring server types to the client. It's types so they're compiled away but it's important to keep common to what's truly common. Breaking this separation is why we thought enums broke the client. A lint rule just landed in master to prevent this.

* [EPM] Index template generation fixes (#53104)

* Only add keyword type field to mappings.

* Index template installation

* Handle empty fields definition files
* Re-enable index template installation

* [Fleet] Assign/Unassign data source from policy UI (#53058)

* Add index files to export various modules; normalize imports

* Clean up unused files; extract datasources table component from policy details page

* Expose http client to frontend libs; remove unused types; import ES UI's useRequest lib

* Adjust shape of rest api adapter interface to better match with rest of kibana; remove unused node adapter; change per_page param to perPage in agent events route

* Initial pass at assign data sources flyout

* Initial pass at unassigning data sources from policy

* Make data sources table searchable by package values

* Fix enrollment key lib for rest adapter param changes

* Fix imports and types

* `yarn.lock` changes after bootstrapping

* [EPM] Implement getConfig for dataset (#53261)

* [EPM] Implement getConfig for dataset

* Implements a getConfig method on a dataset object. 
* Build the configuration for each dataset in a package.
* construct and save streams into datasource saved object

* [EPM] Fix template installation (#53272)

As dataset.package was not set, the installed templates contained undefined in the template name. This changes fixes this.

* [EM] Refactor ingest pipeline installation (#53309)

* Refactor ingest pipeline installation

* Only install index templates for requested datasets

* Add index.default_pipeline to index template

* Hook up pipeline rewriting

* Add correct types.

* change POST create datasources path (#53165)

* change POST create datasources path

* remove pkgkey from params

* Fix creation of a data source with a custom ID (#53537)

* [Ingest] Return associated policy IDs in data source info (#53350)

* Return number of policies from data source, surface in assign data source UI

* Update snapshots

* [EPM]: Assign data source to policy in UI (#53597)

* Let ES generate source ids. Refactor along the way.
* Datasource.id isn't optional. It's just missing before we send to Ingest
* Delete EPM's mapping of datasources saved object. Ingest handles that.
* Keep datasource object-related work in constructDatasource
* Move asset installation into own function. Keep entry point high-level.
* More descriptive (less ambiguous) names for these two functions
* Use enum values from Ingest instead of plain strings
* Limit the 'type' key of references to known asset types.
* Update variable names to clarify that we're merging arrays of references
* Use [].flat instead .reduce + .concat to avoid error on empty arrays.
* Pass PackageInfo value directly to component vs pulling off n properties
* Name handlers/options based on the data, not the UI element
* Populate policy combo box based on values from Ingest policy API
* Mark Dataset.vars as optional.
* Add TODOs

* Add commands to run API tests to README (#53847)

* Limit functions to 3 params max. Update those which used more (#53848)

* [EPM] Code in 'common' directories shouldn't import server code (#53854)

* [Fleet] Code in 'common' directories shouldn't import server code (#53938)

* [Fleet] Remove server code from common folder in fleet
* [Fleet] Fix typescript issues after master merge
* [EPM] Fix typescript issues after master merge

* Fix eslint issues

* Fix typescript issues after merge

* Fix merge master missing line

* Fix merge conflict

* [Fleet] Fix registration of Ingest management section (#54065)

* Fix registration of Ingest management section

* Fix i18n key

* [Fleet] Remove server code from common folder in ingest (#53969)

* [Fleet] Connect fleet to policy change update (#53201)

* [Fleet] Send created event when a policy is created
* [Fleet] updated created event when a policy is created
* [Fleet] Send deleted event when a policy is deleted

* [Fleet] Rename output.url => output.hosts (#54258)

* [Ingest] Remove policies UI (#54308)

* Remove meta field UI from policy add/edit form

* Initial pass at policy bulk+single delete UI and API

* Adjust policy links from agent list and detail pages so that links are only active if policy exists

* Add delete policy UI to policy detail page

* Disable policy delete button for default policy

* Commit updated kbn-pm artifact.

CI is failing with messages like
14:52:28  ERROR: 'yarn kbn run build -i @kbn/pm' caused changes to the following files:
14:52:28
14:52:28  packages/kbn-pm/dist/index.js

Following advice from https://elastic.slack.com/archives/C0D8P2XK5/p1570032166063400 and running/committing build

* Update kbn/pm package

Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>

* [EPM] create logs metrics index patterns (#54037)

* fixes bug in for loop returning too early and not looping through all yaml files creating incomplete index template, move loading yaml files to own function, other cleanup

* use reduce in place of for loop

* basic functionality for creating index patterns

* separate logs and metrics index patterns

* dedupe fields

* adjust flattenFields to rename nested fields with parent name path

* some tests

* use yml files for tests

* add awaits as part of installing the package

* optimize loading of yaml files

* fix typo

* change type packageName to package

* update tests to use all files from the beginning

* fix type errors

* fix test

* Use dataset.package from registry

https://github.com/elastic/kibana/pull/54037#pullrequestreview-340362812

* Form validation on add datasource page. (#53920)

* [Ingest] Add support for policy `label` field (#54413)

* Allow `label` field in policy APIs, update UIs to support `label` field

* PR review changes, typo fixes, update tests

* [Fleet] Fix api key creation (#54498)

* [Fleet] Move agent acks to his own endpoint (#54401)

* [Ingest] Fix MaxListenersExceededWarning during kibana boot (#54745)

* [Fleet] Create a default api key for the default output (#54658)

* [EPM] update index pattern fields (#54862)

* add DatasetType type

* move loadFieldsFromYaml to fields

* add logic to determine field values

* update tests

* add back accidentally removed readFromDocValues

* remove DatasetType and add IndexPatternType

* rename dedup to dedupe

* group tests

* use null coalescing operator

* Fix typing issues

* [Fleet] Support agent event subtype STOPPING (#55231)

* [EPM] Prevent double submit when creating data sources

Update installationRequested state after submit (#55100)

* [EPM] handle alias fields when creating kibana index pattern (#55254)

* add alias support, update flattenFields to handle alias copying, update and add tests

* update snapshot

* update findFieldByPath to return undefined if not leaf node

* remove temporary alias type from map

* [EPM] handle multi fields when creating index patterns (#55554)

* handle mult_fields

* move nested function out

* [Fleet] Fleet/spec docs (#55619)

* [EPM] Start to document definitions (#55361)

This is a first stab at creating a place where we define the terms we use across ingest management. This is not complete but defines a place where we can add all the future defintions.

* [EPM] Indexing strategy docs (#55301)

* [EPM] Indexing strategy docs

This documentation is to start documenting our new indexing strategy in a public place and have it versioned. This will allow us to share the current state of the indexing strategy more easily in a single place, track it when updated and also already have it ready for our future users to look it up and understand the benefits of it.

* update typos

* fix one more typo

* apply review feedback

* skip fields that are disabled (#55735)

* [Fleet] Fix fleet typing issues after merging master

* [EPM] Create fieldFormatMap in kibana index pattern (#55892)

* add support for fieldFormatMap

* output params must be camel case

* fix case

* add url_template param

* [Fleet] Use user from saved object to create apiKeys (#55458)

* [EPM] Document package upgrade behaviour (#56138)

This PR adds more detailed documentation on what should happen when a package is upgraded.

* Remove some explicit typing to pass type checks.

This abstraction will be removed in the single plugin going into master.

* remove readFromDocValues (#56227)

* Add symlink to yarn.lock to fix(?) CI

https://github.com/elastic/kibana/pull/56443/checks?check_run_id=418123781 failed saying EPM directory "MUST have a 'yarn.lock' symlink"

Seems to have originated with https://github.com/elastic/kibana/pull/55440

Following example from other legacy/plugins/* in that PR

* Like 441d9ed, but correct

* [Ingest] Convert `ingest` plugin to new platform `ingest_manager` plugin (#56262)

* Seed Ingest Manager as a new NP plugin

* Add contexts for core, deps, and config. Begin routing and nav UI

* Export NP ready request from top-level es_ui_shared/public/

* Add nav styling w/ theming, add useRequest hook

* Set up license and config server-side services; add test routes

* Move most types and constants into /common

* Initial pass at:
* data stream and agent config models
* data stream routes and schemas

* Initial pass at agent config api route handlers

* Change plugin id to camel case

* Fix circular schema dependency, add security as optional plugin

* Create appContext service, use request user info in agent config routes + libs

* Create default agent config

* Add default output host config, output typings, and create default output and its api key

* Move saved object mapping to new plugin

* Change data streams -> datasources

* Add legacy plugin to bootstrap mappings

* Adjust fleet's ingest dependencies

* Disable policies UI in Fleet

* Adjust EPM's ingest dependencies

* Adjust ingest manager base API route

* Adjust fleet's client side ingest dependencies

* Remove more ingest dependencies from fleet

* REMOVE MOST OF LEGACY INGEST PLUGIN

* Add section for agent configs in UI nav

* Allow useRequest and sendRequest consumers to specify typing for response

* Initial pass at porting over agent config list UI

* Port over agent config creation

* Port over delete agent config functionality

* Fix app routing

* Port over fleet setup routes

* Adjust fleet's ingest dependencies

* Make fleet happy path work, skip some tests (MESSY! :))

* Remove policy list UI code from fleet

* Change useRequestResponse error type

* Add missing agent config schemas and hooks

* Fix type check issues

* Register IM under management

* Fix type issues as a result of changes to use/sendRequest interfaces

* Make all ingest saved objects *not* space-aware

* Fix i18n path

* Fix app categories import

* Fix datasource package assets schema (array of asset objects)

* Seed Ingest Manager privileges to fix tests

* Change `features` to optional plugin instead of required

* Fix security privileges tests

* Fix feature test

* Fix duplicate enrollment key created for default agent config

* Fix fleet agent enrollment by catching agent config 404

* PR feedback

* [Fleet] Detailed docs of fleet <-> agents interactions (#56212)

* [EPM] update index patterns on install/uninstall of package (#56591)

* create index patterns functionality on install/uninstall of package

* update snapshots

* [Fleet] Generate an ES api key per agent per output (#56637)

* [Fleet] Remove unused enrollement rules (#56753)

* remove files related to creating data source (#56745)

* Fix typing issues after mergin master

* Fix api key authentication after master merge

* [EPM] NP Migration: Move server files and route handlers to ingest_manager (#56854)

* initial pass moving registry and categories endpoint

* moves all needed server files and gets list endpoint working

* add route list validation schema

* remove epm config

* use config to get the registryUrl

* clean up registry url

* gets file endpoint working

* add info endpoint

* get install package endpoint working

* support uninstall package endpoint

* add API response types

* move epm types to models

* move AssetType to IngestAsset type from ingest plugin

* remove redundant export

* update epm_api_integration tests to new endpoint paths in ingest manager

* fix imports

* [Ingest Management] Change indexing from {type}-{namespace}-{dataset} to {type}-{dataset}-{namespace} (#56132)

Currently we have the indexing strategy defined as `{type}-{namespace}-{dataset}`. In this PR I propose to change this to `{type}-{dataset}-{namespace}`. As all 3 fields are constant keyword fields, the orders does not matter in most cases.

The reason I propose this change is to better align the name of indices with the name of the other assets:

* ingest pipeline: {type}-{dataset}
* index template: {type}-{dataset}
  * Index pattern: {type}-{dataset}-*
* alias name: {type}-{dataset}-{namespace}

This makes it easier to remember the asset names conventions (at least for me).

It makes a difference when specifying security per namespace: To lock down security, previously it is `/(logs|metrics)-prod-$/` and becomes `/(logs|metrics)-[^-]+-prod-$/`. In any case, we should help / assist the user to get this right.

* [EPM] Remove epm plugin and directory (#57309)

* delete server files, move over epm saved object schemas and mapping, stop epm plugin loading in xpack

* updated yarn

* change to updated name

* remove epm dir, copy readme to ingest_manager

* move package.json over and update yarn.lock

* update package name

* add yarn.lock symlink

* fix yarn.lock symlink

* remove epm from security privileges map

* remove epm from feature endpoint and i18nrc

* [Fleet] Move fleet to the new platform and to ingest_manager plugin (#56803)

* [Fleet] NP migration public part (#57567)

* [EPM] EPM to new plugin, UI part (#56882)

* Move EPM home / list view over to ingest-manager

* Use react-router-dom in epm section.

* WIP: add package detail view.

* Use correct route.

* Only import needed types to public

* Remove obsolete file.

* Import type correctly

* Revert "Remove obsolete file."

This reverts commit 4b061102ebc62b49e7d1291060405ea8d23a3a8a.

* Routes are still needed, fix them.

* Import types correctly

* More type import fixes.

* update get categories hook

* remove no longer used getCategories function

* get list packages hook working

* delete routes.tsx, cleanup links

* add the usePackageInstall hook

* replace rest of api calls with use/send request

* remove tmp_routes

* bring over breadcrumbs

* remove comments and get styles working

* get ride side col loading

* temp type fix

* remove useCore

* add assets

* remove comment

* add public directory to legacy ingest_manager and update asset path

* Fix PackageInfo type. Use for API & UI vs a saved object type.

The `as PackageInfo` cast was required because the pipeline was typed as returning `Installed | NotInstalled` which are saved object response.

Updating that to PackageInfo allows the `as` to be removed but revealed an incompatibility between the `assets` properties of RegistryPackage and PackageInfo

```
Types of property 'assets' are incompatible.
  Type 'Record<"kibana", Record<KibanaAssetType, KibanaAssetParts[]>>' is missing the following properties from type 'string[]': length, pop, push, concat, and 28 more.
```

It seems the `RegistryPackage & PackageAdditions` didn't cause the PackageAdditions.assets to replace the RegistryPackage.assets property.

I changed the definition of PackageInfo to do what I initially thought it was doing. See comments in models/epm.ts for more about how the new type is constructed.

* remove comment

* fix paths

* fix public paths

* fix path

* remove ui types file

* fix types

Co-authored-by: Sandra Gonzales <neptunian@users.noreply.github.com>
Co-authored-by: John Schulz <github.com@jfsiii.org>

* [Fleet] AgentEvent change agent_id and remove data (#57818)

* Remove legacy `ingest` plugin completely (#58056)

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>

* WIP. 1 type error (but >1 bugs) remaining.

* Add `callCluster` accessors for using ES vs appContext.getClusterClient()

* Undo (?) changes to kbn-pm/dist/index.js

* Run scripts/build_renovate_config for @types/tar

* Replace data w/ agent_id in server schema

* Different way to declare a saved object type

* Use a more specific path to the agent script

* Replace data with agent_id for agent checkin

* Restore internalSavedObjectsClient in app context

* Use project & HTTP TS types in scripts/dev_agent

* Remove ingestManager from FTR features

The plugin is disabled by default and not currently running the FTR tests. I believe we'll add this back when we restore the EPM integration tests.

* Move more variables to common/{constants,types}

* Remove ingestManager from default expected features

* Enable conditional routes. Adjust integration tests

EPM routes currently return a 500 for these tests. For now they `.expect(500)` when enabled and `.expect(404)` when disabled. We can look into the issue and get them to `.expect(200)` in later tests.

* Replace React.FC with React.FunctionComponent following new repo pattern

* Enable Fleet & Ingest FTR tests

* Remove duplicate *Response entries from server/types

* Update README instructions for CLI flags. Rearrange sections (#58363)

* Add instructions for CLI flags. Rearrange sections

Also added some more information about the plugin behavior with links to relevant code

* Add instructions for Ingest & Fleet FTR tests

* Restore search to EPM list page

* [Fleet] Allow to configure CA sha for kibana and elasticsearch (#58186)

* [Ingest] Adjust saved object mappings and rename policy -> config (#58670)

* Replace all reference to (agent) "policy"/"policies" with "config"/"configs"

* Adjust output and datasource saved object mappings

* Update schemas and types to match SO changes

* Fix type check

* Adjust default output object

* Fix property names in tests

* Move installing of index templates and ingest pipelines to package installation (#58619)

* update template and pipeline asset names, install on package install

* fix package install error handling messaging

* save references to installations to package saved object

* add epm.enabled flag for epm functional test runner

* don't add suffix to pipeline entry

* [Fleet] Add a schema of all of our saved objects (#58769)

* [Fleet] Do not use default id for saved objects that need to be encrypted (#57876)

* Adding events for index pattern generation (#58908)

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>

* Fix yarn.lock after merge

* [Fleet] create agent config before enabling fleet user (#59166)

* support for top level elasticsearch assets installation (#58869)

* add support for ilm policy installation

* check if ilm policy exists

* handle prebuilt index templates, update tests

* cleanup

* update type in install

* fix installing index templates to create multiple ones for inheritance

* [Fleet] Create default output while creating default config (#59223)

* Use the new definitions from package-registry#176 (#59311)

* [Fleet] Remove our custom API key authentication  (#59212)

* [Ingest] Full agent config schema & API (#59262)

* Add schema for full agent config and business logic to convert SO agent config -> full agent config

* Adjust output properties in full agent config

* Whitelist full agent config output fields

* [Fleet] UI Agent enrollment flyout (#58524)

* Use POST vs GET for EPM install & remove (#59367)

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>

* install default packages during setup (#59330)

* install default packages during setup

* check if package is already installed

* [Ingest] Updates to Agent Configuration List UI (#59374)

- Added search bar
- Sync of columns to design
- Actions per row in popup menu
- Connect pagination and per-page count to API request
- Support for `kuery` url param

* Update docs from /api/:section to /api/ingest_manager/:section (#59422)

* [EPM] Add Streams TS type to mirror EPR's (#59446)

* Add Streams TS type in EPM to mirror EPR's

Follows the changes add in https://github.com/elastic/package-registry/pull/230/files#diff-7dea786222588c32c19238bffffee9c2

* Add RegistryPackage.datasources

* Add more detailed shape for Registry Vars

* Don't code in modify src/plugins/management

See PR convo at c47975535f (r389042975)

* [Ingest] Add agent counts to each agent config output of `/agent_configs` API  (#59552)

* Added agent counts to getAgentConfigsHandler
* Show agent counts on Agent Config List

* [Fleet] Agent list header (#59487)

* [EPM] Use /packages & /packages/{pkgkey} (#59550)

* Use /packages & /packages/{pkgkey}

* Update paths in skipped tests

* Docs use /packages vs /package/{install,delete}

Some copy & code sample changes.

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>

* [Ingest] Design sync for Agent Configuration Create Flyout (#59479)

* Match form to design
* Support URI route param to open flyout

* [Ingest] Create data source step 1 & 2 (#59590)

* Add Error and PackageIcon components

* Add create datasource layout+navigation, and select package step

* Add description field to datasource, remove assets and description from datasource package

* Add temporary datasources typing for EPM package info

* Initial pass at configure datasources step. Stream vars only (no input vars yet)

* First pass at input vars config; separate components

* Fix issue with adding more than one datasource to a config

* Add shell review step; save datasouce

* Remove assign/unassign datasource from agent config details UI, replace with add datasource buttons

* Remove actions column from datasource table

* Initial pass at create datasource from package

* Move package to config service to /common, add tests

* Rename VarsEntry to RegistryVarsEntry, add datasets and datasources to RegistrySearchResult definition

* Add typings to create datasource flow

* Add real count of agents to select agent config list

* Ensure the necessary package is installed at time of datasource creation

* Use lowercase pkgkey for consistency

* Update EPM file path to use /packages (#59693)

* fixed header padding (#59711)

* [EPM] Use icons from packages, if present (#59765)

* [Ingest] Create data source step 3 (#59822)

* Make app setup loading state prettier

* Add review step of datasource wizard

* Change name to ID in agent config datasources field

* Fix types

* Add stored datasource to agent datasource unit tests

* Adjustment of registry typings and which registry copy fields to show to sync with elastic/package-registry#242

* Fix `multi` vars not populating with array: elastic/kibana#59724

* Account for if a stream is enabled by default from registry package definition: elastic/kibana#59724

* Adjust tests to account for last two commits

* Fix review page back link

* Fix d'oh typo

* [Ingest] Agent Config Details header and sub tabs navigation (#59783)

- Syncs Agent Config Details header to design
- Includes sub navigation tabs connected to route URL
- Agent Config List Create data source row action enabled

* [Fleet] update agent list UI (#59685)

* [Fleet] ensure default packages are added to the default config (#59759)

* [Fleet] fix output rename api_token => api_key (#60001)

* [Ingest] Address #59376 feedback (#59961)

* Disable create/destroy CTAs if no write capability

Use `core.application.capabilities.ingestManager.write` to test user permissions

* Add -all & -read tags for HTTP routes

* Update test .expect() to match description

* Add useCapabilities hook. Fix two issues with hiding/disabling CTA.

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>

* Missed one in e12a8ad8a4

* Use package icon as default when no other can be found (#60025)

* Remove duplicate xpack setting

FTR tests failing to start ES with error

```
ERROR ERROR: setting [xpack.security.authc.api_key.enabled] already set, saw [true] and [true]
```

https://github.com/elastic/kibana/pull/59376/checks?check_run_id=503930031 & https://github.com/elastic/kibana/pull/59376/checks?check_run_id=503975576 etc

It appears the xpack.security.authc.api_key.enabled flag was recently added to master in another part, so remove our instance of the setting to prevent the error

* Update EPM file tests to use /packages/{pkgkey}

These should have failed when the routes were changed. Will go back and see what happened.

* [Ingest] Add `revision` to agent configs & data sources (#59848)

* Add revision to agent config and datasource saved objects, add delete datasource service and datasource

* Add revision to full agent config output

* PR feedback

Co-authored-by: Sonja Krause-Harder <sonja.krause-harder@elastic.co>
Co-authored-by: Nicolas Ruflin <spam@ruflin.com>
Co-authored-by: Sandra Gonzales <neptunian@users.noreply.github.com>
Co-authored-by: Matt Apperson <me@mattapperson.com>
Co-authored-by: Nicolas Chaulet <nicolas.chaulet@elastic.co>
Co-authored-by: Nicolas Chaulet <n.chaulet@gmail.com>
Co-authored-by: Matt Apperson <matthew.apperson@elastic.co>
Co-authored-by: Jen Huang <its.jenetic@gmail.com>
Co-authored-by: Brian Seeders <brian.seeders@elastic.co>
Co-authored-by: Tyler Smalley <tyler.smalley@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: neptunian <sandra.gonzales@elastic.co>
Co-authored-by: Jonathan Buttner <56361221+jonathan-buttner@users.noreply.github.com>
Co-authored-by: Paul Tavares <56442535+paul-tavares@users.noreply.github.com>
Co-authored-by: Henry <henry.harding@elastic.co>
2020-03-12 18:52:06 -04:00
Brandon Kobel 728d073c12
Using re2 for Timelion regular expressions (#55208)
* Using re2 for Timelion's regexs

* Patching native modules

* Restructuring to be more generic

* Fixing download_node_builds_task tests

* Updating linux sha after properly gzipping the archive

* Using a Centos7 machine with devtoolset-6. That's what node does

* Using new archives which Travis built for us

* Not using a standard import to prevent Kibana from not starting up

If the "portable" version of RE2 for some reason isn't truly portable
and can't load, we don't want to prevent the rest of Kibana from working
properly. This will only prevent Timelion from working, which isn't
great, but is less worse

* Isolating the require even further

* Detecting the package version mismatches, thanks Larry!

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-03-12 11:38:53 -07:00
Thomas Watson ec78348db7
Ensure process exits if a process warning is emitted (#59651)
Crash Kibana in dev/CI if a process warning is detected. This does not
influence how Kibana behaves in production when run via `./bin/kibana`
as there the `--no-warnings` flag is used. We will detect this flag and
as a result, disable this behavior.

Previously we used the flags `--trace-warnings --throw-deprecation` when
you started Kibana via `yarn start` and we used `--throw-deprecation` in
CI. This meant that we would only crash on deprecation warnings and log
a stack trace for all other types of warnings.

There were a couple of drawbacks to this approach:

1. If the deprecated API was called in a place enclosed in a try-catch
   (or inside of a Promise or an async/await context), the throw would
   be caught and the program would not crash.

2. If you ran `./scripts/kibana` directly instead of running `yarn
   start`, you would not get these flags automatically.

3. If you ran any of our tests locally you would not get the standard CI
   flags. This meant something that might seem to pass locally would not
   pass in CI.

This commit changes this behavior by ensuring:

- That we always crash - no matter if the offending code is surrounded
  by a try-catch (etc).

- That you always get the same behavior whether you run `yarn start` or
  `./scripts/kibana`.

- That you always get the same behavior in CI or if you run individual
  tests locally.

Furthermore, we now crash for all types of warnings - not only
deprecation warnings (except `MaxListenersExceededWarning`).

Closes #59646
2020-03-12 07:21:42 +01:00
Larry Gregory fbbf580156
Revert less update (#59852)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-03-11 15:27:30 -04:00
Greg Thompson 4e52deeca3
Use EUI test environment build with Jest (#55877)
* wip

* dir name

* src snapshot changes

* x-pack snapshots

* svg element lookups

* snapshot updates

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-03-10 13:48:49 -05:00
Larry Gregory 914df7996d
Update misc dependencies (#59542)
* update deps

* updating to @hapi/good-squeeze

* consolidate fast-safe-stringify deps

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-03-10 08:19:14 -04:00
Liza Katz 28d0cf4485
Generate docs from data plugin (#56955)
* Add doc building for data plugin

* Added data server md file

* index file for suggestion component

* Clear out internal imports from public API

* Remove FunctionalComponent usage

* comment out working docs

* Added fixes following @octogonz feedback

* new docs

* Clean up

* Clean up 2

* fix jest

* rename docs script file

* update tasks

* tasks

* update docs
2020-03-10 11:34:06 +02:00
Thomas Watson a663f65bcc
Harden creation of child processes (#55697)
Add general protection against RCE vulnerabilities similar to the one
described in CVE-2019-7609.

Closes #49605
2020-03-10 07:51:57 +01:00
Chandler Prall 096dda6f34
Upgrade EUI to v20.0.2 (#59199)
* Updated EUI to 20.0.1; updated typescript usage

* snapshots

* Upgrade to eui 20.0.2, fix one more type

* PR feedback

* Update EUI icon usage to the correct types

* Updated with master
2020-03-05 12:27:52 -07:00
Pierre Gayvallet 64ffae3ec5
Add core metrics service (#58623)
* create base service and collectors

* wire the service into server, add mock

* add collector tests

* add main collector test

* export metric types from server

* add service and server tests

* updates generated doc

* improve doc

* nits and comments

* add disconnected requests test
2020-03-03 10:54:03 +01:00
Spencer bb6fd0bf4f
[kbn/optimizer] fix ui/* url rewrites in dist (#58627)
* [kbn/optimizer] fix ui/* url rewrites in dist

* add tests to verify styles are built correctly and ui-rewrites are happening

* clarify change to dirs creation

* create tested & shared parsePath helper

* update renovate config

* split implementation of parsePath for dir and file paths

* switch to valid css property

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-03-02 15:15:44 -07:00
Maja Grubic b7c8e3a252
Dashboard a11y tests (#58122)
* adding comprehensive dashboard tests

* fixing delete and adding dima changes

* Fixing some of the a11y test failures

* Fixing i18n issue

* Extracting exit fullscreen logic in a separate function

* Fixing typo

* Upgrading axe

* Fixing failing jest tests

* Removing main tag as it was causing a test to fail

* Adding focusable=false to a range control as well

* Update test/accessibility/apps/dashboard.ts

Co-Authored-By: Michail Yasonik <michail.yasonik@elastic.co>

* Fixing linting error

* Update src/legacy/core_plugins/input_control_vis/public/components/vis/list_control.tsx

Co-Authored-By: Michail Yasonik <michail.yasonik@elastic.co>

* Add comments

Co-authored-by: Bhavya RM <bhavya@elastic.co>
Co-authored-by: Michail Yasonik <michail@yasonik.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-03-02 20:56:07 +00:00
Spencer a3e68a1830
Revert "[SIEM] apollo@3 (#51926)" and "[SIEM][CASE] Init Confi… (#58806)
* Revert "[SIEM] apollo@3 (#51926)"

This reverts commit 320e292ea8.

* Revert "[SIEM][CASE] Init Configure Case Page (#58121)"

This reverts commit 967bef7b38.

* update a snapshot...
2020-02-28 11:42:34 -07:00
patrykkopycinski 320e292ea8
[SIEM] apollo@3 (#51926) 2020-02-27 09:25:37 +01:00
Wylie Conlon 07fec2f725
Documentation for numeral pattern formatting (#57616)
* Documentation for Elastic Numeral formatting

* Tweaks from feedback

* Updates from feedback

* Fix and update examples

* Add TODOs

* Fix typo

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-02-26 14:17:59 -05:00
renovate[bot] 8ccbe87069
Update dependency @elastic/charts to ^17.1.1 (#57634) 2020-02-21 14:49:48 -06:00
Brandon Kobel c91b6ceebc
Updating to @elastic/lodash@3.10.1-kibana4 (#54662)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-02-21 07:27:40 -08:00
Jonathan Budzenski 76d475a64c
Refactor test entry by runner (#44679)
Over the last few years we've increased the number of test runners.
Entry points by test type have become too lage of a category for unique
names, so this moves top level test scripts under yarn and replaces test
types with the runner name.

e.g. `yarn test:browser` -> `yarn test:karma`

Closes #41133

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-02-18 16:21:36 -06:00
Lukas Olson f2478100ab
Revert switching abort controller libraries (#57216)
* Revert switching abort controller libraries

* Revert package.json in lib

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-02-18 11:19:07 -07:00
patrykkopycinski f4d29abf1c
Bump redux dependencies (#53348) 2020-02-17 09:58:54 +01:00
Dmitry Lemeshko 95b713e69d
update chromedriver to 80.0.1 (#57602)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-02-15 00:43:32 +01:00
Greg Thompson 0abfd3c72f
Upgrade EUI to v19.0.0 (#57284)
* eui to v19.0.0

* typescript updates; idAria removal

* src snapshot updates

* mock euicode and euicodeblock for jest

* x-pack snapshot updates

* mock euicode for jest

* more euicode snapshots

* mock euicode in storyshots

* types/enzyme yarn.lock

* sidenav type update
2020-02-14 13:06:31 -06:00
Spencer 4e8ab56497
build immutable bundles for new platform plugins (#53976)
* build immutable bundles for new platform plugins

* only inspect workers if configured to do so

* [navigation] use an index.scss file

* add yarn.lock symlink

* set pluginScanDirs in test so fixtures stay consistent

* cleanup helpers a little

* fix type error

* support KBN_OPTIMIZER_MAX_WORKERS for limiting workers via env

* test support for KBN_OPTIMIZER_MAX_WORKERS

* expand the available memory for workers when only running one or two

* add docs about KBN_OPTIMIZER_MAX_WORKERS environment variable

* fix README link

* update kbn/pm dist

* implement bundle caching/reuse

* update kbn/pm dist

* don't check for cache if --no-cache is passed

* update renovate config

* standardize on index.scss, move console styles over

* add support for --no-cache to cli

* include worker config vars in optimizer version

* ignore concatenated modules

* update integration test

* add safari to browserslist to avoid user-agent warnings in dev

* update docs, clean up optimizer message/misc naming

* always handle initialized messages, don't ignore states that are attached to specific events

* reword caching docs, add environment var to disable caching

* tweak logging and don't use optimizer.useBundleCache as that's disabled in dev

* handle change notifications

* batch changes for 1 second

* rename CompilerState type to CompilerMsg

* getChanges() no longer needs to assign changes to dirs

* remove unused deps

* split up run_worker.ts and share cacheKey generation logic

* add a couple docs

* update tests and remove unused imports

* specify files when creating bundle cache key

* remove one more unused import

* match existing dev cli output more closely

* update kbn/pm dist

* set KBN_NP_PLUGINS_BUILT to avoid warning in CI

* avoid extending global window type

* add note to keep pluginScanDirs in sync

* pass browserslistEnv in workerConfig so it is used for cache key

* load commons.bundle.js in parallel too

* emit initialized+success states if all bundles are cached

* load bootstraps as quickly as possible

* skip flaky suite

* bump

* update jest snapshots

* remove hashing from cache key generation

* remove unnecessary non-null assertion

* improve docs and break up Optimizer#run()

* remove unused import

* refactor kbn/optimizer to break up observable logic, implement more helpful cache invalidation logic with logging

* fix tests

* add initializing phase

* avoid rxjs observable constructor

* remove unnecessary rxjs helper, add tests for bundle cache

* update consumers of optimizer

* update readme with new call style

* replace "new platform" with "kibana platform"

* fix a couple more renames

* add support for several plain-text file formats

* fix naming of OptimizerMsg => OptimizerUpdate, use "store" naming too

* one more OptimizerMsg update

* ensure bundles are not cached when cache config is false

* test for initializing states and bundle cache events

* remove unnecessary timeout change

* Remove unnecessary helpers

* Add tests for BundleCache class

* Add tests for Bundle class

* test summarizeEvent$

* missing paths are no longer listed in mtimes map

* add tests for optimizer/cache_keys

* Add some extra docs

* Remove labeled loop

* add integration test for kbn-optimizer watcher components

* querystring-browser removed

* tweak logging a smidge, improve info and final message

* remove unused imports

* remove duplication of getModuleCount() method

* move type annotation that validates things

* clear up the build completion message

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-02-12 19:42:42 -07:00
Alexey Antonov deda49e9f0
[ui/utils/query_string]: Remove unused methods & migrate apps to querystring lib (#56957)
* replace querystring (querystring-browser) -> query-string

* QueryString remove encode/decode methods

* remove query_string file

* remove querystring-browser from package.json

* add kibana_utils\url module

* cleanup

* update notice.txt

* fix merge conflict

* fix CI

* fix wrong import

* fix CI

* fix X-Pack firefox smoke test

* remove urlUtils.parseUrlQuery

* remove url.stringifyUrlQuery

* use url.encodeQuery

* Record<string, any> -> ParsedQuery

* Update src/plugins/console/public/application/containers/editor/legacy/console_editor/editor.tsx

Co-Authored-By: Luke Elmers <lukeelmers@gmail.com>

* add more tests for APM

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Luke Elmers <lukeelmers@gmail.com>
2020-02-12 19:51:03 +03:00
Søren Louv-Jansen 13cf3c83e7
Bump backport to 4.9.0 (#57293) 2020-02-11 13:28:53 +01:00
Wylie Conlon 69fc4437ff
Use i18n titles for field formatters, human names for numeral locales (#56348)
* Use i18n titles for field formatters, human names for numeral locales

* Rename i18n IDs, these are not currently translated
2020-02-06 17:52:35 -05:00
renovate[bot] ce95f12933
Update dependency @elastic/charts to v17 (#55376)
* Update dependency @elastic/charts to v17

* Update yarn.lock

* Fix type errors

* Update to latest version

Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
Co-authored-by: Nick Partridge <nick.ryan.partridge@gmail.com>
2020-02-06 09:46:17 -06:00
Tyler Smalley f2c06a8648
Update Node.js to version 10.19.0 (#56940)
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2020-02-05 21:57:43 -08:00
Brandon Kobel a379a995ad
Updating angular-* packages to 1.7.9 to appease the scanners (#56924)
* Updating angular-* packages to 1.7.9 to appease the scanners

* Forgot the x-pack/package.json
2020-02-05 18:54:10 -08:00
Brandon Kobel e9c31cd0b5
Updating tree-kill to 1.2.2 (#55889)
* Updating tree-kill to 1.2.2

* Building more stuff

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-02-05 13:53:01 -08:00
Lukas Olson 7d3021ed5a
Update AbortController library (#56661)
* Update abort controller library

* Bootstrap

* Fix bad merge conflict

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-02-05 14:23:06 -07:00
Spencer 12de6a8459
Fix compatibility with yarn 1.22.0 (#56917)
* Revert "force yarn 1.21.1 until we can handle invalid output of 1.22.0 (#56914)"

This reverts commit 5686010b46.

* move the --json argument before `workspaces` so it still works

* update kbn/pm dist
2020-02-05 14:18:10 -07:00
Spencer 5686010b46
force yarn 1.21.1 until we can handle invalid output of 1.22.0 (#56914) 2020-02-05 13:19:37 -07:00
Tyler Smalley 74768e567b
Bumps terser-webpack-plugin to 2.3.4 (#56662)
We're seeing occasional "Error: Call retries were exceeded" exception
with Terser, which should be resolved by
abfd950620,
first included in 2.3.4

Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2020-02-04 11:49:38 -08:00
patrykkopycinski 05edbdac78
[SIEM] Add eslint-plugin-react-perf (#55960)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-02-04 11:22:40 +01:00
Greg Thompson 94be839a24
Upgrade EUI to v18.3.0 (#56228)
* eui to 18.3.0

* ts interface update

* src snapshot updates

* x-pack snapshot updates

* icons in nav

* Homepage updates, nav drawer and tests

* feedback

* more feedback

* euiIconType for observability and security

* remove unused translations

Co-authored-by: dave.snider@gmail.com <dave.snider@gmail.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-02-03 16:37:35 -06:00
Larry Gregory 39bd173e41
Upgrade node-sass to 4.13.1 (#56484) 2020-01-31 10:45:27 -05:00
Tiago Costa 2b53c74cd9
chore(NA): delete data/optimize with kbn clean (#55890)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-30 19:03:14 +00:00
patrykkopycinski fc21c49c35
[SIEM] Fix Detections page breadcrumbs (#55173) 2020-01-21 19:20:53 +01:00
Nick Partridge ce2930ec51
De-angularize vis tooltips (#54954)
* Remove angular dependencey from vis/tooltip
* Move tooltip logic into vislib
* Remove and fix all ngMock refs in vislib tests
* Add numeral to renovate config
* Add vis_type_vislib to codeowners
* Move vis_legend into vislib and fix errors
* vis_type_vislib/public imports to be only top-level
2020-01-21 10:46:56 -06:00
Maryia Lapata 9e07a427c7
[Vis] Move Timelion Vis to vis_type_timelion (#52069)
* Deangularize timelion vis

* Refactoring

* Fix path

* Update timelion_controller.ts

* Remove unused deps

* Create vis_type_timelion

* Create ChartComponent

* Render chart in react

* Reactify timelion editor

* Change translation ids

* Use hooks

* Add @types/pegjs into renovate.json5

* Add validation, add hover suggestions

* Style fixes

* Change plugin setup, use kibana context

* Update

* Fix ticks

* Fix plotselected listener

* Fix plothover handler

* Add TS for options

* Update TS

* Restructuring

* Change plugin start

* Remove vis from timelion plugin

* Rename class

* Mock services

* Fix other comments

* Remove duplicate files

* Convert test to jest

* Remove kibana_services from timelion

* Delete visualize_app.ts.~LOCAL

* Refactoring

* Fix TS

* Refactoring, TS

* Import eui variables

* Import styling constants

* Move react components to vis_type_timelion

* Fix TS

* Move ui imports to legacy_imports.ts

* Move chain.peg to vis_type_timelion

* Fix path

* Use KibanaContext instead kibana_services.ts

* Refactoring

* Refactoring

* Add @types/flot

* Fix issue with hovered series color

* Update renovate.json5

* Pass timelionPanels as dependencies

* Move common folder to vis_type_timelion

* Move back tick_formatters.ts

* Rename styles file

* Refactoring

* Update _index.scss

* Move to_milliseconds to common

* Revert yaxes formatting

* Refactoring

* Refactoring

* Use Panel directly

* Refactoring of to_milliseconds.ts

Co-authored-by: Daniil Suleiman <31325372+sulemanof@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-17 15:30:26 +03:00
Chandler Prall 94209a8a39
Upgraded EUI to 18.2.1 (#55090) 2020-01-16 15:03:40 -07:00
Vadim Dalecky 22369c9992
📕 Storybook for everyone (take 2) (#43529)
* chore: 🤖 add Infra sample Storybook story

* chore: 🤖 add @kbn/storybook package

* chore: 🤖 add sample SIEM stories

* chore: 🤖 add Canvas new Storybook config

* fix: 🐛 fix TypeScript errors

* chore: 🤖 add @kbn/babel-preset to package.json

* chore: 🤖 move dependencies to devDependencies

* chore: 🤖 make Storybook dependencies non-dev

* chore: 🤖 upgrade Storybook dependencies

* chore: 🤖 add packages to webpack

* fix: 🐛 fix TypeScript type check

* chore: 🤖 disable ESLint warnings

* chore: 🤖 remove Storybook info plugin

* chore: 🤖 upate yarn.lock

* chore: 🤖 add Storbook to Embeddables

* feat: 🎸 add --clean flag to Storybook CLI

* coalesce yarn.lock versions

* update kbn/pm dist

* This reverts commit 97d8ff9f53 and 49b07cd007.

* chore: 🤖 use fs instead of mkdirp

* chore: 🤖 use debug for message logging

* chore: 🤖 update yarn.lock

* feat: 🎸 add link to kbn-storybook package

* docs: ✏️ add Storybook readme

* chore: 🤖 remove packages that failed DLL build

* style: 💄 add ESLint comma

* chore: 🤖 apply changes from #52209

* fix: 🐛 make Canvas Storybook build again

* chore: 🤖 move Canvas stories to global Storybook

* chore: 🤖 move more Canvas components to global Storybook

* chore: 🤖 move more Canvas stories to global Storybook

* chore: 🤖 move <ItemGrid> and <KeyboardShortcutsDoc> to NP SB

* chore: 🤖 move shape picker Canvas stories to global Storybook

* chore: 🤖 move Canvas sidebar stories to global Storybook

* fix: 🐛 split imports to not import path.resolve in Storybook

* chore: 🤖 move tag and PDF panel Canvas stories to global SB

* chore: 🤖 move Canvas share website flyout stories to global SB

* fix: 🐛 clean up <ShareWebsiteFlyout> imports

* chore: 🤖 add back Canvas withInfo decorator

* chore: 🤖 look for Canvas stories everywhere in /canvas folder

* test: 💍 mock correct files in Storyshots

* test: 💍 update Canvas Storyshot snapshots

* chore: 🤖 move more Canvas components to global Storybook

* chore: 🤖 move more Canvas components to global Storybook

* test: 💍 update Canvas Storyshots

* chore: 🤖 rebuild @kbn/pm

* chore: 🤖 refresh @kbn/pm dist/index.js artifact

* chore: 🤖 update yarn.lock

* chore: 🤖 update @kbn/pm artifact

* feat: 🎸 address review comments

* fix: 🐛 remove circular import

* chore: 🤖 update yarn.lock

* test: 💍 disable a test suite

* test: 💍 update Canvas storyshots

* chore: 🤖 remvoe build step from @kbn/storybook

* chore: 🤖 enable disabled functional test suite

Co-authored-by: Spencer <email@spalger.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-15 12:30:59 -08:00
Greg Thompson bd9d67ccc0
Upgrade EUI to v18.2.0 (#54786)
* 18.2.0

* ts update

* Updated `euiColorVis0`

* Update `euiColorVis1`

* Updating `euiColorVis2`

* Updated `euiColorVis3`

* Updated the rest

* Updated hard-coded viz palette hexes to latest

* src snapshot updates

* x-pack test updates

* mock jest fn

* Updated two vegalite visualization screenshots

Co-authored-by: Caroline Horn <549577+cchaos@users.noreply.github.com>
Co-authored-by: Chandler Prall <chandler.prall@gmail.com>
2020-01-14 20:19:35 -06:00
Nick Peihl 6c9e4ec762
[Maps] Use v7.6 Elastic Maps Service API (#54399)
* Use v7.6 Elastic Maps Service API
2020-01-14 15:10:26 -08:00
Spencer 4456d4d4b8
[kbn/ui-shared-deps] include polyfills, required by some deps (#54667)
* [kbn/ui-shared-deps] include polyfills, required by some deps

* remove unnecessary dep

* replace abort-controller for server side use

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-14 11:35:35 -07:00
Chandler Prall 6bed80bbd8
Upgraded EUI to 18.0.0 (#54042)
* Upgraded EUI to 18.0.0

* Fix breaks from `palette._.colors` changes

* snapshots

* Updated hard coded hex color codes in tests, fixed TS errors

* Updated a functional test's selector; added (BSD-3-Clause AND Apache-2.0) to license checker whitelist

* Functional test selector update

* Updated vega browser-ci tests for palette changes

* rebased on master

* One more location for EUI package number update and yarn lock

* Fixed lurking [but introduced] TypeScript logic bug

* Swap a prop definition for the same value but tied closer to its source

Co-authored-by: Caroline Horn <549577+cchaos@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-14 11:23:43 -07:00
Tiago Costa fdf51a5f8b
Splits dll in chunks (#54600)
* feat(NA): implement dll split feature

* chore(NA): improve logic to split dlls

* feat(NA): support multiple manifests in the clean dll task

* fix(NA): patch clean dll task to support multiple manifest files

* feat(NA): shuffle seed before split dll in chunks

* chore(NA): correctly load chunks into the templates

* chore(NA): correctly load chunks on karma tests

* docs(NA): add explanation why we need a single runtime for dll chunks

* teste(NA): fix jest tests
2020-01-14 18:06:53 +00:00
patrykkopycinski 14be0ee8f4
Bump to stable styled-components@5 (#54698) 2020-01-14 18:53:20 +01:00
Anton Dosov a899df3f3d
[State Management] State containers improvements (#54436)
Some maintenance and minor fixes to state containers based on experience while working with them in #53582

Patch unit tests to use current "terminology" (e.g. "transition" vs "mutation")
Fix docs where "store" was used instead of "state container"
Allow to create state container without transition.
Fix freeze function to deeply freeze objects.
Restrict State to BaseState with extends object.
in set() function, make sure the flow goes through dispatch to make sure middleware see this update
Improve type inference for useTransition()
Improve type inference for createStateContainer().

Other issues noticed, but didn't fix in reasonable time:
Can't use addMiddleware without explicit type casting #54438
Transitions and Selectors allow any state, not bind to container's state #54439
2020-01-13 13:57:26 +03:00
Spencer 357be5970d
share specific instances of some ui packages (#54079)
* share specific instances of some ui packages

* remove unnecessary eslint changes, every package will define deps anyway

* remove mentions of moment webpackShims in eslint resolver

* remove use of lodash

* list angular as dep for x-pack

* add operations as codeowner of shared-deps pkg
2020-01-10 15:22:18 -07:00
Josh Dover 9decc43c5a
Add support for workspaces in NP x-pack plugins (#53825) 2020-01-10 11:31:36 -06:00
Anton Dosov a7a557babe
[State Management] State syncing utilities (#53582)
Today, apps rely on AppState and GlobalState in the ui/state_management module to deal with internal (app) and shared (global) state. These classes give apps an ability to read/write state, when is then synced to the URL as well as sessionStorage. They also react to changes in the URL and automatically update state & emit events when changes occur.

This PR introduces new state synching utilities, which together with state containers src/plugins/kibana_utils/public/state_containers will be a replacement for AppState and GlobalState in New Platform.
2020-01-10 17:14:33 +03:00
Nick Partridge 73c3e53183
[TSVB] Add domain fit option to 0 opacity tsvb line charts (#54314)
- Line charts is TSVB will no again fit to the data and provide a padding when away from the zero baseline
2020-01-09 14:28:57 -06:00
Joe Portner 719ff259fc
Add support for certificates in PKCS#12 (P12) key stores (#53810)
Kibana now supports the usage of PKCS#12 (P12) key stores and trust stores for certificates and keys.
2020-01-09 13:03:16 -05:00
Daniil Suleiman ecddfd8842
[Vis: Default editor] Reactify the timelion editor (#52990)
* Reactify timelion editor

* Change translation ids

* Add @types/pegjs into renovate.json5

* Add validation, add hover suggestions

* Style fixes

* Change plugin setup, use kibana context

* Change plugin start

* Mock services

* Fix other comments

* Build renovate config

* Fix some classnames and SASS file structure

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Caroline Horn <549577+cchaos@users.noreply.github.com>
2020-01-09 11:00:30 +03:00
renovate[bot] 49d6a45788 Update eslint related packages (#54107) 2020-01-07 19:08:36 +01:00
Shahzad 334dff37d4
[Uptime] Added date range filter into expanded list query (#52609)
* added filters into expanded list query

* update filters

* update query

* update snap

* update tests

* update filters

* update test

* remove side effect

* ignore typcehck

* update to remove location filter from query

* update filter groups

* remove code

* update test
2020-01-07 18:47:00 +01:00
Jean-Louis Leysens 6ce2818f88
[Console] Fix OSS build (#53885)
* Move fp-ts and immer to "." package.json

* Revert "Move fp-ts and immer to "." package.json"

This reverts commit b876df0d54.

* Second attempt, fp-ts and immer -> root

* fp-ts -> 2.3.1

* Revert x-pack/package.json

* Update fp-ts in x-pack/package.json

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-06 15:21:44 +01:00
Marco Vettorello 9d5603a298
Update dependency @elastic/charts to v16.0.2 (#52619) 2020-01-04 13:38:11 +01:00
Mikhail Shustov 9843a5b64c
Set consistent EOL symbol in core API docs (#53815)
* update api-extractor, api-documenter versions

* set EOL: lf. sync with editorconfig

* regen docs

* generate docs with --docs

* rebuild kbn/pm to fix CI fauilure

Co-authored-by: Spencer <email@spalger.com>
2020-01-04 11:14:39 +03:00
Anton Dosov dcb8cca63c
Clean up generic hooks, use react-use instead (#53822)
As we recently added react-use as a dependency, makes sense to clean up those generic hooks from Kibana repo.

Removed custom hooks from kibana_react and other places:
useObservable
useUnmount
useShallowCompareEffect

react-use should be used instead:
import useObservable from 'react-use/lib/useObservable'
2020-01-02 14:04:31 +03:00
Greg Thompson e7076927d7
Upgrade EUI to v17.3.1 (#53655)
* eui to 17.3.0

* eui to 17.3.1

* TS updates

* snapshot updates

* update data-test-subj

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2019-12-23 09:49:35 -06:00
Chandler Prall 068f3ffa2c
Upgrade to EUI@17.1.2 [table typescript types] (#52688)
* more types

* table types changes

* siem table conversions

* Updated rest of x-pack for EUI table typees

* updated x-pack changes against master

* Update to published eui 17.1.0

* kibana snapshots

* x-pack snapshots

* src snapshots

* autofixes

* autofixes, round 2
2019-12-18 11:15:14 -07:00
Tim Roes 27b6e1c479
Upgrade typescript-eslint to 2.12 (#53477) 2019-12-18 16:04:12 +01:00
Thomas Watson eadf8bf3d8
Update Node.js to version 10.18.0 (#52865) 2019-12-18 13:07:14 +01:00
Vignesh Shanmugam 254b18c20b
Instrument Kibana with APM RUM agent (#44281)
* Instrument Kibana with APM RUM agent

* make route-change transaction work with properl url

* extract page-load transaction url from app link

* check if app is hidden and set active:false

* make distributed tracing work and merge config

* remove config/apm.js and address review

* address review comments

* add apm.js to build tassks

* move apm from dev to src

* add @types/hoist-non-react-statics which is required by react rum

* apply changes correctly from master
2019-12-18 12:16:15 +01:00
spalger fb1670c54b Revert "Update dependency jimp to v0.9.3 (#53075)"
This reverts commit 19c0626aa5.

# Conflicts:
#	yarn.lock
2019-12-17 11:32:50 -07:00
spalger 64a7b51a41 Revert "Update dependency geckodriver to ^1.19.1 (#53073)"
This reverts commit f8c98f6e71.
2019-12-17 11:32:50 -07:00
spalger 98076311b9 Revert "Update dependency getos to ^3.1.1 (#53074)"
This reverts commit cf2e0ec6e7.
2019-12-17 11:32:50 -07:00
spalger 8e39ba342e Revert "Update dependency simple-git to v1.129.0 (#53077)"
This reverts commit 9a05c75add.
2019-12-17 11:32:50 -07:00
spalger ce3b4748d7 Revert "Update eslint related packages (#53078)"
This reverts commit 9e50a1089c.
2019-12-17 11:32:50 -07:00
spalger ccdd84a00d Revert "Update dependency execa to ^3.4.0 (#53072)"
This reverts commit ad6a07583b.
2019-12-17 11:32:49 -07:00
spalger a926e3419d Revert "Update babel related packages (#52754)"
This reverts commit 9a115f078f.
2019-12-17 11:32:49 -07:00
spalger 77479020e0 Revert "Update supertest related packages (#53081)"
This reverts commit 5eed8b4eb9.
2019-12-17 11:32:49 -07:00
spalger 8b7aaa4849 Revert "Update webpack related packages (#53082)"
This reverts commit 8b36eb46ea.
2019-12-17 11:32:49 -07:00
Daniil Suleiman 1321892b1c
Update hjson version to 3.2.1 (#53105) 2019-12-17 11:03:27 +03:00
renovate[bot] 8b36eb46ea Update webpack related packages (#53082)
* Update webpack related packages

* fix updated config flag

* update other changes css-loader config options
2019-12-16 12:14:20 -07:00
renovate[bot] 5eed8b4eb9 Update supertest related packages (#53081)
* Update supertest related packages

* supertest is now strict about numbers as strings
2019-12-16 12:10:26 -07:00
renovate[bot] ad6a07583b Update dependency execa to ^3.4.0 (#53072)
* Update dependency execa to ^3.4.0

* update kbn/pm dist

* update kbn/pm dist again
2019-12-16 10:20:54 -07:00
renovate[bot] 9e50a1089c Update eslint related packages (#53078) 2019-12-15 10:19:03 -07:00
renovate[bot] 9a05c75add Update dependency simple-git to v1.129.0 (#53077) 2019-12-15 10:18:42 -07:00
renovate[bot] 19a707386d Update dependency pug to ^2.0.4 (#53076) 2019-12-15 10:18:13 -07:00
renovate[bot] cf2e0ec6e7 Update dependency getos to ^3.1.1 (#53074) 2019-12-15 10:17:57 -07:00
renovate[bot] f8c98f6e71 Update dependency geckodriver to ^1.19.1 (#53073) 2019-12-15 10:15:51 -07:00
renovate[bot] 19c0626aa5 Update dependency jimp to v0.9.3 (#53075) 2019-12-15 10:13:54 -07:00
renovate[bot] 9a115f078f Update babel related packages (#52754)
* Update babel related packages

* update kbn/pm dist
2019-12-14 20:14:47 -07:00
Tiago Costa ee2bb82a12
fix(NA): kibana keystore options and arguments processing (#52774)
* fix(NA): kibana keystore options and arguments processing

* chore(NA): updated dependencies to match resolutions
2019-12-13 02:34:31 +00:00
Spencer c8b42f09de
require yarn 1.21.1 to avoid binary planting vuln (#52899) 2019-12-12 10:15:23 -07:00
patrykkopycinski 0c6516f1bc
Add babel-plugin-styled-components to webpack config (#52862) 2019-12-12 16:29:59 +01:00
Dmitry Lemeshko 7ae5e7170a
update chromedriver to 79 (#52784) 2019-12-12 01:34:09 +01:00
patrykkopycinski c6336c384b
Bump react-router (#52445) 2019-12-11 21:19:35 +01:00
Stacey Gammon 79fc07c0c3
Add top level examples folder and command to run, --run-examples. (#52027)
* Add top level examples folder and command to run, `--run-examples`.

* Add comment explaining reason --run-examples flag turns off base path.
2019-12-10 18:02:03 -05:00
Tiago Costa 6d5c8caadc
Adds support for log rotation (#49750)
* chore(NA): add log options to config yml

* chore(NA): remove unwanted option from config declaration

* chore(NA): add the bootstrap for the logging rotate feature

* feat(NA): base interface setup for log rotation feature

* docs(NA): add documentation for the new logging rotate options. chore(NA): added new schema validations

* chore(NA): base lifecycle methods and logic

* feat(NA): monitor logic for log rotate feature

* fix(NA): basic log rotation lifecycle

* chore(NA): fix typo on config file

* feat(NA): add rotate files feature to log rotator

* chore(NA): fix log rotate config

* chore(NA): some tests to try logging rotate lifecycle

* feat(NA): correct log rotation logic

* fix(NA): lifecycle for the log rotator

* test(NA): add a test case

* chore(NA): correctly add the new defaults to the config schema

* test(NA): change dir generation for test

* chore(NA): mock log rotate for logging service test

* test(NA): fix temp dir permission issue

* test(NA): try to fix test

* chore(NA): remove usage of mkdtemp

* refact(NA): feature logging rotation reimplementation in order to make it work across platforms

* fix(NA): bug on file size monitor handle

* fix(NA): remove wrong commented out code

* chore(NA): correctly identify if we should use polling

* chore(NA): fix some code comment

* refact(NA): minor implementation details

* chore(NA): change the order of logging mix

* test(NA): add some more test cases

* test(NA): add the majority of the test cases

* test(NA): add last test case

* test(NA): fallback conditions

* chore(NA): add logging rotate config keys to the docker image

* chore(NA): move logging.rotate.enable setting to enabled

* chore(NA): clarify documentation for logging rotate

* chore(NA): use regular instead of logWithMetadata

* chore(NA): move chokidar to a prod dep

* chore(NA): add log explaining why we had fallback to use polling

* test(NA): fix unit tests

* test(NA): fix unit tests

* chore(NA): correctly place this.running condition

* chore(NA): remove redundant call

* fix(NA): log filename containing numbers would produce invalid sorting

* chore(NA): remove existsSync function call from readRotatedFilesMetadata function

* chore(NA): Update docs/setup/settings.asciidoc

Co-Authored-By: Tyler Smalley <tylersmalley@me.com>

* chore(NA): Update docs/setup/settings.asciidoc

Co-Authored-By: Tyler Smalley <tylersmalley@me.com>

* chore(NA): Update docs/setup/settings.asciidoc

Co-Authored-By: Tyler Smalley <tylersmalley@me.com>

* chore(NA): Update docs/setup/settings.asciidoc

Co-Authored-By: Tyler Smalley <tylersmalley@me.com>

* chore(na): update src/legacy/server/logging/rotate/index.js

Co-Authored-By: Tyler Smalley <tylersmalley@me.com>

* chore(NA): remove unused config line from docker vars

* chore(NA): update documentation to include info about non exact limits

* chore(NA): remove redudant if clause

* fix(NA): correctly work with new keepFiles limit after start

* fix(NA): warning log for logging rotate

* chore(NA): replace logwithmetadate with log

* docs(NA): correct log to right terms

* docs(NA): add comment about usage of slice(-1)

* refact(NA): changing polling interval from seconds to milliseconds

* docs(NA): fix comments for shouldRotate method

* chore(NA): update src/legacy/server/logging/rotate/log_rotator.js

Co-Authored-By: Mikhail Shustov <restrry@gmail.com>

* chore(NA): update src/legacy/server/logging/rotate/log_rotator.js

Co-Authored-By: Mikhail Shustov <restrry@gmail.com>

* refact(NA): small change

* refact(NA): bound stop

* refact(NA): shouldUsePolling test function

* refact(NA): move named truncate function to delete

* refact(NA): typescript conversion

* chore(NA): type update for log rotation index file

* docs(NA): add experimental tag on docs

* chore(NA): add call protection of clearTimeout

* refact(NA): cleanup comments and wrong added logs plus inline config

* chore(NA): replace ts-ignore by non null assertion operator

* docs(NA): extend documentation for _renameRotatedFilesByOne call

* chore(NA): fix type problems for process.emit on nodejs
2019-12-10 01:32:20 +00:00
Tim Roes 419ea47cca
Upgrade typescript-eslint to 2.10.0 (#52528) 2019-12-09 19:49:15 +01:00
Greg Thompson ac0f44e6a5
Upgrade EUI to v17.0.0 (#52342)
* eui to 17.0.0

* Fix sass imports and mixin usages

* Fix kbn ui-framework

* snapshot updates

* switch text

* switch functional update

* test subject
2019-12-09 10:51:17 -06:00
Vadim Dalecky e80611483f
State containers (#52384)
* feat: 🎸 add state containers

* docs: ✏️ add state container demos

* docs: ✏️ refrech state container docs

* chore: 🤖 install default comparator

* chore: 🤖 remove old state container implementation

* feat: 🎸 add selectors

* chore: 🤖 move Ensure tyep to type utils

* fix: 🐛 fix useSelector() types and demo CLI command

* test: 💍 add tests for state container demos

* feat: 🎸 add ReacursiveReadonly to kbn-utility-types

* feat: 🎸 shallow freeze state when not in production

* test: 💍 fix Jest tests

* refactor: 💡 remove .state and use BehaviourSubject
2019-12-06 10:53:06 -08:00
Tiago Costa 20d30e5b27
chore(NA): add resolution to bump serialize-javascript (#52336) 2019-12-06 17:42:45 +00:00
Greg Thompson 58635a29dc
Upgrade EUI to v16.1.0 (#52088)
* eui 16.1.0

* snapshot udpates

* more snapshot updates

* enqueueStateChange mock, resulting snapshot updates
2019-12-05 14:59:21 -06:00
Poff Poffenberger 91df8c0733
Move new Code Editor component to kibana_react so it can be used through Kibana (#45914) 2019-12-04 12:53:42 -06:00
Thomas Watson 43b97d8a05
Clean up uses of deprecated API's in node core (#51431)
Ensure no deprecated Node.js core API's are used in Kibana. This is
achieved by throwing an error in either development mode or in CI if one
of the deprecated API's is called, and as such, new PR's should no
longer be able to be merged if they use deprecated API's.

Some of these API's (like the `Buffer` constructor`) is a security risk.
2019-12-04 16:17:19 +01:00
Thomas Watson 95e5edd9c4
Instrument Kibana with Elastic APM (#43548)
Instruments Kibana with Elastic APM by adding the Node.js agent to the
source code. The agent is not turned on by default but can be enabled by
setting the environment variable `ELASTIC_APM_ACTIVE=true` or by
creating an apm config file called `config/apm.dev.js` and setting
`active: true` inside of it.

This implementation is not meant to be used by end-users of Kibana as it
lacks integration with the regular Kibana config file. For now, this is
meant as a useful internal tool for Elastic employees when developing
Kibana.

By default, it's pre-configured with a `serverUrl` pointing to an APM
Server hosted on Elastic Cloud. The data is stored in an ES cluster
accessible only by Elastic employees. These defaults can easily be
overwritten using environment variables or via the custom config file.
2019-12-04 15:21:07 +01:00
Larry Gregory 7b2b6a01e0
Upgrade markdown-it to 10.0.0 (#51492)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2019-12-03 08:52:04 -05:00
Sébastien Loix 439708a6f9 [Dependencies]: upgrade react to latest v16.12.0 (#51145) 2019-11-28 10:56:47 +01:00
patrykkopycinski 517fcb98b8
[SIEM] Fix Timeline drag and drop behavior (#51558) 2019-11-27 09:35:08 +01:00
Alexey Antonov c415311221 Move @kbn/es-query into data plugin (#51014) 2019-11-26 13:28:04 -07:00
Tim Roes 84489619bb
Upgrade typescript-eslint to 2.9.0 (#51737)
* Upgrade typescript-eslint to 2.9.0

* Remove redundant APM eslint disable
2019-11-26 18:21:02 +01:00
Larry Gregory aef6dd4707
Upgrade handlebars to 4.5.3 (#51486)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2019-11-25 09:11:08 -05:00
patrykkopycinski f32c1e439e
[SIEM] Add hosts and network anomalies histogram (#50295) 2019-11-25 10:07:00 +01:00
Spencer 8b2835a986
disable babel/register cache in CI (#51300)
* disable babel/register cache in CI

* log stdio when logs don't match expectation

* upgrade babel/register so that cache files are not touched
2019-11-22 09:28:42 -07:00
renovate[bot] 8b5e03e259 Update dependency cypress to ^3.6.1 (#50119) 2019-11-21 11:11:46 +01:00
patrykkopycinski a10bae2dd6
Update styled-components to latest version (#49679) 2019-11-21 10:53:58 +01:00
Greg Thompson 7cbb072554
Upgrade EUI to 16.0.0 (#50779)
* eui to 16.0.0

* type defs

* card click

* snapshot updates

* time format test updates

* ts return

* integration fix

* async

* more time format fixes

* more time format fixes

* test updates

* add uisettings dateformat timepicker test

* after method to clear setting
2019-11-20 17:02:04 -06:00
dependabot[bot] 76c70a4ad1 Bump angular from 1.7.8 to 1.7.9 (#51174)
Bumps [angular](https://github.com/angular/angular.js) from 1.7.8 to 1.7.9.
- [Release notes](https://github.com/angular/angular.js/releases)
- [Changelog](https://github.com/angular/angular.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/angular/angular.js/compare/v1.7.8...v1.7.9)

Signed-off-by: dependabot[bot] <support@github.com>
2019-11-20 18:28:32 +00:00
Tim Roes 483cb9a7d3
Upgrade typescript-eslint to 2.8.0 (#50956)
* Upgrade typescript-eslint to 2.8.0

* merge eslint-utils versions
2019-11-19 10:11:02 +01:00
patrykkopycinski 18e587fbfe Fix @reach/router types (#50863)
Merging to fix master build

* Fix @reach/router types

* Update renovate.json5
2019-11-17 14:08:49 +02:00
Dmitry Lemeshko e064205471
update chromedriver to 78 (#50737) 2019-11-15 13:56:56 +01:00
Tim Roes 70d6220a41
Upgrade to TypeScript 3.7.2 (#47188)
* Update TS to 3.7.0-beta

* Upgrade to TypeScript 3.7.2

* Upgrade cypress to 3.5.0

* Upgrade apollo-link-http

* Update prettier

* Fix expression types

* Fix Lens test typings

* Fix ML breakage

* Fix APM breakage

* Fix sinon stub typing

* Fix beats management types

* Fix WMSOptions types

* Fix ui_filters in APM

* APM: Explicitly type Setup to prevent hitting TS limits

* Change file name to correct case

* Add styleguide rule for optional chaining

* Update typescript-eslint packages

* Revert changes in ui filters routes that are no longer needed
2019-11-15 10:33:29 +01:00
Greg Thompson 998b0e6fd6
Upgrade EUI to v14.9.0 (#49678)
* eui to 14.9.0

* euiswitch updtates

* misc snapshot

* x-pack functional fixes

* more euiswitch functional test fixes

* label-less switches for spaces management

* more euiswitch fixes

* telemetry form a11y

* snapshot update

* label updates

* more switch updates

* lint
2019-11-13 14:54:21 -06:00
Tim Roes fce52133d8
Upgrade Prettier 1.19 (#50487)
* Upgrade Prettier to 1.19

* Fix new prettier style
2019-11-13 17:00:02 +01:00
Joe Reuter 5c6eb9c6ce Revert chromedriver update (#50324)
* deprecate include_type_name

* include_type_name

* remove doc from mappings

* Updated timelion mapping

* Updated spaces and uptime mapping

* monitoring apm mapping

* Updated more mappings

* 2 more mappings

* Updated reporting mappings after syncing with @gammon

* Revert "update chromedriver dependency to v78 (#49737)"

This reverts commit 4a696b939a.
2019-11-12 15:30:55 -06:00
renovate[bot] 1930691e4d Update dependency @elastic/charts to v14 (#49947) 2019-11-12 04:32:50 -05:00
Spencer 0010447f0f
[a11y] add initial accessibility functional tests (#43584)
* [a11y] add initial accessibility functional tests

* add accessibility jobs

* fix config path

* remove percy setup from scripts

* disable color-contrast rule

* apply changes from @myasonik

* define aria-controls/owns props even when suggestions aren't visible

* [ftr/a11y] only throw error when there are errors

* adding tests for management page

* add a11y test for management page

* adding ignore rules' to a11y

* accessibility test for kibana home

* 7 passing tests, 0 failures

* jest snapshot update

* support a11y test in pipeline job

* update a11y test script for pipelines

* use oss compatible ci setup

* fix exclude syntax

* add default exclusion syntax
2019-11-07 10:07:40 -05:00