* 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>
* Move defaultAppId config param into kibanaLegacy
* Move disableWelcomeScreen config param into Home plugin
* Update api and docs with silent option for renameFromRoot
* 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
* [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>
* 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>
* 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
* 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
* 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
* [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>
* 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
* 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
* implements 'rename' and 'unset' deprecations
* introduce usage of ConfigDeprecationProvider
* adapt RawConfigService to only returns unmodified raw config
* apply deprecations when accessing config
* register legacy plugin deprecation in new platform
* implements ConfigService#validate
* add exemple config deprecation usage in testbed
* documentation
* export public config deprecation types
* fix new test due to rebase
* name ConfigDeprecationFactory
* update generated doc
* add tests for unset and move it to src/core/utils
* add tests for renameFromRoot and unusedFromRoot
* cast paths as any as get expects a fixed-length string array
* use specific logger for deprecations
* add additional test on renameFromRoot
* update migration guide
* migrate core deprecations to NP
* add integration test
* use same log context as legacy
* remove old deprecation warnings integration tests, now covered in NP
* migrates csp deprecation to NP
* removes deprecationWarningMixin from legacy
* remove legacy core deprecations
* remove unused import
* rename setupConfigSchemas to setupCoreConfig
* update generated doc
* [NP] Expose global config to the plugins
* globalConfig in Plugin context: expose read-only methods only
* SharedGlobalConfig rework + Moving pkg, fromRoot & path utils from legacy to NP
* Updated API docs
* Fix test references to the moved utils
* Replace zip with combineLatest
* Change tests to describe/it + remove "(deprecated)" from the test description
* Moving path files to a folder + exposing the config path in the contract
* deepFreeze the globalConfig in the pluginContext
* Fix types in tests with new path.config
* Move fromRoot and package_json utils to core/server/utils
* Rename globalConfig to legacy.globalConfig$
* path.config renamed to path.configDir (not renaming path.data because it might be a breaking change)
* Change configDir in mocker as well
* Fix test after config renamed to configDir
* Fix API docs conflicts
* Rename the path properties when exposing them
* path.configDir removed from the path config-schema
* Remove path.configDir. It is already in env.configs
* Add Migration documentation and examples
* Fix 'kibana/server' imports in the MIGRATION docs
* create service skeleton
* move registerCapabilitiesModifier to capabilities service and rename to registerCapabilitiesSwitcher
* starts to move capabilities logic to CapabilitiesService
* move capabilities route to service
* add initial integration test for capabilities route
* capabilitiesMixin now delegates to capability service
* use server-side Capabilities import in server code
* update generated doc
* remove capabilities from injectedMetadatas
* use applications sent from client instead of server-registered navLinks
* disable authRequired for capabilities route
* (temp) exposes two endpoints for capabilities
* Add fetch-mock on capabilities call for karma tests
* adapt xpack Capabilities test - first attempt
* adapt x-pack ui_capabilities test
* add '/status' to the list of anonymous pages
* Add documentation on Capabilities APIs
* move Capabilities to core/types
* update generated docs
* add service tests
* protecting resolveCapabilities against added/removed capabilities
* update generated docs
* adapt mocks due to rebase
* add forgotten exports
* improve capabilities routes registering
* name capabilities registering methods
* resolve conflicts due to merge
* address review issues
* add comment about reason for exposing two routes
* extract createHttpServer test helper
* fix merge conflicts
* improve documentation
* remove `/status` anon registration as now done in NP status plugin
* fix merge conflicts
* introduce IUiSettingsClient on the client
* switch uiSettings service to IUiSettingsClient
* update uiSettings service tests
* all plugins should use IUiSettingsClient
* stop is not public methods anymore
* remove savedobject attribute type references
* regen docs
* remove all references to UiSettingsClient class
* regen docs
* add migration example for uiSettings
* update consumer types and tests
* address comments
* Allow routes to define some payload config values
* Documentation typo
* Move hapi `payload` config under `body` + additional validations
* Update API docs
* Amend explanation in API docs
* Add stream and buffer types to @kbn/config-schema
* Fixes based on PR feedback:
- Add 'patch' and 'options' to valid RouteMethod
- Add tests for all the new flags
- Allow `stream` and `buffer` schema in the body validations (findings from tests)
* API documentation update
* Fix type definitions
* Fix the NITs in the PR comments + better typing inheritance
* API docs update
* Fix APM-legacy wrapper's types
* Fix KibanaRequest.from type exposure of hapi in API docs
* Move RouterRoute interface back to private + Expose some public docs
* Update @kbn/config-schema docs
* 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