Commit graph

211 commits

Author SHA1 Message Date
Mikhail Shustov
d61ef267d5
force savedObject API consumers to define SO type explicitly (#58022)
* force savedObject consumers to define type explicitly

* address comments

* regen docs
2020-02-21 22:11:05 +01:00
Mikhail Shustov
a08070ec1a
Expose elasticsearch config schema (#57655)
* expose elasticsearch config schema

* update docs

* mark export as alpha since it can be deleted

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-02-21 09:32:23 +01:00
Josh Dover
5238493381
Expose serverBasePath on client-side (#58070) 2020-02-20 14:43:15 -07:00
Pierre Gayvallet
302c598e56
Preserve the original error name instead of returning raw AbortError (#57550)
* Preserve the original error name instead of returning raw AbortError

* use Error as the default error name
2020-02-14 08:58:20 +01:00
Pierre Gayvallet
26ad756596
add absolute option to getUrlForApp (#57193) 2020-02-13 10:49:12 +01:00
Ahmad Bamieh
06df2b0db6
[Telemetry] Migrate public to NP (#56285)
* NP telemetry plugin barebones

* fully migrate telemetry sender

* license plugin to use NP telemetry

* fully migrated public to NP

* finish components testing

* fix all tests

* self code review

* remove commented code

* bracket notication for private methods

* bracket notication for private methods

* update license management tests

* afharo code review fixes

* type safe private method access in tests

* fix typecheck

* more type check fixes

* i18n check

* fix welcome page tests

* i18n optedInNoticeBanner title

* fix advanced settings field settings

* field name

* fix home snapshots

* listen to app id change

* NP code review fixes

* NP code review fixes

* update telemetry configs with np deprecations

* pass telemetry from setup instead of npStart

* type check

* update core snapshots with new api exposed

* remove debugging logs

* update home contract

* update home contract

* fix test eslint import

* navigate back to dashboard before start of next case for reporting

* gitignore reporting failure_debug generated dir

* use gotoDashboardEditMode instead of switch

* = instead of :

* merge master

* escape unused forced types in Field

* rename mock to mocks for eslint

* Update src/plugins/telemetry/public/components/telemetry_management_section.tsx

Co-Authored-By: Alejandro Fernández Haro <afharo@gmail.com>

* fix save/clear type

Co-authored-by: Alejandro Fernández Haro <afharo@gmail.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-02-13 09:44:01 +02:00
Rudolf Meijering
ff608998cd
Saved Objects testing (#56965)
* Expose core/public savedObjectsServiceMock

* Test docs for Saved Objects unit and integration tests

* Review comments

* Update api types / docs
2020-02-07 16:03:58 +01:00
Pierre Gayvallet
ea7c78d10e
Restructure SavedObject types internal representation (#56378)
* adapt types and tests to prepare for new NP api

* rename and export public types

* update generated doc

* first implementation of registerMappings

* adapt es archiver to convert legacy mappings

* update generated doc

* fix more tests

* add unit tests

* add legacy-compat unit test

* add documentation and examples

* Introduce SavedObjectTypeRegistry and SavedObjectType types

* add and fix tests

* expose createSerializer API and fix usages

* remove registerMappings API, add internal registerType

* revert changes to migration guide

* adapt ES-archiver migrator creation

* export serializer-related types

* update generated doc

* add and use convertTypesToLegacySchema

* remove / move to internal some mapping types

* fix forEach closure context

* add missing docs

* fix core path

* some nits

* fix so_mixin tests

* fix integration tests

* fix integration tests for real

* add documentation on serializer + restructure files and types

* nit

* add and use the ISavedObjectTypeRegistry interface

* Add documentation, deprecates migrationLogger#warning

* better typing for SavedObjectsRawDoc._source

* nits

* update generated doc

* remove exposition of SavedObjectsTypeMappingDefinitions, update doc

* creates so internal contracts mocks

* improve documentation
2020-02-06 10:30:55 +01:00
Pierre Gayvallet
4bb56c80b7
Add getServerInfo API to http setup contract (#56636)
* add getServerInfo http setup api

* update generated doc
2020-02-04 08:03:36 +01:00
Nick Partridge
186a82669f
Kibana property config migrations (#55937)
* Move defaultAppId config param into kibanaLegacy
* Move disableWelcomeScreen config param into Home plugin
* Update api and docs with silent option for renameFromRoot
2020-02-03 22:17:27 -06: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
Joe Reuter
8c2980213e
Add flag to opt out from sub url tracking (#55672)
* introduce flag for disabling sub url tracking

* re-generate documentation and extend ui_app

* fix ui_nav_link test

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-28 16:51:07 +01:00
Mikhail Shustov
aa695ec637
Normalize EOL symbol in platform docs (#56021)
* use api-extractor generate command with api-documenter config

* update docs

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-27 18:42:45 +01:00
Mikhail Shustov
efd3e99064
Revert "Normalize EOL symbol for the platform docs (#55689)" (#56020)
This reverts commit 1ea175e2c6.
2020-01-27 16:29:27 +01:00
Mikhail Shustov
1ea175e2c6
Normalize EOL symbol for the platform docs (#55689)
* use api-extractor generate command with api-documenter config

* update docs
2020-01-27 14:39:56 +01:00
Mikhail Shustov
e00f2628af
[NP] Platform exposes API to get authenticated user data (#55327)
* expose auth.get/isAuthenticated. move getAuthHeaders to internal type

* update mocks

* update docs

* update docs

* add integration test for auth
2020-01-27 13:57:06 +01:00
Josh Dover
1bb59af44a
Add isSystemRequest support to Kibana Platform (#53734) 2020-01-24 15:20:09 -07:00
spalger
e67cc8514a Revert "[csp] allow blob styles when running from source (#54991)"
This reverts commit 375f0b42a7.
2020-01-23 23:32:10 -07:00
Matthew Kime
0c25cb53b2
Advanced Settings management => typescript (#54477)
* advanced settings => typescript
2020-01-23 09:21:46 -06:00
Pierre Gayvallet
a75436d93e
Run SO migration after plugins setup phase. (#55012)
* change setClientFactory api to setClientFactoryProvider

* cleanup and add test for service

* change the signatures of SO start/setup

* fix registerCoreContext by accessing stored start contract reference

* move migration inside `start`

* adapt and add service tests

* add doc and export new types

* adapt plugins code

* update generated doc

* better core access

* address some review comments

* remove parametrized type from SavedObjectsClientFactory, use KibanaRequest instead

* add logs when starting and ending so migration

* fix KibanaRequest imports

* NITs and review comments

* fix alerting FTR test

* review comments
2020-01-23 10:41:21 +01:00
Spencer
375f0b42a7
[csp] allow blob styles when running from source (#54991)
* [csp] allow blob styles when running from source

* update kbn/pm dist

* add kibanaServer service to saml_api_integration suite

* use common naming

* attempt to use env.packageInfo instead of IS_KIBANA_DISTRIBUTABLE const

* remove mock, clone rules before modifying

* pass env where necessary

* update core api docs

* make env optional in HttpConfig

* add tests for CspConfig changes, base header on this.rules

* fix test snapshot

* make env optional in HttpConfig too

* remove CspConfig.DEFAULT and make env a required constructor arg

* update csp_usage_collector tests

* update core api docs

* fix test name

* rename headerChangedFromDefault back to rulesChangedFromDefault

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-22 11:32:09 -07:00
Mikhail Shustov
3e69ea5f01
[NP] KibanaRequest provides request abortion event (#55061)
* add aborted$ observable to KibanaRequest

* complete observable on request end

* update docs

* update test suit names

* always finish subscription

* address comments
2020-01-22 13:34:35 +01:00
Michail Yasonik
da54657b91
Grouped Kibana nav (#53545)
Adds concept of `category` to nav links, grouping them by this in the side nav
2020-01-21 12:48:07 -05:00
Mikhail Shustov
4971a2c772
Expose fatalErrors API from the Start contract (#55300)
* Expose FatalErrors from the Start contract.

This API is intended to be used for runtime as well.

* update docs

* update data plugin snapshot to fix tests

* address comments

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-21 12:58:40 +01:00
Pierre Gayvallet
2d10350d77
Implements getStartServices on server-side (#55156)
* implements server-side getStartServices

* add unit test

* add integration test

* update generated doc

* improve test
2020-01-20 11:19:40 +01:00
Mikhail Shustov
ec31611911
Enforce camelCase format for a plugin id (#53759)
* add isCamelCase  function

* add a warning if id is not in camelCase

* document pluginId expected in camelCase

* regen docs

* add a test for logging

* update tests. warn can be called several times for different reasons

* pluginPath falls back to plugin id in snake_case

* update tests

* update docs

* add example with id & configPath different formats

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-18 14:17:36 +01:00
Pierre Gayvallet
856c85b400
Deprecate chrome.navlinks.update and add documentation (#54893)
* add migration example on application status updater

* update example with proper licensing plugin usage

* fix line width
2020-01-17 13:27:09 +01:00
Eli Perelman
7977f0edd4
Generate legacy vars when rendering all applications (#54768)
* Generate legacy vars when rendering all applications

* Move rendering functional tests and add user settings tests

* Make rendering integration tests more robust, get data from page

* Address review nits, fix CI failures

* Remove extraneous file

* Fix type error
2020-01-16 11:35:21 -06:00
Liza Katz
12ec08e8ab
export new ui settings types and regen docs (#55020)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-16 19:02:23 +02:00
Andrew Goldstein
56ff721867
[SIEM] New Overview Page (#54783)
## [SIEM] Overview Page "1.5"

A redesigned SIEM Overview page that includes `Recent timelines`, a `Security news` feed, visualizations, and rolled-up event counts

![overview-day](https://user-images.githubusercontent.com/4459398/72396016-90f53600-36f8-11ea-9b41-6d54d09de589.png)

![overview-night](https://user-images.githubusercontent.com/4459398/72394575-fb57a780-36f3-11ea-868e-8fcd2c5c4543.png)

### Overview enhancements
- Added the global Search bar and Date picker to the Overview page
- New `Recent timelines` widget affords quick access to favorite and recently modified timelines
- New `Security news` widget
- New Kibana advanced settings (toggle switch) for enabling or disabling the news widget and configuring the news URL
![news-settings](https://user-images.githubusercontent.com/4459398/72362776-fd4c4700-36b0-11ea-805b-3c7353f2c1cd.png)
- New `Events count by dataset` widget
- Updated the `Host Events` and `Network Events` widgets to integrate with the Search bar and date picker input
- Enhanced the `Host Events` and `Network Events` widgets to use an accordion paradigm that summarizes stats by source (e.g. `Auditbeat`, `Endgame`)
- Enhanced the `Host Events` and `Network Events` widgets to visualize relative percentages of events collected as progress bars
- New `Alerts count by category` widget
- New `Signals count by MITRE ATT&CK™ category` widget
- New `View events`, `View alerts`, and `View signals` navigation buttons for their respective visualizations


### FTUE enhancements
- FTUE "no data" view design refresh
![ftue](https://user-images.githubusercontent.com/4459398/72361771-43a0a680-36af-11ea-969f-5872ac4a01a1.png)
- When the FTUE "no data" page is displayed, hide all global navigation links (i.e. `Hosts`, `Network`, `Detection engine`), such that only `Overview` appears in the global nav
- App Help popover design refresh
![help](https://user-images.githubusercontent.com/4459398/72362132-d80b0900-36af-11ea-9b58-1fd3b923b7c8.png)
- Removed the `Beta` badge and `Security Information & Event Management with the Elastic Stack` from the Overview header

- Tested in Chrome `79.0.3945.117`, Firefox `72.0.1`, and Safari `13.0.4`

## Known issues

- The `siem:newsFeedUrl` advanced setting is defaulted to `https://feeds.elastic.co/kibana`
- The `Signals count by MITRE ATT&CK™ category` visualization does not display all categories
- The `Signals count by MITRE ATT&CK™ category` visualization may require a different index pattern
- `EuiButtonGroup` throwing a `Can't perform a React state update on an unmounted component` warning when switching from the Overview tab

https://github.com/elastic/siem-team/issues/484
2020-01-14 21:03:57 -07:00
Liza Katz
aa16a9d455
Support "Deprecated" label in advanced settings (#54539)
* Support deprecating label in advanced settings
mark courier:batchSearches as deprecated

* jest update

* Add deprecation to UiSettingsParams type
Translate click aria label
Use docLinks service

* Rename doc link

* Remove url option from DeprecationSettings

* Simplify code

* Updated docs

* Revert "Updated docs"

This reverts commit c9512ced1f.

* snapshots

* docs
2020-01-13 23:54:41 +02:00
Matthew Kime
2178ee38c0
uiSettings - use validation field for image field maxSize (#54522)
* uiSettings - use validation field for image field maxSize
2020-01-13 13:58:59 -06:00
Pierre Gayvallet
aeebedfa4d
Add ApplicationService app status management (#50223)
* add unimplemented registerAppStatusUpdater & remove observers for apps and legacyApps

* adapt NavLinksService to use new application observables

* merge availableApps$ and availableLegacyApps$

* updating core docs

* adapt the navLink updating methods

* filters the inaccessible apps from availableApps$

* restrict access to navigateToApp depending on app status

* fixes due to merge

* add statusUpdater$ to AppBase

* export new types

* disable navlink depending on app status

* update generated doc

* update snapshots for disabled prop

* Address josh review

* Address review comments

* fix merge conflicts

* adapt changes due to merge

* update generated doc

* add comment and fix navlink url for custom url apps

* add AppNavLinkStatus type to split app/navlink states

* fix typo

* review comments and improvements

* add functional tests

* update generated docs and migration guide

* fix wrong type cast on AppsMenuProvider.readLinks

* properly type return of navigateToApp
2020-01-12 22:37:42 +01:00
Pierre Gayvallet
c0d6b932f1
Allow the mounted application to prompt a confirm message before leaving (#54221)
* add onAppLeave to AppMountParameters

* adapt legacy shims of app mount

* update generated doc

* returns properly typed AppLeaveAction from leave handler instead of raw strings

* add openConfirm to modal service and use it instead of window.confirm

* fix unit test

* update querystringinput snapshots

* add integration tests

* nits and review comments

* add functional tests
2020-01-10 12:17:21 +01:00
Mikhail Shustov
bbf703a0ff
tighten SO repository type (#54328)
* tighten SO repository type

* update docs

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-10 10:46:37 +03: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
Mikhail Shustov
56041f03ad
Don't expose Elasticsearch client as Observable (#53824)
* expose ES clients without observables

* expose observable-less api to plugins

* update core api and mocks

* update plugins

* NP SO & legacy use updated API

* update SO tests

* update TSDocs

* update types

* update docs

* document createCluster analog in np

* typo
2020-01-08 12:01:47 +03: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
Eli Perelman
fdd87e024f
Allow chromeless applications to render via non-/app routes (#51527)
* Allow chromeless applications to render via non-/app routes

* Address review nits

* Fix chrome:application integration tests

* Move extraneous application integration tests to unit tests
2019-12-29 15:10:14 -06:00
Eli Perelman
054ec7036d
Add server rendering service to enable standalone route rendering (#52161)
* Add server rendering service to enable standalone route rendering

* Update renovate config

* Move legacy rendering functionality to legacy service

* Use config for exposed variable in new platform

* Lint changes from rebase

* Rebase artifact

* Remove RenderingProvider, add tests for legacy vars implementation, review notes

* Add UI app functionality to legacy service

* Update rendering snapshots

* Update docs

* Fix up functional tests

* Clean up legacy types

* Revise types from reverting injected metadata changes

* Update translations and broken tests

* Mock legacy internals in legacy tests

* Add missing doc types

* Rename InternalRenderOptions to LegacyRenderOptions

* Remove extraneous legacy exports, review nits

* Functional tests fixes

* Rebase, attempt CI test fixes

* Only allow specified appIds in testbed rendering integration test

* Update snapshot names

* Review nits
2019-12-29 02:10:55 -06:00
Matthias Wilhelm
b921987f1a
Remove SavedObjectRegistryProvider from codebase (#53455) 2019-12-21 10:38:03 +01:00
Joe Reuter
97ed566245
Migrate kql telemetry and scripts api (#52651) 2019-12-20 19:05:28 +01:00
Alejandro Fernández Haro
3bdbcd0d1a
[NP] Allow custom validations in HTTP Routes apart from @kbn/config-schema (#51919)
* [NP] Allow custom validations in HTTP Routes apart from @kbn/config-schema

* API docs

* Allow validate function in the route handler (run-code validation)

* Prefix RouteXXX + Params and Body Validation Aliases

* Fix test broken by lodash

* Update API docs

* Add default types for simpler manual declaration

* Add run-time validation of the RouteValidateSpec

* Expose RouteValidationError instead of SchemaTypeError

* RouteValidator as a class to match config-schema interface

* Test for not-inline handler (need to check IRouter for #47047)

* Add preValidation of the input for a safer custom validation

* Better types for RouteHandlers

* [NP] Move route validation to RouteValidator wrapper

* Use the class only internally but maintain the same API

* Fix types

* Ensure RouteValidator instance in KibanaRequest.from

* Fix validator.tests (Buffer.from instead of new Buffer)

* Default precheck should allow null values

* Also allow undefined in preChecks

* MR feedback fixes

* Provide RouteValidationResolver to the validation function

* Add functional tests

* Fix new functional tests

* Fix validator additional test

* Fix test with new resolver

* Remove unused import

* Rename ValidationResolver to ValidationResultFactory and change the interface to look more like the KibanaResponseFactory

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2019-12-20 17:53:08 +00:00
Josh Dover
4980387c17
Refactor HttpService tests (#53033) 2019-12-19 11:38:14 -06:00
Pierre Gayvallet
3430628e26
expose asScopedToClient in uiSettingsService start contract (#53290)
* expose asScopedToClient in uisettings start contract

* add uiService mock in server tests

* Add tests for start method

* Updates generated doc

* properly export UiSettingsServiceStart from server

* remove useless async

* nit: rename
2019-12-19 15:44:42 +01:00
Alexey Antonov
93b626073f
Cleanup - Typescript some of src/legacy/server/index_patterns (#53461)
Part of #44190.
2019-12-19 17:41:08 +03:00
Mikhail Shustov
ecf8657d82
Document how to extend request handler context (#53271)
* mention uiSettingsClient in the context docs

* autogenerated docs for logger method

* describe what's available via request context handler. how to extend it

* make type optional
2019-12-19 10:12:45 +01:00
Pierre Gayvallet
2426811bca
Migrate instance uuid logic to new platform (#52060)
* move and migrate uuid code to new platform

* create and wire uuid service

* handle legacy compatibility

* update generated docs

* add `set` to LegacyConfig interface

* Fix types

* fix config access

* respect naming conventions for uuid

* remove hardcoded config paths

* rename manageInstanceUuid to resolveInstanceUuid

* moves legacy config uuid set from uuid to legacy service

* log specific message depending on how uuid was resolved

* resolve merge conflicts

* use fs.promises

* add forgotten @public in uuid contract

* add explicit errors and tests

* ensure uuid is valid in configuration

* fix read/write tests
2019-12-17 09:25:21 +01:00
Pierre Gayvallet
408139bf0b
Allow loggers to create child loggers via 'get' method (#52605)
* add 'Logger.get' method

* updates generated doc

* resolve merge conflicts
2019-12-16 10:41:14 +01:00
Eli Perelman
614bde927e
Move CSP options to new platform (#52698)
* Move CSP options to new platform

* Expose SharedGlobalConfig from root

* Derive CSP options from config

* Consolidate CSP configuration with HTTP config

* Fix outstanding config renames

* Remove legacy CSP configuration calls, migrate to platform properties

* Revise docs

* Fix test from type change

* Expose ICspConfig, consolidate and simplify CSP defaults access

* Rebase and update docs

* Remove legacy API from route definition params, review nits

* Clean up config path usages for consistency

* Regenerate docs
2019-12-13 15:57:17 -06:00