Commit graph

3466 commits

Author SHA1 Message Date
renovate[bot]
863c4f3d04
Update dependency geckodriver to ^4.4.1 (main) (#184525)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[geckodriver](https://togithub.com/webdriverio-community/node-geckodriver)
| [`^4.4.0` ->
`^4.4.1`](https://renovatebot.com/diffs/npm/geckodriver/4.4.0/4.4.1) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/geckodriver/4.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/geckodriver/4.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/geckodriver/4.4.0/4.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/geckodriver/4.4.0/4.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>webdriverio-community/node-geckodriver (geckodriver)</summary>

###
[`v4.4.1`](https://togithub.com/webdriverio-community/node-geckodriver/releases/tag/v4.4.1):
Release 4.4.1

[Compare
Source](https://togithub.com/webdriverio-community/node-geckodriver/compare/v4.4.0...v4.4.1)

- fix install multi zip entries
([#&#8203;450](https://togithub.com/webdriverio-community/node-geckodriver/issues/450))
([`3244189`](3244189))
- chore(deps-dev): bump
[@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)
from 7.9.0 to 7.10.0
([#&#8203;448](https://togithub.com/webdriverio-community/node-geckodriver/issues/448))
([`af917c8`](af917c8))
- chore(deps-dev): bump webdriverio from 8.36.1 to 8.38.0
([#&#8203;449](https://togithub.com/webdriverio-community/node-geckodriver/issues/449))
([`7c7d776`](7c7d776))
- chore(deps-dev): bump release-it from 17.2.1 to 17.3.0
([#&#8203;447](https://togithub.com/webdriverio-community/node-geckodriver/issues/447))
([`c1fbcf8`](c1fbcf8))
- chore(deps-dev): bump
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)
([#&#8203;446](https://togithub.com/webdriverio-community/node-geckodriver/issues/446))
([`739af52`](739af52))
- chore(deps-dev): bump tsx from 4.10.5 to 4.11.0
([#&#8203;445](https://togithub.com/webdriverio-community/node-geckodriver/issues/445))
([`4e9a973`](4e9a973))
- chore(deps): bump
[@&#8203;wdio/logger](https://togithub.com/wdio/logger) from 8.28.0 to
8.38.0
([#&#8203;444](https://togithub.com/webdriverio-community/node-geckodriver/issues/444))
([`01494f5`](01494f5))
- ci: revert
([`f7e4685`](f7e4685))
- ci: skip auth for expensing
([`dce3599`](dce3599))
- ci: update action
([`c5c521c`](c5c521c))
- feat: migrate to zip.js
([#&#8203;443](https://togithub.com/webdriverio-community/node-geckodriver/issues/443))
([`dccc1d6`](dccc1d6))
- chore(deps-dev): bump tsx from 4.10.1 to 4.10.5
([#&#8203;438](https://togithub.com/webdriverio-community/node-geckodriver/issues/438))
([`805a880`](805a880))
- chore(deps-dev): bump
[@&#8203;types/node](https://togithub.com/types/node) from 20.12.11 to
20.12.12
([#&#8203;437](https://togithub.com/webdriverio-community/node-geckodriver/issues/437))
([`0faf445`](0faf445))
- chore(deps-dev): bump
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)
([#&#8203;439](https://togithub.com/webdriverio-community/node-geckodriver/issues/439))
([`83ea7c9`](83ea7c9))
- chore(deps-dev): bump npm-run-all2 from 6.1.2 to 6.2.0
([#&#8203;436](https://togithub.com/webdriverio-community/node-geckodriver/issues/436))
([`9a18155`](9a18155))
- chore(deps-dev): bump
[@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)
from 7.8.0 to 7.9.0
([#&#8203;435](https://togithub.com/webdriverio-community/node-geckodriver/issues/435))
([`2179627`](2179627))
- chore(deps-dev): bump
[@&#8203;types/node](https://togithub.com/types/node) from 20.12.8 to
20.12.11
([#&#8203;432](https://togithub.com/webdriverio-community/node-geckodriver/issues/432))
([`cd0fdd7`](cd0fdd7))
- chore(deps-dev): bump eslint-plugin-unicorn from 52.0.0 to 53.0.0
([#&#8203;434](https://togithub.com/webdriverio-community/node-geckodriver/issues/434))
([`0e77506`](0e77506))
- chore(deps): bump unzipper from 0.11.5 to 0.11.6
([#&#8203;433](https://togithub.com/webdriverio-community/node-geckodriver/issues/433))
([`e32d34c`](e32d34c))
- chore(deps-dev): bump octokit from 3.2.1 to 4.0.2
([#&#8203;431](https://togithub.com/webdriverio-community/node-geckodriver/issues/431))
([`8479404`](8479404))
- chore(deps-dev): bump tsx from 4.9.2 to 4.10.1
([#&#8203;430](https://togithub.com/webdriverio-community/node-geckodriver/issues/430))
([`9898d82`](9898d82))
- chore(deps-dev): bump
[@&#8203;vitest/coverage-v8](https://togithub.com/vitest/coverage-v8)
from 1.5.2 to 1.6.0
([#&#8203;429](https://togithub.com/webdriverio-community/node-geckodriver/issues/429))
([`5e7b854`](5e7b854))
- chore(deps-dev): bump
[@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)
from 7.7.1 to 7.8.0
([#&#8203;427](https://togithub.com/webdriverio-community/node-geckodriver/issues/427))
([`e585dca`](e585dca))
- chore(deps-dev): bump octokit from 3.2.0 to 3.2.1
([#&#8203;428](https://togithub.com/webdriverio-community/node-geckodriver/issues/428))
([`3b119a0`](3b119a0))
- chore(deps-dev): bump tsx from 4.7.3 to 4.9.2
([#&#8203;426](https://togithub.com/webdriverio-community/node-geckodriver/issues/426))
([`73d4a9b`](73d4a9b))
- chore(deps-dev): bump
[@&#8203;types/node](https://togithub.com/types/node) from 20.12.7 to
20.12.8
([#&#8203;425](https://togithub.com/webdriverio-community/node-geckodriver/issues/425))
([`540dac7`](540dac7))
- chore(deps-dev): bump
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)
([#&#8203;424](https://togithub.com/webdriverio-community/node-geckodriver/issues/424))
([`9a2ef8d`](9a2ef8d))
- chore(deps): bump unzipper from 0.11.4 to 0.11.5
([#&#8203;423](https://togithub.com/webdriverio-community/node-geckodriver/issues/423))
([`b2f32b4`](b2f32b4))

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

🔕 **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 [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/elastic/kibana).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tiago Costa <tiago.costa@elastic.co>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2024-05-31 10:49:59 -07:00
Jean-Louis Leysens
975eeed255
[HTTP/OAS] Commit OAS snapshot (#183338)
Close https://github.com/elastic/kibana/issues/181992

## Summary

First iteration of a CLI to capture an OAS snapshot.

## How to test

Run `node ./scripts/capture_oas_snapshot.js --update --include-path
/api/status` and see result in `oas_docs/bundle.json`.

If you have the [bump CLI](https://www.npmjs.com/package/bump-cli)
installed you can preview the hosted output with `bump preview
./oas_docs/bundle.json`

## Notes
* Added ability to filter by `version`, `access` (public/internal) and
excluding paths explicitly to the OAS generation lib
* Follows the same general pattern as our other "capture" CLIs like
`packages/kbn-check-mappings-update-cli`
* Result includes only `/api/status` for now, waiting for other paths to
add missing parts

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-05-30 06:02:19 -07:00
renovate[bot]
454ef7f5a3
Update dependency @elastic/charts to v65.1.0 (main) (#184396)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@elastic/charts](https://togithub.com/elastic/elastic-charts) |
[`65.0.0` ->
`65.1.0`](https://renovatebot.com/diffs/npm/@elastic%2fcharts/65.0.0/65.1.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@elastic%2fcharts/65.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@elastic%2fcharts/65.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@elastic%2fcharts/65.0.0/65.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@elastic%2fcharts/65.0.0/65.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>elastic/elastic-charts (@&#8203;elastic/charts)</summary>

###
[`v65.1.0`](https://togithub.com/elastic/elastic-charts/blob/HEAD/CHANGELOG.md#6510-2024-05-28)

[Compare
Source](https://togithub.com/elastic/elastic-charts/compare/v65.0.0...v65.1.0)

##### Bug Fixes

- **deps:** update dependency
[@&#8203;elastic/eui](https://togithub.com/elastic/eui) to ^94.5.0
([#&#8203;2433](https://togithub.com/elastic/elastic-charts/issues/2433))
([b13ded9](b13ded98da))
- **deps:** update dependency
[@&#8203;playwright/test](https://togithub.com/playwright/test) to
^1.44.0
([#&#8203;2434](https://togithub.com/elastic/elastic-charts/issues/2434))
([faf36aa](faf36aaf1e))
- **Metric:** should only show one focus halo on `::focus` event
([#&#8203;2441](https://togithub.com/elastic/elastic-charts/issues/2441))
([96b0779](96b0779cc3))
- react component type errors
([#&#8203;2440](https://togithub.com/elastic/elastic-charts/issues/2440))
([f0b3a00](f0b3a008e7))

##### Features

- **legend:** add legend stats (table view)
([#&#8203;2426](https://togithub.com/elastic/elastic-charts/issues/2426))
([c22f767](c22f7673c8))

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

🔕 **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 [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/elastic/kibana).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNzcuOCIsInVwZGF0ZWRJblZlciI6IjM3LjM3Ny44IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJUZWFtOlZpc3VhbGl6YXRpb25zIiwiYmFja3BvcnQ6c2tpcCIsInJlbGVhc2Vfbm90ZTpza2lwIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-29 16:17:43 -07:00
Larry Gregory
a5613515ee
Upgrade octokit/rest to 17.11.2 (#176224)
## Summary

Bumps `@octokit/rest` to version `17.11.2`
2024-05-29 12:50:35 -04:00
Yngrid Coello
d39739ee85
[Dataset quality] Move page to stack management > Data (#184122)
Relates to https://github.com/elastic/kibana/issues/183406.

## 📝  Summary
This PR creates a new plugin `data_quality` in order to register dataset
quality as a Stack management page under data section. For now there is
no reference to this new page in the sideNav in stateful or serverless.

In order to navigate to this new page you can use the url
`/app/management/data/data_quality`

Changes included in this PR:
- New plugin created
- Plugin registered in stack management, data section
- Dataset quality plugin is instantiated and the state is in sync with
URL
- Removed references to dataset quality in Logs explorer

## 🎥 Demo


501c9c47-4a1b-4f91-9be6-d022a821e88e

## 🙅🏼 Missing

- Dataset quality locator
- There are still references to logs explorer (table and flyout) that
will be handled in a follow up PR.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-05-29 07:06:43 -07:00
Tomasz Kajtoch
74bf81663c
chore: upgrade @elastic/eui to v94.5.2 (#184421)
`v94.5.1`  `v94.5.2`

_[Questions? Please see our Kibana upgrade
FAQ.](https://github.com/elastic/eui/blob/main/wiki/eui-team-processes/upgrading-kibana.md#faq-for-kibana-teams)_

---

## [`v94.5.2`](https://github.com/elastic/eui/releases/v94.5.2)

**Bug fixes**

- Fixed `EuiDatePicker` to more gracefully handle incorrectly formatted
`selected` Moment dates, instead of simply crashing
([#7784](https://github.com/elastic/eui/pull/7784))
- Fixed `EuiFlexGroup` and `EuiFlexItem` types to correctly accept
global attribute props and simplify type resolution when used with
`styled()`-like wrappers
([#7792](https://github.com/elastic/eui/pull/7792))
2024-05-29 16:04:28 +02:00
Jon
17789e1380
Update ftr drivers (#184263) 2024-05-29 09:02:32 -05:00
Sébastien Loix
9e2b401f2c
[Stateful sidenav] Register observabilty nav from inside plugin (#184215) 2024-05-29 03:36:59 -07:00
renovate[bot]
dbc16cb897
Update dependency @elastic/charts to v65 (main) (#184031) 2024-05-29 09:09:10 +01:00
Faisal Kanout
4396bf6e2e
[OBS-UX-MNGMT] Move the Alerting comparators from TriggersActionsUI plugin to the alerting-types package (#181584)
## Summary
 It fixes #179633

Observability created a Comparator type/enum, when ResponseOps is
already exporting one and other rules using it.
The only difference is the wording of not in between [I put the two
types side by side to compare]
Currently, we import the one in triggers-actions-ui-plugin , and then
update the not in between to match our Comparator.

### Comparing the two enums:
![Screenshot 2024-04-23 at 18 17
23](16429ff9-e672-4c16-92ed-488a2f66007d)

## For reviewers 🧪 
- Everything should work as expected: Alert flyout, Alert reason
message, Rule creation flyout, etc.
- I kept the `outside` comparator (replaced by `NOT BETWEEN`) for
backward compatibility
2024-05-28 15:34:52 +02:00
Umberto Pepato
df15fe1b06
[ResponseOps][Security Solution] Transfer ownership of the alerts grouping package to ResponseOps (#184131)
## Summary

As agreed in the recent ResponseOps/Security/Observability meeting, the
ResponseOps team will take ownership of the alerts grouping package
(formerly `@kbn/securitysolution-grouping`) in order to provide a
solution-agnostic API surface for future usages in Observability and
Stack rules.

This PR implements this transfer, while also renaming the package to
`@kbn/grouping` to reflect the change in scope.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-05-28 11:15:04 +02:00
Steph Milovic
e2e1fb3504
[Security solution] AI Assistant, replace LLM with SimpleChatModel + Bedrock streaming (#182041) 2024-05-22 16:29:14 -06:00
Sébastien Loix
5b38b5a6c0
[Stateful sidenav] Dynamic links (#183157) 2024-05-22 16:55:16 +01:00
Lene Gadewoll
8189e1a753
Upgrade EUI to v94.5.1 (#183944)
`v94.5.0-backport.1`  `v94.5.1`

[Questions? Please see our Kibana upgrade
FAQ.](https://github.com/elastic/eui/blob/main/wiki/eui-team-processes/upgrading-kibana.md#faq-for-kibana-teams)

---

## [`v94.5.1`](https://github.com/elastic/eui/releases/v94.5.1)

**Bug fixes**

- Fixed an `EuiDualRange`s with `showInput` bug, where `min`/`max`
values and invalid states were not being correctly set if values were
empty strings ([#7767](https://github.com/elastic/eui/pull/7767))

**Accessibility**

- Improved `EuiDatePicker` and `EuiSuperDatePicker`'s time selection
screen reader UX ([#7726](https://github.com/elastic/eui/pull/7726))
- Improved the accessibility of `EuiDatePicker` by providing full
screen-reader-only week day names to the calendar header
([#7748](https://github.com/elastic/eui/pull/7748))
- Improved `EuiBadge`'s ability to tell when text within the badge is
selected/highlighted and selection color contrast
([#7752](https://github.com/elastic/eui/pull/7752))
2024-05-22 15:50:07 +02:00
renovate[bot]
3a23efe926
Update dependency elastic-apm-node to ^4.5.4 (main) (#183854)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-20 12:45:42 -07:00
Tomasz Kajtoch
83345c5ec8
Upgrade EUI to v94.5.0 (#183431) 2024-05-20 16:02:17 +02:00
Chris Cowan
7ae07f8913
[EEM][POC] The POC for creating entity-centric indices using entity definitions (#183205)
## Summary

This is a "proof of concept" for generating entity-centric indices for
the OAM. This exposes an API (`/api/entities`) for creating "asset
definitions" (`EntityDefinition`) that manages a transform and ingest
pipeline to produce documents into an index which could be used to
create a search experience or lookups for different services.

### Features
- Data schema agnostic, works with known schemas OR custom logs
- Supports defining multiple `identityFields` along with an
`identityTemplate` for formatting the `asset.id`
- Supports optional `identityFields` using `{ "field": "path-to-field",
"optional": true }` definition instead of a `string`.
- Supports defining key `metrics` with equations which are compatible
with the SLO product
- Supports adding `metadata` fields which will include multiple values. 
- Supports `metadata` fields can be re-mapped to a new destination path
using `{ "source": "path-to-source-field", "limit": 1000, "destination":
"path-to-destination-in-output" }` definition instead of a `string`
- Supports adding  `staticFields` which can also use template variables
- Support fine grain control over the frequency and sync settings for
the underlying transform
- Installs the index template components and index template settings for
the destination index
- Allow the user to configure the index patterns and timestamp field
along with the lookback
- The documents for each definition will be stored in their own index
(`.entities-observability.summary-v1.{defintion.id}`)

### Notes
- We are currently considering adding a historical index which will
track changes to the assets over time. If we choose to do this, the
summary index would remain the same but we'd add a second transform with
a group_by on the `definition.timestampField` and break the indices into
monthly indexes (configurable in the settings).
- We are looking into ways to add `firstSeenTimestamp`, this is a
difficult due to scaling issue. Essentially, we would need to find the
`minimum` timestamp for each entity which could be extremely costly on a
large datasets.
- There is nothing stopping you from creating an asset definition that
uses the `.entities-observability.summary-v1.*` index pattern to create
summaries of summaries... it can be very "meta".

### API
- `POST /api/entities/definition` - Creates a new asset definition and
starts the indexing. See examples below.
- `DELETE /api/entities/definition/{id}` - Deletes the asset definition
along with cleaning up the transform, ingest pipeline, and deletes the
destination index.
- `POST /api/entities/definition/{id}/_reset` - Resets the transform,
ingest pipeline, and destination index. This is useful for upgrading
asset definitions to new features.

## Example Definitions and Output

Here is a definition for creating services for each of the custom log
sources in the `fake_stack` dataset from `x-pack/packages/data-forge`.

```JSON
POST kbn:/api/entities/definition
{
  "id": "admin-console-logs-service",
  "name": "Services for Admin Console",
  "type": "service",
  "indexPatterns": ["kbn-data-forge-fake_stack.*"],
  "timestampField": "@timestamp",
  "lookback": "5m",
  "identityFields": ["log.logger"],
  "identityTemplate": "{{log.logger}}",
  "metadata": [
    "tags",
    "host.name"
  ],
  "metrics": [
    {
      "name": "logRate",
      "equation": "A / 5", 
      "metrics": [
        {
          "name": "A",
          "aggregation": "doc_count",
          "filter": "log.level: *"
        }
      ]
    },
    {
      "name": "errorRate",
      "equation": "A / 5", 
      "metrics": [
        {
          "name": "A",
          "aggregation": "doc_count",
          "filter": "log.level: \"ERROR\""
        }
      ]
    }
  ]
}
```
Which produces:
```JSON
{
  "host": {
    "name": [
      "admin-console.prod.020",
      "admin-console.prod.010",
      "admin-console.prod.011",
      "admin-console.prod.001",
      "admin-console.prod.012",
      "admin-console.prod.002",
      "admin-console.prod.013",
      "admin-console.prod.003",
      "admin-console.prod.014",
      "admin-console.prod.004",
      "admin-console.prod.015",
      "admin-console.prod.016",
      "admin-console.prod.005",
      "admin-console.prod.017",
      "admin-console.prod.006",
      "admin-console.prod.018",
      "admin-console.prod.007",
      "admin-console.prod.019",
      "admin-console.prod.008",
      "admin-console.prod.009"
    ]
  },
  "entity": {
    "latestTimestamp": "2024-05-10T22:04:51.481Z",
    "metric": {
      "logRate": 37.4,
      "errorRate": 1
    },
    "identity": {
      "log": {
        "logger": "admin-console"
      }
    },
    "id": "admin-console",
    "indexPatterns": [
      "kbn-data-forge-fake_stack.*"
    ],
    "definitionId": "admin-console-logs-service"
  },
  "event": {
    "ingested": "2024-05-10T22:05:51.955691Z"
  },
  "tags": [
    "infra:admin-console"
  ]
}
```

Here is an example of a definition for APM Services:

```JSON
POST kbn:/api/entities/definition
{
  "id": "apm-services",
  "name": "Services for APM",
  "type": "service", 
  "indexPatterns": ["logs-*", "metrics-*"],
  "timestampField": "@timestamp",
  "lookback": "5m",
  "identityFields": ["service.name", "service.environment"],
  "identityTemplate": "{{service.name}}:{{service.environment}}",
  "metadata": [
    "tags",
    "host.name"
  ],
  "metrics": [
    {
      "name": "latency",
      "equation": "A",
      "metrics": [
        {
          "name": "A",
          "aggregation": "avg",
          "field": "transaction.duration.histogram"
        }
      ]
    },
    {
      "name": "throughput",
      "equation": "A / 5",
      "metrics": [
        {
          "name": "A",
          "aggregation": "doc_count"
        }
      ]
    },
    {
      "name": "failedTransRate",
      "equation": "A / B",
      "metrics": [
        {
          "name": "A",
          "aggregation": "doc_count",
          "filter": "event.outcome: \"failure\""
        },
        {
          "name": "B",
          "aggregation": "doc_count",
          "filter": "event.outcome: *"
        }
      ]
    }
  ]
}
```
Which produces:
```JSON
{
  "host": {
    "name": [
      "simianhacker's-macbook-pro"
    ]
  },
  "entity": {
    "latestTimestamp": "2024-05-10T21:38:22.513Z",
    "metric": {
      "latency": 615276.8812785388,
      "throughput": 50.6,
      "failedTransRate": 0.0091324200913242
    },
    "identity": {
      "service": {
        "environment": "development",
        "name": "admin-console"
      }
    },
    "id": "admin-console:development",
    "indexPatterns": [
      "logs-*",
      "metrics-*"
    ],
    "definitionId": "apm-services"
  },
  "event": {
    "ingested": "2024-05-10T21:39:33.636225Z"
  },
  "tags": [
    "_geoip_database_unavailable_GeoLite2-City.mmdb"
  ]
}
```

### Getting Started 

The easiest way to get started is to use the`kbn-data-forge` config
below. Save this YAML to `~/Desktop/fake_stack.yaml` then run `node
x-pack/scripts/data_forge.js --config ~/Desktop/fake_stack.yaml`. Then
create a definition using the first example above.

```YAML
---
elasticsearch:
  installKibanaUser: false

kibana:
  installAssets: true
  host: "http://localhost:5601/kibana"

indexing:
  dataset: "fake_stack"
  eventsPerCycle: 50
  reduceWeekendTrafficBy: 0.5

schedule:
  # Start with good events
  - template: "good"
    start: "now-1d"
    end: "now-20m"
    eventsPerCycle: 50
    randomness: 0.8
  - template: "bad"
    start: "now-20m"
    end: "now-10m"
    eventsPerCycle: 50
    randomness: 0.8
  - template: "good"
    start: "now-10m"
    end: false
    eventsPerCycle: 50
    randomness: 0.8
```

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-05-17 12:03:42 -06:00
Gloria Hornero
d036067385
upgrades cypress to 13.6.3 (#183733)
## Summary

Summarize your PR. If it involves visual changes include a screenshot or
gif.
2024-05-17 07:15:11 -07:00
Pierre Gayvallet
148eeec0fe
Update supertest and superagent to latest version (#183587)
## Summary

Related to https://github.com/elastic/kibana/issues/7104

Update supertest, superagent, and the corresponding type package, to
their latest version.

(of course, types had some signature changes and we're massively using
supertest in all our FTR suites so the whole Kibana multiverse has to
review it)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-05-17 04:23:21 -07:00
Christos Nasikas
4b7d014582
Change all connectors to use the basic auth header instead of the auth property of axios (#183162)
## Summary

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

## Framework changes

- Utils to construct basic header from username and password: [`fad6bde`
(#183162)](fad6bde6af),
[`b10d103`
(#183162)](b10d103bd9)
- Automatically convert `auth` to basic auth header in the sub-actions
framework: [`ee27353`
(#183162)](ee27353051)
- Automatically convert `auth` to basic auth header in axios utils:
[`94753a7`
(#183162)](94753a7342)

## Jira

Commit: [`c366163`
(#183162)](c366163486)

## All ServiceNow connectors

Commit: [`4324d93`
(#183162)](4324d931f7)

## IBM Resilient

IBM Resilient already uses the basic auth headers. PR
https://github.com/elastic/kibana/pull/180561 added this functionality.
The connector was manually tested when reviewing the PR.

In [`7d9edab`
(#183162)](7d9edabd6e)
I updated the connector to use the new util function.

## Webhook

Commit: [`1a62c77`
(#183162)](1a62c77d46)

## Cases webhook

Commit: [`104f881`
(#183162)](104f881251)

## xMatters

Commit: [`ea7be2b`
(#183162)](ea7be2bbee)

## Connectors that do not use the `axios` `auth` property

- D3Security
- Email
- Microsoft Teams
- OpenAI
- Opsgenie
- PagerDuty
- Sentinel One
- Slack
- Slack API
- Swimlane
- Tines
- Torq

### Checklist

Delete any items that are not applicable to this PR.

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed

### Risk Matrix

Delete this section if it is not applicable to this PR.

Before closing this PR, invite QA, stakeholders, and other developers to
identify risks that should be tested prior to the change/feature
release.

When forming the risk matrix, consider some of the following examples
and how they may potentially impact the change:

| Risk | Probability | Severity | Mitigation/Notes |

|---------------------------|-------------|----------|-------------------------|
| Connectors not working correctly | Low | High | Unit test and manual
testing of all connectors affected |


### For maintainers

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

---------

Co-authored-by: “jeramysoucy” <jeramy.soucy@elastic.co>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2024-05-17 04:18:01 -07:00
Drew Tate
c4ef9bdccf
[ES|QL] generate function validation tests (#183343)
## Summary

Close https://github.com/elastic/kibana/issues/182390


### To test

You can test all aspects of the script by first making some changes to
`packages/kbn-esql-validation-autocomplete/src/validation/validation.test.ts`
- delete several tests from an existing function describe block ("block
1"—except don't choose "date_diff" since it has a bunch of custom tests)
- delete another function describe block completely ("block 2")
- change the expected result of several of the tests in a third function
describe block ("block 3")

Then, run `yarn maketests` from within
`packages/kbn-esql-validation-autocomplete`

**Expected result**
- Block 1 should have the deleted tests restored
- Block 2 should be restored entirely (though it may be moved in the
tests file)
- Block 3 should be untouched

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

---------

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2024-05-16 16:06:16 +02:00
Walter Rafelsberger
c010d98c58
[chore] bump chromedriver to 124 (#183595)
## Summary

Follow up to #181002.

Updating chromedriver to support running tests on Chrome v125
2024-05-16 12:49:51 +02:00
zyoshoka
1ead6b533a
Remove deprecated abab package (#183383)
## Summary

This PR removes deprecated [`abab`](https://www.npmjs.com/package/abab)
package.

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

Co-authored-by: Jeramy Soucy <jeramy.soucy@elastic.co>
2024-05-16 12:48:26 +02:00
Brad White
7cc61db199
Upgrade Node.js to v20.13.1 (#183345)
Closes #180697
Closes #181724


https://buildkite.com/elastic/kibana-custom-node-dot-js-builds/builds/158


[Changelog](https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V20.md#20.13.0)
2024-05-14 12:11:56 -07:00
Eyo O. Eyo
ac2a75147a
[Reporting] Update to puppeteer 22.8.1 (#183264)
## Summary

Quarterly update for puppeteer, the following change set updates
puppeteer to version `22.8.1`.

The chromium version required for this version of puppeteer is
`124.0.6367.201` from revision `1274542`, as such the chromium binary
included for windows and darwin platforms either match or were the
closest revision to the expectation. The linux headless binary was built
from commit `46cf136d27d50afd9c618d164a3b95b3b62d0027` of the same
revision.

 ### Checklist

<!--Delete any items that are not applicable to this PR. -->

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

<!--
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [ ] 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))
- [ ] 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 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))
- [ ] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)


### Risk Matrix

Delete this section if it is not applicable to this PR.

Before closing this PR, invite QA, stakeholders, and other developers to
identify risks that should be tested prior to the change/feature
release.

When forming the risk matrix, consider some of the following examples
and how they may potentially impact the change:

| Risk | Probability | Severity | Mitigation/Notes |

|---------------------------|-------------|----------|-------------------------|
| Multiple Spaces&mdash;unexpected behavior in non-default Kibana Space.
| Low | High | Integration tests will verify that all features are still
supported in non-default Kibana Space and when user switches between
spaces. |
| Multiple nodes&mdash;Elasticsearch polling might have race conditions
when multiple Kibana nodes are polling for the same tasks. | High | Low
| Tasks are idempotent, so executing them multiple times will not result
in logical error, but will degrade performance. To test for this case we
add plenty of unit tests around this logic and document manual testing
procedure. |
| Code should gracefully handle cases when feature X or plugin Y are
disabled. | Medium | High | Unit tests will verify that any feature flag
or plugin combination still results in our service operational. |
| [See more potential risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) |


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

### How to verify headless build on linux
- clone the following repo
https://github.com/tsullivan/kibana-dev-docker
- pull this particular PR
- follow the steps outlined in the repo, replacing any occurrence of
`kibana-8.13.0-SNAPSHOT-linux-aarch64.tar.gz` from the repo above's step
with the output of running build on this changeset.
- before running step 4, modify the `kibana.yml` file from the
`kibana-dev-docker` repo and include the following so we might be able
to verify the version of chromium running;
   ```yaml
     logging.loggers:
       - name: plugins.reporting
         level: debug
   ```
- complete the steps outlined in the README, you'll have a linux distro
of kibana running on port `5601`
- Attempt creating exports of PDF and PNG reports, in dashboard, canvas,
and visualizations, on report creation attempt we would see a log output
that prints out the chromium version similar to this;
<img width="1581" alt="Screenshot 2024-05-14 at 10 27 52"
src="a13de1a1-c77e-44d9-bf74-7417b7d6cfd3">
2024-05-14 18:02:22 +02:00
Patryk Kopyciński
13db1c9b21
Downgrade Cypress to 13.6.2 (#183047)
## Summary

We noticed some instability in Cypress in current version, downgrading
seems to be solving the issue.
2024-05-14 16:04:23 +02:00
Katerina
a19143c198
[POC] Track time to first meaningful paint (#180309)
part of https://github.com/elastic/observability-dev/issues/3269 

#### Time to First Meaningful Paint (TTFMP)


Measures the time from the start of navigation to the point at which the
most meaningful element appears on the screen. TTFMP is instrumented
differently on each page as the most meaningful element varies from page
to page.

example: 
```
event_type : "performance_metric" and eventName: "kibana:plugin_render_time" 
```

#### Usage

To instrument TTFMP you need to `PerfomanceContextProvider` at the root
at the app and run `onPageReady` function once meaningful data are
fetched . The meaningful data can be one or more


```

import { usePerformanceContext } from '@kbn/ebt-tools';
const { onPageReady } = usePerformanceContext();

```

#### Current instrumentation

Based on telemetry, I instrumented the TTFMP for most viewed pages in
apm and infra:

1. /services 
2. /traces
3. /service-map
4. /hosts
5. infra /inventory

All pages except hosts have one component so the page ready once the
data is loaded for the component. For hosts I set it when the hosts list
table and the hosts number is loaded.
#### Telemetry  

Example dashboard of the metrics I sent from my local setup
-
[Dashboard](f240fff6-fac9-491b-81d1-ac39006c5c94?_g=(filters:!(),refreshInterval:(pause:!t,value:60000),time:(from:now-7d,to:now)))


## Updates for reviewers
Previously the PR was checking both the component AND the time to first
meaningful paint. We decided to focus on the time to first meaningful
paint


### Notes
TTFMP is subject to change for each page based on what we're going to
define as meaningful

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-05-14 05:04:00 -07:00
Rodney Norris
98329a8879
[Search] Move TryInConsoleButton to it's own package (#183201)
## Summary

Moved the TryInConsoleButton from the search api panels package to its
own package. This should make it easier to import and encourage usage in
more parts of Kibana even outside of search.
2024-05-13 14:34:41 -05:00
Drew Tate
73864cc61e
[ES|QL] add AST inspector to examples (#182720)
## Summary

Something to get us started on the AST fun. At least until we contribute
ES|QL support to https://github.com/fkling/astexplorer :)



82c482b7-cd61-4440-b723-84f863c1b596

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-05-10 13:47:06 -05:00
Tomasz Kajtoch
e714cfa718
Upgrade EUI to v94.3.0 (#182822)
`v94.2.1-backport.0`  `v94.3.0`

_[Questions? Please see our Kibana upgrade
FAQ.](https://github.com/elastic/eui/blob/main/wiki/eui-team-processes/upgrading-kibana.md#faq-for-kibana-teams)_

---

## [`v94.3.0`](https://github.com/elastic/eui/releases/v94.3.0)

- Updated `launch` glyph for `EuiIcon`
([#7670](https://github.com/elastic/eui/pull/7670))
- Updated `EuiComboBox`'s `options` to support including tooltip details
for selectable options. Use `toolTipContent` to render tooltip
information, and `toolTipProps` to optionally customize the tooltip
rendering behavior ([#7700](https://github.com/elastic/eui/pull/7700))
- Updated the following existing glyphs in `EuiIcon`:
([#7727](https://github.com/elastic/eui/pull/7727))
  - `error` (now an outlined version instead of filled) 
  - `tokenMetricCounter`
  - `tokenMetricGauge` 
- Added the following new glyphs to `EuiIcon`:
([#7727](https://github.com/elastic/eui/pull/7727))
  - `tokenDimension`
  - `clickLeft`
  - `clickRight`
  - `clockCounter`
  - `errorFilled` (the previous `error` glyph design)
  - `warningFilled`

**Bug fixes**

- Fixed a visual layout bug for `EuiComboBox` with `isLoading` in mobile
views ([#7700](https://github.com/elastic/eui/pull/7700))
- Fixed missing styles on header cells of `EuiDataGrid` that prevented
content text alignment styles to apply
([#7720](https://github.com/elastic/eui/pull/7720))
- Fixed `EuiFlexGroup` and `EuiFlexItem` `ref` prop typing to support
refs of the same type as the passed `component` type and allow
`displayName` to be defined for easy component naming when using
component wrappers like `styled()`
([#7724](https://github.com/elastic/eui/pull/7724))

---

Most of the code changes you'll see in this PR are caused by the recent
EuiFlex* changes making it generic. This, unfortunately, is something
that `styled()` doesn't always like. I replaced the failing usages of
`styled(EuiFlexGroup)` and `styled(EuiFlexItem)` to use `component` and
other native EuiFlex* props, resulting in the same output but being
better typed.

We plan to add more props to EuiFlex* components giving developers
control over properties like `flex-grow` and `flex-shring`, and reducing
the need for writing any custom CSS when using these components. This
should reduce the number of `styled()` wrappers needed even further

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-05-10 13:01:58 -05:00
Alexey Antonov
233cc1eb45
Update the versions of @dnd-kit/* libs (#182955)
Closes: https://github.com/elastic/security-team/issues/8630

## Summary

The new version of the library implements broader support for
accessibility (a11y) and fixes the issue described in
https://github.com/elastic/security-team/issues/8630. **This library is
only used in one place in Kibana.**


### What was changed?:

1. Versions updated: 

|Lib | From | To |
|--| -- | -- |
`@dnd-kit/core`| `^3.1.1`, |  `^6.1.0`,
`@dnd-kit/sortable`| `^4.0.0`-|`^8.0.0`
`@dnd-kit/utilities`| `^2.0.0`, | `^3.2.2`


2.    The following core was replaced in accordance with the changelog
```
layoutMeasuring={{
  strategy: LayoutMeasuringStrategy.Always,
}} 
```
-> 
```
 measuring={{
    droppable: {
      strategy: MeasuringStrategy.Always,
    },
  }}
```

## Notes

During testing, an unrelated issue was discovered:
https://github.com/elastic/kibana/issues/182961.
2024-05-08 23:51:48 +03:00
Larry Gregory
d38cf12fca
Bump @redocly/cli to version 1.12.0 (#182744)
## Summary

Bump @redocly/cli to version `1.12.0`.

[Changelog](https://redocly.com/docs/cli/changelog/)
2024-05-08 10:10:04 -04:00
Cauê Marcondes
f5854558d3
[Logs] Adding data access plugin (#181823)
closes https://github.com/elastic/kibana/issues/181813

- Adds new logs_data_access plugin
- Adds Logs rates services that returns:
```
[serviceName]: {
  logRate: number | null;
  logErrorRate: number | null;
}
```

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-05-08 09:31:09 +01:00
Larry Gregory
40a1641357
Migrate from listr to listr2 (#182683)
## Summary

Migrates CLI tasks from `listr` to `listr2`. The former hasn't been
updated in a long time, and the community has moved on to `listr2`.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-05-07 07:30:42 -04:00
Marco Antonio Ghiani
7a69fdd469
[Infra][Logs Explorer] Factor out shared custom hook into a package (#182336)
## 📓 Summary

This work is just the extraction of a utility hook implemented in the
`infra` plugin for re-usability, as there are some scenarios where it
becomes handy in the logs explorer plugin too.

For improved reusability in future, I extracted the useBoolean hook into
a react-hooks package, where additional stateful utility hooks can go in
future.

This also replaces the current usage of the hook in the `infra` plugin
and is used to refactor part of the logs_explorer top nav.

---------

Co-authored-by: Marco Antonio Ghiani <marcoantonio.ghiani@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-05-06 16:17:39 +02:00
Stratoula Kalafateli
807da63c61
[ES|QL] Fetch the query columns utils (#182338)
## Summary

Revives this https://github.com/elastic/kibana/pull/181969

To do so, I had to create a new package `search-types` and move the
types I need there.

The Discovery team can take it from here.

Note: It also does a cleanup on the types I move, some of them were
declared twice.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-05-06 10:51:40 +02:00
Cee Chen
31e8c54cee
Upgrade EUI to v94.2.1 (#182023)
`v94.1.0-backport.0`  `v94.2.1-backport.0`

_[Questions? Please see our Kibana upgrade
FAQ.](https://github.com/elastic/eui/blob/main/wiki/eui-team-processes/upgrading-kibana.md#faq-for-kibana-teams)_

---

##
[`v94.2.1-backport.0`](https://github.com/elastic/eui/releases/v94.2.1-backport.0)

**This is a backport release only intended for use by Kibana.**

- Reverted the `EuiFlexGroup`/`EuiFlexItem` `component` prop feature due
to Kibana typing issues

## [`v94.2.1`](https://github.com/elastic/eui/releases/v94.2.1)

**Bug fixes**

- Fixed an `EuiTabbedContent` edge case bug that occurred when updated
with a completely different set of `tabs`
([#7713](https://github.com/elastic/eui/pull/7713))
- Fixed the `@storybook/test` dependency to be listed in
`devDependencies` and not `dependencies`
([#7719](https://github.com/elastic/eui/pull/7719))

## [`v94.2.0`](https://github.com/elastic/eui/releases/v94.2.0)

- Updated `getDefaultEuiMarkdownPlugins()` to allow excluding the
following plugins in addition to `tooltip`:
([#7676](https://github.com/elastic/eui/pull/7676))
  - `checkbox`
  - `linkValidator`
  - `lineBreaks`
  - `emoji`
- Updated `EuiSelectable`'s `isPreFiltered` prop to allow passing a
configuration object, which allows disabling search highlighting in
addition to search filtering
([#7683](https://github.com/elastic/eui/pull/7683))
- Updated `EuiFlexGroup` and `EuiFlexItem` prop types to support passing
any valid React component type to the `component` prop and ensure proper
type checking of the extra props forwarded to the `component`.
([#7688](https://github.com/elastic/eui/pull/7688))
- Updated `EuiSearchBar` to allow the `@` special character in query
string searches ([#7702](https://github.com/elastic/eui/pull/7702))
- Added a new, optional `optionMatcher` prop to `EuiSelectable` and
`EuiComboBox` allowing passing a custom option matcher function to these
components and controlling option filtering for given search string
([#7709](https://github.com/elastic/eui/pull/7709))

**Bug fixes**

- Fixed an `EuiPageTemplate` bug where prop updates would not cascade
down to child sections
([#7648](https://github.com/elastic/eui/pull/7648))
- To cascade props down to the sidebar, `EuiPageTemplate` now explicitly
requires using the `EuiPageTemplate.Sidebar` rather than
`EuiPageSidebar`
- Fixed `EuiFieldNumber`'s typing to accept an icon configuration shape
([#7666](https://github.com/elastic/eui/pull/7666))
- Fixed `EuiFieldText` and `EuiFieldNumber` to render the correct
paddings for icon shapes set to `side: 'right'`
([#7666](https://github.com/elastic/eui/pull/7666))
- Fixed `EuiFieldText` and `EuiFieldNumber` to fully ignore
`icon`/`prepend`/`append` when `controlOnly` is set to true
([#7666](https://github.com/elastic/eui/pull/7666))
- Fixed `EuiColorPicker`'s input not setting the correct right padding
for the number of icons displayed
([#7666](https://github.com/elastic/eui/pull/7666))
- Visual fixes for `EuiRange`s with `showInput`:
([#7678](https://github.com/elastic/eui/pull/7678))
  - Longer `append`/`prepend` labels no longer cause a background bug
  - Inputs can no longer overwhelm the actual range in width
- Fixed a visual text alignment regression in `EuiTableRowCell`s with
the `row` header scope
([#7681](https://github.com/elastic/eui/pull/7681))
- Fixed `toolTipProps` type on `EuiSuperUpdateButton` to use
`Partial<EuiToolTipProps>`
([#7692](https://github.com/elastic/eui/pull/7692))
- Fixes missing prop type for `popperProps` on `EuiDatePicker`
([#7694](https://github.com/elastic/eui/pull/7694))
- Fixed a focus bug with `EuiDataGrid`s with `leadingControlColumns`
when moving columns to the left/right
([#7701](https://github.com/elastic/eui/pull/7701))
([#7698](https://github.com/elastic/eui/pull/7698))
- Fixed `EuiSuperDatePicker` to validate date string with respect of
locale on `EuiAbsoluteTab`.
([#7705](https://github.com/elastic/eui/pull/7705))
- Fixed a visual bug with `EuiSuperDatePicker`'s absolute tab on small
mobile screens ([#7708](https://github.com/elastic/eui/pull/7708))
- Fixed i18n of empty and loading state messages for the
`FieldValueSelectionFilter` component
([#7718](https://github.com/elastic/eui/pull/7718))

**Dependency updates**

- Updated `@hello-pangea/dnd` to v16.6.0
([#7599](https://github.com/elastic/eui/pull/7599))
- Updated `remark-rehype` to v8.1.0
([#7601](https://github.com/elastic/eui/pull/7601))

**Accessibility**

- Improved `EuiBasicTable` and `EuiInMemoryTable`'s selection checkboxes
to have unique aria-labels per row
([#7672](https://github.com/elastic/eui/pull/7672))
- Added `aria-valuetext` attributes to `EuiRange`s with tick labels for
improved screen reader UX
([#7675](https://github.com/elastic/eui/pull/7675))
- Updated `EuiAccordion` to keep focus on accordion trigger instead of
moving to content on click/keypress
([#7696](https://github.com/elastic/eui/pull/7696))
- Added `aria-disabled` attribute to `EuiHorizontalSteps` when status is
"disabled" ([#7699](https://github.com/elastic/eui/pull/7699))

---------

Co-authored-by: Tomasz Kajtoch <tomasz.kajtoch@elastic.co>
2024-05-03 09:27:19 -07:00
Bhavya RM
8d5341f4a5
Update axe-core to latest version (#182525)
Updating axe-core to 4.9.0 the latest version
2024-05-03 21:04:43 +05:30
Aleh Zasypkin
9f0deb36ad
chore: bump xml-crypto from 5.0.0 to 6.0.0. (#182553)
## Summary

Bump `xml-crypto` from `5.0.0` to `6.0.0`.
2024-05-03 14:13:14 +02:00
Larry Gregory
de75523495
Add resolutions for protobufjs (#182424) 2024-05-03 05:45:51 -04:00
Marco Antonio Ghiani
747ecea18a
[Discover] Create Discover Shared plugin and features registry (#181952)
## 📓 Summary

Closes #181528 
Closes #181976 

**N.B.** This work was initially reviewed on a separate PR at
https://github.com/tonyghiani/kibana/pull/1.

This implementation aims to have a stateful layer that allows the
management of dependencies between Discover and other plugins, reducing
the need for a direct dependency.

Although the initial thought was to have a plugin to register features
for Discover, there might be other cases in future where we need to
prevent cyclic dependencies.
With this in mind, I created the plugin as a more generic solution to
hold stateful logic as a communication layer for Discover <-> Plugins.

## Discover Shared

Based on some recurring naming in the Kibana codebase, `discover_shared`
felt like the right place for owning these dependencies and exposing
Discover functionalities to the external world.
It is initially pretty simple and only exposes a registry for the
Discover features, but might be a good place to implement other upcoming
concepts related to Discover.

Also, this plugin should ideally never depend on other solution plugins
and keep its dependencies to a bare minimum of packages and core/data
services.

```mermaid
flowchart TD

A(Discover) -- Get --> E[DiscoverShared]
B(Logs Explorer) -- Set --> E[DiscoverShared]
C(Security) -- Set --> E[DiscoverShared]
D(Any app) -- Set --> E[DiscoverShared]
```

## DiscoverFeaturesService

This service initializes and exposes a strictly typed registry to allow
consumer apps to register additional features and Discover and retrieve
them.

The **README** file explains a real use case of when we'd need to use it
and how to do that step-by-step.

Although it introduces a more nested folder structure, I decided to
implement the service as a client-service and expose it through the
plugin lifecycle methods to provide the necessary flexibility we might
need:
- We don't know yet if any of the features we register will be done on
the setup/start steps, so having the registry available in both places
opens the door to any case we face.
- The service is client-only on purpose. My opinion is that if we ever
need to register features such as server services or anything else, it
should be scoped to a similar service dedicated for the server lifecycle
and its environment.
It should never be possible to register the ObsAIAssistant
presentational component from the server, as it should not be permitted
to register a server service in the client registry.
A server DiscoverFeaturesService is not required yet for any feature, so
I left it out to avoid overcomplicating the implementation.

## FeaturesRegistry

To have a strictly typed utility that suggests the available features on
a registry and adheres to a base contract, the registry exposed on the
DiscoverFeaturesService is an instance of the `FeaturesRegistry` class,
which implements the registration/retrieval logic such that:
- If a feature is already registered, is not possible to override it and
an error is thrown to notify the user of the collision.
- In case we need to react to registry changes, is possible to subscribe
to the registry or obtain it as an observable for more complex
scenarios.

The FeaturesRegistry already takes care of the required logic for the
registry, so that `DiscoverFeaturesService`is left with the
responsibility of instantiating/exposing an instance and provide the set
of allowed features.

---------

Co-authored-by: Marco Antonio Ghiani <marcoantonio.ghiani@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Davis McPhee <davismcphee@hotmail.com>
2024-05-03 11:27:32 +02:00
Aleh Zasypkin
c8d7f42b2b
chore: bump ejs from 3.1.8 to 3.1.10. (#182331)
## Summary

Bump `ejs` from `3.1.8` to `3.1.10`. While looking at other packages
that depend on `ejs` noticed `apidoc-markdown` that is only used by ML
team, so assigned ownership in Rennovate as well (cc @elastic/ml-ui).

```shell
npm ls ejs
kibana@8.15.0 /kibana
├─┬ apidoc-markdown@7.3.2
│ └── ejs@3.1.10 deduped
└── ejs@3.1.10
```
2024-05-02 12:33:25 +02:00
Dmitrii Shevchenko
36ecb80cba
[Security Solution] Added the rule_source field to the rule schemas (#181581)
**Resolves: https://github.com/elastic/kibana/issues/180121**
**Resolves: https://github.com/elastic/kibana/issues/180122**
**Resolves: https://github.com/elastic/kibana/issues/180124**

## Summary

As part of the preparatory changes for the work in Milestone 3, we want
to add the new `rule_source` field to the API schema.

- Added `rule_source` as an **optional** property to `RuleResponse`, by
introducing it as an optional property in the `ResponseFields` schema.
- For now, all endpoints should return `undefined` for the `rule_source`
field.
- Added `rule_source` as an **optional** property to `RuleToImport`,
which defines the schema of required and accepted fields when importing
a rule.
- For now, the new `rule_source` field should be ignored in the endpoint
logic.
- Added the `ruleSource` field to the `BaseRuleParams` schema, as an
optional field.
- Implemented a Zod transformation from `snake_case` to `camelCase` for
object keys to reduce code duplication.
2024-05-02 12:05:38 +02:00
Kurt
126410ccfb
Upgrade Markdown-it to 14.1.0 (#182244)
## Summary

Upgrade `markdown-it` to `14.1.0` in `main`
2024-05-01 13:18:21 -04:00
renovate[bot]
6dab9ae6fe
Update dependency elastic-apm-node to ^4.5.3 (main) (#182236) 2024-05-01 09:14:39 -07:00
Cauê Marcondes
97e0f419bf
[Assets] Creating Assets data access plugin (#182108)
Create an empty assets data access plugin so we can start registering
the services(APIs) that will be used to fetch assets type documents.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-04-30 08:15:23 -07:00
Marta Bondyra
e9c63bb554
Update dependency @elastic/charts to v64.1.0 (main) (#182087)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@elastic/charts](https://togithub.com/elastic/elastic-charts) |
[`64.0.2` ->
`64.1.0`](https://renovatebot.com/diffs/npm/@elastic%2fcharts/64.0.2/64.1.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@elastic%2fcharts/64.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@elastic%2fcharts/64.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@elastic%2fcharts/64.0.2/64.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@elastic%2fcharts/64.0.2/64.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>elastic/elastic-charts (@&#8203;elastic/charts)</summary>

###
[`v64.1.0`](https://togithub.com/elastic/elastic-charts/blob/HEAD/CHANGELOG.md#6410-2024-03-13)

[Compare
Source](https://togithub.com/elastic/elastic-charts/compare/v64.0.2...v64.1.0)

##### Features

- **theme:** move annotation default styles to `Theme`
([#&#8203;2357](https://togithub.com/elastic/elastic-charts/issues/2357))
([fe19ae2](fe19ae2cec))

####
[64.0.2](https://togithub.com/elastic/elastic-charts/compare/v64.0.1...v64.0.2)
(2024-03-12)

##### Bug Fixes

- **bullet:** full circle overlapping tick labels
([#&#8203;2350](https://togithub.com/elastic/elastic-charts/issues/2350))
([edbff68](edbff68173))
- **deps:** update dependency
[@&#8203;elastic/eui](https://togithub.com/elastic/eui) to ^93.3.0
([#&#8203;2356](https://togithub.com/elastic/elastic-charts/issues/2356))
([cf9ce81](cf9ce81c08))
- **deps:** update dependency
[@&#8203;playwright/test](https://togithub.com/playwright/test) to
^1.42.1
([#&#8203;2354](https://togithub.com/elastic/elastic-charts/issues/2354))
([03581bc](03581bc44f))

####
[64.0.1](https://togithub.com/elastic/elastic-charts/compare/v64.0.0...v64.0.1)
(2024-03-10)

##### Bug Fixes

- **bullet:** add a11y summary and debugState
([#&#8203;2352](https://togithub.com/elastic/elastic-charts/issues/2352))
([49a1b35](49a1b358b2))
- **deps:** update dependency
[@&#8203;elastic/eui](https://togithub.com/elastic/eui) to ^93.2.0
([#&#8203;2343](https://togithub.com/elastic/elastic-charts/issues/2343))
([0701985](0701985a47))

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

🔕 **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 [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/elastic/kibana).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNDUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-30 14:53:41 +02:00
Coen Warmer
d83a7370f9
[Maintenance] Move Asset Manager, Metrics Data Access to /x-pack/plugins/observability_solution (#181970)
## Summary

Title says it all.
2024-04-30 05:38:30 -07:00
Bhavya RM
3a65e17d78
[a11y] Remove jext-axe and supporting code from kibana (#180694)
Removing jest-axe and supporting code from Kibana because this library
(not regularly updated anymore and used only in one test file) is
blocking me from updating axe-core.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-04-25 22:24:18 +05:30
Nathan Reese
60ab2cfe95
PresentationPanel props hidePanelChrome (#181473)
### Changes
1. adds `hidePanelChrome` parameter to `ReactEmbeddableRenderer`. When
true, embeddable is rendered without `PresentationPanel` wrapper
2. Removes `embeddable-explorer` plugin
3. Moves Embeddable developer example into embeddable_examples plugin
4. Creates new examples that demonstrate how to use
`ReactEmbeddableRenderer`
<img width="600" alt="Screenshot 2024-04-23 at 5 19 18 PM"
src="5167a2a4-1968-42e6-92f7-4577c9cda3c6">

Follow-up work to narrow scope of this PR
1. add key concepts to embeddable overview
2. add "Register new embeddable type" tab that details how to create a
new embeddable and shows how you can add embeddable examples to
dashboard
3. group embeddable examples into a single item in "Add panel" menu - to
show best practices of how to keep menu clean
4. remove class based example embeddables

### Test instructions
1. start kibana with `yarn start --run-examples`
5. Open kibana menu and click "Developer examples"
6. Click "Embeddables" card and run examples

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-04-24 14:05:19 -06:00