Commit graph

6646 commits

Author SHA1 Message Date
Davis McPhee
bf9d34465e
[Discover] Add a default "All logs" temporary data view in the Observability Solution view (#205991)
## Summary

This PR adds an "All logs" ad hoc (temporary) data view to the Discover
Observability root profile based on the central log sources setting,
allowing quick access to logs (with the most up to date log sources)
without needing to first manually create a data view:
![CleanShot 2025-01-22 at 17 47
19@2x](https://github.com/user-attachments/assets/2c03ec79-0cf9-414e-8883-130599989c25)

To support this, a new `getDefaultAdHocDataViews` extension point has
been added to Discover, allowing profiles to specify an array of ad hoc
data view specs would should be created by default when the profile is
resolved, and automatically cleaned up when the profile changes or the
user leaves Discover.

Resolves #201669.
Resolves #189166.

### Notes

- The "All logs" ad hoc data view should only appear when using the
Observability Solution view (in any deployment type).
- Data view specs returned from `getDefaultAdHocDataViews` must include
consistent IDs across resolutions in order for Discover to manage them
correctly (e.g. to find and reload the data view after a page refresh).
Situations where we'd expect a change in ID (e.g. when saving to a
Discover session) are handled internally by Discover.
- To avoid a breaking change, the returned ad hoc data views have no
impact on the default data view shown when navigating to Discover. If
any persisted data views exist, one of them will be used as the default.
If no persisted data views exist, the first entry of the array returned
by `getDefaultAdHocDataViews` will be used as the default.
- We still want to notify users in Discover when they have no ES data at
all, and prompt them to install integrations. For this reason, the "no
data" page is still shown in Discover even if there are default profile
ad hoc data views (unlike if there are persisted data views, in which
case we use the default and hide the "no data" page).
- When saving a Discover session that uses a default profile ad hoc data
view, the data view will be copied on save as `{DATA_VIEW_NAME} (copy)`.
This allows us to assign a unique ID to the version that gets saved with
the Discover session, and avoids having to choose between the profile
data view or the embedded data view when reopening the session, which
has drawbacks:
- If choosing the profile data view, the Discover session may display
incorrectly if the log sources setting changed since it was saved, and
the user would no longer be able to view the session as it was intended
without first modifying the setting to the expected value.
- If choosing the embedded data view, the replacement shown after
opening the Discover session may not reflect the latest log sources
setting until a new session is started, and there would be no way for
the user to migrate the session to use the latest version of the profile
data view.

### 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)
- [ ]
[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.
- [x] [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-01-29 11:04:32 -04:00
Ignacio Rivas
4da814d138
[Console] Fix flaky autocomplete test for index fields (#208503) 2025-01-29 15:36:02 +01:00
Sonia Sanz Vivas
20ed84d41d
Fix flaky console tests (#208337)
Fixes https://github.com/elastic/kibana/issues/204381

## Summary
The test that verifies tab changes in Console was failing because it was
verifying the presence of the tab content before it was fully loaded.


### Checklist
- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-01-29 09:09:05 +01:00
Larry Gregory
9ce2dd8df9
Additional prototype pollution protections (#206073)
## Summary

1. Extends the server-side prototype pollution protections introduced in
https://github.com/elastic/kibana/pull/190716 to include
`Array.prototype`.
2. Applies the same prototype pollution protections to the client-side.


### 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.

- [ ] Sealing prototypes on the client can lead to failures in
third-party dependencies. I'm relying on sufficient functional test
coverage to detect issues here. As a result, these protections are
disabled by default for now, and can be controlled via setting
`server.prototypeHardening: true/false`

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-01-28 23:00:43 +01:00
Hanna Tamoudi
06d16614a9
[Automatic Import] rename plugin to automatic import (#207325)
## Summary

Rename `integration-assistant` plugin to `automatic-import`.
2025-01-28 21:55:42 +01:00
Ignacio Rivas
458704f475
[Console] Fix flaky autocomplete functional tests (#208322) 2025-01-27 15:01:19 +01:00
Stratoula Kalafateli
b84c65c095
[ES|QL] Dashboard variables (#202875)
## Summary

Closes https://github.com/elastic/kibana/issues/203967

Supports dashboard variables in ES|QL charts.

This PR introduces the first phase of ES|QL controls. In this phase:
- the flow starts from Lens ES|QL editor (and no vice-versa, this will
happen on a later phase after we discuss some technical details with ES)
- it is only available for dashboards (we want to include them in other
apps as Discover but this is the next phase driven by the presentation
team)
- it supports variables for intervals, fields and values. I haven't
added support for functions. I am going to do it after this PR being
merged (there are some business questions I want to answer first)

For more info check this
[deck](https://docs.google.com/presentation/d/1qSbWLSoC5SseXuLix763vpp8sa7ikp3pQTbHImEHBoc)


![meow](https://github.com/user-attachments/assets/c101a257-fbe4-44e6-9686-18012f39e8c1)

### Implementation details

- There is a new service, the ESQLVariables service that is responsible
for ES|QL variables. I isolated this to a new plugin owned by the ES|QL
team for cleaner code and for avoiding circular dependencies
- A new ESQL_CONTROL type got created. It follows the exact same logic
as the rest controls. No changes in the architecture here.
- The creation of the controls (the control forms) have been added in
the esql plugin.
- Lens has small changes:
   -  The support of variables in the textBased datasource
- Two callbacks needed to be called after the creation / cancellation of
an ES|QL control


### Types of ES|QL variables 

We have 2 types:

- Static Values (the user gives a list of values with his own
responsibility). As the flow starts from the editor we can identify what
they most possibly want to do and we give the user some options but they
have the freedom to do as they want. A basic validation has been added
too.
- Values from an ES|QL query (the user gives an ES|QL query that
generates the values). As the flow starts from the editor we can suggest
a query for the users but they can always change it as they wish.

<img width="1168" alt="image"
src="https://github.com/user-attachments/assets/cc28beb8-111c-43ad-9f26-865bc62ae512"
/>

### Example of a control creation from the editor

![meow](https://github.com/user-attachments/assets/09fa0e21-98cd-4160-b271-4f8ed0a91bf7)


### Release note
ES|QL charts now allow the creation of controls in dashboards. You can
control a part of the query such as a field, an interval or a value.

### 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/packages/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
- [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.
- [x] [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)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Andrea Del Rio <delrio.andre@gmail.com>
Co-authored-by: Devon Thomson <devon.thomson@elastic.co>
2025-01-27 11:35:54 +01:00
Rodney Norris
a774033bf2
[Search] Remove calls to enterprise search config (#206971)
## Summary

Updated the search plugin config endpoint to return just features and
kibana version, removing the call to the enterprise search node.

### Checklist

- [ ] [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
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-01-24 12:41:21 -06:00
Rodney Norris
2812f8b99a
[Search] remove app search guided onboarding (#206670)
## Summary

Removing references to the appSearch guided onboarding guide. App Search
is removed in v9.

### Checklist

- [ ] [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
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-01-24 09:46:05 -06:00
Tiago Costa
e15350ea6f
skip flaky suite (#204381) 2025-01-22 20:26:16 +00:00
Kibana Machine
b73cb8a31c skip failing test suite (#156926) 2025-01-23 04:14:38 +11:00
Nathan Reese
05916056cd
[embeddable] make presentation interface names consistent (#205279)
PR cleans up presentation interface names for consistentency
* adds `$` suffix to all observables. For example, `dataLoading` =>
`dataLoading$`
* removes `Panel` naming convention from interface names since an api
may not be a panel, an api may be a dashboard. For example,
`PublisesPanelTitle` => `PublishesTitle`

#### Note to Reviewers
Pay special attention to any place where your application creates an
untyped API. In the example below, there is no typescript violation when
the parent returns `dataLoading` instead of `dataLoading$` since the
parent is not typed as `PublishesDataLoading`. Please check for
instances like these.

```
<ReactEmbeddableRenderer
  getParentApi={() => {
    dataLoading: new BehaviorSubject()
  }}
/>
```

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-01-22 10:46:01 -06:00
Devon Thomson
3719be0144
[Serialized state only] Update Library Transforms and Duplicate (#206140)
Unifies the various `LibraryTransforms` interfaces, updates all by reference capable embeddables to use them in the same way, and migrates the clone functionality to use only serialized state.
2025-01-21 13:43:43 -05:00
Marco Vettorello
25913693c0
[TSVB] fix borealis colors check on test (#206484)
## Summary

Fix and unskip TSVB Functional test by using the right Borealis colors.

fix https://github.com/elastic/kibana/issues/206380

---------

Co-authored-by: nickofthyme <nicholas.partridge@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-01-20 18:58:53 +01:00
Davis McPhee
1c7a823920
[Discover] [ES|QL] Prevent redundant requests when loading Discover sessions and toggling chart visibility (#206699)
## Summary

This PR prevents redundant Discover requests in ES|QL mode for the
following scenarios:
- Creating a new Discover session.
- Saving the current Discover session.
- Loading a saved Discover session.
- Toggling the Unified Histogram chart visibility.

It does so by addressing several underlying state related issues that
were triggering the redundant requests:
- Skipping the initial emission of `currentSuggestionContext` on Unified
Histogram mount, which immediately triggered a second fetch.
- Treating the Unified Histogram `table` prop the same as other props
which affect Lens suggestions (data view, query, columns), and deferring
updates to it until result fetching completes to avoid unnecessary
suggestion updates.
- Removing all auto-fetching behaviour from Unified Histogram and
instead relying solely on the consumer to control when fetching should
occur (including the initial fetch).

Resolves #165192.

### 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.
- [x] [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)

---------

Co-authored-by: Matthias Wilhelm <matthias.wilhelm@elastic.co>
2025-01-20 11:11:01 -04:00
Matthias Wilhelm
a04274723e
[Discover] Remove redundant data fetching when hiding/showing the histogram/chart (#206389)
Since the timerange in Discover of the main request is stable we don't need to trigger a main fetch for all data when the histogram/chart is being hidden/displayed, unless it's necessary to get the data (e.g. when the histogram/chart was hiden when a discover session was being loaded)
2025-01-17 10:49:37 +00:00
Elena Stoeva
b6f6c4cefe
[Console] Copy as curl only for Kibana requests (#206631)
Closes https://github.com/elastic/kibana/issues/201781

## Summary

This PR makes the context menu in Console only display "Copy as curl" if
any of the selected requests is an internal Kibana request (i.e. starts
with the `kbn:` prefix).

Sample Kibana request: `GET kbn:/api/index_management/indices`




https://github.com/user-attachments/assets/a6c5cbc3-4dc5-44db-8ebb-2cbc9b3aea2d

---------

Co-authored-by: Ignacio Rivas <rivasign@gmail.com>
2025-01-16 16:41:25 +00:00
Ignacio Rivas
983470fb85
[Console] Add a small action for copying variable names to clipboard (#206628) 2025-01-16 09:27:31 +01:00
Alejandro Fernández Haro
45d4f7de0b
Add local EBT shipper (#189671)
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Christiane (Tina) Heiligers <christiane.heiligers@elastic.co>
2025-01-16 09:26:43 +01:00
Nathan Reese
55f3cf7a66
[dashboard] lazy load dashboard actions (#206492)
* move actions to `registerActionAsync`
* remove global string file loaded in page load bundle
* Break constants into smaller files so only constants required by page
load bundle are exposed.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-01-15 11:57:09 -07:00
Kibana Machine
c174f10929 skip failing test suite (#206380) 2025-01-14 04:42:18 +11:00
Matthias Wilhelm
b625221757
[Discover] Unskip and stabilize ESQL request count test (#206207) 2025-01-13 06:59:33 +00:00
Tomasz Kajtoch
93935619de
Make Borealis the default theme in non-serverless (#203840) 2025-01-11 14:23:45 +01:00
Matthias Wilhelm
df495ce532
[Discover][ES]QL] Ensure the same time range is being used for documents and histogram (#204694)
Fixing the case a relative time range is set (for example "Last 15 minutes") and the time range goes out of sync for table and histogram requests on Discover in ES|QL mode.

Fixes a redundant ES|QL request for histogram data, with different timeranges, when the timerange is changed.
2025-01-10 17:06:45 +01:00
Lola
473eb721bc
[Cloud Security] Feature Flag Support for Cloud Security Posture Plugin (#205438)
## Summary

Summarize your PR. If it involves visual changes include a screenshot or
gif.

## Changes

* Adds `enableExperimental` to server `configSchema`
* Makes feature flags configurable via
`xpack.cloudSecurityPosture.enableExperimental` in `kibana.dev.yml`
* Implements `ExperimentFeatureService.get()` for accessing feature
flags
* Add passing `initliaterContext` to plugin in order to access our
plugin config

## Benefits

* Avoids circular dependency with Security Solution
`useIsExperimentalFeatureEnabled` and prop drilling feature flags from
Fleet plugin `PackagePolicyReplaceDefineStepExtensionComponentProps`
* Provides server-side configuration support
* Enables pre-release feature testing
* Creates centralized feature flag management

This allows controlled testing of new features before release through
configuration rather than code changes.

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-01-10 10:55:06 -05:00
Nick Peihl
ce072268aa
[Dashboard] Add functional test for panel listing types (#205808)
Fixes #192663

## Summary

Add functional tests that verify the number of panel types registered in
the dashboards Add panel flyout. Any changes to the number of registered
panel types will trigger a review from the
`@elastic/kibana-presentation` team.

This PR also adds an additional test for panel types registered with an
advanced license.
2025-01-09 08:37:29 -05:00
Matthias Wilhelm
cbcb24e036
[Discover] Unskip functional discover request counts test and skip ES|QL part (#205690)
Unskipping the main test, and unskipping the `ES|QL` part due to flakiness
2025-01-09 06:35:40 +01:00
Davis McPhee
8eb326d596
[Discover] Fix issue where KEEP columns are not applied after Elasticsearch error (#205833)
## Summary

This PR fixes an issue where columns are not applied correctly when
using the ES|QL `KEEP` command after an Elasticsearch error has
occurred.

Fixes #205353.

### 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.
- [x] [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-01-08 14:20:24 -04:00
Anton Dosov
3b2ab7b413
Sustainable Kibana Architecture: Move CodeEditor related packages #205587 (#205738)
## Summary

This PR aims at relocating some of the Kibana modules (plugins and
packages) into a new folder structure, according to the _Sustainable
Kibana Architecture_ initiative.

> [!IMPORTANT]
> * We kindly ask you to:
> * Manually fix the errors in the error section below (if there are
any).
> * Search for the `packages[\/\\]` and `plugins[\/\\]` patterns in the
source code (Babel and Eslint config files), and update them
appropriately.
> * Manually review
`.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that
any CI pipeline customizations continue to be correctly applied after
the changed path names
> * Review all of the updated files, specially the `.ts` and `.js` files
listed in the sections below, as some of them contain relative paths
that have been updated.
> * Think of potential impact of the move, including tooling and
configuration files that can be pointing to the relocated modules. E.g.:
>     * customised eslint rules
>     * docs pointing to source code

> [!NOTE]
> * This PR has been auto-generated.
> * Any manual contributions will be lost if the 'relocate' script is
re-run.
> * Try to obtain the missing reviews / approvals before applying manual
fixes, and/or keep your changes in a .patch / git stash.
> * Please use
[#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E)
Slack channel for feedback.

Are you trying to rebase this PR to solve merge conflicts? Please follow
the steps describe
[here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E).

#### 3 packages(s) are going to be relocated:

| Id | Target folder |
| -- | ------------- |
| `@kbn/code-editor` |
`src/platform/packages/shared/shared-ux/code_editor/impl` |
| `@kbn/code-editor-mock` |
`src/platform/packages/shared/shared-ux/code_editor/mocks` |
| `@kbn/monaco` | `src/platform/packages/shared/kbn-monaco` |


<details >
<summary>Updated relative paths</summary>

```
src/platform/packages/shared/kbn-monaco/jest.config.js:12
src/platform/packages/shared/kbn-monaco/tsconfig.json:2
src/platform/packages/shared/kbn-monaco/tsconfig.type_check.json:2
src/platform/packages/shared/shared-ux/code_editor/impl/jest.config.js:12
src/platform/packages/shared/shared-ux/code_editor/impl/tsconfig.json:16
src/platform/packages/shared/shared-ux/code_editor/impl/tsconfig.json:2
src/platform/packages/shared/shared-ux/code_editor/impl/tsconfig.type_check.json:18
src/platform/packages/shared/shared-ux/code_editor/impl/tsconfig.type_check.json:2
src/platform/packages/shared/shared-ux/code_editor/impl/tsconfig.type_check.json:25
src/platform/packages/shared/shared-ux/code_editor/impl/tsconfig.type_check.json:28
src/platform/packages/shared/shared-ux/code_editor/impl/tsconfig.type_check.json:31
src/platform/packages/shared/shared-ux/code_editor/impl/tsconfig.type_check.json:34
src/platform/packages/shared/shared-ux/code_editor/impl/tsconfig.type_check.json:37
src/platform/packages/shared/shared-ux/code_editor/impl/tsconfig.type_check.json:40
src/platform/packages/shared/shared-ux/code_editor/mocks/tsconfig.json:16
src/platform/packages/shared/shared-ux/code_editor/mocks/tsconfig.json:2
src/platform/packages/shared/shared-ux/code_editor/mocks/tsconfig.type_check.json:18
src/platform/packages/shared/shared-ux/code_editor/mocks/tsconfig.type_check.json:2
src/platform/packages/shared/shared-ux/code_editor/mocks/tsconfig.type_check.json:25
```

</details>
2025-01-08 15:25:47 +01:00
Tim Sullivan
95094b21e5
[SharedUX] Remove SCSS from kibana_react (#204497)
## Summary

Part of https://github.com/elastic/kibana-team/issues/1082

Removes all Sass files in `src/plugins/kibana_react` to replace with
styles declared with Emotion. This PR does not include any changes that
would be noticeable by end-users. It changes the internals to use a
different technology for styling components.

## References
1. https://emotion.sh/docs/globals
2. https://emotion.sh/docs/best-practices
3.
https://github.com/elastic/eui/discussions/6828#discussioncomment-10825360
2025-01-07 22:51:59 +00:00
Gerard Soldevila
6049493e4a
Sustainable Kibana Architecture: Move modules owned by @elastic/kibana-core (#201653)
## Summary

Start relocating Kibana modules (packages and plugins) to the new folder
structure, according to the _Kibana Sustainable Architecture_
initiative.
#### 16 plugin(s) are going to be relocated:

| Id | Target folder |
| -- | ------------- |
| `@kbn/cloud-chat-plugin` |
`x-pack/platform/plugins/private/cloud_integrations/cloud_chat` |
| `@kbn/cloud-experiments-plugin` |
`x-pack/platform/plugins/shared/cloud_integrations/cloud_experiments` |
| `@kbn/cloud-full-story-plugin` |
`x-pack/platform/plugins/private/cloud_integrations/cloud_full_story` |
| `@kbn/cloud-links-plugin` |
`x-pack/platform/plugins/private/cloud_integrations/cloud_links` |
| `@kbn/cloud-plugin` | `x-pack/platform/plugins/shared/cloud` |
| `@kbn/features-plugin` | `x-pack/platform/plugins/shared/features` |
| `@kbn/ftr-apis-plugin` | `src/platform/plugins/private/ftr_apis` |
| `@kbn/kibana-usage-collection-plugin` |
`src/platform/plugins/private/kibana_usage_collection` |
| `@kbn/licensing-plugin` | `x-pack/platform/plugins/shared/licensing` |
| `@kbn/newsfeed-plugin` | `src/platform/plugins/shared/newsfeed` |
| `@kbn/saved-objects-management-plugin` |
`src/platform/plugins/shared/saved_objects_management` |
| `@kbn/telemetry-collection-manager-plugin` |
`src/platform/plugins/shared/telemetry_collection_manager` |
| `@kbn/telemetry-collection-xpack-plugin` |
`x-pack/platform/plugins/private/telemetry_collection_xpack` |
| `@kbn/telemetry-management-section-plugin` |
`src/platform/plugins/shared/telemetry_management_section` |
| `@kbn/telemetry-plugin` | `src/platform/plugins/shared/telemetry` |
| `@kbn/usage-collection-plugin` |
`src/platform/plugins/shared/usage_collection` |

#### 22 package(s) are going to be relocated:

| Id | Target folder |
| -- | ------------- |
| `@kbn/analytics` | `src/platform/packages/shared/kbn-analytics` |
| `@kbn/analytics-collection-utils` |
`src/platform/packages/private/analytics/utils/analytics_collection_utils`
|
| `@kbn/apm-config-loader` |
`src/platform/packages/private/kbn-apm-config-loader` |
| `@kbn/cloud` | `src/platform/packages/shared/cloud` |
| `@kbn/config` | `src/platform/packages/shared/kbn-config` |
| `@kbn/config-mocks` | `src/platform/packages/private/kbn-config-mocks`
|
| `@kbn/config-schema` |
`src/platform/packages/shared/kbn-config-schema` |
| `@kbn/crypto-browser` |
`src/platform/packages/shared/kbn-crypto-browser` |
| `@kbn/ebt-tools` | `src/platform/packages/shared/kbn-ebt-tools` |
| `@kbn/es-errors` | `src/platform/packages/shared/kbn-es-errors` |
| `@kbn/es-types` | `src/platform/packages/shared/kbn-es-types` |
| `@kbn/hapi-mocks` | `src/platform/packages/private/kbn-hapi-mocks` |
| `@kbn/health-gateway-server` |
`src/platform/packages/private/kbn-health-gateway-server` |
| `@kbn/i18n` | `src/platform/packages/shared/kbn-i18n` |
| `@kbn/i18n-react` | `src/platform/packages/shared/kbn-i18n-react` |
| `@kbn/logging` | `src/platform/packages/shared/kbn-logging` |
| `@kbn/logging-mocks` |
`src/platform/packages/shared/kbn-logging-mocks` |
| `@kbn/router-to-openapispec` |
`src/platform/packages/shared/kbn-router-to-openapispec` |
| `@kbn/server-http-tools` |
`src/platform/packages/shared/kbn-server-http-tools` |
| `@kbn/std` | `src/platform/packages/shared/kbn-std` |
| `@kbn/utility-types` |
`src/platform/packages/shared/kbn-utility-types` |
| `@kbn/zod` | `src/platform/packages/shared/kbn-zod` |

---------

Co-authored-by: Alejandro Fernández Haro <alejandro.haro@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-01-04 11:47:24 -07:00
Kibana Machine
ff6adff23b skip failing test suite (#205344) 2025-01-04 10:44:58 +11:00
Anton Dosov
9215df9200
Sustainable Kibana Architecture: Move plugins owned by @elastic/appex-sharedux (#204959)
## Summary

Part of https://github.com/elastic/kibana/pull/203163

Relocating only shared-ux-owned plugins for now
2025-01-03 05:38:57 -06:00
Jesus Wahrman
1b1d64b0a5
Set HTTP2 as default is SSL is enabled and add deprecation log if SSL is not enabled or protocol is set to HTTP1 (#204384)
## Summary

resolves https://github.com/elastic/kibana/issues/194067

Set HTTP2 as default if ssl is enabled. 

resolves https://github.com/elastic/kibana/issues/194065

Add deprecation log if ssl is not enabled or if protocol is set to http1

<img width="1665" alt="Screenshot 2024-12-17 at 17 06 50"
src="https://github.com/user-attachments/assets/3bc7ff57-1079-4a27-90d2-88f3e09093d6"
/>

<img width="1727" alt="Screenshot 2024-12-17 at 17 06 22"
src="https://github.com/user-attachments/assets/d5489705-6cd6-4e09-8327-fdd0f54292ea"
/>


### 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/packages/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
- [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)

### 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>
Co-authored-by: Rudolf Meijering <skaapgif@gmail.com>
2025-01-03 10:21:32 +01:00
Aleh Zasypkin
5e8b61fb06
fix(tests, interactive setup): switch interactive setup tests config to non-deprecated secure_password setting (#205208)
## Summary

Switch interactive setup tests config to non-deprecated
`secure_password` setting as was flagged in
https://github.com/elastic/kibana-team/issues/1173#issuecomment-2545077579
2024-12-27 17:51:43 +01:00
Lukas Olson
0952f6e0f5
Fix resolve index API to not throw 500 when encountering no_such_remote_cluster_exception (#204802)
## Summary

Fixes https://github.com/elastic/kibana/issues/197747.

Updates the `/internal/index-pattern-management/resolve_index/{query}`
route to properly handle `no_such_remote_cluster_exception` and return
`404` rather than `500` server error.

Adds unit tests for the route handler.

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

---------

Co-authored-by: Julia Rechkunova <julia.rechkunova@gmail.com>
2024-12-19 14:55:29 -07:00
Matthias Wilhelm
fa3029225a
[Discover] Reintroduce ESQL request count tests (#204925) 2024-12-19 12:44:25 -06:00
Giorgos Bamparopoulos
90277c37d0
Disable log stream and settings pages (#203996)
## Release note
Logs Stream and the logs settings page in Observability are removed. Use
the [Discover](https://www.elastic.co/guide/en/kibana/current/discover.html) application,
which now offers a contextual experience for logs, to explore your logs.
The logs stream panel in dashboards is removed, use Discover sessions
instead.

## 📓 Summary
The Logs Stream app in Observability and the log stream panel available
in dashboards were hidden behind an advanced setting as part of
https://github.com/elastic/kibana/pull/194519 in `8.16.0`. At the same
time, a link was added to the left navigation for the logs settings
page.

This PR which targets `9.0.0` disables these pages as well as the
dashboard panel:
- Removes the navigation item for the logs settings page and the
corresponding route
- Removes the `observability:enableLogsStream` setting and keeps the
redirects to logs explorer. The locators will be updated to point to
Discover as part of https://github.com/elastic/kibana/issues/182229.

Removing the code that renders the logs stream and the settings pages
will be done in a [follow-up
issue](https://github.com/elastic/kibana/issues/204005).

### Left navigation

#### Classic
<img width="238" alt="image"
src="https://github.com/user-attachments/assets/bc72c5ce-ed32-472e-91c1-8bd691dd2420"
/>

#### Solution
<img width="275" alt="image"
src="https://github.com/user-attachments/assets/3b21a2ae-5e82-478e-97bb-e12303178a24"
/>

### Navigating to /app/logs/settings
<img width="1722" alt="image"
src="https://github.com/user-attachments/assets/07b4197c-6063-4a59-8194-a97ce2fa3cd7"
/>


Closes https://github.com/elastic/observability-dev/issues/4156

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2024-12-19 11:07:46 +00:00
Rodney Norris
9f53fbbcc3
[Search] Deprecate canDeployEntSearch config value (#204272) 2024-12-17 07:16:33 -06:00
Lukas Olson
8ad0eb4122
Remove bfetch explorer example plugin (#204284)
## Summary

Part of https://github.com/elastic/kibana/issues/186139.

First step of breaking up https://github.com/elastic/kibana/pull/199066
into smaller pieces.

Removes the bfetch explorer example plugin.
2024-12-16 10:28:58 -07:00
Julia Rechkunova
f2f2a0a689
[Discover] Add EBT events for next resolved contextual profiles (#203124)
- Closes https://github.com/elastic/kibana/issues/200257

## Summary

This PR adds `discover_profile_resolved` EBT events when a new
contextual profile is resolved at any level (root, data source, or
document level).

Events will be triggered from Discover pages and dashboards.

Please note that duplicate events will not be sent in the current
implementation. Only when profile ID is changing.

<img width="1710" alt="Screenshot 2024-12-06 at 17 39 23"
src="https://github.com/user-attachments/assets/54eef630-8bcc-4185-917f-d251c003df65">

<img width="1699" alt="Screenshot 2024-12-06 at 17 38 36"
src="https://github.com/user-attachments/assets/541522eb-9cc5-47b6-a51a-81186232b7e5">


## Testing

Add logging to `trackContextualProfileResolvedEvent` or do the
following:

Enable "Usage collection" global setting.

Navigate to Discover and observe `kibana-browser` requests in Network
tab.


### 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: Davis McPhee <davismcphee@hotmail.com>
2024-12-13 06:31:42 -06:00
Julia Rechkunova
474e49c068
[Discover] Fix persisting URL state in session storage when in ES|QL mode (#203865)
- Closes https://github.com/elastic/kibana/issues/202254

## Summary

This PR fixes the issue when changes to ES|QL query were not persisted
in the session storage. Now, clicking on Discover link in the side nav
will restore the last state.

Please note that when switching from ES|QL mode to Classic mode,
Discover still uses an ad-hoc data view and this is why further changes
to URL would not be persisted unless user switches to a persisted data
view first.


### 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
2024-12-13 13:27:15 +01:00
Krzysztof Kowalczyk
52ee949f6f
[FieldFormatters] Allow boolean field to be colored (#203498)
## Summary

This PR allows for boolean type field to be colored. 

Closes: #195861
2024-12-11 20:18:33 +01:00
Lukas Olson
162b1497b9
Add limit to Discover ES|QL queries to remove deprecation warnings (#202735)
## Summary

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

Adds a `LIMIT` to our ES|QL Discover tests. Without the `LIMIT` we are
getting the following deprecation messages:

> Elasticsearch deprecation: 299
Elasticsearch-9.0.0-c74c06daee0583562c82597b19178268b9f415e5 "No limit
defined, adding default limit of [1000]"

### 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
2024-12-11 06:18:11 -07:00
Nathan Reese
101e797e9d
Remove dashboard embeddable (#194892)
Closes https://github.com/elastic/kibana/issues/197281

PR replaces `DashboardContainer`, which implements legacy Container and
Embeddable interfaces, with plain old javascript object implementation
returned from `getDashboardApi`.

The following are out of scope for this PR and will be accomplished at a
later time:
1) re-factoring dashboard folder structure
2) removing all uses of Embeddable and EmbeddableInput types
3) removing legacy types like DashboardContainerInput

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Hannah Mudge <Heenawter@users.noreply.github.com>
Co-authored-by: Devon Thomson <devon.thomson@elastic.co>
2024-12-10 09:34:04 -06:00
Gerard Soldevila
313f973aec
Sustainable Kibana Architecture: Move modules owned by @elastic/kibana-esql (#202722)
## Summary

This PR aims at relocating some of the Kibana modules (plugins and
packages) into a new folder structure, according to the _Sustainable
Kibana Architecture_ initiative.

> [!IMPORTANT]
> * We kindly ask you to:
> * Manually fix the errors in the error section below (if there are
any).
> * Search for the `packages[\/\\]` and `plugins[\/\\]` patterns in the
source code (Babel and Eslint config files), and update them
appropriately.
> * Manually review
`.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that
any CI pipeline customizations continue to be correctly applied after
the changed path names
> * Review all of the updated files, specially the `.ts` and `.js` files
listed in the sections below, as some of them contain relative paths
that have been updated.
> * Think of potential impact of the move, including tooling and
configuration files that can be pointing to the relocated modules. E.g.:
>     * customised eslint rules
>     * docs pointing to source code

> [!NOTE]
> This PR has been auto-generated.
> Do not attempt to push any changes unless you know what you are doing.
> Please use
[#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E)
Slack channel for feedback.




#### 2 plugin(s) are going to be relocated:

| Id | Target folder |
| -- | ------------- |
| `@kbn/esql` | `src/platform/plugins/shared/esql` |
| `@kbn/esql-datagrid` | `src/platform/plugins/shared/esql_datagrid` |


#### 5 package(s) are going to be relocated:

  | Id | Target folder |
  | -- | ------------- |
  | `@kbn/esql-ast` | `src/platform/packages/shared/kbn-esql-ast` |
| `@kbn/esql-editor` | `src/platform/packages/private/kbn-esql-editor` |
| `@kbn/esql-utils` | `src/platform/packages/shared/kbn-esql-utils` |
| `@kbn/esql-validation-autocomplete` |
`src/platform/packages/shared/kbn-esql-validation-autocomplete` |
| `@kbn/language-documentation` |
`src/platform/packages/private/kbn-language-documentation` |


<details>
<summary>Updated references</summary>

```
./.buildkite/scripts/steps/esql_generate_function_metadata.sh
./.buildkite/scripts/steps/esql_grammar_sync.sh
./.eslintignore
./.eslintrc.js
./.i18nrc.json
./docs/developer/plugin-list.asciidoc
./examples/esql_ast_inspector/public/plugin.ts
./examples/esql_validation_example/public/plugin.ts
./package.json
./packages/kbn-esql-validation-autocomplete/src/validation/validation.test.ts
./packages/kbn-monaco/BUILD.bazel
./packages/kbn-repo-packages/package-map.json
./packages/kbn-ts-projects/config-paths.json
./packages/kbn-ui-shared-deps-src/BUILD.bazel
./src/dev/storybook/aliases.ts
./src/platform/packages/private/kbn-esql-editor/jest.config.js
./src/platform/packages/private/kbn-language-documentation/jest.config.js
./src/platform/packages/private/kbn-language-documentation/package.json
./src/platform/packages/shared/kbn-esql-ast/jest.config.js
./src/platform/packages/shared/kbn-esql-utils/jest.config.js
./src/platform/packages/shared/kbn-esql-validation-autocomplete/README.md
./src/platform/packages/shared/kbn-esql-validation-autocomplete/jest.config.js
./src/platform/packages/shared/kbn-esql-validation-autocomplete/jest.integration.config.js
./src/platform/packages/shared/kbn-esql-validation-autocomplete/package.json
./src/platform/packages/shared/kbn-esql-validation-autocomplete/src/autocomplete/helper.ts
./src/platform/plugins/shared/esql/jest.config.js
./src/platform/plugins/shared/esql_datagrid/jest.config.js
./tsconfig.base.json
./yarn.lock
```
</details>
<details>
<summary>Updated relative paths</summary>

```
src/platform/packages/private/kbn-esql-editor/jest.config.js:12
src/platform/packages/private/kbn-esql-editor/tsconfig.json:2
src/platform/packages/private/kbn-language-documentation/jest.config.js:12
src/platform/packages/private/kbn-language-documentation/package.json:12
src/platform/packages/private/kbn-language-documentation/tsconfig.json:2
src/platform/packages/shared/kbn-esql-ast/jest.config.js:12
src/platform/packages/shared/kbn-esql-ast/tsconfig.json:2
src/platform/packages/shared/kbn-esql-utils/jest.config.js:12
src/platform/packages/shared/kbn-esql-utils/tsconfig.json:2
src/platform/packages/shared/kbn-esql-validation-autocomplete/jest.config.js:12
src/platform/packages/shared/kbn-esql-validation-autocomplete/jest.integration.config.js:12
src/platform/packages/shared/kbn-esql-validation-autocomplete/package.json:10
src/platform/packages/shared/kbn-esql-validation-autocomplete/package.json:11
src/platform/packages/shared/kbn-esql-validation-autocomplete/scripts/generate_function_definitions.ts:389
src/platform/packages/shared/kbn-esql-validation-autocomplete/tsconfig.json:2
src/platform/plugins/shared/esql/jest.config.js:12
src/platform/plugins/shared/esql/tsconfig.json:2
src/platform/plugins/shared/esql/tsconfig.json:7
src/platform/plugins/shared/esql_datagrid/jest.config.js:12
src/platform/plugins/shared/esql_datagrid/tsconfig.json:2
src/platform/plugins/shared/esql_datagrid/tsconfig.json:7
```
</details>
<details>
<summary>Script errors</summary>

```

```
</details>

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Rudolf Meijering <skaapgif@gmail.com>
2024-12-09 11:33:55 +01:00
Shahzad
354858264f
[EuiProvider] Hide unwanted toast until a fix can be done !! (#203244)
## Summary

Hiding this until it can be fixed via
https://github.com/elastic/kibana/issues/201805 !!

<img width="1341" alt="image"
src="https://github.com/user-attachments/assets/64d86aca-9c0e-4e94-9449-5f6a1c6a3288">
2024-12-06 19:59:55 +01:00
Julia Rechkunova
2f95dee8f4
[Discover] Remove discover:searchFieldsFromSource setting (#202679)
- Closes https://github.com/elastic/kibana/issues/196501

## Summary

The PR removes `discover:searchFieldsFromSource` Advanced Setting and
the associated code.
This breaking change is planned for v9.

The setting was marked as deprecated in v8.15
https://github.com/elastic/kibana/pull/185871

### Checklist

- [x]
[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
- [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)
2024-12-06 17:58:47 +01:00
Lukas Olson
efe06a3357
Remove bsearch endpoint (#197150) 2024-12-06 07:23:46 -07:00
Davis McPhee
4215a637da
[Data Views] Disable scripted field creation in the Data Views management page (#202250)
## Summary

Scripted fields in data views have been deprecated since 7.13, and
superseded by runtime fields.

The ability to create new scripted fields has been removed from the Data
Views management page in 9.0. Existing scripted fields can still be
edited or deleted, and the creation UI can be accessed by navigating
directly to
`/app/management/kibana/dataViews/dataView/{dataViewId}/create-field`,
but it is recommended to migrate to runtime fields or ES|QL instead to
prepare for removal.

Additionally, the scripted fields entry in the Upgrade Assistant has
been updated to reflect these changes, improve migration instructions,
and surface the full list of data views across all spaces that contain
scripted fields as well as their associated spaces. New documentation
has been added to the "Manage data views" page with examples and
instructions to help users migrate off scripted fields to runtime fields
or ES|QL, which is also linked to from the Upgrade Assistant entry.

Data Views management page:

![management](https://github.com/user-attachments/assets/ed42310c-d7fa-48ba-8430-533e9230b48d)

Upgrade Assistant:
<img
src="https://github.com/user-attachments/assets/4ff27866-4fe8-4357-82e8-cd4c503ab50b"
width="500" />

Resolves #182067.

### 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/packages/kbn-i18n/README.md)
- [x]
[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)

---------

Co-authored-by: Matt Kime <matt@mattki.me>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-12-05 20:11:34 -04:00