* Check security privileges before allowing reindexing
* Add global readyForUpgrade flag for Cloud
* Add ml_settings to cluster_settings
* Generalize locking mechanism for stop/starting watcher
* Display ML/Watcher stopping/resuming steps in UI
* Fix type issues
* Handle security being disabled for privilege check
* Use xpack_main.info + add types
* Fix x-pack builds
* Types, and index pattern moved to new format
* fix imports
* API now doing full validation on config blocks
* progress pre-move-blocks to their own api
* Config is now stored as a JSON string keyword to prevent conflict
* New API server is working
* fixing types — progress
* “fixed” all types
* add lib and most adapter methods needed
* wired up more plumbing
* added REST adapter to client for config blocks
* fix some tests
* connect new APIs to beat details page
* fix typo causing several failing tests.
* update test data
* API bug fixes
* fix remaining testing
* revert index name change
* add new routes
* remove whitespace
* fix spelling
* wiring things up and adapting to the new UI
* config block creation works in UI
* config blocks now show up once added
* adding paging to tables
* config list paging works
* version check for UI changes
* fix types
* Update the rest of config UI, still needs create API connection
* create now mass creates tags after tag is created, edit creates and deletes configs in real time
* create config blocks when creating tags
* propperly load tags on their own for beats
* load inital config blocks on edit page
* wired up initial pass at assignable tags
* assignments now work.
* squash many bugs with tag creation, editing, as well as k7 breadcrumbs
* fix label id
* Fix the displaying of module types
* bug fixes for deleting config blocks during initial tag creation
* make name really required on initial walkthrough tag creation
* Fix and enhance deleting a config block from existing tag
* Initial non-working endpoint that validates API and response
* init new endpoint
* beat ID is required
* returns 400 if beat not found
* fix memory adapter for configs
* add new libs to compose
* add index template
* tweak types
* move index template logic to ES event hook
* propperly wait for ES
* add lifecycle names
* fix translations, remove old config update from API
* insert status into ES
* remove old tests
* added RUNNING status
* expand types
* Re-init route
* dont map litterals
* convert timestamp
* updating fields
* Migrate to ESC event.dataset
* Migragte fields to ECS fields
* renaming variable
* Reverting back to host.name
* Changing from Top Hits to Terms Agg for getting node name; change host.name back to host.hostname for name.
* Changing back to host.name
* Moving from using the document source to an aggregation for node name
* Updating tests with new data format and data.
* removing unused fields
* adding test data for docker 6.6.0
* Adding docker tests for 6.6.0
* Fixing jest tests
* Fixing tests
* Adding the most critical line of code in the entire project
* Fix ECS-compatible apache rules and restore old ones
* Fix ECS-compatible nginx rules and restore old ones
* Add tests for apache2 in ECS and pre-ECS format
* Add tests for nginx in ECS and pre-ECS format
* removing console.log
* Fixing tests
A content security policy is a great addition to the protections built
into Kibana, but it's not effective in older browsers (like IE11) that
do not enforce the policy.
When CSP strict mode is enabled, right before the Kibana app is
bootstrapped, a basic safety check is performed to see if "naked" inline
scripts are rejected. If inline scripting is allowed by the browser,
then an error message is presented to the user and Kibana never attempts
to bootstrap.
This adds a configuration UI to change various properties of an infrastructure data source. The properties that can be currently changed are:
* name
* index pattern for metrics
* index pattern for logs
* fields like the timestamp, container/host/pod identification
It is meant as a basis for providing configurability for other source properties like outgoing links and formatting rules in the future.
* Use metric_time prefix for metric_time actions
* Add refetch capabilities to with_metrics
* Pass through refetch to index
* Add no data message and refetch button to metrics/index
Next stage: Extract into shared component between metrics and waffle map
* Remove "refetching" and just use "loading"
No need for the explictness, just reuse the loading state, as there's no value to differentiating refetching vs loading here
* Add no_data component
* Amend for Prettier
* Use no_data component
* Change naming to better reflect current components
* Introduce notion of two empty states: no indices and no data
Also changes nodes_overview and logs to use moved component
* Add no_data functionality
* Remove metrics specific no data component, use the new shared component
* Change import order
* Use no_data component in nodes_overview
* Refactor logs to use shared no data component
* Import intl
* Revert testing value
* Pass handler correctly to avoid circular references
* Satisfy type check
* Remove one last unused component
* [Maps] full screen
* toggle fullScreen class
* remove unneeded class
* more specific class name
* change i18n name space to common.ui
* clean up scss imports
Fixes https://github.com/elastic/kibana/issues/29373
Fixes https://github.com/elastic/kibana/issues/29833
This flaky test is caused by the filter input box not being filled in completely. I was able to reproduce this once locally, but only after running the tests a couple times. To fix this I tried switching to the `testSubjects.setValue()` function, which focuses the input and clears its value before attempting to type into the field. This seems to have a higher success rate as I was able to run the test 40 times after making the change without a failure.
## Summary
When the Kibana server is red we render the status page in place of the current page, kind of like an error page. This prevents us from having to worry about redirects, but also means that links which normally trigger navigation with hash changes are broken because the status page app is rendered instead of the current app. To fix this we enable "forced navigation" mode on the status page so that any nav bar link that is clicked, which resolves to the same protocol+host+path will trigger a page refresh.
This used to be implemented as a click handler on each nav item, but EUI doesn't support click handlers on links in the Nav, so this uses a single event listener at the container around the nav links which handles the click events which bubble up. This means the feature now also works for the recent links and the home link.
To test this you should start Kibana in oss mode as security prevents the display of the status page, since license info can't be retrieved.
1. `node scripts/kibana --dev --oss` **without elasticsearch**
1. open http://localhost:5601
1. on the status page, try clicking the app links, the page should refresh and attempt to load the clicked url
1. start es `yarn es snapshot --license oss`
1. wait for Kibana to go green
1. click an app link and the app should load correctly
Original implementation: 597062fcbd/src/ui/public/chrome/directives/global_nav/app_switcher/app_switcher.js (L35-L61)
* [Maps] better error handling when layer configs can not be found
* remove kibana.yml changes
* gis-map to map
* throw exception for getStringFields and getAttributions and then handle exceptions in caller
* csp: nonce and unsafe-eval for scripts
To kick things off, a rudimentary CSP implementation only allows
dynamically loading new JavaScript if it includes an associated nonce
that is generated on every load of the app.
A more sophisticated content security policy is necessary, particularly
one that bans eval for scripts, but one step at a time.
* img-src is not necessary if the goal is not to restrict
* configurable CSP owned by security team
* smoke test
* remove x-content-security-policy
* document csp.rules
* fix tsconfig for test
* switch integration test back to regular js
* stop looking for tsconfig in test
* grrr, linting errors not caught by precommit
* docs: people -> you for consistency sake
Co-Authored-By: epixa <court@epixa.com>
* Added static help menu item to header
* Update default message
* [chrome] add help menu extension point apis
* [chrome/headerExtension] fix test file name
* prettier
* Insert doclink and version dynamically
* Add missing i18n
* Lowercase `v` for version
* Smaller width for popover