Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] main from elastic:main #529

Merged
merged 44 commits into from
Aug 26, 2023
Merged

[pull] main from elastic:main #529

merged 44 commits into from
Aug 26, 2023

Conversation

pull[bot]
Copy link

@pull pull bot commented Aug 25, 2023

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

mattkime and others added 8 commits August 24, 2023 21:03
## Summary

I'm waiting for this to fail CI - this means that a new ES snapshot is
being used. Then we update the test snapshot and should be good to
merge.

The lastest ES snapshot is returning field types in a different order
which really doesn't matter to this endpoint so I'll just update the
snapshot.

Closes #164753
## Summary

This PR fixes a bug found by @jamesspi when it's Coverage Overview page doesn't show the cards but applying individual filters makes the page rendering.

## Steps to reproduce the problem

- create a non security rule in your environment
- navigate to the Coverage Overview page

Expected behavior
Coverage Overview page is loaded and displays the cards.

Actual behavior
Coverage Overview page does not display the cards.

## Details

`rulesClient.find()` was used directly instead of `findRules()` helper function defined in Security Solution. The subtle different between these two is that `findRules()` passes filter to `enrichFilterWithRuleTypeMapping()` to make sure only security rules are fetched and processed. As `rulesClient.find()` returned all the rules there was a non security rule in the list with missing `rule.params` field causing the endpoint to fail. This has been fixed by using `findRules()`.

### Checklist

