Commit graph

37126 commits

Author SHA1 Message Date
Marta Bondyra cded1ce5f1
[Lens] Don't debounce visualization settings UI (#79625)
* perf: don't debounce settings menu

* perf: fix performance for settings
2020-10-07 10:17:17 +02:00
James Gowdy 57f6ecda73
[ML] Sending secondary auth headers to _explain (#79814) 2020-10-07 09:00:43 +01:00
Matthias Wilhelm 603adab5e7
[Discover] Replace font-awesome data table filter in/out icons with EUI (#79622) 2020-10-07 09:46:46 +02:00
Tyler Smalley 019e2ad9a5 skips test failing promotion (#79813)
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2020-10-06 23:12:01 -07:00
Devin W. Hurley 83e6c38159
[Security Solution] [Detections] Write failing status when executionStatus is in error (#79311)
* Write failing status when executionStatus is in error

* adds unit test for error handling if rule status service throws an error

* adds success test for when executionStatus is failed

* moves logic for writing executionStatus failure to rule status saved object inside find rules status route, updates find rules route to display error if executionStatus is in error, but not be in charge of writing the status. That job belongs to the find rules status route.

* test if we are writing an error status when calls are made to find_rules_status_route and adds a test for general error checking

* adds JSDocs description for rules status route, updates findRules filter to append rule ids to the end of query, removes object.keys()

* don't write an error to our rule status in the route, only read from the executionStatus property and merge that result with our stored failures

* fixes tests

* move mock rule status service out of __mocks__ folder and remove unnecessary references to mock in tests

* fix type error

* updates json.gzip for cypress

* PR feedback

* fix timing issue with integration tests

* removes unzipped data.json
2020-10-07 01:03:32 -04:00
Yara Tercero 30695fb9eb
[Security Solution][Exceptions] - Updates autocomplete validation for numbers and boolean (#74561)
## Summary

This PR chips  a bit at some stricter value validations that have been discussed. Further validation is needed, but this adds some more basic validation.

- **Current:** if selected field is of type `boolean` users can add custom values in combo box
  - **Now:** if selected field is of type `boolean` users can only select `true` or `false`
- **Current:** if selected field is of type `number` (that is kibana type number) user can input any values
  - **Now:** if selected field is of type `number` and no autocomplete suggestions are available, number input is used to restrict users
- **Current:** for operator `match_any` it's conducting an autocomplete search after each selection resulting in some jumpy/weird behavior
  - **Now:** only conducts autocomplete search on initial field selection and if user enters value to search
- **Current:** only validations on type date
  - **Now:** validation on type (Kibana type) date, number
- **Current:** input would show red when there was an error but user could still submit
  - **Now:** submit button is disabled if error exists
2020-10-06 22:26:53 -04:00
Ryland Herrick e60cfa09ae
[Security Solution][Detections] Convert EQL validation to use search strategy (#79538)
* Rename types from the top-level plugin

These are the same types with a different name. However, the benefit is
that they exist in a non-restricted path (the top level of the plugin).

* Convert our validation function to use the EQL search strategy

Rather than calling our custom EQL validation endpoint, we can instead
leverage the EQL search strategy. The downside is that we have to move
our response parsing logic to the frontend, but the benefit is that
there's no backend to maintain.

* Remove server code related to our EQL validation endpoint

We're keeping our io-ts schemas for now since they're still being used
to type the I/O of our client function.

* Add the data contract to our KibanaServices

I'm not aware of a way to pass react context to the form lib validator
functions, so for now we have to pass this the ugly way :(

* Remove io-ts types corresponding to our defunct validation endpoint

We were keeping these around for the types, but they're so simple that
it's really not worth the overhead. The tests are similarly for
functionality that is no longer used, so no hard feelings there.

* Ensure that our validation does not bother generating hits

We only care about the query's validity, so we can tell the response
handler to do less work here.

* Pass transport options when retrieving an existing search

Without passing transport options to .get, a query with an `ignore`
would succeed if it completed in the `waitForCompletionTimeout` window,
but fail (with the ignored error) on the subsequent request if it became
async.

* Use constant for our strategy key

* Export search strategy constants for client consumption

Common values cannot be consumed directly by client code (compilation
error), so we need to re-export them from data_enhanced's public module.
2020-10-06 20:45:57 -05:00
Matthew Kime 641f2ccfdc
unset doc title (#79692)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-10-06 20:39:09 -05:00
Frank Hassanabad 08fdcfc621
[Security Solution][Detection Engine] Fixes date time errors when source index does not have date time stamps (#79784)
## Summary

Right now even though it is not 100% ECS compliant a user can create a source index that has records which do not have the `@timestamp` but rather utilizes their own timestamp data and then within the detection engine they do an "override" to utilize that other timestamp.

To reproduce this simply add a lot of data records to an index and omit the `@timestamp` and then use the detection engine override to choose a different date timestamp. Before this fix you will see errors showing up during rule run even though it still does produce valid signals.

After this fix, you will not get errors showing up as we do not allow unusual things such as:

```ts
new Date(undefined).toISOString()
```

To occur which is what does the range throw. If you are on the estc server you can use the mapping I created called:

```ts
delme-alert-customer
```

With the override of `triggered`

### Checklist

Delete any items that are not applicable to this PR.

- [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios
2020-10-06 18:18:19 -06:00
Justin Kambic 8472bb7d10
[Uptime] Add callout for synthetics UI (#79563)
* Add callout for synthetics UI.

* Refresh outdated test snapshots.

* Test synthetics callout component.

* Update callout copy.

* Update URL for announcement link.

* Update test snapshots.

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-10-06 20:05:41 -04:00
Marshall Main 7f5b824726
Fix EQL search request filter when built with exceptions (#79753) 2020-10-06 19:55:31 -04:00
Marshall Main 0db0a16ead
Add mapping version check before executing EQL rules (#79553)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-10-06 19:54:40 -04:00
Yara Tercero e4fc48cd5f
[Security Solution][Detections] - Rule creation query preview (#78985)
### Summary

This PR introduces a preview histogram feature inside the rule creation workflow, that gives users insight to how effective the rule is for triggering alerts the user would like to see.
2020-10-06 19:48:04 -04:00
Sandra Gonzales 041dfdd89d
send protocol separately to agent as part of full agent policy (#79781) 2020-10-06 19:40:28 -04:00
Ryland Herrick 7031ea4f7b
[Security Solution][Detections] Rule Form: prevent creation of invalid scheduling parameters (#79577)
* Clean up our component types

* Clamp our Rule Schedule inputs to safe values

* If the user enters a value > Number.MAX_SAFE_INTEGER, it will be
  updated to Number.MAX_SAFE_INTEGER
* If the user enters non-numeric text, it will be updated to 0

* Ensure that we do not go below the default value

0 is not necessarily a reasonable default, but we already have a
  variable for the default value.

* Update cypress interaction with schedule fields

Now that we set defaults for bad values, it's no longer possible to
"clear" the numeric input. However, to get roughly the same behavior we
can instead select the current value and start typing.
2020-10-06 18:13:31 -05:00
Phillip Burch bd153c48cb
Show callout for K8s jobs (#79610) 2020-10-06 17:27:30 -05:00
Kevin Logan cb73df0bdc
[SECURITY_SOLUTION] Task/add view agents link to enrolling (#79735)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-10-06 18:25:53 -04:00
Mikhail Shustov 443049d234
use pretty logs when building type refs (#79711)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-10-06 15:18:51 -07:00
Quynh Nguyen d5a19ec2e2
[ML] Fix jobs so it limit job menu actions for jobs that are closing (#79303)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-10-06 17:07:08 -05:00
John Schulz 302004df47
[Ingest Manager] Configure Elasticsearch output with YAML in global output settings (#79019)
## Summary
YAML entered on the Settings page will be added to each Elastic Agent policy 

### Settings form
<img width="50%" alt="Screen Shot 2020-10-05 at 9 29 27 AM" src="https://user-images.githubusercontent.com/57655/95085934-daa20880-06ed-11eb-9f52-aab5d69666ad.png"><img width="50%" alt="Screen Shot 2020-10-05 at 9 29 58 AM" src="https://user-images.githubusercontent.com/57655/95085886-c9f19280-06ed-11eb-8c85-a56b330cee37.png">


### Policy screen
<img width="50%" alt="Screen Shot 2020-10-05 at 9 30 38 AM" src="https://user-images.githubusercontent.com/57655/95085889-ca8a2900-06ed-11eb-9cd7-b7590101a15d.png">


### Input Validation
<details><summary>Fails if the value cannot be parsed as YAML, but there are no restricted keys or other guidance</summary>

<img width="50%" alt="Screen Shot 2020-10-05 at 9 32 39 AM" src="https://user-images.githubusercontent.com/57655/95086469-877c8580-06ee-11eb-8189-d70413a0a5c9.png">

</details>

### Open questions
  1. Is "Additional YAML Configuration" ok for the form?
    * Will use "Elasticsearch output configuration"
  1. Alternatives to [`additional_yaml_config`](https://github.com/elastic/kibana/pull/79019/files#diff-d2cc0ddf9161efb6898baca37350c720) for the new saved object key
    * No comments on the name but will move it to the outputs saved object


### Checklist

- [x] 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)
2020-10-06 18:02:44 -04:00
Joe Portner 13b8aed11d
[Docs] Update developer docs for create/bulkCreate initialNamespaces (#79769)
Co-authored-by: gchaps <33642766+gchaps@users.noreply.github.com>
2020-10-06 18:00:23 -04:00
Nathan L Smith 68130dfd87
Re-enable canvas storyshots (#79750)
* Only throw the error about building the DLL if we're not running in Jest
* Update existing storyshots
* Add Jest mock for Datasource story

All tests look to be passing and `yarn storybook canvas` works. I clicked through all the stories and it doesn't look like anything is broken.
2020-10-06 16:59:56 -05:00
Tyler Smalley 92ce8f3040 skips test failing promotion (#79777)
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2020-10-06 14:54:30 -07:00
Nathan Reese ab42ca2c64
[Maps] fix use correct mount-context (#79688)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-10-06 15:48:50 -06:00
Bohdan Tsymbala 383a912f17
[SECURITY_SOLUTION] Reused the naming scheme for field column in conditions table. (#79722)
* Reused the naming scheme for field column in conditions table.

* Updated snapshot.

* update Operator value to show as `is`

* Update Jest snapshot

Co-authored-by: Paul Tavares <paul.tavares@elastic.co>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-10-06 17:31:27 -04:00
Nicolas Chaulet 5853abc1ec
[Ingest Manager] Fix enrollment instructions missing args (#79730) 2020-10-06 17:20:50 -04:00
Joe Portner 1ba86666b1
Change legacy import 'version' field to optional (#79706) 2020-10-06 17:19:02 -04:00
Thomas Neirynck fd4eacd29f
[Maps] Enable geo-point for mvt scaling type (#79733) 2020-10-06 17:17:47 -04:00
Bohdan Tsymbala 0a713d3750
Fixed the grid view pagination. (#79717)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-10-06 17:14:09 -04:00
Yuliia Naumenko 4996020087
[Alerting UI] Fixed flaky alerting e2e tests (#79533)
* Removed skip on alerting e2e tests

* Reduced alerting tests execution time by removing page reload for each test. Added server side cleanup fo each test with createAlert. Removed long waiting toast method for reduce flakiness.

* Added additional cleanup and retry method for delete single alert
2020-10-06 14:11:05 -07:00
Joe Portner 0a02ac1327
Rename namespaces to initialNamespaces for create operations (#79682) 2020-10-06 17:01:26 -04:00
Brent Kimmel 7068e96007
[Security Solution][Resolver] Pills can overflow to the right of their bounding boxes (#79734) 2020-10-06 16:42:29 -04:00
Ryland Herrick a4a5393d1f
[Security Solution][Detections] Chore: Fix rule form warnings (#79590)
* Prevent react warnings for unknown `isVisible` prop

Unknown config options ultimately become attributes on an anchor/button
element, so we need to not overload these config objects.

* Fix react warning about unknown `isDisabled` prop

There is no `isDisabled` prop on the underlying `EuiFieldText`
component, so we should use the native `disabled` attribute instead.

* Fix warning about switching between un-/controlled componenents

On the first few renders, our input refs have not been set while a
default value has, so the length of our values is 1 while our refs is 0.
This causes us to hit the 'else' condition of our ternary, leading to an
input with no value. When the ref is then populated, a value is
generated and so is the error.

The previous logic here was always evaluating to `value: item` and so was
simplified.

* Fix jest warning on unexpected state update

* removes unnecessary use of act()
* renders our component within the test
  * This allows our test to synchronize with react and prevents the
    warning; I suspect it has something to do with the scoping of
    `wrapper` or the `beforeEach` not being async, but I haven't had
    time to investigate.

* Remove unnecessary test guards

These tets no longer throw warnings.
2020-10-06 15:38:26 -05:00
Constance c9d2398572
Revert "Temporarily remove Layout from App Search plugin for 7.10 release (#79506)" (#79702)
This reverts commit d5b8a95694.

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-10-06 13:24:27 -07:00
John Schulz 76e8d15b86
[Ingest Manger] Agent Policy names are unique (#79201)
## Summary
closes https://github.com/elastic/kibana/issues/71651

Agent Policy `name` values must be unique

These routes will return a 409 if a name is given which matches an existing agent policy

 * `POST /api/fleet/agent_policies`
 * `POST /api/fleet/agent_policies/{agentPolicyId}/copy`
 * `PUT /api/fleet/agent_policies/{agentPolicyId}`

`AgentPolicyService` members will throw `AgentPolicyNameExistsError` with id(s) of any existing policy/policies

### Checklist
[tests](bfea20049e/x-pack/test/ingest_manager_api_integration/apis/agent_policy/agent_policy.ts)
- [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios
2020-10-06 16:13:48 -04:00
John Schulz b8d53fd5aa
[Ingest Manager] Use optional registryProxyUrl setting when contacting Registry (#78648)
## Summary
If given a `xpack.fleet.registryProxyUrl` setting, Package Manager will use it when contacting the Registry. This only affects the outbound connection Package Manager makes to the Registry to search for available packages, download assets, etc.

### Configuration
<details><summary><strike>Initial PR: common environment variables</strike></summary>

<p>Currently the value must come from a <a href="https://github.com/Rob--W/proxy-from-env#environment-variables">list of popular environment variables</a> which include <code>ALL_PROXY</code>, <code>HTTPS_PROXY</code>, lowercase versions of those, and many more.</p>

<p>Start kibana with a proxy set in an environment variable like: <code>HTTPS_PROXY=https://localhost:8443 yarn start</code></p>

</details>

_update_ based on discussion in the comments, the initial environment variables approach was removed in favor of `xpack.ingestManager.registryProxyUrl`

#### see https://github.com/elastic/kibana/issues/78968 for additional configuration coming later

### Checklist
- [ ] ~~[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials.~~ Created https://github.com/elastic/kibana/issues/78961 to track
- [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios

Created https://github.com/elastic/kibana/issues/78968 to track the additional configuration work

refs https://github.com/elastic/kibana/issues/70710
2020-10-06 16:12:32 -04:00
Patryk Kopyciński 6f9f061e8e
[Security Solution] Update TLS fields used in drag-and-drop (#78815) 2020-10-06 22:06:49 +02:00
Tyler Smalley c2409365de skip flaky suite (#79248) 2020-10-06 12:45:08 -07:00
Quynh Nguyen 478f587b5d
[ML] Fix feature importance decision path not showing up (#79679) 2020-10-06 14:12:41 -05:00
Dima Arnautov 827f0c06fe
[ML] Replace swim lane implementation with elastic-charts Heatmap (#79315)
* [ML] replace swim lane vis

* [ML] update swimlane_container, add colors constant

* [ML] update swimlane_container, add colors constant

* [ML] update swimlane_container, add colors constant

* [ML] unfiltered label for Overall swim lane

* [ML] tooltip content

* [ML] fix styles, override legend styles

* [ML] hide timeline for overall swimlane on the Anomaly Explorer page

* [ML] remove explorer_swimlane component

* [ML] remove dragselect dependency

* [ML] fix types

* [ML] fix tooltips, change mask fill to white

* [ML] fix highlightedData

* [ML] maxLegendHeight, fix Y-axis tooltip

* [ML] clear selection

* [ML] dataTestSubj

* [ML] remove jest snapshot for explorer_swimlane

* [ML] handle empty string label, fix translation key

* [ML] better positioning for the loading indicator

* [ML] update elastic/charts version

* [ML] fix getFormattedSeverityScore and showSwimlane condition

* [ML] fix selector for functional test

* [ML] change the legend alignment

* [ML] update elastic charts
2020-10-06 20:51:23 +02:00
Thomas Watson e31ec7eb54
Give user the option to log out if they encounter a 403 (#75538) 2020-10-06 20:40:28 +02:00
Melissa Alvarez 4c65b6dda4
[ML] DF Analytics results view: ensure boolean values in charts shown without formatting (#78888)
* add functional test for searchBar filters. remove boolean schema from datagrid

* always use string version of key for charts

* add schema back in for histogram label

* use ?? instead of || for undefined check
2020-10-06 14:37:47 -04:00
Maja Grubic 0e89431825
[Visualize Editor] Add cancel button when navigating from Dashboard (#77608)
* Add cancel button in the visualize editor

* Fixing i18n namespace

* Always show cancel button

* Always show cancel button

* Adding a fucntional test

* Show confirm dialog only if there are unsaved changes

* Show confirm modal only if there are changes

* Add onAppLeave handler and ditch confirmModal

* Fix functional test

* Only use onAppLeave if coming from dashboard/canvas

* Add actions.default to onSave and onSaveAndReturn

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-10-06 19:20:53 +01:00
Sandra Gonzales 68c6aa7409
Fixes Fleet API path (#79724) 2020-10-06 10:57:00 -07:00
Angela Chuang 8cab902482
[Security Solution] Update export timeline success message by exported timelines' type (#79469)
* init tests

* fix export on success message

* add cypress tests

* fix unit tests

* fix unit tests

* Update x-pack/plugins/security_solution/public/timelines/components/timeline/pin/index.tsx

Co-authored-by: Xavier Mouligneau <189600+XavierM@users.noreply.github.com>

Co-authored-by: Xavier Mouligneau <189600+XavierM@users.noreply.github.com>
2020-10-06 18:52:44 +01:00
Thomas Watson 8cae9ef25b
Handle errors better in spaces selector (#79471) 2020-10-06 19:43:07 +02:00
Dima Arnautov 3002108c40
[ML] rename inference to trained_models (#79676) 2020-10-06 19:31:59 +02:00
Shahzad d845922a1a
[UX] Update url filter (#79497) 2020-10-06 19:29:41 +02:00
Melissa Alvarez 06f87bb838
[ML] DF Analytics creation wizard: resolve clone usability issues (#79048)
* show error when clone fails due to no index pattern

* default results_field unless specified

* results field switch set to on if resultsField for cloned job is default

* ensure cloned job config not overwritten in advanced editor

* show errorToast if unable to clone anomalyDetection job due to no indexPattern

* ensure jobConfig query getting saved in form state

* ensure index patterns with commas handled correctly

* clone should accept comma separated index patterns

* use nullish coalescing operator when checking for undefined analysisFields
2020-10-06 13:29:16 -04:00
Christos Nasikas 287541891e
[Security Solutions][Case] Settings per case per connector (#77327)
Co-authored-by: Xavier Mouligneau <189600+XavierM@users.noreply.github.com>
Co-authored-by: Steph Milovic <stephanie.milovic@elastic.co>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-10-06 20:03:46 +03:00