* add xsrfRequired flag to a route definition interface
* update tests
* deprecate server.xsrf.whitelist
It meant to be used for IdP endpoints only, which we are going to refactor to disable xsrf requirement per a specific endpoint.
* update docs
* do not fail on manual KibanaRequest creation
* address comments
* update tests
* address comments
* make xsrfRequired available only for destructive methods
* update docs
* another isSafeMethod usage
* 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
* [DOCS] Rework of main gett started page
* Redirect for add-sample-data
* Link fix
* Review comments
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* 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>
* kerberos
b Please enter the commit message for your changes. Lines starting
* Apply suggestions from code review
Co-Authored-By: Brandon Kobel <brandon.kobel@gmail.com>
Co-Authored-By: Lisa Cawley <lcawley@elastic.co>
Co-authored-by: Brandon Kobel <brandon.kobel@gmail.com>
Co-authored-by: Lisa Cawley <lcawley@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
When upgrading to the next major version, users should first upgrade to
the last minor in the previous release. In 6.x this is 6.8.
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* Move defaultAppId config param into kibanaLegacy
* Move disableWelcomeScreen config param into Home plugin
* Update api and docs with silent option for renameFromRoot
* 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>
* 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>
* 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>
* 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>
* EUIficate the sidebar
* Create a state reducer and a state context
* Create an editor context and actions
* Improve types
* Apply aggs reordering
* Fix functionality
* Improve types
* Fix sub_agg changes
* Remove legacy dependencies
* Watch dirty state
* Fix dirty state changes
* Update actions and reducers
* Handle keyboard submit
* Apply editor form validation
* Remove fancy forms
* Update validation
* Use embeddable instead of visualize loader
* Add auto apply behavior
* Remove legacy styles
* Remove the sidebar
* Restrict responsive to the bottom_bar
* Upgrade @elastic/eui to v14.10.0
* Replace EuiBottomBar with EuiControlBar
* Get rid of mutations in control vis
* Revert "Upgrade @elastic/eui to v14.10.0"
This reverts commit 2cd86c51d2.
* Replace bottom bar with a control panel for sidebar
* Replace selectors
* Use editor resizer
* Apply selectors
* Change selectors
* Fix sub agg change values
* Add collapse button
* Fix tests
* Get rid of editor editor_state_context, simplify the code
* Fix jest tests, update snapshots
* Fix types
* Moving collapse button to right of index pattern
* Tweaks bottom buttons
* Moved Vega buttons so they don’t scroll away
* Fix responsiveness
* Resolve UI comments
* Fix console resizer
* Update dev docs
* Bail out of additional render in metrics and axes
* Apply performance optimizations for metrics and axis panel
* Remove unused translations
* Use debounce when autoapply enabled
Co-authored-by: Caroline Horn <549577+cchaos@users.noreply.github.com>
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
## [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
* 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
* 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
* Initial role mappings UI
* apply design edits
* address PR feedback
* fix type cast for number field
* Update x-pack/legacy/plugins/security/public/views/management/role_mappings/edit_role_mapping/components/mapping_info_panel/mapping_info_panel.tsx
Co-Authored-By: Joe Portner <5295965+jportner@users.noreply.github.com>
* Cleanup FTR configuration, and handle role mapping 404 errors properly
* align naming of role mappings feature check
* Apply suggestions from code review
Co-Authored-By: Brandon Kobel <brandon.kobel@gmail.com>
* add missing test assertions
* inlining feature check logic
* switch to using snapshot
* use href instead of onClick
* adding delete unit test
* consolidate href building
* unify page load error handling
* simplify initial loading state
* documenting unconditional catch blocks
* use nodes.info instead of transport.request
* Apply suggestions from code review
Co-Authored-By: Brandon Kobel <brandon.kobel@gmail.com>
* move model out of LP into NP
* convert except_field_rule to except_any_rule
* docs, take 1
* update gif
Co-authored-by: Joe Portner <5295965+jportner@users.noreply.github.com>
Co-authored-by: Brandon Kobel <brandon.kobel@gmail.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* 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
* [Reporting] Update some runtime validations
* fix unit test
* i18n
* make warning logging of encryptionKey possible
* update snapshot
* revert unrelated config change
* docs: consolidate telemetry settings to core
Telemetry is no longer part of monitoring.
* docs: revise telemetry settings text
* docs: tweak telemetry setting text
* 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
* [DOCS] Moves index pattern doc to Discover
* [DOCS] Improves intro to index patterns doc
* [DOCS] Edits index patterns doc
* [DOCS] Incorporates comments into index patterns doc
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* [Reporting/Docs] Various Documentation Additions
- Add ECONNREFUSED to troubleshooting page:
- System Requirements for Reporting
- Layout and Sizing
* [DOCS][Reporting] Updates index and troubleshooting pages
Co-authored-by: Tim Sullivan <tsullivan@users.noreply.github.com>
* [Maps] pull ES_SIZE_LIMIT and top hits limit from index settings
* get fetch working
* get min values from indicies response
* use indexSettings.maxResultWindow in documents request size
* use max_inner_result_window to define top hits max
* update jest test
* update docs
* more docs changes for top hits
* fix line spacing
* Update docs/maps/maps-aggregations.asciidoc
Co-Authored-By: gchaps <33642766+gchaps@users.noreply.github.com>
* Update docs/maps/vector-layer.asciidoc
Co-Authored-By: gchaps <33642766+gchaps@users.noreply.github.com>
* add api integration test for indexSettings route
* eslint fixes
* review feedback
* display toast on first index settings fetch failure
* clean up
Co-authored-by: gchaps <33642766+gchaps@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* [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>
* text styling
* label style editor UI
* wire up styles to mb
* allow string values
* remove console.log
* default getFields to provide ordinal fields for vector source
* fix vector_style jest test
* add label styles to docs
* fix prettier errors
* use index-pattern field formatter to format label
* rename LABEL to LABEL_TEXT
* review feedback
* fix problem with icons not displaying with labels
* fix functional tests
* fix canno read name of null error
* update jest expect
* fix eslint errors
* do not display label text in legend
* always show all label styling properties in editor
* review feedback
* 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
resolves https://github.com/elastic/kibana/issues/52597
The previous default was `[]`, which meant no hosts were whitelisted,
which would require a Kibana admin to set this value for any actions
that accessed 3rd party services (currently email and webhook, longer
term slack and pagerduty).
* [DOCS] Updates for API usage
* Changes from Larry
* Update docs/api/using-api.asciidoc
Co-Authored-By: Larry Gregory <lgregorydev@gmail.com>
* Comments from Larry
* Comment from Larry
* 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
* 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
* [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
This adds an absolute session timeout (lifespan) to user sessions.
It also improves the existing session timeout toast and the overall
user experience in several ways.
* [Security] Add loginAssistanceMessage to login page
* Fix tests
* Fix login_page.test.tsx
* Fix defaultValue
* Render login assistance message independently of other messages and use EuiText instead of EuiCallOut
* Use small text
Co-Authored-By: Caroline Horn <549577+cchaos@users.noreply.github.com>
* Flip order of message around
At least for kibana-oss 7.4, this is how I can access Kibana logs.
The file `/var/log/kibana` is not created and if I set it as a log file, kibana does not have permission to write there.
See also:
https://github.com/elastic/kibana/issues/6579
* [DOCS] Updates Reporting docs
* [DOCS] Adds more information on roles and privileges
* [DOCS] Incorporated review comments in Reporting doc
* [DOCS] removes xpack from url
* [DOCS] Replaces low values in watcher reporting example