- [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
closes: #160378

## Summary

This PR adds a date-picker to the Asset Details (full page and flyout)

**Flyout**
<img width="1435" alt="image"
src="https://github.com/elastic/kibana/assets/2767137/a1adb3b0-b3d5-4ca3-9076-6dafd44eebbc">


**Full page view**
<img width="1422" alt="image"
src="https://github.com/elastic/kibana/assets/2767137/ad14764b-fdc2-4773-b8d0-7f2e271d89a5">

**Setting a date range**


https://github.com/elastic/kibana/assets/2767137/4c41d9ee-6c18-45af-9bda-3cae6f372b7b

**Brush event filter**


https://github.com/elastic/kibana/assets/2767137/5830dcd7-7d66-45ed-a463-15bb79607f2a

### Bonus

The uptime link was removed since the UI won't work.

### How to test

- Start a local Kibana instance
- Start metricbeat with system module enabled
- Navigate to `Infrastructure` > `Hosts`
  - Click on a host name and check if the new Node Details page opened
- Check if the date range is set with the same date range from the Host
Detail view
- Navigate to `Infrastructure` > `Hosts`
   -  Open the flyout
- Click on Open as page and check if the new Node Details page opened
with the same date range from the Host Detail view
- Navigate to Infrastructure > Inventory
- With Show: Host selected, click on a waffle item to open the flyout,
click on Open as page and check if the new Node Details page opened with
the same date range from the Inventory UI

Validate if the date picker value is applied to all tabs that have the
component (Overview, Metadata, Processes, Logs, Anomalies)
Validate if the date range changes when selecting a time range in the
charts (in the flyout, the date range from the Hosts View must not
change)

---------

Co-authored-by: Kibana Machine <[email protected]>
## Summary

Serverless test for list view
#164552


### Checklist

- [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

---------

Co-authored-by: kibanamachine <[email protected]>
@pull pull bot added the ⤵️ pull label Aug 25, 2023
patrykkopycinski and others added 21 commits August 25, 2023 13:22
## Summary

`@cypress/grep` is just reading the file as text, so it's not capable of
evaluating the variables, because of that, today we are running all the
spec files, and that means that we are setting up a new stack just to
stop it a few seconds later after grep skips the spec file

https://github.com/cypress-io/cypress/blob/develop/npm/grep/src/plugin.js#L117

With variable:
<img width="1219" alt="Zrzut ekranu 2023-08-23 o 23 06 30"
src="https://github.com/elastic/kibana/assets/5188868/97b6fdaa-a03a-4a4f-bbdc-97da8e1788ce">

With string:
<img width="2074" alt="Zrzut ekranu 2023-08-23 o 23 06 04"
src="https://github.com/elastic/kibana/assets/5188868/1f48d20a-3a1a-4ded-aa47-493781a4758b">

---------

Co-authored-by: kibanamachine <[email protected]>
…ge (#164537)

## Summary

This PR adds single user performance journey to track CRUD operations on
Tags listing page:
- get all tags on initial loading
- create a new tag 
- update the tag
- delete the tag
- bulk delete (first 20 tags)

flaky-test-runner 25x:
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2966

Added visualisations to monitor metrics, most operations take <1 second
<img width="523" alt="image"
src="https://github.com/elastic/kibana/assets/10977896/f4c14e49-edf6-4fff-9f31-30b8a67970e9">

Since bulk delete takes ~20 sec, I put it on the separate visualisation
<img width="523" alt="Screenshot 2023-08-23 at 18 19 46"
src="https://github.com/elastic/kibana/assets/10977896/467983f8-f8eb-486a-8e27-beac0d9b1f37">


https://telemetry-v2-staging.elastic.dev/s/kibana-performance/app/dashboards#/view/dd0473ac-826f-5621-9a10-25319700326e?_g=h@3b0c329

To run locally: `node scripts/functional_tests.js --config
x-pack/performance/journeys/tags_listing_page.ts`

Note: this journey is compatible to be executed on Serverless project

---------

Co-authored-by: kibanamachine <[email protected]>
- Functions page e2e test
- Differential Functions page e2e test
**Relates to:** #161507

## Summary

This PR fixes **bulk_edit_rules.cy.ts** flakiness found while running Security Solution Cypress tests in Flaky test runner ([run 1](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2969) and [run 2](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2970)).

## Flaky test runner

[bulk_edit_rules.cy.ts 300 runs](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2975) 🟢
## Summary

Serverless test for configure cases
#164552


### Checklist

- [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
…hreshold rules (#164231)

## Summary

ref: #163369

prevents threshold rules from throwing error message that covers up
shard failures messages


<img width="1245" alt="threshold_search_errors"
src="https://github.com/elastic/kibana/assets/915763/9ed9050b-dcc8-456a-957b-a96407da6fe0">
## Summary

Fixed the Code box component to take the console request instead of
re-using the code snippet which is specific for the language and won't
work in our dev console.

Since the console snippets are the same I moved it to the shared project
so it can be used by both dedicated and serverless.
Connected with #164552

## Summary
This PR creates a serverless version of the tests currently in
`x-pack/test/functional_with_es_ssl/apps/cases/group1/create_case_form.ts`.

---------

Co-authored-by: kibanamachine <[email protected]>
Relates to #162032
Attempts to fix most of the Cypress Flaky tests as almost all reported
Flaky tests have this piece in common which is the absolute time range
selection logic.

APM Cypress test running 50 times on the Flaky Test Runner -
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2990
## Summary
@dgieselaar suggested we quarantine this test because it's pretty flaky.

https://elastic.slack.com/archives/C5UDAFZQU/p1692963699773759

---------

Co-authored-by: Tiago Costa <[email protected]>
When in data view management an exact match index pattern is entered (without wildcard), there's now a status code of 404 instead of 500 returned, and no more error message logged.
## Summary

Another victim of the infamous javascript true-ish/false-ish.

Fix a bug that allowed an empty UUID file to bypass the regexp
validation and use an empty string as instance UUID.
Fixes #160854

When checking the space information for the selected jobs, the modal now
looks like this:


![image](https://github.com/elastic/kibana/assets/22172091/9040f767-6e74-440b-b845-90a703e8830f)
## Summary

Updated the search api panels shared code to use `assetBasePath` instead
of building it from `http` & `pluginId` since the assets are in
different folders between `serverless_search` & `enterprise_search`.
Because of this several components we're failing to load icons in
enterprise search.
… code generation (#164482)

**Part of: elastic/security-team#6726

## Summary

Migrates the prebuilt rules and timelines status API route schema to
OpenAPI. This is exploratory work to assess the level of effort required
to migrate API route schemas from `io-ts` to `zod` generated by OpenAPI
codegen.

**Summary of the changes:**

- Added a CI job that runs code generation in Security Solution and
comments change if there are any.
- Migrated the `/api/detection_engine/rules/prepackaged/_status` route
to use generated `zod` schemas
- Updated schema tests
- Adjusted the code generator templates to handle `strict` schemas,
i.e., schemas that do not allow any extra params
- Updated the error transformation code to work with zod errors.
Validation errors are converted to string representations, like the
following:
<img width="627" alt="image"
src="https://github.com/elastic/kibana/assets/1938181/93002573-972f-42e1-901d-01a19937f568">
…164861)

## Summary

This PR handles #164408

There are some cases in which Alert Renderer cannot be wrapped beyond a
minimum width. To handle those cases, this PR handles overflow
scrolling.

Below before/after video shows the differences.

| Before | After |
|--|--|
| <video
src="https://github.com/elastic/kibana/assets/7485038/6c95a74d-db85-41db-a2c6-4fc64998e82d"
/> | <video
src="https://github.com/elastic/kibana/assets/7485038/1b7944c8-66a7-4cd9-a579-06a2e0e05ebf"
/> |


### Checklist

Delete any items that are not applicable to this PR.

- [x] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [x] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)



### For maintainers

- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
efegurkan and others added 15 commits August 25, 2023 14:09
…ound (#164877)

## Summary

Addresses: #164813

Added a background to the full screen overlay:

<img width="1676" alt="Screenshot 2023-08-25 at 1 10 35 PM"
src="https://github.com/elastic/kibana/assets/17211684/2cda15bb-9e1b-4897-8ba8-54a74e89b6f1">


dark mode:

<img width="1722" alt="Screenshot 2023-08-25 at 1 34 23 PM"
src="https://github.com/elastic/kibana/assets/17211684/19a82077-5612-4de2-9020-1238a6d6d7d4">
…ovements (#164179)

**Addresses: #162334
**Base PR: #163304

<img width="1177" alt="Screenshot 2023-08-24 at 04 09 07"
src="https://github.com/elastic/kibana/assets/15949146/73ac6726-69d4-4c46-bb16-da704a02aba5">

## Summary

This is a follow-up refactoring and bugfix PR to improve the prebuilt
rules flyout. Base PR: #163304

#### Changes
- [x] Tweak UI so that it matches the design more closely.
[Design](https://www.figma.com/file/gLHm8LpTtSkAUQHrkG3RHU/%5B8.7%5D-%5BRules%5D-Rule-Immutability%2FCustomization?type=design&node-id=3563-612771&mode=design&t=yqZ6LI0vAjbir9xc-0)
(external).
- [x] Rewrite preview installation and upgrade API endpoints to respond
with `RuleResponse` instead of `DiffableRule`
- [x] Revert some changes introduced by this
[PR](#163304)
- [x] Revert exports in
`x-pack/plugins/security_solution/common/api/detection_engine/model/rule_schema/rule_schemas.ts`
- [x] Delete
`x-pack/plugins/security_solution/common/detection_engine/diffable_rule_to_rule_response.ts`
- [x] Make the data contexts unaware of any UI elements that are
consuming them
- [x] Move rendering of specialized flyout components into to the
context provider so that the table is unaware of the flyout.
- [x] Make "flyoutRule" and "closeFlyout" internal to the context.
Components outside don't need to know anything about how a rule is
displayed. We can encapsulate this knowledge inside the context and
expose only a generic method, like openRulePreview(ruleId)
 - [x] Remove unnecessary checks after using "invariant"
- [x] Make sure query, timeline template and all the other fields are
shown in the flyout. Compare each rule in a flyout with the Rule Details
to ensure that all fields are in place.
- [x] Remove the enable / disable switch machine learning job UI switch
element
- [x] Add custom highlighted fields to the flyout
([comment](#163235 (comment)))


### Checklist

Delete any items that are not applicable to this PR.

- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials. [Docs
ticket](elastic/security-docs#3798)
- [x] Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [x] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [x] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)
## Summary
@jloleysens reported that ESLint breaks (probably in IDEs only) because
of this bug. When there's an unused import, linting stops for the whole
file.

By adding this flag, it no longer breaks on my machine, however,
auto-fixing still doesn't work from the CLI. The IDE auto-fixes because
it also recognizes it as a non-unsed variable.

- add `meta.hasSuggestions` to `@kbn/imports/no_unused_imports` prevent
ESLint from breaking
…der menu item (#164763)

## Summary

Adds new Elastic AI Assistant logo and global header menu item to all
Security Solution pages.

Resolves elastic/security-team#7407

New logo within the assistant itself (header and assistant avatar):

<p align="center">
<img width="500"
src="https://github.com/elastic/kibana/assets/2946766/2a94c2ca-37d6-49f0-af59-2b15fd37d81e"
/>
</p> 

New global header menu for both on-prem and serverless security
`complete` deployments:

<p align="center">
<img width="500"
src="https://github.com/elastic/kibana/assets/2946766/67b030fe-fb36-4a68-9331-d636e15a68f4"
/>
</p> 

<p align="center">
<img width="500"
src="https://github.com/elastic/kibana/assets/2946766/74751e3a-a88a-4b39-bec0-73497dcd98b1"
/>
</p> 


Note: If Security Assistant RBAC privileges are `NONE` (which includes
serverless deployments that are NOT security `complete`), the global
header button will be hidden. We can revisit the upsell messaging
opportunity here for serverless deployments.



### Checklist

Delete any items that are not applicable to this PR.

- [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/main/packages/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
* @elastic/security-docs, will need to update images and make note of
new global header item, will create issue...
elastic/security-docs#3804
- [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
…s to Investigation guide in right and left panels (#164876)
…ar in APM rules (#164540)

Fixes #163781

- `kqlFilter` which was string is replaced with `searchConfiguration`
- Replaces KQL filter component with Unified Search bar
- Removed "Technical Preview" from the "Filter" label
@pull pull bot merged commit 0f4052b into miqdigital:main Aug 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.