Commit graph

396 commits

Author SHA1 Message Date
Joe Portner
7830946f6a
Fix infinite redirect loop when multiple cookies are sent (#50452)
Cookies are now checked for attributes that match the current
Kibana configuration. Invalid cookies are cleared more reliably.
2019-11-27 09:26:21 -05:00
Alexey Antonov
c415311221 Move @kbn/es-query into data plugin (#51014) 2019-11-26 13:28:04 -07:00
Pierre Gayvallet
7fef618ea6
Add compatibility wrapper for Boom errors thrown from route handler (#51157)
* add wrapErrors method to router

* add RouteRegistrar type

* update generated doc

* add migration example

* rename wrapErrors to handleLegacyErrors
2019-11-26 10:21:49 +01:00
Josh Dover
fff493e54e
Build bundles for all new platform plugins (#51525) 2019-11-25 16:29:35 -06:00
Pierre Gayvallet
1bef133519
Expose whitelisted config values to client-side plugin (#50641)
* introduce PluginConfigDescriptor type

* inject client plugin configs in injectedMetadata

* expose client config in PluginInitializerContext

* add example implementation in testbed

* update generated doc

* only generates ui config entry for plugins exposing properties to client

* separate plugin configs from plugins

* restructure plugin services tests

* fix test/mocks due to plugin configs api changes

* add unit tests

* update migration guide

* update tsdoc

* fix typecheck

* use sync getter for config on client side instead of observable

* change type of exposeToBrowser prop

* updates generated doc

* fix doc and address nits
2019-11-21 12:37:23 +01:00
Caroline Horn
87e77e9638
[Chrome] More Help Menu extensions with semantic links (#50736)
* Update help menu util to allow common types of links

- Github, Docs, and custom

* Fix test?

* Updating API docs?

* Quick layout fix

* Kibana core apps updated (Visualize, Dashboard, Discover)

* Updated Canvas usage

* Updated Maps usage

* Added a `discuss` link type

* Updated Logs and Metrics usage

* Update APM usage

* Update Uptime usage

* Update SIEM usage

* Removing old Uptime file

* Update Lens usage

* Update API doc

* [Uptime] Remove test for file that no longer exists

* One more snap and i18n tokens

* PR feedback

- Wrap feedbackText in method
- Use `rel: noopener` on external links
- Rename HeaderHelpMenuUIExtraLink -> ChromeHelpExtensionMenuExtraLink and export

* [APM] Use ‘custom’ style link for Upgrade assistant

* API docs

* i18n

* Fix link

* Documented ChromeHelpExtension props

* Use heading levels

* Update names of props, document prop, and update API docs

* Remove `ae-missing-release-tag` warnings
2019-11-20 14:39:33 -05:00
Pierre Gayvallet
01bbbf4b03
Remove react references from core OverlayService apis (#48431)
* move/rename overlay mount and unmount types from banner to parent module

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* migrate openModal / modalService

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

fix I18nProvider import path

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* updates core doc

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

update doc bis

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* migrate openFlyout / flyout service

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* remove CoreStart export from kibana-react

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* adapt some calls to new signature

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* adapt new calls

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* adapt js call

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* add flex layout on mountWrapper component to avoid losing scroll on overlays

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* create proper flyout/modal services

* update generated doc

* update snapshot on data/query_bar

* use ReactNode instead of ReactElement

* rename mountForComponent to reactMount

* change reactMount usages to toMountPoint

* remove duplicate MountPoint type in overlays

* remove duplicate mount utilities from overlays

* allow to specify custom class name to MountWrapper

* Allow to specialize MountPoint on HTMLElement subtypes

* updates generated doc

* undeprecates openFlyout/openModal & remove direct subservice access from overlayService

* adapt toast api to get i18n context from service

* use MountPoint instead of inline definition
2019-11-19 10:08:16 +01:00
Mikhail Shustov
2166044671
remove outdated comment (#50895) 2019-11-18 14:41:15 +01:00
Pierre Gayvallet
e04adbe34b
Remove react references from core Notifications apis (#49573)
* add reactMount util to kibana_react

(kibana-react) properly export reactMount

* add MountPoint types and utility

* adapt toast API to no longer accept react elements

(toast API) properly export new Toast type

* adapt calls by using reactMount

createNotifications: do not wrap if text

* update generated doc

* add custom snapshot serializer for reactMount

* fix unit tests

fix xpack unit tests

* adapt non-ts calls

* do not add __reactMount__ property in production

* remove string check on createNotifications

* fix typo and small fix using obj spread

* improve react mount snapshot serializer

* simplify convertToEui

* rename reactMount to toMountPoint

* adapt newly added calls

* move mount types to proper file

* use new Mount types for OverlayBanner apis

* fixing typo

* adapt new calls

* use destructured imports
2019-11-14 08:40:14 +01:00
Eli Perelman
6955593d01
Allow registered applications to hide Kibana chrome (#49795)
* Allow registered applications to hide Kibana chrome

* Fix bug in flipped value of application chromeHidden

* Add additional test for app chrome hidden versus chrome visibility

* Rename chromeHidden to chromeless

* Default chrome service app hidden observable to same value as force hidden

* Consolidate force hiding in chrome, add functional tests

* Move chromeless flag to App interface to prevent legacy applications from specifying

* Address review nits to improve separation
2019-11-13 14:57:15 -06:00
Pierre Gayvallet
e6ea2bf16b
Remove internal platform types exports (#50427)
* remove exports of internal core types

* updates documentation

* rename internal types file
2019-11-13 09:30:38 +01:00
Mikhail Shustov
b6591eb0bd
Provide uiSettings service in NP (#48413)
* provide ui settins client via context

* update mocks

* update types and expose setDefaults to plugins

* move ui settings routes to NP

* add typings fro test kbn server

* move integration test & improve typings

* hide client private methods, update tests

* add unit tests for get_upgradable_config

* inline writeErrors into createOrUpgradeConfig to simplify testing

* regen docs

* add functional tests for ui_settings service

* unify test suites

* add types for sipertest in core_plugin tests

* tsify core_plugins tests

* add test for empty saved config

* update renovate

* rename get/setDefaults to reguster

* regen docs

* regen docs

* Update src/core/MIGRATION.md

Co-Authored-By: Josh Dover <me@joshdover.com>
2019-10-28 16:06:12 -04:00
Gidi Meir Morris
2ac82dec61
[Saved Objects] Adds support for custom Refresh settings on mutating operations (#48932)
Adds the ability to override the Refresh setting of mutating operations (Update, Delete, Bulk, Index) of Saved Objects.
2019-10-25 08:28:55 +01:00
Pierre Gayvallet
ccd01a3af0
Migrate ui/doc_title to New platform (#48121)
* create NP docTitle service and bridge LP to it

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* properly prefix the docTitle public types

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* update documentation

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* replace direct NP access with closure to avoid error when importing module in tests with no usages

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* remove arrow functions for doc generation

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* remove get$ from the api

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* remove apply param and excludeBase option

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* remove removed export

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* adapt legacy service to new api

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* add entry about docTitle in the migration guide

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* add link in migration guide

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* update generated doc

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* update chrome mock

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* update snapshots due to api change

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* remove ChromeDocTitleChange in favor of inline type

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>
2019-10-24 16:21:46 -07:00
Brandon Kobel
a149497b73
NP Security HTTP Interceptors (#39477)
* We have a NP plugin! :celebration:

* Redirecting to login on all 401s

* Adding commented out code for when credentials are omitted

* Fixing types

* Respond 403 when user changes password with incorrect current password

* Adding AnonymousPaths where we ignore all 401s

* Adding anonymous path tests

* Extracted a dedicated SessionExpires class and added tests

* Fixing plugin after refactoring to add SessionExpired

* Beginning to work on the session timeout interceptor

* Fixing UnauthorizedResponseInterceptor anonymous path test

* Removing test anonymous path

* Trying to improve readability

* Displaying session logout warning

* Mocking out the base path

* Revert "Mocking out the base path"

This reverts commit 824086c168.

* Changing coreMock to use a concrete instance of BasePath

* Adding session timeout interceptor tests

* Adding session timeout tests

* Adding more tests for short session timeouts

* Moving some files to a session folder

* More thrashing around: renaming and reorganizing

* Renaming Interceptor to HttpInterceptor

* Fixing some type errors

* Fixing legacy chrome API tests

* Fixing other tests to use the concrete instance of BasePath

* Adjusting some types

* Putting DeeplyMocked back, I don't get how DeeplyMockedKeys works

* Moving anonymousPaths to public core http

* Reading sessionTimeout from injected vars and supporting null timeout

* Doesn't extend session when there is no response

* Updating docs and snapshots

* Casting sessionTimeout injectedVar to "number | null"

* Fixing i18n issues

* Update x-pack/plugins/security/public/plugin.ts

Co-Authored-By: Larry Gregory <lgregorydev@gmail.com>

* Adding milliseconds postfix to SessionTimeout private fields

* Even better anonymous paths, with some validation

* Adjusting public method docs for IAnonymousPaths

* Adjusting spelling of base-path to basePath

* Update x-pack/plugins/security/public/session/session_timeout.tsx

Co-Authored-By: Larry Gregory <lgregorydev@gmail.com>

* Update src/core/public/http/anonymous_paths.ts

Co-Authored-By: Josh Dover <me@joshdover.com>

* Update src/core/public/http/anonymous_paths.ts

Co-Authored-By: Josh Dover <me@joshdover.com>

* AnonymousPaths implements IAnonymousPaths and uses IBasePath

* Removing DeeplyMocked

* Removing TODOs

* Fixing types...

* Now, ever more normal
2019-10-24 08:59:45 -07:00
Eli Perelman
ab147e16fc
Pass along request object to all HTTP interceptors (#47258)
* Pass along request object to all HTTP interceptors

* Do not trigger response interceptors from request errors; make request readonly

* Update core API

* Fix failing test

* Add tests to ensure that interceptors accumulate request and response across calls

* Make request readonly for request error interception, simplify response interception return types

* Update docs from request and response interception API change

* Add missing InterceptedHttpResponse generated docs
2019-10-18 15:23:03 -05:00
Eli Perelman
1762782943
Supply deprecated req and res properties on IHttpFetchError for legacy compatibility (#48430) 2019-10-17 10:52:25 -05:00
Gidi Meir Morris
3f4024c398
[Saved Objects] Add support for bulkUpdate to SavedObjectsClient (#47540)
This PR adds support for `bulkUpdate` to the Saved Objects API and exposes it on all Saved Objects clients (base client, encrypted, spaces etc.).
2019-10-17 11:12:27 +01:00
Mikhail Shustov
5676ac00ab
UI settings move to NP (#47590)
* add tests for logWithMetadata in LP

* allow passing metadata to log in NP & LP

* move ui_settings_client to NP

* add ui_settings config

* add ui_settings_service

* switch to NP logging

* export types

* bootstrap uiSettings service in NP

* pass NP uiSettings to LP

* move ui_settings mock to NP

* add  test for mixin and switch to NP logger

* make UiSettingsClient.getDefaults sync as it is

* ui_settings_client uses private fields

* ui_settings_client uses private methods

* keep uiSettings config validation in NP only

* update mocks

* core context should know it is mocked

* add tests for ui_settings_service

* remove unused code from ui_settings_mixin test

* improve types in ui_settings_mixin test

* gen docs

* test moved to NP

* set pkg version in tests explicitly

* update mocks in tests

* UiSettingsServiceSetup --> InternalUiSettingsServiceSetup

* add links to types

* address eli comment

* regen docs

* remove unused types
2019-10-16 14:18:34 +02:00
Pierre Gayvallet
7df981fbf8 Ignore missing references on saved object exports (#47685)
* add saved object export details in ndjson response

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* update core doc

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* exclude export details for space copy

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* fixing tests

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* display warning instead of success if export contains missing refs

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* nits/typo

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* properly updates api integration tests

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* fix typings

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* add test on objects_table component

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* remove added translations from jp/cn bundles

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* restoring line feeds

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* improve doc and user alert message

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* restoring line feeds on server.api.md

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* warning test label

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>
2019-10-16 12:48:34 +02:00
Rudolf Meijering
3d28467d00
Server saved objects client through request context (#44143)
* Expose Saved Objects client in request context

* API Integration test for savedobjects in req context

* SavedObjectsClient docs

* SavedObjectsClient#find remove dependency on indexPatterns

And use the saved objects mappings instead

* Review comments

* Review comments, fixes and tests

* Use correct type for KQL syntax check
2019-10-16 10:36:40 +02:00
Josh Dover
01ac90f81e
Make generated type docs more explorable (#47069) 2019-10-15 11:53:36 -05:00
Greg Thompson
71b1bbd4cb
Upgrade EUI to 14.5.0 (#48119)
* eui 14.5.0

* snapshot updates

* update ChromeBreadcrumb interface

* change bad id selector to data-test-subj selector
2019-10-15 09:59:38 -05:00
Mikhail Shustov
27dbcb2796
Expose package info to NP plugins (#48101)
* provide packageInfo to server plugins

* provide env to kbn server

* provide env to client plugins

* update server mocks and tests

* update client mocks and tests

* add integration test

* regen docs

* remove weird file

* export types for the client from special folder

* env should not affect test ourcome
2019-10-15 14:19:11 +02:00
Mikhail Shustov
92917c1c19
Document custom validation for http request (#47699)
* document custom validation for http request

* generate docs
2019-10-15 10:51:45 +02:00
Dario Gieselaar
819f334c85
[APM] Replace ui/kfetch with core.http (#47635)
* [APM] Replace ui/kfetch with core.http

Closes #46548.

* Remove kfetch mocks in tests

* Expose HttpFetchError from src/core/public/index

* Make HttpFetchError public

* Simplify tests for ServiceOverview
2019-10-11 16:35:29 +02:00
Rudolf Meijering
f0f75fc289
SavedObjectAttribute allow array of primitives (#47317) 2019-10-08 16:41:13 +02:00
Court Ewing
485eaf773d
[core] Do not overwrite saved object references if not specified (#47248)
* saved objects: allow partial update without references

For normal attributes, the update API for saved objects supports partial
updates, where it will only attempt to change those attributes you
specify. References should behave the same way otherwise they will be
replaced entirely if you call update without specifying the original
references.
2019-10-07 16:10:29 -04:00
Josh Dover
d6410b5580
Add types to Elasticsearch API calls (#46668) 2019-10-07 13:11:30 -05:00
Larry Gregory
dba0946906
Honor current search criteria when exporting saved objects (#47223)
* honor current search criteria when exporting saved objects

* adding core docs
2019-10-07 10:11:23 -04:00
Mikhail Shustov
3a5c06858a
Expose injectMetadata service temporarily (#47319)
* expose injectMetadata until config service provided

* add functional test

* update types

* fix tests. injectMetadata is a part of plugin contract

* add comment about injectedVars API
2019-10-04 20:41:24 +02:00
Josh Dover
5fc9a5501e
Simplify generics for IContextContainer (#46538) 2019-10-03 15:24:14 -05:00
Xavier Mouligneau
d95c47f776
Add KQL functionality in the find function of the saved objects (#41136)
* Add KQL functionality in the find function of the saved objects

wip

rename variable from KQL to filter, fix unit test + add new ones

miss security pluggins

review I

fix api changes

refactor after reviewing with Rudolf

fix type

review III

review IV

for security put back allowed logic back to return empty results

remove StaticIndexPattern

review V

fix core_api_changes

fix type

* validate filter to match requirement type.attributes.key or type.savedObjectKey

* Fix types

* fix a bug + add more api integration test

* fix types in test until we create package @kbn/types

* fix type issue

* fix api integration test

* export nodeTypes from packages @kbn/es-query instead of the function buildNodeKuery

* throw 400- bad request when validation error in find

* fix type issue

* accept api change

* renove _ to represent private

* fix unit test + add doc

* add comment to explain why we removed the private
2019-10-02 18:23:44 -04:00
Rudolf Meijering
85c8232c0b
Move KibanaMigrator into Server SavedObjectsService (#43433)
* Rename SavedObjectsService -> SavedObjectsLegacyService

* Expose legacy pluginSpecs from Core LegacyService

* Expose legacy uiExports from Core LegacyService

* Move kibana config to NP

* Expose pluginExtendedConfig from LegacyService

* Make KibanaMigrator NP compatible

* KibanaMigrator -> NP SavedObjectsService

* SavedObjectsService never stop retrying ES connection error

* Move waiting for migrations to complete till after legacy service start

* Fix ESArchiver's KibanaMigrator

* Fix reload logging config tests

* Run migrations on savedobjects start

* Fix env tests

* Fix and make legacy tests more robust/isolated

* Cleanup code

* Fix invalid config test

* Fix SavedObject Migrations logging test

* SavedObjectsService tests

* Lifecycle logging and improve getting kibanaConfig instance

* Fix awaitMigration bug and test

* Fix typing error

* Review comments

* Remove unecessary KibanaConfig class

* Move legacy plugin config extension, specs, uiExports entirely into Core

uiExports, specs, disabledSpecs, config now get injected into KbnServer

* Fix config deprecation test

* Use existing logger mock

* Create SavedObjectsConfig for migration config

* Define KibanaMigratorContract type

* KibanaMigratorContract -> IKibanaMigrator + docs improvements

* Fix esArchiver's KibanaMigrator

* Fix plugin generator integration test

* ConfigServiceContract -> IConfigService

* Address review comments

* Review nits

* Document migrations.skip config

* Review comments continued...

* awaitMigrations -> runMigrations

* Type improvements
2019-10-01 09:11:33 +02:00
Rudolf Meijering
08b86784ef
Expose serverBasePath fixes #45991 (#45995)
* Expose serverBasePath fixes #45991

* Review comments

* Fix basepath mock types

* AppBasePathContract -> IBasePath

* Match basepath test description with assertion

* Fix eslint errors
2019-09-30 20:49:15 +02:00
Eli Perelman
fcbb12f5c7
Make request and response properties conditionally available during HTTP interception (#42755)
* Make request and response properties conditionally available during HTTP interception

* Address review comments, fix request reference in http service tests
2019-09-25 10:59:37 -05:00
Josh Dover
cbe9161eb5
Update @microsoft/api-extractor + @microsoft/api-documentor (#46193) 2019-09-23 09:50:59 -05:00
Josh Dover
812c950045
Move ui/notify banners to New Platform (#43610) 2019-09-17 16:11:59 -05:00
Lisa Cawley
baee2390bf
[DOCS] Creates developer folder (#45280) 2019-09-10 17:13:23 -07:00
Josh Dover
b352f67bdb
Add ApplicationService Mounting (#41007)
* Add core-only bundle

* Add ApplicationService mounting

* Add LegacyCore{Setup,Start}

* Fix PR comments

* Add functional tests

* Fix PR comments

* Fix PR comments

* Remove other usages of rootRoute

* Use state field notation

* Add support for open in new tab

* Fix PR comments

* Fix pesky await from the dead

* Update docs

* Bump @types/history
2019-09-03 13:03:05 -05:00
Joe Reuter
6fad639f25
[Graph] Listing page and folder restructuring (#44068) 2019-08-29 17:19:56 +02:00
Mikhail Shustov
9a732014cb Response factory parameters as named arguments (#43248)
* pass body as response parameter. use attributes for error responses

* update core

* update tests

* update x-pack code

* update x-pack tests

* regen docs

* update comment

* Review feedback and fixes after master merge

* Eslint fixes
2019-08-23 19:31:17 +02:00
Mikhail Shustov
00a0203584 Extend request handler with request scoped core capabilities (#43103) 2019-08-19 13:34:48 -05:00
Aleh Zasypkin
6be8b321d5
Add TLS client authentication support. (#43090) 2019-08-14 22:57:54 +02:00
Josh Dover
d205f1e456
Export missing Context types (#43051) 2019-08-12 14:07:17 -05:00
Rudolf Meijering
f7a71f2035
[Core] Make type option required for SavedObjects.find (#42236)
* Make type option required for SavedObjects.find

* getSortedObjectsForExport test for type or objects
2019-08-12 16:33:35 +02:00
Mikhail Shustov
c9220c5863
Expose createRouter from HttpService, prepare handlers for context introduction (#42686)
* expose createRouter, prepare route handler for context introduction.

* fix tests

* update examples in docs

* update tests

* re-genereated docs

* remove registerRouter from http service contract

createRouter registers a router under the hood. that reduces API surface
for consumers

* address comments

* update docs
2019-08-09 21:08:34 +02:00
Mikhail Shustov
c30df8d136
add socket.getPeerCertificate to KibanaRequest (#42929)
* add socket.getPeerCertificate to KibanaRequest

* update request mocks

* update docs
2019-08-09 10:42:33 +02:00
Mikhail Shustov
06adc737d9
Unify response interface in handler and request interceptors (#42442)
* add response factory to the interceptors

* adopt x-pack code to the changes

* Add a separate response factory for lifecycles.

Only route handler can respond with 2xx response.
Interceptors may redirect or reject an incoming request.

* re-generate docs

* response.internal --> response.internalError

* use internalError for exceptions in authenticator

* before Security plugin proxied ES error status code. now sets explicitly.

* provide error via message field of error response for BWC

* update docs

* add customError response

* restore integration test and update unit tests

* update docs

* support Hapi error format for BWC

* add a couple of tests
2019-08-08 12:07:43 +02:00
Josh Dover
53abbcdc9c
Add PluginManfiest to generated docs (#42795) 2019-08-07 13:50:10 -05:00