* Remove angular dependencey from vis/tooltip
* Move tooltip logic into vislib
* Remove and fix all ngMock refs in vislib tests
* Add numeral to renovate config
* Add vis_type_vislib to codeowners
* Move vis_legend into vislib and fix errors
* vis_type_vislib/public imports to be only top-level
* Fix Monitoring plugin Elasticsearch SSL config
Plugin now allows "keystore" and "truststore" values in its
config schema as the documentation currently states.
Plugin also now reads PEM and PKCS12 files off of the filesystem
before attempting to create an Elasticsearch client.
* Add missing Elasticsearch config deprecations
Several Elasticsearch config deprecations were overlooked for
monitoring-specific Elasticsearch settings.
* deprecate msearch
* Missing export
* adjust tests, revert loading method of esaggs/boot
* getInjectedMetadata
* Fix jest tests
* update default strategy abort test
* notice update
* Allow running discover errors test independently
* Remove batchSearches
* Detect painless script error
* don't show notifications for aborted requests
* Fix jest tests
* Restore loader indicator
* Decreace loading count on error
* update search test
* Trigger digest after fetching fresh index patterns
* Revert isEqual
* accurate revert
* Return full error details to client from search endpoint
* Re-throw AbortError from http when user aborts request.
* fix typo
* typo
* Adjust routes jest test
* Restore msearch using a separate es connection
* typescript fixes
* set http service mock
* Move es client to dat aplugin, for follow up PR
* Add karma mock
* krma mock
* fix tests
* ts
* Pass in version dynamically
* add headers to esClient host
* Restored fetch soon test
Use tap for loadingCount side effects
* Cleanup search params
* Cleanup search params test
* Revert "Cleanup search params"
This reverts commit ca9dea01d5.
* Revert "Cleanup search params test"
This reverts commit 30b9478612.
* Revert code to use old es client until #44302 is resolved
* Revert changes to getPainlessError
* Fix jest test
* Refactor esClient to trigger loadingIndicator
* fixing tests
* use esClient from searchService
* git remove comment
* fix jest
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* [ML] formatting for additional timing and model size stats
* [ML] roundToDecimalPlace only average search time
* [ML] adjust functional tests
* [ML] remove debug tag, fix assert value
* [ML] check for no decimal place
* [ML] fix functional tests
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* [Reporting] Define shims of legacy dependencies (#54082)
* simplify serverfacade definition
* simplify requestfacade definition
* use the shim
* makeRequestFacade
* requestFacade
* import sorting
* originalServer
* reduce loc change
* remove consolelog
* hacks to fix tests
* ServerFacade in index
* Cosmetic
* remove field from serverfacade
* add raw to the request
* fix types
* add fieldFormatServiceFactory to legacy
* Pass the complete request object to sec plugin
* Fix test
* fix test 2
* getUser takes a legacy request
* add unit test for new lib
* add getRawRequest to pass to saved objects method
* update test snapshot
* leave a TODO comment for type import
* variable rename for legacy id
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* update legacy to fix ts errors
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>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* Fix bug #54887
- Filters are not only fetch once on timefilter change
- Make sure that discover doesn't fetch data when a disabled filter is changed
- Support compareFilters on an array of filters.
- Added tests to compare filters
- Exctracted sortFilters and added tests to it.
* code review + FilterCompareOptions
* Remove sort by
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* Fix z-index of logs page toolbar
* Extract `FixedDatePicker` from log setup page, and use it in the stream page
* Clean unused import
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
- Fixes passing on the severity value correctly to anomaly explorer charts. The wrong value of undefined being passed down caused anomaly markers not showing up.
- This bug surfaced that the severity value was never applied to filter multi-bucket anomalies which is now also fixed by this PR.
- Adds a check if topInfluencers is an array.
* display not found page instead of throwing an error when accessible unavailable app
* move types to public folder
* fix types import
* remove updater from start app
* remove unnecessary await
* Add Kibana tutorial for IBM MQ metrics
* Change IBM MQ logo
* Logo minified
* Add screenshot
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Replaces AppState in edit_index_pattern with state containers and state syncing utils.
In addition makes tab navigation on edit_index_pattern work with browser's undo history
* adds logic for returning / updating status when a rule is switched from enabled to disabled and vice versa.
* update response for find rules statuses to include current status and failures
* update status on demand and on enable/disable
* adds ternary to allow removal of 'let'
* adds savedObjectsClient to the add and upate prepackaged rules and import rules route.
* fix bug where convertToSnakeCase would throw error 'cannot convert null or undefined to object' if passed null
* genericize snake_case converter and updates isAuthorized to snake_case (different situation)
* renaming to 'going to run' instead of executing because when task manager exits because of api key error it won't write the error status so the actual status is 'going to run' on the next interval. This is more accurate than being stuck on 'executing' because of an error we don't control and can't write a status for.
* fix missed merge conflict
Co-authored-by: Xavier Mouligneau <189600+XavierM@users.noreply.github.com>
Co-authored-by: Xavier Mouligneau <189600+XavierM@users.noreply.github.com>
* update extra action on rule detail to match design
* remove experimental label
* allow pre-package to be deleted + do not allow wrong user to create pre-packages rules
* Additional look back minimum value to 1
* fix flow with edit rule
* add success toaster when rule is created or updated
* Fix Timeline selector loading
* review ben doc + change detectin engine to detection even in url
* Succeeded text size consistency in rule details page
* fix description of threats
* fix test
* fix type
* fix internatinalization
* Update x-pack/legacy/plugins/siem/public/pages/detection_engine/rules/create/translations.ts
Co-Authored-By: Garrett Spong <spong@users.noreply.github.com>
* Update x-pack/legacy/plugins/siem/public/pages/detection_engine/rules/edit/translations.ts
Co-Authored-By: Garrett Spong <spong@users.noreply.github.com>
* Update x-pack/legacy/plugins/siem/public/pages/detection_engine/rules/components/step_schedule_rule/schema.tsx
Co-Authored-By: Garrett Spong <spong@users.noreply.github.com>
* review I
* fix type
Co-authored-by: Garrett Spong <spong@users.noreply.github.com>
Co-authored-by: Garrett Spong <spong@users.noreply.github.com>
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>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* Revert "Add label and icon to nested fields in the doc table (#54199)"
This reverts commit f77b3620
* Apply label and icon to nested fields in the doc table
* Add nested type to field_icon
* Improve nested test and add comment
* Fix tests
* Always pass the field type
Co-authored-by: Matt Bargar <mbargar@gmail.com>
* Use our internal uiSettings mock in all context mocks
We were previously only using our internal uiSettings mock (which
returns real values) in our TestProviders component, as
all tests either needed:
* specific mocks, in which case we'd call jest.mock() ourselves
* broad mocks, for which platform's kibana_react mocks were usually
sufficient
However, a recent addition in the Timeline component added a usage of
uiSettings that could not use the default mock.
With this change, one can either jest.mock('lib/kibana') or use the
TestProviders wrapper to get real values for UI settings in test.
* Remove production code guarding against tests
This coalescence was due to the service not being properly mocked in
test, which is now fixed.
## Summary
Fixes regression with immutable caused from:
https://github.com/elastic/kibana/pull/55004
* Updated types of Prepackaged
* Updated unit tests
* Fixed unit test for it
Testing:
```
./post_rule.sh
{
"created_at": "2020-01-17T19:11:31.813Z",
"updated_at": "2020-01-17T19:11:31.813Z",
"created_by": "elastic_kibana",
"description": "Query with a rule_id that acts like an external id",
"enabled": true,
"false_positives": [],
"from": "now-6m",
"id": "41ef6309-ef98-4c9f-8d2d-90a070361fb7",
"immutable": false,
"interval": "5m",
"rule_id": "query-rule-id",
"language": "kuery",
"output_index": ".siem-signals-frank-hassanabad-default",
"max_signals": 100,
"risk_score": 1,
"name": "Query with a rule id",
"query": "user.name: root or user.name: admin",
"references": [],
"severity": "high",
"updated_by": "elastic_kibana",
"tags": [],
"to": "now",
"type": "query",
"threats": [],
"version": 1
}
```
Then get the saved object using whatever the id is comes back from above. In this example it is 41ef6309-ef98-4c9f-8d2d-90a070361fb7, yours will be different
```
./get_saved_objects.sh alert 41ef6309-ef98-4c9f-8d2d-90a070361fb7
{
"id": "41ef6309-ef98-4c9f-8d2d-90a070361fb7",
"type": "alert",
"updated_at": "2020-01-17T19:11:32.844Z",
"version": "WzY5NTQsMV0=",
"attributes": {
"name": "Query with a rule id",
"tags": [
"__internal_rule_id:query-rule-id",
"__internal_immutable:false"
],
"alertTypeId": "siem.signals",
"consumer": "siem",
"params": {
"createdAt": "2020-01-17T19:11:31.813Z",
"description": "Query with a rule_id that acts like an external id",
"ruleId": "query-rule-id",
"index": null,
"falsePositives": [],
"from": "now-6m",
"immutable": false,
"query": "user.name: root or user.name: admin",
"language": "kuery",
"outputIndex": ".siem-signals-frank-hassanabad-default",
"savedId": null,
"timelineId": null,
"timelineTitle": null,
"meta": null,
"filters": null,
"maxSignals": 100,
"riskScore": 1,
"severity": "high",
"threats": [],
"to": "now",
"type": "query",
"updatedAt": "2020-01-17T19:11:31.813Z",
"references": [],
"version": 1
},
"schedule": {
"interval": "5m"
},
"enabled": true,
"actions": [],
"throttle": null,
"apiKeyOwner": "elastic_kibana",
"createdBy": "elastic_kibana",
"updatedBy": "elastic_kibana",
"createdAt": "2020-01-17T19:11:32.245Z",
"muteAll": false,
"mutedInstanceIds": [],
"scheduledTaskId": "2c5cc340-395d-11ea-9276-d3c1c264ca9a"
},
"references": []
}
```
Ensure you have the internal immutable of "__internal_immutable:false" In your tags
Next test is to do a find filter of non-packaged rules:
```
./find_rule_by_filter.sh "alert.attributes.tags:%20%22__internal_immutable:false%22"
```
You should get back the above rule any others you created.
### Checklist
Use ~~strikethroughs~~ to remove checklist items you don't feel are applicable to this PR.
~~- [ ] This was checked for cross-browser compatibility, [including a check against IE11](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#cross-browser-compatibility)~~
~~- [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/master/packages/kbn-i18n/README.md)~~
~~- [ ] [Documentation](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#writing-documentation) was added for features that require explanation or tutorials~~
- [x] [Unit or functional tests](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#cross-browser-compatibility) were updated or added to match the most common scenarios
~~- [ ] This was checked for [keyboard-only and screenreader accessibility](https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Accessibility#Accessibility_testing_checklist)~~
### For maintainers
~~- [ ] This was checked for breaking API changes and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)~~
- [x] This includes a feature addition or change that requires a release note and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)