forked from elastic/kibana
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
192749 refactor the normalize function into per data structure serialization logic #1
Closed
bryce-b
wants to merge
170
commits into
miloszmarcinkowski:main
from
bryce-b:192749-refactor-the-normalize-function-into-per-data-structure-serialization-logic
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## Summary Previously the uptime e2e journey we rely on to test the uptime overview page was looking back 5 years to query for canned data we load during the standard Kibana test script. Unfortunately, that data was generated now > 5y ago, so the test started to fail. This patch hardcodes the date of the filter to ensure we permanently look back to a timeframe that includes the canned data we use for testing the page. --------- Co-authored-by: shahzad31 <[email protected]>
## Summary This extends elastic#190348 to the Storybook build because it is quite noisy there as well. Example: https://buildkite.com/elastic/kibana-pull-request/builds/233585#0191e2ad-bc90-45f1-b375-959f3fc22b98/268-294 Remediation will be tracked at elastic#190345 ### Testing The Storybook build step should not have SASS deprecation warnings.
## Summary [Issue Request](elastic/security-team#9484) --------- Co-authored-by: Elastic Machine <[email protected]>
## Summary Unskips this e2e suite.
…s header(KVGraph) (elastic#192578)
Replace `setcap` with running the collector with `sudo` on Linux as it follows best practices. Later on, this can be replaced by instructions to install the collector instead.
…ic#192407) fix elastic#192052 ## Summary Internal APIs will be [restricted](elastic#163654) from public access as of 9.0.0. In non-serverless environments, this breaking change will result in a 400 error if an external request is made to an internal Kibana API (route `access` option as `"internal"` or `"public"`). This PR allows API owners of non-xpack plugins to run their `ftr` API integration tests against the restriction and adds examples of how to handle it. ### 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 Note to reviewers: The header needed to allow access to internal apis shouldn't change your test output, with or without the restriction enabled. ### How to test the changes work: #### Non x-pack: 1. Set `server.restrictInternalApis: true` in `test/common/config.js` 2. Ensure your tests pass #### x-pack: 1. Set `server.restrictInternalApis: true` in `x-pack/test/api_integration/apis/security/config.ts` 2. Ensure the spaces tests pass --------- Co-authored-by: Elastic Machine <[email protected]>
…ddable (elastic#192002) ## Summary In visualize, renames the new `react_embeddable` folder to just `embeddable`, and moves the previous `embeddable` folder to `legacy/embeddable`. Keeps a few constants and interfaces that are reused in the new embeddable in the `embeddable` folder, and imports them into `legacy/embeddable` where needed. --------- Co-authored-by: Marco Liberati <[email protected]>
## Summary This PR is one of the tasks on the issue [elastic#189487](elastic#189487). I've created this PR that contains the new cards that will be placed in the new header under the new **Data Ingestion Hub**. Cards: <img width="1293" alt="Screenshot 2024-09-02 at 14 32 55" src="https://github.com/user-attachments/assets/8e87803d-1445-40f6-aea5-e8706c2bf690"> <img width="1202" alt="Screenshot 2024-09-02 at 14 42 13" src="https://github.com/user-attachments/assets/8df13332-f14c-4ac1-adb5-9c7ec5b70b03"> **Summary:** - Card 1: On click `Watch video` → Open modal with current Get Started video. - Card 2: On click `Add users` → `ESS: http://localhost:5601/app/management/security/users` `serverless: https://cloud.elastic.co/account/members`. - Card 3: On click `Explore Demo` → navigate to `https://www.elastic.co/demo-gallery/security-overview` Behavior of each card: https://github.com/user-attachments/assets/fabdb807-5442-42c9-84c7-6bbc0084e7a1 ** UPDATE: @paulewing I've removed the feature flag and render directly the new header, also I've removed the card that renders the same video we are showing on the new header (first card). <img width="1273" alt="Screenshot 2024-09-09 at 10 11 10" src="https://github.com/user-attachments/assets/21851edd-b9dc-480a-9423-88aed0a62be7"> ### 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 --------- Co-authored-by: Elastic Machine <[email protected]> Co-authored-by: Angela Chuang <[email protected]>
We allow users to define `@platform` and `@custom` ingest pipelines/index templates to customize entity definitions output. This change prevents builtin definitions from being customized
## Summary Update version for package !! --------- Co-authored-by: kibanamachine <[email protected]>
Connected to elastic#188187 ## Summary - Changed the cases `Settings` button and icon - Changed the the `Additional fields` title to `Custom fields` for consistency <img width="1728" alt="Screenshot 2024-09-09 at 20 15 39" src="https://github.com/user-attachments/assets/1fb1232a-f958-4d4d-8694-f85cc8872237"> <img width="1443" alt="Screenshot 2024-09-09 at 20 34 27" src="https://github.com/user-attachments/assets/0fbdae02-65a6-4128-adc7-39f51cc2d5e6"> <img width="1370" alt="Screenshot 2024-09-09 at 20 34 57" src="https://github.com/user-attachments/assets/c216407a-ac13-4579-8007-531c79d52de7">
…2565) Closes elastic#190338 ### What was done - Creates a service in `apm_data_access` that returns services for a specific host - Remove all getServices() from infra plugin #### How to test In Infrastructure/Hosts, filter by `service.name: *`, when clicking on one of the hosts we expect to see in the host details, and also the flyout, a list of services with their proper agent icon <img width="1041" alt="image" src="https://github.com/user-attachments/assets/6fbd0b67-4345-48e7-9ad4-5a354218246a">
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [nodemailer](https://nodemailer.com/) ([source](https://togithub.com/nodemailer/nodemailer)) | dependencies | patch | [`^6.9.14` -> `^6.9.15`](https://renovatebot.com/diffs/npm/nodemailer/6.9.14/6.9.15) | --- ### Release Notes <details> <summary>nodemailer/nodemailer (nodemailer)</summary> ### [`v6.9.15`](https://togithub.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#6915-2024-08-08) [Compare Source](https://togithub.com/nodemailer/nodemailer/compare/v6.9.14...v6.9.15) ##### Bug Fixes - Fix memory leak ([#&elastic#8203;1667](https://togithub.com/nodemailer/nodemailer/issues/1667)) ([baa28f6](https://togithub.com/nodemailer/nodemailer/commit/baa28f659641a4bc30360633673d851618f8e8bd)) - **mime:** Added GeoJSON closes [#&elastic#8203;1637](https://togithub.com/nodemailer/nodemailer/issues/1637) ([#&elastic#8203;1665](https://togithub.com/nodemailer/nodemailer/issues/1665)) ([79b8293](https://togithub.com/nodemailer/nodemailer/commit/79b8293ad557d36f066b4675e649dd80362fd45b)) </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 [Renovate Bot](https://togithub.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjUuMSIsInVwZGF0ZWRJblZlciI6IjM3LjQyNS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJiYWNrcG9ydDpwcmV2LW1pbm9yIiwicmVsZWFzZV9ub3RlOnNraXAiXX0=--> Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> Co-authored-by: Julian Gernun <[email protected]>
## Summary Part of elastic#184685 First set of changes, I'm planning to do more prs for the remaining endpoints. Will also look at making sure these schema definitions are included in the final kibana `bundle.json`, related doc: https://elasticco.atlassian.net/wiki/spaces/DOC/pages/450494532/API+reference+docs When all schema definitions are moved to code, the fleet/openapi folder can be deleted. To check the result, add to `kibana.dev.yml`: `server.oas.enabled: true` And then in kibana console, query: ``` GET kbn:/api/oas?pathStartsWith=/api/fleet/setup GET kbn:/api/oas?pathStartsWith=/api/fleet/agents/setup GET kbn:/api/oas?pathStartsWith=/api/fleet/package_policies GET kbn:/api/oas?pathStartsWith=/api/fleet/package_policies/delete GET kbn:/api/oas?pathStartsWith=/api/fleet/settings GET kbn:/api/oas?pathStartsWith=/internal/fleet/settings/enrollment ``` To generate the bundle from code, run: ``` node scripts/capture_oas_snapshot --include-path /api/fleet --no-serverless --update # writes to oas_docs/bundle.json ``` Response: ``` { "openapi": "3.0.0", "info": { "title": "Kibana HTTP APIs", "version": "0.0.0" }, "servers": [ { "url": "http://localhost:5603/julia" } ], "paths": { "/api/fleet/setup": { "post": { "summary": "", "tags": [], "description": "Initiate Fleet setup", "responses": { "200": { "content": { "application/json; Elastic-Api-Version=2023-10-31": { "schema": { "type": "object", "description": "A summary of the result of Fleet's `setup` lifecycle. If `isInitialized` is true, Fleet is ready to accept agent enrollment. `nonFatalErrors` may include useful insight into non-blocking issues with Fleet setup.", "properties": { "isInitialized": { "type": "boolean" }, "nonFatalErrors": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "message": { "type": "string" } }, "additionalProperties": false, "required": [ "name", "message" ] } } }, "additionalProperties": false, "required": [ "isInitialized", "nonFatalErrors" ] } } } }, "400": { "content": { "application/json; Elastic-Api-Version=2023-10-31": { "schema": { "type": "object", "description": "Generic Error", "properties": { "statusCode": { "type": "number" }, "error": { "type": "string" }, "message": { "type": "string" } }, "additionalProperties": false, "required": [ "statusCode", "error", "message" ] } } } }, "500": { "content": { "application/json; Elastic-Api-Version=2023-10-31": { "schema": { "type": "object", "description": "Internal Server Error", "properties": { "message": { "type": "string" } }, "additionalProperties": false, "required": [ "message" ] } } } } }, "parameters": [ { "in": "header", "name": "elastic-api-version", "description": "The version of the API to use", "schema": { "type": "string", "enum": [ "2023-10-31" ], "default": "2023-10-31" } }, { "description": "A required header to protect against CSRF attacks", "in": "header", "name": "kbn-xsrf", "required": true, "schema": { "example": "true", "type": "string" } } ], "operationId": "%2Fapi%2Ffleet%2Fsetup#0" } } }, "components": { "schemas": {}, "securitySchemes": { "basicAuth": { "type": "http", "scheme": "basic" }, "apiKeyAuth": { "type": "apiKey", "in": "header", "name": "Authorization" } } }, "security": [ { "basicAuth": [] } ], "tags": [] } ```
Kibana should already support packages with spec version 3.2, update the max version in serverless. Supersedes part of elastic#184792. Co-authored-by: Jen Huang <[email protected]>
…'t idle (elastic#192603) In this PR, I'm fixing the runtime field used to calculate the number of overdue tasks so it considers `retryAt` field when tasks are in running or claiming status.
…192266) ## Summary Part of elastic#138222 in @types/react@18 types DefinitelyTyped/DefinitelyTyped#56210. This PR addresses a bunch of remaining fixes **(hopefully the last mass ping PR like this)** The most common are: ### 1 Objects are no longer considered a valid ReactNode In types@17 the ReactNode typing was too soft, it allowed objects and functions being passed as ReactNode, e.g. ``` let obj: React.ReactNode = {}; let func: React.ReactNode = () => {}; ``` This was by mistake, and this PR mutes most of such cases by simply casting to a `string` or `ReactNode`. In some cases, it is worth to follow up and address the raised issues in a better way (see in comments) ```diff function MyComponent() { const error: string | Error = 'Error' return ( <div> - {error} + {error as string} </div> ) } ``` Most common problems are related to rendering errors, where it could be `string | Error` object rendered directly as a ReactNode. Most often it is related to alerting framework: ``` export interface RuleFormParamsErrors { [key: string]: string | string[] | RuleFormParamsErrors; } ``` Not sure if there is a better fix then casting, surely not short-term. ### 2 More `useCallback` implicit any fixes Follow up to elastic#191659 ### 3 `EuiSelect` doesn't have a placeholder prop In a couple of places, the `placeholder` prop was removed. This is because react types were updated and `placeholder` was removed from the base HTML element, so it highlighted places where `placeholder` prop was redundant
… logging (elastic#192443) Related to elastic#187271 ## Summary As mentioned in this [PR](elastic#187225), when logging a JSON stringified string for debugging or tracing, we need to wrap it in a function. This PR does this for the custom threshold rule and removes extra request/response logging, relying on alerting framework logging for that purpose. ![image](https://github.com/user-attachments/assets/c1fa8bb2-e895-4aae-a8da-b74fe5a8ca1e) Before, we were able to have a similar log using `plugins.observability` and `plugins.alerting.observability.rules.custom_threshold` configs (as shown above), but now we only have `plugins.alerting.observability.rules.custom_threshold` which can be enabled by either of the following configs: ``` logging: loggers: - name: plugins.alerting level: debug - name: plugins.alerting.observability.rules.custom_threshold level: trace ``` Thanks @dgieselaar for bringing this to our attention! ### How to test - Enable the trace logging config as mentioned above - Create a custom threshold rule and check the server logs; you should be able to see the logs for the request and response of the rule execution.
## Description This PR adds an inventory plugin, which renders an inventory UI. Currently only data streams are rendered. This is part of the LogsAI initiative - basically we need a UI for tasks like structuring data, extracting entities, listing the results etc. This is mostly POC-level stuff. Eventually some of this code might be handed over to ECO but let's cross that bridge when we get to it. ## Notes for reviewers: @elastic/appex-ai-infra @elastic/security-generative-ai: added a `truncateList` utility function that takes the first n elements of an array and appends a `{l-n} more` string value if there are more values than n. Really simple but I expect will also be very often used because we cannot send a huge amount of items to the LLM. @elastic/kibana-core @elastic/kibana-operations: just boiler plate stuff for adding a new plugin (and thank you for enabling us to run `quick_checks` locally! @elastic/obs-knowledge-team: added support for streaming using an Observable. @elastic/obs-ux-management-team: added links to the Inventory UI in the Observability plugin @elastic/obs-entities: I've added an entity manager client to be able to fetch entity definitions on the server. Maybe there's a better way? LMK. @elastic/obs-ux-logs-team: added a deeplink to the Inventory UI. I've also moved CODEOWNERS for this package to @elastic/obs-ux-management-team as they own the Observability plugin where this is mostly used. --------- Co-authored-by: kibanamachine <[email protected]>
## Summary Adding in the connection details and quickstats for the search_details page. ![Screenshot 2024-09-11 at 20 36 31](https://github.com/user-attachments/assets/5f030c06-4a98-4d9d-a465-c6719998ca56) ![Screenshot 2024-09-11 at 20 36 27](https://github.com/user-attachments/assets/d96be2f1-bcaa-42e5-9d32-1612e090b916) ![Screenshot 2024-09-11 at 20 36 09](https://github.com/user-attachments/assets/1f7995ae-5a0d-4810-acfb-3fafe33be451) ### Checklist Delete any items that are not applicable to this PR. --------- Co-authored-by: kibanamachine <[email protected]> Co-authored-by: Liam Thompson <[email protected]>
## Summary Stores refresh interval and refresh paused state in local storage. Also defaults refresh to paused rather than active. --------- Co-authored-by: Shahzad <[email protected]>
…tic#192529) ## Summary Related ticket: elastic#187658 Adds test plan for diff algorithm for arrays of scalar values implemented here: elastic#190179 ### 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)
Resolves elastic#192914 In this PR, I'm fixing the flakiness in tests where sometimes rules fail with a different message on timeout. This is expected as it's a race condition between the Elasticsearch request timing out and the alerting rule getting cancelled. So we can expect one of two messages. Note: Test is not skipped as of PR creation
…source-with-fields
miloszmarcinkowski
pushed a commit
that referenced
this pull request
Oct 28, 2024
…95375) ## Summary Follow-up of elastic#195367 As part of the Sustainable Kibana Architecture initiative, this PR leverages the mechanisms and concepts introduced in elastic#194810, updating plugins that were considered to be solution-specific in Luke's [PoC](elastic#179710). This might trigger linting rule violations in CI, and help uncover conflicts related to forbidden dependencies. As soon as they are resolved, we can proceed to classify solutions' plugins.
miloszmarcinkowski
pushed a commit
that referenced
this pull request
Nov 7, 2024
…ted features (elastic#198656) ## Summary This PR ensures that we don’t expose UI capabilities for deprecated features since they’re unnecessary, and the code should rely on the UI capabilities of the replacement features instead. Additionally, this PR transforms the `disabledFeatures` property of Space objects returned from our programmatic and HTTP APIs to replace any deprecated feature IDs with the IDs of their replacement features, ensuring that feature visibility toggles work for deprecated features as well. ## How to test 1. Run Kibana FTR server with the following config (registers test deprecated features): ```shell node scripts/functional_tests_server.js --config x-pack/test/security_api_integration/features.config.ts ``` 2. Once server is up and running create Space with the `case_1_feature_a` **deprecated** feature disabled: ```shell curl 'http://localhost:5620/api/spaces/space' -u elastic:changeme \ -X POST -H 'Content-Type: application/json' -H 'kbn-version: 9.0.0' \ --data-raw '{"name":"space-alpha","id":"space-alpha","initials":"s","color":"#D6BF57","disabledFeatures":["case_1_feature_a"],"imageUrl":""}' ``` 3. Log in to Kibana and [navigate to a Space `space-alpha`](http://localhost:5620/app/management/kibana/spaces/edit/space-alpha) you've just created. Observe that deprecated `Case #1 feature A` (`case_1_feature_a`) isn't displayed, and instead you should see that replaces deprecated one - `Case #1 feature B` (`case_1_feature_b`): ![Screen Shot 2024-11-01 at 17 40 59](https://github.com/user-attachments/assets/5b91e71c-7d46-4ff1-bf73-d148622e8ec4) Co-authored-by: Elastic Machine <[email protected]>
miloszmarcinkowski
pushed a commit
that referenced
this pull request
Nov 11, 2024
…eprecated features (elastic#198656) (elastic#199147) # Backport This will backport the following commits from `main` to `8.x`: - [fix(security, features): do not expose UI capabilities of the deprecated features (elastic#198656)](elastic#198656) <!--- Backport version: 9.4.3 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Aleh Zasypkin","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-11-06T14:06:39Z","message":"fix(security, features): do not expose UI capabilities of the deprecated features (elastic#198656)\n\n## Summary\r\n\r\nThis PR ensures that we don’t expose UI capabilities for deprecated\r\nfeatures since they’re unnecessary, and the code should rely on the UI\r\ncapabilities of the replacement features instead.\r\n\r\nAdditionally, this PR transforms the `disabledFeatures` property of\r\nSpace objects returned from our programmatic and HTTP APIs to replace\r\nany deprecated feature IDs with the IDs of their replacement features,\r\nensuring that feature visibility toggles work for deprecated features as\r\nwell.\r\n\r\n## How to test\r\n\r\n1. Run Kibana FTR server with the following config (registers test\r\ndeprecated features):\r\n```shell\r\nnode scripts/functional_tests_server.js --config x-pack/test/security_api_integration/features.config.ts\r\n```\r\n2. Once server is up and running create Space with the\r\n`case_1_feature_a` **deprecated** feature disabled:\r\n```shell\r\ncurl 'http://localhost:5620/api/spaces/space' -u elastic:changeme \\\r\n -X POST -H 'Content-Type: application/json' -H 'kbn-version: 9.0.0' \\\r\n --data-raw '{\"name\":\"space-alpha\",\"id\":\"space-alpha\",\"initials\":\"s\",\"color\":\"#D6BF57\",\"disabledFeatures\":[\"case_1_feature_a\"],\"imageUrl\":\"\"}'\r\n```\r\n3. Log in to Kibana and [navigate to a Space\r\n`space-alpha`](http://localhost:5620/app/management/kibana/spaces/edit/space-alpha)\r\nyou've just created. Observe that deprecated `Case #1 feature A`\r\n(`case_1_feature_a`) isn't displayed, and instead you should see that\r\nreplaces deprecated one - `Case #1 feature B` (`case_1_feature_b`):\r\n\r\n![Screen Shot 2024-11-01 at 17 40\r\n59](https://github.com/user-attachments/assets/5b91e71c-7d46-4ff1-bf73-d148622e8ec4)\r\n\r\nCo-authored-by: Elastic Machine <[email protected]>","sha":"deeb9fe32af717a883727aed7d83c6106d8d839f","branchLabelMapping":{"^v9.0.0$":"main","^v8.17.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Security","release_note:skip","Feature:Security/Authorization","v9.0.0","backport:prev-major"],"title":"fix(security, features): do not expose UI capabilities of the deprecated features","number":198656,"url":"https://github.com/elastic/kibana/pull/198656","mergeCommit":{"message":"fix(security, features): do not expose UI capabilities of the deprecated features (elastic#198656)\n\n## Summary\r\n\r\nThis PR ensures that we don’t expose UI capabilities for deprecated\r\nfeatures since they’re unnecessary, and the code should rely on the UI\r\ncapabilities of the replacement features instead.\r\n\r\nAdditionally, this PR transforms the `disabledFeatures` property of\r\nSpace objects returned from our programmatic and HTTP APIs to replace\r\nany deprecated feature IDs with the IDs of their replacement features,\r\nensuring that feature visibility toggles work for deprecated features as\r\nwell.\r\n\r\n## How to test\r\n\r\n1. Run Kibana FTR server with the following config (registers test\r\ndeprecated features):\r\n```shell\r\nnode scripts/functional_tests_server.js --config x-pack/test/security_api_integration/features.config.ts\r\n```\r\n2. Once server is up and running create Space with the\r\n`case_1_feature_a` **deprecated** feature disabled:\r\n```shell\r\ncurl 'http://localhost:5620/api/spaces/space' -u elastic:changeme \\\r\n -X POST -H 'Content-Type: application/json' -H 'kbn-version: 9.0.0' \\\r\n --data-raw '{\"name\":\"space-alpha\",\"id\":\"space-alpha\",\"initials\":\"s\",\"color\":\"#D6BF57\",\"disabledFeatures\":[\"case_1_feature_a\"],\"imageUrl\":\"\"}'\r\n```\r\n3. Log in to Kibana and [navigate to a Space\r\n`space-alpha`](http://localhost:5620/app/management/kibana/spaces/edit/space-alpha)\r\nyou've just created. Observe that deprecated `Case #1 feature A`\r\n(`case_1_feature_a`) isn't displayed, and instead you should see that\r\nreplaces deprecated one - `Case #1 feature B` (`case_1_feature_b`):\r\n\r\n![Screen Shot 2024-11-01 at 17 40\r\n59](https://github.com/user-attachments/assets/5b91e71c-7d46-4ff1-bf73-d148622e8ec4)\r\n\r\nCo-authored-by: Elastic Machine <[email protected]>","sha":"deeb9fe32af717a883727aed7d83c6106d8d839f"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/198656","number":198656,"mergeCommit":{"message":"fix(security, features): do not expose UI capabilities of the deprecated features (elastic#198656)\n\n## Summary\r\n\r\nThis PR ensures that we don’t expose UI capabilities for deprecated\r\nfeatures since they’re unnecessary, and the code should rely on the UI\r\ncapabilities of the replacement features instead.\r\n\r\nAdditionally, this PR transforms the `disabledFeatures` property of\r\nSpace objects returned from our programmatic and HTTP APIs to replace\r\nany deprecated feature IDs with the IDs of their replacement features,\r\nensuring that feature visibility toggles work for deprecated features as\r\nwell.\r\n\r\n## How to test\r\n\r\n1. Run Kibana FTR server with the following config (registers test\r\ndeprecated features):\r\n```shell\r\nnode scripts/functional_tests_server.js --config x-pack/test/security_api_integration/features.config.ts\r\n```\r\n2. Once server is up and running create Space with the\r\n`case_1_feature_a` **deprecated** feature disabled:\r\n```shell\r\ncurl 'http://localhost:5620/api/spaces/space' -u elastic:changeme \\\r\n -X POST -H 'Content-Type: application/json' -H 'kbn-version: 9.0.0' \\\r\n --data-raw '{\"name\":\"space-alpha\",\"id\":\"space-alpha\",\"initials\":\"s\",\"color\":\"#D6BF57\",\"disabledFeatures\":[\"case_1_feature_a\"],\"imageUrl\":\"\"}'\r\n```\r\n3. Log in to Kibana and [navigate to a Space\r\n`space-alpha`](http://localhost:5620/app/management/kibana/spaces/edit/space-alpha)\r\nyou've just created. Observe that deprecated `Case #1 feature A`\r\n(`case_1_feature_a`) isn't displayed, and instead you should see that\r\nreplaces deprecated one - `Case #1 feature B` (`case_1_feature_b`):\r\n\r\n![Screen Shot 2024-11-01 at 17 40\r\n59](https://github.com/user-attachments/assets/5b91e71c-7d46-4ff1-bf73-d148622e8ec4)\r\n\r\nCo-authored-by: Elastic Machine <[email protected]>","sha":"deeb9fe32af717a883727aed7d83c6106d8d839f"}}]}] BACKPORT--> Co-authored-by: Aleh Zasypkin <[email protected]>
miloszmarcinkowski
pushed a commit
that referenced
this pull request
Nov 11, 2024
…stic#195375) (elastic#199268) # Backport This will backport the following commits from `main` to `8.x`: - [[Sustainable Kibana Architecture] Update plugins (wave #1) (elastic#195375)](elastic#195375) <!--- Backport version: 8.9.8 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Gerard Soldevila","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-10-25T14:05:27Z","message":"[Sustainable Kibana Architecture] Update plugins (wave #1) (elastic#195375)\n\n## Summary\r\n\r\nFollow-up of https://github.com/elastic/kibana/pull/195367\r\nAs part of the Sustainable Kibana Architecture initiative, this PR\r\nleverages the mechanisms and concepts introduced in\r\nhttps://github.com/elastic/pull/194810, updating plugins that\r\nwere considered to be solution-specific in Luke's\r\n[PoC](https://github.com/elastic/kibana/pull/179710).\r\n\r\nThis might trigger linting rule violations in CI, and help uncover\r\nconflicts related to forbidden dependencies.\r\nAs soon as they are resolved, we can proceed to classify solutions'\r\nplugins.","sha":"a5517d9d2cf38369fc46ea9622ce36c768436aad","branchLabelMapping":{"^v9.0.0$":"main","^v8.17.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Core","Feature:Embedding","Feature:ExpressionLanguage","release_note:skip","Feature:Drilldowns","Team:Fleet","v9.0.0","backport:prev-minor","Team:Obs AI Assistant","ci:project-deploy-observability","Team:obs-ux-infra_services","Team:obs-ux-management"],"number":195375,"url":"https://github.com/elastic/kibana/pull/195375","mergeCommit":{"message":"[Sustainable Kibana Architecture] Update plugins (wave #1) (elastic#195375)\n\n## Summary\r\n\r\nFollow-up of https://github.com/elastic/kibana/pull/195367\r\nAs part of the Sustainable Kibana Architecture initiative, this PR\r\nleverages the mechanisms and concepts introduced in\r\nhttps://github.com/elastic/pull/194810, updating plugins that\r\nwere considered to be solution-specific in Luke's\r\n[PoC](https://github.com/elastic/kibana/pull/179710).\r\n\r\nThis might trigger linting rule violations in CI, and help uncover\r\nconflicts related to forbidden dependencies.\r\nAs soon as they are resolved, we can proceed to classify solutions'\r\nplugins.","sha":"a5517d9d2cf38369fc46ea9622ce36c768436aad"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/195375","number":195375,"mergeCommit":{"message":"[Sustainable Kibana Architecture] Update plugins (wave #1) (elastic#195375)\n\n## Summary\r\n\r\nFollow-up of https://github.com/elastic/kibana/pull/195367\r\nAs part of the Sustainable Kibana Architecture initiative, this PR\r\nleverages the mechanisms and concepts introduced in\r\nhttps://github.com/elastic/pull/194810, updating plugins that\r\nwere considered to be solution-specific in Luke's\r\n[PoC](https://github.com/elastic/kibana/pull/179710).\r\n\r\nThis might trigger linting rule violations in CI, and help uncover\r\nconflicts related to forbidden dependencies.\r\nAs soon as they are resolved, we can proceed to classify solutions'\r\nplugins.","sha":"a5517d9d2cf38369fc46ea9622ce36c768436aad"}}]}] BACKPORT-->
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.