Commit graph

84318 commits

Author SHA1 Message Date
Anton Dosov
e676a6399c
Clean up REACT_18=true variable (#213246)
## Summary

Clean up `REACT_18=true` variable post [react@18
upgrade](https://github.com/elastic/kibana/pull/209337)


Should also address issue reported in slack 

> error https://registry.yarnpkg.com/react/-/react-18.2.0.tgz: Integrity
check failed for "react" [...]

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-03-05 17:40:05 +01:00
Alberto Blázquez
af147b5cc6
Set from & to as optional args in @kbn/grouping (#213212)
## Summary

Set `from` and `to` as optional args in `getGroupingQuery`, a function
exposed by `@kbn/grouping`.

It will unblock this PR:
- https://github.com/elastic/kibana/pull/212955

### Motivation 

`getGroupingQuery` returns an ES aggregation for grouping documents.
This function assumes data will be queried in a certain interval of
time. However, Asset Inventory needs to query data from the beginning of
time because the UI will not provide any time-range filter. So in order
to reuse this logic, we need to set both args as optional.

Reason for wrapping both fields in an optional `timeRange` record is to
have either both present or both undefined, not only one of them
present.

### Checklist

- [ ] 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/src/platform/packages/shared/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
- [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
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [x] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Risks

No risk at all. It would be a breaking change otherwise, if we had to
require args that were optional before.
2025-03-05 11:21:54 -05:00
Luke Gmys
529a8573fa
[Case Observables] Implement server side validation (#209706)
## Summary

This PR introduces validation rules for Case Observables, shared between
client and the server.

### Testing

- Create a case
- Add on observable to it, picking up the ipv4 as an observable type
(for instance)
- Verify that only the valid values are allowed.
- Try updating the observable after it is created, same validation rules
apply.
- Do the same thing using API routes.
2025-03-05 17:03:45 +01:00
Jatin Kathuria
197a281bf9
[Siem Migrations] Translated Rules Upsell Page (#212777)
## Summary

This PR adds the Upsell for `Translated Rules` Page as per
[design](https://www.figma.com/design/BD9GZZz6y8pfSbubAt5H2W/%5B8.18%5D-GenAI-Powered-SIEM-Migration%3A-Rule-translation?node-id=63-81202&p=f&t=oJug1zebtufPlNKM-0).


Below is the Demo for the same.

|Instance|Demo|
|---|---|
|ESS|<video
src="https://github.com/user-attachments/assets/d7484635-292d-4bf0-883b-c9fd93b72096"/>|
|Serverless|<video
src="https://github.com/user-attachments/assets/767d8409-a391-41b8-b4d1-1c838dffc363"/>|




### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [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/src/platform/packages/shared/kbn-i18n/README.md)

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


### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-03-05 15:53:26 +01:00
Krzysztof Kowalczyk
d5d1c8fa75
Hide main analytics applications on overview page if unavailable (#213198)
## Summary

This PR fixes a bug where unavailable (due to lack of permissions)
"main" analytics applications would show for users on Kibana overview
page.
Closes: #212171
2025-03-05 15:17:55 +01:00
Nicolas Chaulet
680bf587df
[Fleet] Tabular UI for installed integrations (#212582) 2025-03-05 08:56:02 -05:00
Dzmitry Lemechko
1e3bb05734
[scout] fix playwright configs discovery script and add save flag for CI (#213147)
## Summary

This PR fixes the search logic to look for playwright configs in all
possible & expected locations (`src/*` was not working), matching one of
3 regexp:
```
      /(x-pack\/platform\/plugins\/(?:private|shared|[^\/]+)\/([^\/]+))\/ui_tests\//,
      /(x-pack\/solutions\/[^\/]+\/plugins\/([^\/]+))\/ui_tests\//,
      /(src\/platform\/plugins\/(?:private|shared)?\/?([^\/]+))\/ui_tests\//,
```

For each plugin we also have `usesParallelWorkers` prop (`true` if at
least 1 config runs with concurrent workers) to decide later, if we need
worker with 4 or 8 VCPUs.

The idea is to run `node scripts/scout discover-playwright-configs
--save` on CI and use generated json as source to build test run
pipeline.

Current output:

```
{
  "discover_enhanced": {
    "group": "platform",
    "pluginPath": "x-pack/platform/plugins/private/discover_enhanced",
    "configs": [
      "x-pack/platform/plugins/private/discover_enhanced/ui_tests/parallel.playwright.config.ts",
      "x-pack/platform/plugins/private/discover_enhanced/ui_tests/playwright.config.ts"
    ],
    "usesParallelWorkers": true
  },
  "maps": {
    "group": "platform",
    "pluginPath": "x-pack/platform/plugins/shared/maps",
    "configs": [
      "x-pack/platform/plugins/shared/maps/ui_tests/playwright.config.ts"
    ],
    "usesParallelWorkers": false
  },
  "observability_onboarding": {
    "group": "observability",
    "pluginPath": "x-pack/solutions/observability/plugins/observability_onboarding",
    "configs": [
      "x-pack/solutions/observability/plugins/observability_onboarding/ui_tests/parallel.playwright.config.ts",
      "x-pack/solutions/observability/plugins/observability_onboarding/ui_tests/playwright.config.ts"
    ],
    "usesParallelWorkers": true
  }
}
```
2025-03-05 14:49:43 +01:00
Tomasz Kajtoch
75f9c6113d
Upgrade EUI to v99.4.0 (#212974) 2025-03-05 14:09:55 +01:00
Paulina Shakirova
5135acf2a3
[Papercut] Change in sortBy dropdown component option name wording (#206464)
## Summary
Change wording in sortBy dropdown
2025-03-05 13:18:21 +01:00
Davis Plumlee
461787bea6
[Security Solution] Add UI incentivizers to upgrade prebuilt rules (#211862)
## Summary

Partially addresses https://github.com/elastic/kibana/issues/210358

Adds all callouts and logic to incentivize users to upgrade their rules asap. These include:

- [x] Showing a callout on the Rule Management page
- [x] Showing a callout on the Rule Details page
  - [x] Letting users open the Rule Upgrade flyout from the Rule Details page
- [x] Showing a callout on the Rule Editing page
- [x] Showing a callout in the Rule Upgrade flyout if rule has missing base version

This PR also adds related updates to the rule diff algorithms in order to facilitate an easier upgrade experience when rules have missing base versions. These include:

- [x] When the rule has a missing base version and is NOT marked as customized:
  - [x] We should return all the target fields from the diff algorithm as NO_CONFLICT
- [x] When the rule has a missing base version and is marked as customized:
  - [x] We should attempt to merge all non-functional mergeable fields (any field that doesn't have consequences with how the rule runs e.g. tags) and return them as `SOLVABLE_CONFLICT`.
    - **NOTE**: When base versions are missing and the rule is customized, we attempt to merge all mergable, non-functional rule fields. These include all fields covered by the scalar diff array (`tags`, `references`, `new_terms_fields`, `threat_index`). We typically also consider multi-line string fields as mergeable but without three versions of the string, we are currently unable to merge the strings together, so we just return target version.
  - [x] We should pick the target version for all functional mergeable fields (e.g. `index`) and non-mergeable fields and return them as `SOLVABLE_CONFLICT`.


### Screenshots


**Callout on Rule details page w/ flyout button**
![Screenshot 2025-03-03 at 3 58 17 PM](https://github.com/user-attachments/assets/77117cad-fd8c-4b37-8ef7-f66d77f373b8)

---

**Upgrade flyout now accessible from rule details page**
![Screenshot 2025-03-03 at 3 58 25 PM](https://github.com/user-attachments/assets/f78e10fe-0767-44ab-a9c9-a5ae616b8b0e)

---

**Callout on rule editing page**
![Screenshot 2025-03-03 at 3 58 38 PM](https://github.com/user-attachments/assets/be68420f-a612-4e3d-9139-ad65a3d8b9fc)

---

**Dismissible callout on rule management page**
![Screenshot 2025-03-03 at 3 57 52 PM](https://github.com/user-attachments/assets/5227a4d1-474a-44d2-b0bb-fc020e584e8e)

---

**Callout in rule upgrade flyout when rule has missing base version**
![Screenshot 2025-03-03 at 3 58 04 PM](https://github.com/user-attachments/assets/3c1a23fa-f1f0-4301-b392-4c91097a9cb9)

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [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/src/platform/packages/shared/kbn-i18n/README.md)
- [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
2025-03-05 13:14:31 +01:00
Mike Côté
c4fce98bbf
Default xpack.task_manager.capacity to 20 for security projects (#212762)
Towards https://github.com/elastic/response-ops-team/issues/248

In this PR, I'm setting the default `xpack.task_manager.capacity` value
to `20` for security serverless projects. We've incremented this setting
gradually via gitops over the past few months and now it's set to `20`
across all environments. Before we cleanup the gitops repo, we need to
roll this out to all environments for the setting to remain in place.
2025-03-05 07:03:31 -05:00
Arturo Lidueña
cb4e2023b4
fix: Product Documentation function not available error (#212676)
## Summary
Closes [#212655](https://github.com/elastic/kibana/issues/212655)
FIX:
When a user asks a question about the Elastic stack, we expect the LLM
to request the `retrieve_elastic_doc` function. However, due to the
limit of number of functions we can register, it errors out because the
function is not available.


![Image](https://github.com/user-attachments/assets/585ee05d-f10b-4a03-b40b-a07b2148d11b)
2025-03-05 12:43:16 +01:00
Ievgen Sorokopud
85555042be
[Attack Discovery][Scheduling] Add a new feature flag to hide scheduling feature (#12005) (#213148)
## Summary

Feature description: [internal
link](https://github.com/elastic/security-team/issues/10142)
Addresses: [internal
link](https://github.com/elastic/security-team/issues/12005)

These changes introduce a new feature flag to control visibility of the
Attack Discovery Scheduling feature.

To enable the flag:

> xpack.securitySolution.enableExperimental:
['assistantAttackDiscoverySchedulingEnabled']
2025-03-05 12:18:49 +01:00
Jatin Kathuria
4998b75677
[Siem Migration] - Start/Stop Translation integration tests (#212030)
## Summary

Handles
- https://github.com/elastic/security-team/issues/11232

This PR adds the integration tests for 
- Start Translation API
- Stop Translation API
2025-03-05 12:06:06 +01:00
Søren Louv-Jansen
0fb83efd82
[Obs AI Assistant] Add API test for get_alerts_dataset_info tool (#212858)
Follow-up to: https://github.com/elastic/kibana/pull/212077

This PR includes an API test that covers `get_alerts_dataset_info` and
would have caught the bug fixed in
https://github.com/elastic/kibana/pull/212077.

It also contains the following bug fixes:

- Fix system message in `select_relevant_fields`
- Change prompt in `select_relevant_fields` so that the LLM consistently
uses the right format when responding.
2025-03-05 09:09:22 +01:00
Kibana Machine
752af8338e
[api-docs] 2025-03-05 Daily api_docs build (#213194)
Generated by
https://buildkite.com/elastic/kibana-api-docs-daily/builds/1002
2025-03-05 08:21:34 +01:00
Tiago Costa
d8cf0b3e98
chore(NA): update versions after v8.16.6 bump (#213140)
This PR is a simple update of our versions file after the recent bumps.
2025-03-05 06:04:12 +00:00
Tiago Costa
9bf97d93f8
chore(NA): update versions after v8.17.4 bump (#213141)
This PR is a simple update of our versions file after the recent bumps.
2025-03-05 03:27:12 +00:00
elastic-renovate-prod[bot]
e45c87adaf
Update ftr (main) (#211963)
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| [chromedriver](https://redirect.github.com/giggio/node-chromedriver) |
devDependencies | patch | [`^133.0.0` ->
`^133.0.2`](https://renovatebot.com/diffs/npm/chromedriver/133.0.0/133.0.2)
| `133.0.3` |
|
[selenium-webdriver](https://redirect.github.com/SeleniumHQ/selenium/tree/trunk/javascript/node/selenium-webdriver#readme)
([source](https://redirect.github.com/SeleniumHQ/selenium)) |
devDependencies | minor | [`^4.28.1` ->
`^4.29.0`](https://renovatebot.com/diffs/npm/selenium-webdriver/4.28.1/4.29.0)
| |

---

### Release Notes

<details>
<summary>giggio/node-chromedriver (chromedriver)</summary>

###
[`v133.0.2`](https://redirect.github.com/giggio/node-chromedriver/compare/133.0.1...133.0.2)

[Compare
Source](https://redirect.github.com/giggio/node-chromedriver/compare/133.0.1...133.0.2)

###
[`v133.0.1`](https://redirect.github.com/giggio/node-chromedriver/compare/133.0.0...133.0.1)

[Compare
Source](https://redirect.github.com/giggio/node-chromedriver/compare/133.0.0...133.0.1)

</details>

<details>
<summary>SeleniumHQ/selenium (selenium-webdriver)</summary>

###
[`v4.29.0`](05c87ca7c1...5fc1ec94cb)

[Compare
Source](05c87ca7c1...5fc1ec94cb)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJUZWFtOk9wZXJhdGlvbnMiLCJiYWNrcG9ydDpza2lwIiwicmVsZWFzZV9ub3RlOnNraXAiXX0=-->

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
2025-03-05 03:01:40 +01:00
elastic-renovate-prod[bot]
3aa17a5f35
Update docker.elastic.co/wolfi/chainguard-base:latest Docker digest to 15a4191 (main) (#212956)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| docker.elastic.co/wolfi/chainguard-base | digest | `6387bd4` ->
`15a4191` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJUZWFtOk9wZXJhdGlvbnMiLCJiYWNrcG9ydDpza2lwIiwicmVsZWFzZV9ub3RlOnNraXAiXX0=-->

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
2025-03-05 02:53:52 +01:00
Nathan Reese
f66fa68ab5
[dashboard] remove folder src/platform/plugins/shared/dashboard/public/dashboard_container (#212587)
PR removes `dashboard_container` and adds `dashboard_renderer` folder. I
tried to find a best fit for files but have no strong opinions about
where I put things. Please comment if you would like files in different
locations.

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-03-04 18:36:03 -07:00
Patryk Kopyciński
5e742f0425
[Security Assistant] Fix use default inference endpoint (#212191)
## Summary

Removes internal feature flag responsible for switching to Kibana's
internal inference endpoint instead of using a dedicated one.

How to test:

**Clean cluster:**
**1. Setup KB**
**2. Make sure the `.kibana-elastic-ai-assistant-knowledge-base-*` Data
Stream is using default Inference endpoint**
```
http://localhost:5601/app/management/data/index_management/component_templates/.kibana-elastic-ai-assistant-component-template-knowledge-base
```
<img width="1656" alt="image"
src="https://github.com/user-attachments/assets/84fda205-6272-4393-8f7d-a449fae2a090"
/>

<img width="1086" alt="image"
src="https://github.com/user-attachments/assets/19e562ec-da5f-4ec2-ab64-7bfb1d64789c"
/>

**3. Make sure there is no inference endpoint on the list**
<img width="1875" alt="image"
src="https://github.com/user-attachments/assets/3465df8b-7c0d-4faf-b113-df897694521e"
/>

**4. Make sure Security Labs content exists on KB list and you can add
and edit Document/Index entry
```
http://localhost:5601/app/management/kibana/securityAiAssistantManagement?tab=knowledge_base
```

Migration:
**1. Setup KB on at least 2 Kibana spaces on `main` branch**
**2. Switch to this PR's branch and start Kibana**
**3. Make sure there is no inference endpoint on the list**
```
http://localhost:5601/app/elasticsearch/relevance/inference_endpoints
```
<img width="1875" alt="image"
src="https://github.com/user-attachments/assets/3465df8b-7c0d-4faf-b113-df897694521e"
/>

**4. Make sure that the Data stream was rolled over**
```
http://localhost:5601/app/management/data/index_management/indices?filter=know&includeHiddenIndices=true
```
Should see two indices per Kibana space:
<img width="1741" alt="Zrzut ekranu 2025-03-3 o 15 37 55"
src="https://github.com/user-attachments/assets/e6da48c8-59e9-43b8-8eac-c2b5e0059954"
/>

The older index per space should have mapping:
<img width="1083" alt="image"
src="https://github.com/user-attachments/assets/01f6e422-77d1-4f8b-8b7e-9c541a7ea47c"
/>

Newer index per space:
<img width="1086" alt="image"
src="https://github.com/user-attachments/assets/19e562ec-da5f-4ec2-ab64-7bfb1d64789c"
/>

**4. Make sure Security Labs content exists on KB list and you can add
and edit Document/Index entry
```
http://localhost:5601/app/management/kibana/securityAiAssistantManagement?tab=knowledge_base
```

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-03-05 02:14:08 +01:00
Saikat Sarkar
1e00a04c2b
[Playground] Increase the height of the indices container (#212827)
This PR increase the height of the container for indices in the
playground




https://github.com/user-attachments/assets/0fbacb11-ce8e-4566-b07e-b6058de89af0
2025-03-04 17:34:42 -07:00
Davis McPhee
80c142a5db
[Search] Fix unrecognized parameter: [indexType] error (#212707)
## Summary

This PR fixes an issue introduced in #208776 where switching from ES|QL
mode to classic mode in Discover caused the search request to fail with
an `unrecognized parameter: [indexType]` error. This was because the
`indexType` was actually being sent as part of the search request
`params` when it shouldn't have been.

We already had some rollup tests that would have caught it, but a
workaround was also added to the rollup search strategy to sidestep the
issue, preventing the tests from failing. That workaround has been
removed and existing ES|QL tests updated to catch the issue specifically
for ES|QL mode.

Fixes #212704.

### Checklist

- [ ] 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/src/platform/packages/shared/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
- [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
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
2025-03-04 20:33:41 -04:00
Nathan Reese
3ce9019ce3
[controls] fix Korean characters split into 2 characters with space in between when typing in options list search input (#213164)
Closes https://github.com/elastic/kibana/issues/213150

Test steps
* Follow https://www.youtube.com/watch?v=vjulSf3Kwu4 to setup duel
language inputs with English and Korean.
* Create a dashboard with an options list. Switch to Korean input and
type in option list control. Type the characters `d` and `k` on an
english keyboard.
* Ensure input treats value as a single character.
<img width="591" alt="Screenshot 2025-03-04 at 1 52 14 PM"
src="https://github.com/user-attachments/assets/c7cfe0f5-156d-4949-932a-96067bf20fd6"
/>

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-03-04 16:43:38 -07:00
Krzysztof Kowalczyk
c3c8f7befb
[Global Search] Register custom integrations search provider (#213013)
## Summary

This PR creates search provider for custom integrations so they show up
in Global Search.
Closes: #115778
2025-03-05 00:00:33 +01:00
Jon
98a7259ee1
[artifacts] Remove default --openssl-legacy-provider (#213123)
# Release note

Legacy OpenSSL algorithms have been disabled by default. Further
information on which algorithms can be found at
https://docs.openssl.org/3.0/man7/OSSL_PROVIDER-legacy. These can be
re-enabled by adding `--openssl-legacy-provider` to
`$KBN_PATH_CONF/node.options`
2025-03-04 16:51:46 -06:00
Arturo Lidueña
b331fa1c53
[Observability AI Assistant] duplicate conversations (#208044)
Closes #209382

### Summary:

#### Duplicate Conversation  
- **Readonly** → Public conversations can only be modified by the owner.
- Duplicated conversations are **owned** by the user who duplicates
them.
- Duplicated conversations are **private** by default `public: false`. 
  

https://github.com/user-attachments/assets/9a2d1727-aa0d-4d8f-a886-727c0ce1578c

UPDATE:


https://github.com/user-attachments/assets/ee3282e8-5ae8-445d-9368-928dd59cfb75

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] 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/src/platform/packages/shared/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
- [ ] [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
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
2025-03-04 23:15:37 +01:00
Kevin Delemme
df59c26083
feat(slo): update preview data API to show groups (#211801) 2025-03-04 17:04:10 -05:00
Hannah Mudge
b32f0fe1e8
[kbn-grid-layout] Store rows in object instead of array (#212965)
Closes https://github.com/elastic/kibana/issues/211930

## Summary

This PR makes it so that `kbn-grid-layout` stores its rows as an object
/ dictionary (`{ [key: string]: GridRowData }`) rather than an array
(`Array<GridRowData>`). This is a prerequisite for
https://github.com/elastic/kibana/issues/190381 , since it allows us to
re-order rows without re-rendering their contents. It also means that
deleting a row will no longer cause the rows below it to re-render,
since re-rendering is now dependant on the row's **ID** rather than the
row's order.

**Before**


https://github.com/user-attachments/assets/83651b24-a32c-4953-8ad5-c0eced163eb5


**After**


https://github.com/user-attachments/assets/9cef6dbc-3d62-46aa-bc40-ab24fc4e5556


### 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
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-03-04 13:34:39 -07:00
Joe Reuter
ef0c364f11
🌊 Streams: Improve integration tests (#213115)
I noticed that a couple integration tests were not actually validating
whether the documents got routed the right way (the number and string
tests).

This PR fixes this by introducing a helper that can easily do the same
check we had a couple of times in there.
2025-03-04 21:11:24 +01:00
Kevin Delemme
d7445380b3
chore(slo): replace error log level with debug (#212975)
## Summary

Resolves https://github.com/elastic/kibana/issues/212972

This PR replaces the info and error log levels with debug since most of
these errors are for developers or users. Not operations.
2025-03-04 20:35:28 +01:00
Joey F. Poon
647a183e3b
[Security Solution] defend insights langgraph upgrade (#211038)
## Summary

This is intended to be a "minimal" migration for Defend Insights to
langgraph + output chunking. Other than the increased events due to the
context increase from output chunking, the functionality is unchanged.

* migrates defend insights to langgraph
* adds output chunking / refinement


### 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
2025-03-04 19:43:28 +01:00
Nicolas Chaulet
d3d44defa4
[Fleet] Use streaming for package install instead of an assetsMap with everything loaded in memory (#211961) 2025-03-04 13:15:34 -05:00
Krzysztof Kowalczyk
4447a7050a
[Global Search] Add ILM keyword (#213122)
## Summary

This PR adds an `ILM` keyword to the ILM application, so searching for
the keyword in Global Search would match it.
![Screenshot 2025-03-04 at 16 23
52](https://github.com/user-attachments/assets/36b12d59-62df-41c9-be48-5e2615aad299)
Closes: #150424
2025-03-04 18:31:52 +01:00
Krzysztof Kowalczyk
28dc0f6ffc
[Lens] Fix partition chart color assignments (#207178)
Fixes the color assignment for partition charts consistent with the legend ordering. Aligns legacy and color mapping color logic.
2025-03-04 18:20:43 +01:00
Mason Herron
5903c7a552
[Fleet] Improve validation for dynamic Kafka topics (#212422)
Closes #206194 


## Summary

- Removed hardcoded wrapping of user-entered topics with `%{[]}` to fix
issues arising from the user pre-wrapping, and also allow greater
flexibility in naming
- Added validation rules to check for unclosed brackets & brackets with
missing `%` preceding
- Added the auto-wrapping to the `value` field of items chosen from the
dropdown to ensure they were always wrapped as intended
### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] 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/src/platform/packages/shared/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
- [ ] [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
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

n/a

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-03-04 18:18:35 +01:00
Joe Reuter
02b9f8f249
🌊 Streams: Disable AI suggestions button if there is no sample data (#213113)
This PR makes the AI suggestions button more stable in case of
misconfigured fields:
* Only make the button clickable if there are sample values
* Filter out sample documents that don't have the required field on the
server (would have broken the request before)

<img width="344" alt="Screenshot 2025-03-04 at 15 43 23"
src="https://github.com/user-attachments/assets/12045985-cfac-4a13-a23c-595ac6503c1a"
/>
2025-03-04 17:46:14 +01:00
Viduni Wickramarachchi
ad8c3e7be5
[Obs AI Assistant] Update date category label (#213108) 2025-03-04 17:20:12 +01:00
Nathan Reese
b213eb6bb2
[embeddable] replace Embeddable ViewMode with presentation-publishing ViewMode (#211960)
Embeddable ViewMode is part of legacy embeddable architecture. This PR
removes Embeddable ViewMode and replaces its usage with
presentation-publishing ViewMode. presentation-publishing ViewMode is a
string literal type so an enum is no longer needed.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-03-04 09:05:23 -07:00
Carlos Crespo
8e5b8580f4
[Infra] Fix hosts total count query (#212749)
Fixes [#212745](https://github.com/elastic/kibana/issues/212745)

## Summary

Fix for the hosts total count query, which was not correctly filtering
hosts from system integration and APM

<img width="584" alt="image"
src="https://github.com/user-attachments/assets/05c3b244-3a0f-425a-82db-3498c1a6dbb7"
/>


### How to test
- Connect Kibana to an edge cluster
- Navigate to Infrastructure > Hosts
- The total number of items on the table should be equal to the number
in the hosts count KPI

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-03-04 16:46:21 +01:00
Konrad Szwarc
dfe542bd8e
[EDR Workflows] Workflow Insights - insights generating script (#213094)
This PR introduces a new script for loading parameterized workflow
insights into a data stream. It enables UI/UX testing without requiring
an agent installation or generating insights manually.

Arguments

```
--endpointId       Required. The endpoint ID to use for generating workflow insights.
--elasticsearch    Optional. The URL to Elasticsearch. Default: http://localhost:9200
--username         Optional. The username to use for authentication. Default: elastic
--password         Optional. The password to use for authentication. Default: changeme
--count            Optional. The number of workflow insights to generate. Default: 5
--os               Optional. The OS to use for generating workflow insights. Default: linux
--antivirus        Optional. The antivirus to use for generating workflow insights. Default: ClamAV
--path             Optional. The executable path of the AV to use for generating workflow insights. Default: /usr/bin/clamscan
```
Example usage:

* Load 5 workflow insights, using the default values - Linux, ClamAV,
/usr/bin/clamscan on the endpoint with ID
8ee2a3a4-ca2b-4884-ae20-8b17d31837b6
 
`node ./load_workflow_insights.js --endpointId
8ee2a3a4-ca2b-4884-ae20-8b17d31837b6`
 
* Load 10 workflow insights for Malwarebytes with path of C:\\Program
Files\\Malwarebytes\\Anti-Malware\\mbam.exe on Windows endpoint with ID
8ee2a3a4-ca2b-4884-ae20-8b17d31837b6
        
`node ./load_workflow_insights.js --endpointId
8ee2a3a4-ca2b-4884-ae20-8b17d31837b6 --count 10 --os windows --antivirus
Malwarebytes --path 'C:\\Program
Files\\Malwarebytes\\Anti-Malware\\mbam.exe'`
2025-03-04 16:09:35 +01:00
Vitalii Dmyterko
847be917a6
[Security Solution][Detection Engine] adds bulkGetUserProfiles privilege to Security Feature (#211824)
## Summary

- addresses https://github.com/elastic/kibana/issues/202051

Few observations, based on ticket
[description](https://github.com/elastic/kibana/issues/202051):

1. User can update assignees in alert(i.e. update any alert details,
which is handled by **SecuritySolution** priv)
2. User can see suggested users in searchbox
3. User **can not** see assignees details(name, avatar) in alerts table
column and alerts flyout(that's where error toast originates from)

Why this happens?
2 different APIs used to show users in searchbox and user details in
alerts table column:

1. API to show users in searchbox:
[/internal/detection_engine/users/_find](https://github.com/elastic/kibana/blob/8.18/x-pack/solutions/security/plugins/security_solution/server/lib/detection_engine/routes/users/suggest_user_profiles_route.ts#L24)
It requires `securitySolution` privilege
2. API for alerts table cell:
[/internal/security/user_profile/_bulk_get](https://github.com/elastic/kibana/blob/8.18/x-pack/platform/plugins/shared/security/server/routes/user_profile/bulk_get.ts#L20)
It requires `bulkGetUserProfiles` privilege

User was configured with read only Security Feature, that covers only
first API, that's why we see error
> API [POST /internal/security/user_profile/_bulk_get] is unauthorized
for user, this action is granted by the Kibana privileges
[bulkGetUserProfiles] (403)

However `bulkGetUserProfiles` is covered by `Cases` feature already. If
Cases access will be set to read, user would be able to see assignees
details through `/internal/security/user_profile/_bulk_get` API.
It happens, because cases API tags include `bulkGetUserProfiles`
privilege:
https://github.com/elastic/kibana/blob/8.18/x-pack/platform/plugins/shared/cases/common/utils/api_tags.ts#L32,
https://github.com/elastic/kibana/blob/8.18/x-pack/solutions/security/packages/features/src/cases/types.ts#L7

This PR includes `bulkGetUserProfiles` privilege in Security Feature:
https://github.com/elastic/kibana/pull/211824. Since, it's already
present in Cases feature, and user profiles available through Security
Solution `/internal/detection_engine/users/_find` API
2025-03-04 15:08:41 +00:00
Nicolas Chaulet
601e4de6b8
[Fleet] Fix space selector space color,label for readonly spaces (#212941) 2025-03-04 16:08:25 +01:00
Tim Sullivan
52bbc24387
Fix toggling of the secondary panel for non-landing page nav item buttons (#211852)
## Summary

Closes https://github.com/elastic/kibana-team/issues/1514

**Release note:** Fixed an issue with the side navigation of solution
projects where clicking the nav item label would open but not close the
secondary navigation panel.

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [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
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
2025-03-04 08:05:26 -07:00
Bharat Pasupula
715a72fa18
[Automatic Import] Fix unstructured syslog flow (#213042)
## Summary

This PR fixes the Unstructured syslog flow. It picks up 5 samples send
them to LLM to create a pattern and tests all the samples against the
pattern , collects the unparsed samples [ if any ] , send them in for
next round of pattern check and so on.

This creates a list of patterns that matches all the samples and creates
a grok processor with those patterns and it breaks the syslogs down into
a JSON for ECS mapping , categorization and related graphs.

### 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
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
2025-03-04 16:02:14 +01:00
Zacqary Adam Xeper
367ff8dbec
[Response Ops] [Rule Form] Add Rule Form Flyout v2 (#206685)
## Summary

Part of #195211

Replaces the create/edit rule flyout with the new rule flyout

<img width="1032" alt="Screenshot 2025-01-14 at 3 12 30 PM"
src="https://github.com/user-attachments/assets/9cbcf4f8-1078-4f7e-a55a-aacc2d877a14"
/>
<img width="1383" alt="Screenshot 2025-01-14 at 3 12 52 PM"
src="https://github.com/user-attachments/assets/2270d57b-9462-4898-9dd0-41baefcc02d4"
/>

Restores the confirmation prompt before canceling or saving a rule
without actions defined.

Also fixes most of the design papercuts in the Actions step:

<img width="494" alt="Screenshot 2025-01-14 at 3 11 06 PM"
src="https://github.com/user-attachments/assets/3cf21d43-88e0-4250-b290-a545e1ebdbcf"
/>
<img width="494" alt="Screenshot 2025-01-14 at 3 11 01 PM"
src="https://github.com/user-attachments/assets/00ef3f95-c91b-4bb7-aead-a3e23c02f7df"
/>





### 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/main/src/platform/packages/shared/kbn-i18n/README.md)
- [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 <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-03-04 16:52:58 +02:00
Sergi Romeu
b2dd88ec55
chore: remove react-syntax-highlighter leftovers (#213076)
## Summary

Removes leftovers of react-syntax-highlighter removed in [this
PR](https://github.com/elastic/kibana/pull/204902)
2025-03-04 15:35:34 +01:00
Katerina
a16dc711fb
[Perfomance] Add Inline documentation for TTFMP (#212393)
## Summary

closes https://github.com/elastic/observability-dev/issues/4101 

<img width="1728" alt="image"
src="https://github.com/user-attachments/assets/4937722f-f05b-404b-9844-930e80c8e15e"
/>


### ⚠️ Instrumentation

Pass the `description` as metadata. The prefix [TTFMP] is required. 

### How to test

- Checkout the PR
- make sure you run `yarn kbn bootstrap`
- go to any page that has onPageReady function instrumented (ex
services)
2025-03-04 15:33:38 +01:00
Patryk Kopyciński
f74b6b52dc
Skip 'No connectors or conversations exist' on serverless (#213078)
## Summary

Fixes
https://buildkite.com/elastic/kibana-serverless-security-solution-quality-gate-gen-ai/builds/2139#_


![image](https://github.com/user-attachments/assets/0e2db8db-28d8-4097-968c-52a42b2e9b07)
2025-03-04 15:28:12 +01:00