* refactor config deprecations to avoid config mutations
* remove dynamic access keys in core deprecations.
* refactor custom config deprecations to match the new signature
* improve config deprecations fixtures for nested keys
* add a test for xpack.banner config deprecations
* key --> path, add a test for invalid command
## Summary
Removes the dependency of security_solution from the lists plugin
* Removes some of the deprecated types in favor of the new kbn package
* Adds a workaround in the kbn packages of removing the ?? and `a?.b?.c` typescript since kbn packages cannot transpile it
* Exposes the test_utils from the kbn package
### Checklist
- [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios
* [ftr] validate that suites are not in multiple ciGroups
* remove unused import
* include filename in error message
* remove redundant ciGroup tags
* fix more duplicate ciGroups
Co-authored-by: spalger <spalger@users.noreply.github.com>
## Summary
Pulls constants from lists plugin into its own kbn package.
Phase 1: Lift and shift small shared constants into kbn package called `kbn-securitysolution-constants`
Phase 2: Deprecate existing code now in packages
Phase 3+: Strangle/remove existing code and use the code from the kbn package
## Summary
Good place for one off utils to use and reduce/remove the circular deps we have between security_solutions, lists, and anywhere else we have them for different utils.
Phase 1: Adds kbn package of `kbn-securitysolution-utils` through lift and shift
Phase 2: Deprecated the functions
Phase 3: Removes the functions in favor of using the `kbn-securitysolution-utils`
Phase 4+: Adds more and removes dependencies/copies across plugins within the security solution. Maybe we break things out by domain later as this grows in size.
- [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios
## Summary
We are removing duplicated code in sections of plugins into the kibana/packages folder. This is phase 1 of 4+ where:
Phase 1: Lift and shift the io-ts code into `kibana/packages/kbn-securitysolution-io-ts-utils`
Phase 2: Deprecate the utils across plugins any copied code
Phase 3: Replace the deprecated types with the ones in here where we can. [Strangle pattern](https://martinfowler.com/bliki/StranglerFigApplication.html)
Phase 4+: (potentially) consolidating any duplication or everything altogether with the `kbn-io-ts-utils` project
### Checklist
- [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios
* chore(NA): moving @kbn/analytics into bazel
* chore(NA): fix type check for package migration
* chore(NA): fix type check for package migration
* chore(NA): fix type check for package migration
* chore(NA): separate type generating from server code
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Before:
```
info => Loading static files from /Users/smith/Code/kibana/node_modules/@kbn/ui-shared-deps/target and serving at /.
info => Loading presets
info => Loading presets
info => Loading 8 other files in "x-pack/plugins/apm/.storybook"
info => Adding stories defined in "x-pack/plugins/apm/.storybook/main.js"
info => Using default Webpack setup
... like 300MB of output ...
webpack built 0f7b67ae2a8a0401f5af in 105247ms
```
After:
```
info => Loading static files from /Users/smith/Code/kibana/node_modules/@kbn/ui-shared-deps/target and serving at /.
info => Loading presets
info => Loading presets
info => Loading 8 other files in "x-pack/plugins/apm/.storybook"
info => Adding stories defined in "x-pack/plugins/apm/.storybook/main.js"
info => Using default Webpack setup
... yeah it just sits there for a bit, but were you reading this and did you believe the percentages you were being told? ...
webpack built 0f7b67ae2a8a0401f5af in 105247ms
```
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
## Summary
Phase 1 of a multi-phase cautious approach for adding an experimental application cache for Kibana solutions called `metric_entities` and integrates it within Security Solutions.
Phase 1 is putting experimental support into the application without breaking existing features. Lots of TODO's, conversations and a possible RFC from phase 1 to phase 2 approach. Some features are missing, but for phase 1 the general idea and code is all there.
To enable this first phase after checking out the branch add this to your `kibana.dev.yml`
```yml
xpack.metricsEntities.enabled: true
xpack.securitySolution.enableExperimental: ['metricsEntitiesEnabled']
```
Then go into Stack Management -> Advanced Settings (Under Security Solutions) and set the enabled to true like so:
<img width="1229" alt="Screen Shot 2021-04-08 at 2 21 02 PM" src="https://user-images.githubusercontent.com/1151048/114091276-b3cbb700-9875-11eb-9083-5c1d91dd20ed.png">
Next go to the security_solutions page and you will see it being activated and you will have these transforms running if you look under stack management:
<img width="1710" alt="Screen Shot 2021-04-29 at 2 00 27 PM" src="https://user-images.githubusercontent.com/1151048/116611174-4a2e4e00-a8f3-11eb-9e15-55cb504dfb2a.png">
On the hosts page, network, page, etc... You can see them being activated when you have no query/filter and you click on request:
<img width="1405" alt="Screen Shot 2021-04-29 at 2 01 28 PM" src="https://user-images.githubusercontent.com/1151048/116611274-6a5e0d00-a8f3-11eb-9998-9f5b3d1c5c63.png">
You will see in the request the index patterns all starting with `estc_xyz*`
### Checklist
Delete any items that are not applicable to this PR.
- [x] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/master/packages/kbn-i18n/README.md)
We have lots of TODO's but no concrete docs with this just yet.
- [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials
Behind a feature flag and this isn't there yet.
- [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios
* convert functional_tests/lib into TS
* convert ES cluster factory into TS
* fix exports from kbn-test
* fix core test_helpers
* remove legacy ES client usage in ui_settings tests
* remove unnecessary ts-expect-errors comments
* initialize DEFAULT_SETTINGS_WITH_CORE_PLUGINS lazily to prevent failure when imported outside of FTR context
* throw an exception on invalid process.env.TEST_ES_PORT
* do not restart Kibana server on integration tests writing logs
* unskip tests
* do not write to ended stream to avoid a race condition
* revert changes to the File appender
* fix race condition on the logging_system level
enforce buffer usage for all the logs created during disposal phase
* [ML] Moving file data vizualizer to file upload plugin
* removing maps plug dependency
* fixing imports
* small refactor
* adding missing endpoints
* fixing translations
* fxing table controls
* fixing types and disabling geo point test
* actually disabling geo point test
* making endpoints internal
* moving UI code to separate plugin
* enabling maps integration
* cleaning up dependencies
* fixing translation ids
* moving analyze file endpoint out of file upload plugin
* fixing transtations issues
* refactor for lazy loading of component
* updating limits
* updating plugin asciidoc
* code clean up
* further clean up
* adding comment
* fixing really obvious CI error
* removing commented out include
* reenabling geo point test
* fixing incorrectly changed import
* removing ml from labels and identifiers
* renaming function
* moving analyse file endpoint to file upload plugin
* reverting import path changes
* adding esUiShared back in
* fixing navigation tabs alignment in basic license
* adding key to tab wrapper
* reverting test label
* further removal of ml references
* removing ml label from more identifiers
* fixing tests
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* chore(NA): upgrade into last ibazel version
* chore(NA): upgrade into latest ibazel version
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Set up Observability rule APIs
* Populate alerts table with data from API
* Move field map types/utils to common
* Format reason/link in alert type
* Format reason/link in alert type
* Fix issues with tsconfigs
* Storybook cleanup for example alerts
* Use `MemoryRouter` in the stories and `useHistory` in the component to get the history
* Replace examples with ones from "real" data
* Use `() => {}` instead of `jest.fn()` in mock registry data
* Store/display evaluations, add active/recovered badge
* Some more story fixes
* Decode rule data with type from owning registry
* Use transaction type/environment in link to app
* Fix type issues
* Fix API tests
* Undo changes in task_runner.ts
* Remove Mutable<> wrappers for field map
* Remove logger.debug calls in alerting es client
* Add API test for recovery of alerts
* Revert changes to src/core/server/http/router
* Use type imports where possible
* Update limits
* Set limit to 100kb
Co-authored-by: Nathan L Smith <smith@nlsmith.com>
* Track stats and add extra output information
* Update api docs output
* Clean up id names
* update api docs
* Consolidate error messages and fix a bug
* Update docs
* Update get_declaration_nodes_for_plugin.ts
* Fix bug with removeBrokenLinks not being recursive
* Update docs
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* chore(NA): moving @kbn/config-schema into bazel
* chore(NA): correctly format packages for the new bazel standards
* chore(NA): correctly maps srcs into source_files
* chore(NA): remove config-schema dep from legacy built packages package.jsons
* chore(NA): include kbn/config-schema in the list of bazel packages to be built
* chore(NA): change import to fix typechecking
* chore(NA): remove dependency on new package built by bazel
* chore(NA): be more explicit about incremental setting
* chore(NA): include pretty in the args for ts_project rule
* docs(NA): include package migration completion in the developer getting started
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* chore(NA): moving @kbn/apm-utils into bazel
* chore(NA): add kbn/apm-utils into package.json
* chore(NA): missing standard on build file globs
* chore(NA): be more explicit about incremental setting
* chore(NA): include pretty in the args for ts_project rule
* docs(NA): include package migration completion in the developer getting started
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* chore(NA): add warnings both to run and watch commands about Bazel built packages
* chore(NA): add new commands to build and watch bazel packages
* docs(NA): add documentation about how to deal with bazel packages
* chore(NA): addressed majority of the feedback received except for improved error logging
* chore(NA): disable ibazel info notification.
* chore(NA): remove iBazel notification
* chore(NA): remove iBazel notification - kbn pm dist
* chore(NA): move show_results option to kbn-pm only
* chore(NA): patch build bazel command to include packages target list
* chore(NA): add pretty logging for elastic-datemath
* chore(NA): remove double error output from commands ran with Bazel
* fix(NA): include simple error message to preserve subprocess failure state
* docs(NA): missing docs about how to independentely watch non bazel packages
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
## Summary
Moves part of the exceptions UI out of the security solution plugin and into the lists plugin. In order to keep PRs (relatively) small, I am moving single components at a time. This should also then help more easily pinpoint the source of any issues that come up along the way.
The next couple PRs will focus on the exception builder. This one in particular is focused on moving over the `ExceptionBuilderComponent` which deals with rendering numerous exception items and their entries.
Quick Summary:
- `x-pack/plugins/security_solution/public/common/components/exceptions/builder/` → ` x-pack/plugins/lists/public/exceptions/components/builder/`
- Corresponding unit test file moved as well
- Updated security solution exception builder to pull `ExceptionBuilderComponent` from lists plugin
* starting removing stuff
* fix jest config
* disable CLI mode until other PR is merged
* fix the schema
* add deprecation for maxPayloadBytes
* fix legacy start logic
* deletes `env` from unknown args
* fix FTR test config
* some legacy service deletion
* move config validation
* remove legacy exports from entrypoint
* preserve legacy logging in core logging config
* try to fix uiSettings integration tests
* fix legacy service tests
* more type fix
* use fromRoot from @kbn/utils
* cleanup kibana.d.ts
* fix unit tests
* remove src/core/server/utils
* fix server script
* add integration test for `/{path*}` route
* add unit tests on legacy config
* adapt uiSetting IT bis
* fix tests
* update generated doc
* address some review comments
* move review comments
* fix some stuff
* fix some stuff
* fix some stuff
* fix some stuff bis
* generated doc
* add test for ensureValidConfiguration
* add base config for all the TS projects
* all the project use new tsconfig.project.json
* compile test files in the high-level tsconfig.json
* fix TS error in maps plugin
* fix TS error in infra plugin
* exclude mote test and test until folders
* uptime. do not import test code within prod code
* expressions. do not import test code within prod code
* data: export mocks from high level folder
* task_manager: comply with es client typings
* infra: remove unused enzyme_helpers
* check_ts_project requires "include" key
* ts_check should handle parent configs
* all ts configs should extend base one
* exclude test folders from plugins
* update patterns to fix ts_check errors
* Apply suggestions from code review
Co-authored-by: Constance <constancecchen@users.noreply.github.com>
* uptime: MountWithReduxProvider to test helpers
Co-authored-by: Constance <constancecchen@users.noreply.github.com>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* chore(NA): move elastic-datemath into a ts package
* chore(NA): finish elastic-datemath
* chore(NA): finish elastic-datemath
* chore(NA): source folder for elastic-datemath
* chore(NA): add source-maps ace, analytics, apm-config-loader and apm-utils packages
* chore(NA): add sourcemaps to packages on typescript
* chore(NA): move test fixtures within source
* chore(NA): correct exclusions on packages
* chore(NA): correct package.json on all packages
* chore(NA): correct package.json on all packages
* chore(NA): complete kbn pm
* chore(NA): default export on elastic-datemath
* chore(NA): include logs on kbn-logging
* chore(NA): update bundle ref module to last code used in the webpack upstream
* chore(NA): update bundle ref module to last code used in the webpack upstream - refactored
* chore(NA): remove override method for exportsArgument
* fix(NA): typechecking problems by use @internal at javascript import sources on kbn-test package
* fix(NA): typescript projects check
* fix(NA): run optimizer integration tests from source
* chore(NA): fix usage from target for kbn optimizer
* chore(NA): path on tsconfig
* chore(NA): move tsignore into ts-expect-error
* chore(NA): include souce maps on kbn cli dev
* chore(NA): include souce maps on kbn-crypto, kbn-server-http-tools and kbn-telemetry-tools
* chore(NA): add issue links into the ts-expect-error comments
* Use client from branch
* Get type checking working in core
* Fix types in other plugins
* Update client types + remove type errors from core
* migrate Task Manager Elasticsearch typing from legacy library to client library
* use SortOrder instead o string in alerts
* Update client types + fix core type issues
* fix maps ts errors
* Update Lens types
* Convert Search Profiler body from a string to an object to conform to SearchRequest type.
* Fix SOT types
* Fix/mute Security/Spaces plugins type errors.
* Fix bootstrap types
* Fix painless_lab
* corrected es typing in Event Log
* Use new types from client for inferred search responses
* Latest type defs
* Integrate latest type defs for APM/UX
* fix core errors
* fix telemetry errors
* fix canvas errors
* fix data_enhanced errors
* fix event_log errors
* mute lens errors
* fix or mute maps errors
* fix reporting errors
* fix security errors
* mute errors in task_manager
* fix errors in telemetry_collection_xpack
* fix errors in data plugins
* fix errors in alerts
* mute errors in index_management
* fix task_manager errors
* mute or fix lens errors
* fix upgrade_assistant errors
* fix or mute errors in index_lifecycle_management
* fix discover errors
* fix core tests
* ML changes
* fix core type errors
* mute error in kbn-es-archiver
* fix error in data plugin
* fix error in telemetry plugin
* fix error in discover
* fix discover errors
* fix errors in task_manager
* fix security errors
* fix wrong conflict resolution
* address errors with upstream code
* update deps to the last commit
* remove outdated comments
* fix core errors
* fix errors after update
* adding more expect errors to ML
* pull the lastest changes
* fix core errors
* fix errors in infra plugin
* fix errors in uptime plugin
* fix errors in ml
* fix errors in xpack telemetry
* fix or mute errors in transform
* fix errors in upgrade assistant
* fix or mute fleet errors
* start fixing apm errors
* fix errors in osquery
* fix telemetry tests
* core cleanup
* fix asMutableArray imports
* cleanup
* data_enhanced cleanup
* cleanup events_log
* cleaup
* fix error in kbn-es-archiver
* fix errors in kbn-es-archiver
* fix errors in kbn-es-archiver
* fix ES typings for Hit
* fix SO
* fix actions plugin
* fix fleet
* fix maps
* fix stack_alerts
* fix eslint problems
* fix event_log unit tests
* fix failures in data_enhanced tests
* fix test failure in kbn-es-archiver
* fix test failures in index_pattern_management
* fixing ML test
* remove outdated comment in kbn-es-archiver
* fix error type in ml
* fix eslint errors in osquery plugin
* fix runtime error in infra plugin
* revert changes to event_log cluser exist check
* fix eslint error in osquery
* fixing ML endpoint argument types
* fx types
* Update api-extractor docs
* attempt fix for ese test
* Fix lint error
* Fix types for ts refs
* Fix data_enhanced unit test
* fix lens types
* generate docs
* Fix a number of type issues in monitoring and ml
* fix triggers_actions_ui
* Fix ILM functional test
* Put search.d.ts typings back
* fix data plugin
* Update typings in typings/elasticsearch
* Update snapshots
* mute errors in task_manager
* mute fleet errors
* lens. remove unnecessary ts-expect-errors
* fix errors in stack_alerts
* mute errors in osquery
* fix errors in security_solution
* fix errors in lists
* fix errors in cases
* mute errors in search_examples
* use KibanaClient to enforce promise-based API
* fix errors in test/ folder
* update comment
* fix errors in x-pack/test folder
* fix errors in ml plugin
* fix optional fields in ml api_integartoon tests
* fix another casting problem in ml tests
* fix another ml test failure
* fix fleet problem after conflict resolution
* rollback changes in security_solution. trying to fix test
* Update type for discover rows
* uncomment runtime_mappings as its outdated
* address comments from Wylie
* remove eslint error due to any
* mute error due to incompatibility
* Apply suggestions from code review
Co-authored-by: John Schulz <github.com@jfsiii.org>
* fix type error in lens tests
* Update x-pack/plugins/upgrade_assistant/server/lib/reindexing/reindex_service.ts
Co-authored-by: Alison Goryachev <alisonmllr20@gmail.com>
* Update x-pack/plugins/upgrade_assistant/server/lib/reindexing/reindex_service.test.ts
Co-authored-by: Alison Goryachev <alisonmllr20@gmail.com>
* update deps
* fix errors in core types
* fix errors for the new elastic/elasticsearch version
* remove unused type
* remove unnecessary manual type cast and put optional chaining back
* ML: mute Datafeed is missing indices_options
* Apply suggestions from code review
Co-authored-by: Josh Dover <1813008+joshdover@users.noreply.github.com>
* use canary pacakge instead of git commit
Co-authored-by: Josh Dover <me@joshdover.com>
Co-authored-by: Josh Dover <1813008+joshdover@users.noreply.github.com>
Co-authored-by: Gidi Meir Morris <github@gidi.io>
Co-authored-by: Nathan Reese <reese.nathan@gmail.com>
Co-authored-by: Wylie Conlon <wylieconlon@gmail.com>
Co-authored-by: CJ Cenizal <cj@cenizal.com>
Co-authored-by: Aleh Zasypkin <aleh.zasypkin@gmail.com>
Co-authored-by: Dario Gieselaar <dario.gieselaar@elastic.co>
Co-authored-by: restrry <restrry@gmail.com>
Co-authored-by: James Gowdy <jgowdy@elastic.co>
Co-authored-by: John Schulz <github.com@jfsiii.org>
Co-authored-by: Alison Goryachev <alisonmllr20@gmail.com>
* fix(NA): support inspect flags on ensure_node_preserve_symlinks script
* chore(NA): fix wording on function test runner schema file
* chore(NA): update execargv array in case of --inspect port
* chore(NA): ensure scripts run with --preserve-symlinks
* chore(NA): run webpack configs with symlinks: false
* chore(NA): fix pkg json load on kbn test
* chore(NA): add script into setup node env
* chore(NA): fix kbn test for relative improt
* chore(NA): fix change on docs
* chore(NA): move ensure node preserve symlinks into setup node env
* chore(NA): update changed docs
* chore(NA): update jest unit test
* chore(NA): fix wrapper script exit code
* chore(NA): updated generated plugin list docs
* fix(NA): make functional test runner use kbn utils repo_root
* chore(NA): fix eslint imports
* chore(NA): missing react correct config on eslint package
* chore(NA): use correct value to make test pass locally
* chore(NA): fix jest tests
* chore(NA): try remove extra preserve symlinks
* chore(NA): fix windows environment
* chore(NA): fix kbn-optimizer to run with preserve-symlinks
* chore(NA): fix integration jest test for kbn/optimizer
* chore(NA): remove require.resolve from eslintrc.js
* chore(NA): avoid load json file
* chore(NA): move kbn/utils import into kbn/dev-utils
* chore(NA): use correct dependencies on eslint config package
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* EsArchiver: support for injecting kibana version and use it for speeding up spaces tests
* Use kbn/utils to get current kibana version in tests
* Review feedback: improve test by splitting variable over chunks
Creates a new plugins, maps_ems, with `map.*` configs and shared EMS-settings. `maps_legacy` now only supports the `region_map` and `coordinate_map` plugins.
* Fix links to github
* Fix links to github
* Update docs to latest
* Sort, remove unneccessary path info, reduce tags
* Go back to having DocDef create the link to avoid backport conflicts
* update api docs
* Rename alerts plugin to alerting
* Deprecate old config values
* Few more renames
* Update plugin list
* Rename xpack.alerts -> xpack.alerting
* Fix some ESLint rules
* Fix typecheck
* Fix some test failures
* Some more renames
* Fix ESLint
* Fix some test failures
* Fix failing jest test
* Undo exclusive test
* Fix APM deps
* Fix docs
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* compile core files as isolated modules
* fix export problems for isolated modules
* apply changes to kbn-test as core imports from it
* fix some exports
* fix lint errors
* update new exports
* fix eslint error
* expand export * where it is possible
* update docs
* update docs
* fix eslint error
* update api_docs from gitignore
* api doc files
* Update api_welcome.mdx
* Pretty print json
* Add new lines and extra frontmatter to warn github viewers
* update api_docs with new lines and frontmatter
* Remove all apis tagged @internal and add tests
* Update docs with all internal APIs removed
* fix typescript error in test fixtures
* Update core.json
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>