Commit graph

86 commits

Author SHA1 Message Date
Gerard Soldevila
49df29609e
Sustainable Kibana Architecture: Move modules owned by @elastic/response-ops (#202836)
## Summary

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

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

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

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

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

| Id | Target folder |
| -- | ------------- |
| `@kbn/actions-plugin` | `x-pack/platform/plugins/shared/actions` |
| `@kbn/alerting-plugin` | `x-pack/platform/plugins/shared/alerting` |
| `@kbn/cases-plugin` | `x-pack/platform/plugins/shared/cases` |
| `@kbn/event-log-plugin` | `x-pack/platform/plugins/shared/event_log` |
| `@kbn/rule-registry-plugin` |
`x-pack/platform/plugins/shared/rule_registry` |
| `@kbn/stack-alerts-plugin` |
`x-pack/platform/plugins/shared/stack_alerts` |
| `@kbn/stack-connectors-plugin` |
`x-pack/platform/plugins/shared/stack_connectors` |
| `@kbn/task-manager-plugin` |
`x-pack/platform/plugins/shared/task_manager` |
| `@kbn/triggers-actions-ui-plugin` |
`x-pack/platform/plugins/shared/triggers_actions_ui` |




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

| Id | Target folder |
| -- | ------------- |
| `@kbn/actions-types` |
`src/platform/packages/shared/kbn-actions-types` |
| `@kbn/alerting-comparators` |
`x-pack/platform/packages/shared/kbn-alerting-comparators` |
| `@kbn/alerting-state-types` |
`x-pack/platform/packages/private/kbn-alerting-state-types` |
| `@kbn/alerting-types` |
`src/platform/packages/shared/kbn-alerting-types` |
| `@kbn/alerts-as-data-utils` |
`src/platform/packages/shared/kbn-alerts-as-data-utils` |
| `@kbn/alerts-grouping` |
`x-pack/solutions/observability/packages/kbn-alerts-grouping` |
| `@kbn/alerts-ui-shared` |
`src/platform/packages/shared/kbn-alerts-ui-shared` |
| `@kbn/cases-components` |
`src/platform/packages/shared/kbn-cases-components` |
| `@kbn/grouping` | `src/platform/packages/shared/kbn-grouping` |
| `@kbn/response-ops-rule-params` |
`src/platform/packages/private/response-ops/rule_params` |
| `@kbn/rrule` | `src/platform/packages/shared/kbn-rrule` |
| `@kbn/triggers-actions-ui-types` |
`src/platform/packages/shared/kbn-triggers-actions-ui-types` |


<details open>
<summary>Script errors</summary>

```
Cannot replace multiple occurrences of "../../.." in the same line, please fix manually:	/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/alerting/README.md:257
Cannot replace multiple occurrences of "../../.." in the same line, please fix manually:	/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/stack_connectors/README.md:411
```

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

```
src/platform/packages/private/response-ops/rule_params/jest.config.js:12
src/platform/packages/private/response-ops/rule_params/tsconfig.json:2
src/platform/packages/private/response-ops/rule_params/tsconfig.type_check.json:2
src/platform/packages/private/response-ops/rule_params/tsconfig.type_check.json:20
src/platform/packages/shared/kbn-actions-types/jest.config.js:12
src/platform/packages/shared/kbn-actions-types/tsconfig.json:2
src/platform/packages/shared/kbn-actions-types/tsconfig.type_check.json:2
src/platform/packages/shared/kbn-actions-types/tsconfig.type_check.json:22
src/platform/packages/shared/kbn-alerting-types/jest.config.js:12
src/platform/packages/shared/kbn-alerting-types/tsconfig.json:2
src/platform/packages/shared/kbn-alerting-types/tsconfig.type_check.json:2
src/platform/packages/shared/kbn-alerting-types/tsconfig.type_check.json:25
src/platform/packages/shared/kbn-alerting-types/tsconfig.type_check.json:34
src/platform/packages/shared/kbn-alerting-types/tsconfig.type_check.json:40
src/platform/packages/shared/kbn-alerting-types/tsconfig.type_check.json:43
src/platform/packages/shared/kbn-alerts-as-data-utils/jest.config.js:12
src/platform/packages/shared/kbn-alerts-as-data-utils/tsconfig.json:2
src/platform/packages/shared/kbn-alerts-as-data-utils/tsconfig.type_check.json:2
src/platform/packages/shared/kbn-alerts-ui-shared/jest.config.js:12
src/platform/packages/shared/kbn-alerts-ui-shared/tsconfig.json:2
src/platform/packages/shared/kbn-alerts-ui-shared/tsconfig.type_check.json:121
src/platform/packages/shared/kbn-alerts-ui-shared/tsconfig.type_check.json:2
src/platform/packages/shared/kbn-alerts-ui-shared/tsconfig.type_check.json:28
src/platform/packages/shared/kbn-alerts-ui-shared/tsconfig.type_check.json:49
src/platform/packages/shared/kbn-alerts-ui-shared/tsconfig.type_check.json:52
src/platform/packages/shared/kbn-alerts-ui-shared/tsconfig.type_check.json:61
src/platform/packages/shared/kbn-alerts-ui-shared/tsconfig.type_check.json:64
src/platform/packages/shared/kbn-alerts-ui-shared/tsconfig.type_check.json:73
src/platform/packages/shared/kbn-alerts-ui-shared/tsconfig.type_check.json:79
src/platform/packages/shared/kbn-alerts-ui-shared/tsconfig.type_check.json:82
src/platform/packages/shared/kbn-cases-components/jest.config.js:12
src/platform/packages/shared/kbn-cases-components/tsconfig.json:2
src/platform/packages/shared/kbn-cases-components/tsconfig.type_check.json:2
src/platform/packages/shared/kbn-grouping/jest.config.js:12
src/platform/packages/shared/kbn-grouping/tsconfig.json:2
src/platform/packages/shared/kbn-grouping/tsconfig.type_check.json:2
src/platform/packages/shared/kbn-grouping/tsconfig.type_check.json:24
src/platform/packages/shared/kbn-grouping/tsconfig.type_check.json:36
src/platform/packages/shared/kbn-rrule/jest.config.js:12
src/platform/packages/shared/kbn-rrule/tsconfig.json:2
src/platform/packages/shared/kbn-rrule/tsconfig.type_check.json:2
src/platform/packages/shared/kbn-triggers-actions-ui-types/jest.config.js:12
src/platform/packages/shared/kbn-triggers-actions-ui-types/tsconfig.json:2
src/platform/packages/shared/kbn-triggers-actions-ui-types/tsconfig.type_check.json:2
x-pack/platform/packages/private/kbn-alerting-state-types/jest.config.js:10
x-pack/platform/packages/private/kbn-alerting-state-types/tsconfig.json:2
x-pack/platform/packages/private/kbn-alerting-state-types/tsconfig.type_check.json:2
x-pack/platform/packages/private/kbn-alerting-state-types/tsconfig.type_check.json:20
x-pack/platform/packages/shared/kbn-alerting-comparators/jest.config.js:10
x-pack/platform/packages/shared/kbn-alerting-comparators/tsconfig.json:2
x-pack/platform/packages/shared/kbn-alerting-comparators/tsconfig.type_check.json:2
x-pack/platform/plugins/shared/actions/docs/openapi/README.md:5
x-pack/platform/plugins/shared/actions/jest.config.js:10
x-pack/platform/plugins/shared/actions/jest.integration.config.js:10
x-pack/platform/plugins/shared/actions/server/integration_tests/axios_utils_connection.test.ts:35
x-pack/platform/plugins/shared/actions/server/integration_tests/axios_utils_proxy.test.ts:34
x-pack/platform/plugins/shared/actions/server/lib/custom_host_settings.test.ts:24
x-pack/platform/plugins/shared/actions/server/manual_tests/forward_proxy.js:46
x-pack/platform/plugins/shared/actions/server/sub_action_framework/README.md:358
x-pack/platform/plugins/shared/actions/tsconfig.json:2
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:100
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:103
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:106
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:112
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:115
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:118
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:121
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:124
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:19
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:2
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:46
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:49
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:52
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:55
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:58
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:61
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:64
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:67
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:70
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:73
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:76
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:79
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:82
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:85
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:88
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:91
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:94
x-pack/platform/plugins/shared/actions/tsconfig.type_check.json:97
x-pack/platform/plugins/shared/alerting/README.md:257
x-pack/platform/plugins/shared/alerting/README.md:274
x-pack/platform/plugins/shared/alerting/README.md:281
x-pack/platform/plugins/shared/alerting/jest.config.js:10
x-pack/platform/plugins/shared/alerting/jest.integration.config.js:10
x-pack/platform/plugins/shared/alerting/tsconfig.json:2
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:100
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:103
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:106
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:109
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:112
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:115
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:118
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:121
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:124
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:127
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:130
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:133
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:136
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:139
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:142
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:145
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:148
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:154
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:157
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:160
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:163
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:166
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:169
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:172
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:175
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:178
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:181
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:184
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:187
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:19
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:190
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:193
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:196
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:199
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:2
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:202
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:205
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:208
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:49
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:52
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:55
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:58
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:61
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:64
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:67
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:70
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:73
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:76
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:79
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:82
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:85
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:88
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:91
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:94
x-pack/platform/plugins/shared/alerting/tsconfig.type_check.json:97
x-pack/platform/plugins/shared/cases/jest.config.js:10
x-pack/platform/plugins/shared/cases/tsconfig.json:10
x-pack/platform/plugins/shared/cases/tsconfig.json:2
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:100
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:103
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:106
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:112
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:115
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:118
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:12
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:121
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:124
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:127
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:130
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:133
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:136
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:139
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:142
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:145
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:148
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:151
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:154
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:157
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:160
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:163
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:166
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:172
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:178
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:181
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:184
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:187
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:19
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:190
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:193
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:196
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:199
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:2
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:202
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:205
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:208
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:43
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:46
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:49
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:52
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:55
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:58
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:61
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:64
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:67
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:70
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:73
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:76
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:79
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:82
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:91
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:94
x-pack/platform/plugins/shared/cases/tsconfig.type_check.json:97
x-pack/platform/plugins/shared/event_log/README.md:330
x-pack/platform/plugins/shared/event_log/jest.config.js:10
x-pack/platform/plugins/shared/event_log/jest.integration.config.js:10
x-pack/platform/plugins/shared/event_log/scripts/create_schemas.js:257
x-pack/platform/plugins/shared/event_log/server/es/context.test.ts:14
x-pack/platform/plugins/shared/event_log/server/es/names.test.ts:10
x-pack/platform/plugins/shared/event_log/tsconfig.json:2
x-pack/platform/plugins/shared/event_log/tsconfig.type_check.json:2
x-pack/platform/plugins/shared/event_log/tsconfig.type_check.json:20
x-pack/platform/plugins/shared/event_log/tsconfig.type_check.json:26
x-pack/platform/plugins/shared/event_log/tsconfig.type_check.json:29
x-pack/platform/plugins/shared/event_log/tsconfig.type_check.json:32
x-pack/platform/plugins/shared/event_log/tsconfig.type_check.json:35
x-pack/platform/plugins/shared/event_log/tsconfig.type_check.json:38
x-pack/platform/plugins/shared/event_log/tsconfig.type_check.json:41
x-pack/platform/plugins/shared/event_log/tsconfig.type_check.json:47
x-pack/platform/plugins/shared/rule_registry/jest.config.js:10
x-pack/platform/plugins/shared/rule_registry/scripts/generate_ecs_fieldmap/index.js:19
x-pack/platform/plugins/shared/rule_registry/tsconfig.json:12
x-pack/platform/plugins/shared/rule_registry/tsconfig.json:2
x-pack/platform/plugins/shared/rule_registry/tsconfig.type_check.json:13
x-pack/platform/plugins/shared/rule_registry/tsconfig.type_check.json:2
x-pack/platform/plugins/shared/rule_registry/tsconfig.type_check.json:20
x-pack/platform/plugins/shared/rule_registry/tsconfig.type_check.json:23
x-pack/platform/plugins/shared/rule_registry/tsconfig.type_check.json:32
x-pack/platform/plugins/shared/rule_registry/tsconfig.type_check.json:35
x-pack/platform/plugins/shared/rule_registry/tsconfig.type_check.json:38
x-pack/platform/plugins/shared/rule_registry/tsconfig.type_check.json:41
x-pack/platform/plugins/shared/rule_registry/tsconfig.type_check.json:44
x-pack/platform/plugins/shared/rule_registry/tsconfig.type_check.json:50
x-pack/platform/plugins/shared/rule_registry/tsconfig.type_check.json:53
x-pack/platform/plugins/shared/rule_registry/tsconfig.type_check.json:56
x-pack/platform/plugins/shared/rule_registry/tsconfig.type_check.json:59
x-pack/platform/plugins/shared/rule_registry/tsconfig.type_check.json:62
x-pack/platform/plugins/shared/rule_registry/tsconfig.type_check.json:65
x-pack/platform/plugins/shared/rule_registry/tsconfig.type_check.json:68
x-pack/platform/plugins/shared/rule_registry/tsconfig.type_check.json:71
x-pack/platform/plugins/shared/rule_registry/tsconfig.type_check.json:74
x-pack/platform/plugins/shared/rule_registry/tsconfig.type_check.json:77
x-pack/platform/plugins/shared/rule_registry/tsconfig.type_check.json:80
x-pack/platform/plugins/shared/rule_registry/tsconfig.type_check.json:83
x-pack/platform/plugins/shared/rule_registry/tsconfig.type_check.json:86
x-pack/platform/plugins/shared/stack_alerts/jest.config.js:10
x-pack/platform/plugins/shared/stack_alerts/server/rule_types/index_threshold/README.md:125
x-pack/platform/plugins/shared/stack_alerts/tsconfig.json:2
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:100
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:103
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:106
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:109
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:112
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:115
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:118
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:121
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:124
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:127
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:130
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:133
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:136
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:139
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:142
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:148
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:151
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:154
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:19
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:2
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:31
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:34
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:40
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:43
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:46
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:49
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:52
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:55
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:58
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:61
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:64
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:67
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:70
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:73
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:76
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:79
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:82
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:85
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:88
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:91
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:94
x-pack/platform/plugins/shared/stack_alerts/tsconfig.type_check.json:97
x-pack/platform/plugins/shared/stack_connectors/README.md:411
x-pack/platform/plugins/shared/stack_connectors/README.md:417
x-pack/platform/plugins/shared/stack_connectors/jest.config.js:10
x-pack/platform/plugins/shared/stack_connectors/tsconfig.json:2
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:101
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:107
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:110
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:113
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:2
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:20
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:29
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:32
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:35
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:38
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:41
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:44
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:50
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:53
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:56
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:59
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:62
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:65
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:68
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:71
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:74
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:77
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:80
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:83
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:89
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:92
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:95
x-pack/platform/plugins/shared/stack_connectors/tsconfig.type_check.json:98
x-pack/platform/plugins/shared/task_manager/README.md:64
x-pack/platform/plugins/shared/task_manager/jest.config.js:10
x-pack/platform/plugins/shared/task_manager/jest.integration.config.js:10
x-pack/platform/plugins/shared/task_manager/tsconfig.json:2
x-pack/platform/plugins/shared/task_manager/tsconfig.type_check.json:18
x-pack/platform/plugins/shared/task_manager/tsconfig.type_check.json:2
x-pack/platform/plugins/shared/task_manager/tsconfig.type_check.json:21
x-pack/platform/plugins/shared/task_manager/tsconfig.type_check.json:24
x-pack/platform/plugins/shared/task_manager/tsconfig.type_check.json:27
x-pack/platform/plugins/shared/task_manager/tsconfig.type_check.json:30
x-pack/platform/plugins/shared/task_manager/tsconfig.type_check.json:33
x-pack/platform/plugins/shared/task_manager/tsconfig.type_check.json:36
x-pack/platform/plugins/shared/task_manager/tsconfig.type_check.json:39
x-pack/platform/plugins/shared/task_manager/tsconfig.type_check.json:42
x-pack/platform/plugins/shared/task_manager/tsconfig.type_check.json:45
x-pack/platform/plugins/shared/task_manager/tsconfig.type_check.json:48
x-pack/platform/plugins/shared/task_manager/tsconfig.type_check.json:51
x-pack/platform/plugins/shared/task_manager/tsconfig.type_check.json:54
x-pack/platform/plugins/shared/task_manager/tsconfig.type_check.json:57
x-pack/platform/plugins/shared/task_manager/tsconfig.type_check.json:60
x-pack/platform/plugins/shared/task_manager/tsconfig.type_check.json:63
x-pack/platform/plugins/shared/task_manager/tsconfig.type_check.json:69
x-pack/platform/plugins/shared/triggers_actions_ui/README.md:1229
x-pack/platform/plugins/shared/triggers_actions_ui/README.md:1283
x-pack/platform/plugins/shared/triggers_actions_ui/README.md:1332
x-pack/platform/plugins/shared/triggers_actions_ui/README.md:1404
x-pack/platform/plugins/shared/triggers_actions_ui/README.md:1418
x-pack/platform/plugins/shared/triggers_actions_ui/README.md:1419
x-pack/platform/plugins/shared/triggers_actions_ui/README.md:1534
x-pack/platform/plugins/shared/triggers_actions_ui/README.md:1548
x-pack/platform/plugins/shared/triggers_actions_ui/README.md:1618
x-pack/platform/plugins/shared/triggers_actions_ui/README.md:1632
x-pack/platform/plugins/shared/triggers_actions_ui/README.md:312
x-pack/platform/plugins/shared/triggers_actions_ui/README.md:335
x-pack/platform/plugins/shared/triggers_actions_ui/README.md:336
x-pack/platform/plugins/shared/triggers_actions_ui/README.md:393
x-pack/platform/plugins/shared/triggers_actions_ui/jest.config.js:10
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.json:12
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.json:2
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:102
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:105
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:108
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:111
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:114
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:117
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:120
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:123
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:126
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:129
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:132
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:135
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:138
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:14
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:144
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:147
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:153
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:156
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:159
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:162
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:165
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:171
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:174
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:177
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:180
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:183
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:186
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:189
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:192
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:195
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:198
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:2
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:21
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:33
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:36
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:39
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:42
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:45
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:48
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:51
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:57
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:60
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:63
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:66
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:72
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:75
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:78
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:81
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:87
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:90
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:93
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:96
x-pack/platform/plugins/shared/triggers_actions_ui/tsconfig.type_check.json:99
x-pack/solutions/observability/packages/kbn-alerts-grouping/jest.config.js:12
x-pack/solutions/observability/packages/kbn-alerts-grouping/tsconfig.json:2
x-pack/solutions/observability/packages/kbn-alerts-grouping/tsconfig.type_check.json:2
x-pack/solutions/observability/packages/kbn-alerts-grouping/tsconfig.type_check.json:39
```

</details>

---------

Co-authored-by: pgayvallet <pierre.gayvallet@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-12-26 15:49:50 +01:00
Jiawei Wu
5a9129e22d
[Response Ops] Remove ephemeral tasks from task manager plugin (#201313)
## Summary

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

Removes all reference to ephemeral tasks from the task manager plugin.
As well as unit and E2E tests while maintaining backwards compatibility
for `xpack.task_manager.ephemeral_tasks` flag to no-op if set. This PR
has some dependencies from the PR to remove ephemeral task support from
the alerting and actions plugin
(https://github.com/elastic/kibana/pull/197421). So it should be merged
after the other PR.

Deprecates the following configuration settings:

- xpack.task_manager.ephemeral_tasks.enabled
- xpack.task_manager.ephemeral_tasks.request_capacity

The user doesn't have to change anything on their end if they don't wish
to. This deprecation is made so if the above settings are defined,
kibana will simply do nothing.

### Checklist
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
2024-12-13 14:31:31 -08:00
Ying Mao
be949d66e4
[Response Ops][Task Manager] Adding background task to mark removed task types as unrecognized (#199057)
Resolves https://github.com/elastic/kibana/issues/192686

## Summary

Creates a background task to search for removed task types and mark them
as unrecognized. Removes the current logic that does this during the
task claim cycle for both task claim strategies.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-11-11 15:17:46 -05:00
Mike Côté
c31f11e7d8
Set mget task claim strategy as the default (#197070)
Resolves https://github.com/elastic/kibana/issues/194625

In this PR, I'm setting `mget` as the default task claiming strategy
along the following changes:
- Given we no longer need the 8.16 specific PRs
(https://github.com/elastic/kibana/pull/196317 and
https://github.com/elastic/kibana/pull/196757), I've also reverted them.
- Given we now use `met` as the default, I've renamed
`task_manager_claimer_mget` to `task_manager_claimer_update_by_query`
and made tests in that folder test using the `update_by_query` claim
strategy.
- Stabilize flaky tests caused by mget + polling for tasks more
frequently

Flaky test runners:
-
[[59b71bc](59b71bcdbe)]
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/7197
-
[[aea910e](aea910e36d)]
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/7199
-
[[4723ced](4723ced751)]
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/7206
-
[[d28c8c5](d28c8c56f6)]
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/7209
-
[[dd7773a](dd7773aeba)]
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/7224

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-10-25 08:57:46 -04:00
Ying Mao
83c151278e
[Response Ops][Task Manager] Provide a way for recurring tasks to indicate that they should be deleted. (#184776)
Resolves https://github.com/elastic/kibana/issues/181145

## Summary

Adds an optional flag `shouldDeleteTask` to a successful task run
result. If this flag is set to true, task manager will remove the task
at the end of the processing cycle. This allows tasks to gracefully
inform us that they need to be deleted without throwing an unrecoverable
error (the current way that tasks tell us they want to be deleted).

Audited existing usages of `throwUnrecoverableError`. Other than usages
within the alerting and actions task runner, which are thrown for valid
error states, all other usages were by tasks that were considered
outdated and should be deleted. Updated all those usages to return the
`shouldDeleteTask` run result.

---------

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2024-06-12 16:21:52 -04:00
Ersin Erdal
2abe492033
Remove skipping task logic from Task Manager (#177244)
Towards: #176585

This PR removes the task skipping logic from TaskManager, PRs for
Alerting and Actions will follow.

## To verify
Rules and actions should be still working as expected.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-03-14 15:52:56 +01:00
Ying Mao
7f5486e1e6
[Response Ops][Task Manager ] Adding ability for ad-hoc task instance to specify timeout override (#175731)
Resolves https://github.com/elastic/kibana/issues/174353

## Summary

Adds ability for task instance to specify a timeout override that will
be used in place of the task type timeout when running an ad-hoc task.
In the future we may consider allowing timeout overrides for recurring
tasks but this PR limits usage to only ad-hoc task runs.

This timeout override is planned for use by backfill rule execution
tasks so the only usages in this PR are in the functional tests.
2024-02-15 13:21:37 -05:00
Ying Mao
b5225232d0
[Response Ops][Task Manager] Introduce task priority during task claiming (#175334)
Resolves https://github.com/elastic/kibana/issues/174352

## Summary

Adds an optional `priority` definition to task types which defaults to
`Normal` priority. Updates the task claiming update by query to include
a new scripted sort that sorts by priority in descending order so that
highest priority tasks are claimed first.

This priority field is planned for use by backfill rule execution tasks
so the only usages in this PR are in the functional tests.

Also included an integration test that will ping the team if a task type
explicitly sets a priority in the task definition

---------

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2024-02-15 09:40:48 -05:00
Alejandro Fernández Haro
fd09c26d15
async-import plugins in the server side (#170856)
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-11-15 00:55:56 -07:00
Mike Côté
140c71ad84
Exclude disabled tasks from task manager health API and Stack Monitoring (#164444)
Resolves https://github.com/elastic/kibana/issues/163958.
Resolves https://github.com/elastic/kibana/issues/163023.

In this PR, I'm modifying the task store's aggregate function to exclude
tasks that are disabled. This function is only used by the monitoring
functionality of alerting and actions plugin and the Task Manager's
health API which all experienced bugs where they shouldn't be
considering disabled task types.

## To verify

1. Create 20 alerting rules running every 1s
2. Call the `/api/task_manager/_health` endpoint
3. Notice capacity_estimation stats are changing to accomodate 20 rules
constantly running
4. Disable all the alerting rules
5. Call the `/api/task_manager/_health` endpoint (wait for runtime and
workload stats to update by looking at their timestamp and ensuring it's
after the time you disabled the rules)
6. Notice capacity_estimation stats no longer consider the 20 rules that
use to run constantly
2023-08-23 14:10:53 -04:00
Mike Côté
0afc95a6c5
Onboard response ops tasks to use stateSchemaByVersion for task state validation (#161581)
Part of https://github.com/elastic/kibana/issues/159342.

In this PR, I'm preparing the non-alerting (rule types) response ops
task types for serverless by defining an explicit task state schema.
This schema is used to validate the task's state before saving but also
when reading. In the scenario an older Kibana node runs a task after a
newer Kibana node has stored additional task state, the unknown state
properties will be dropped. Additionally, this will prompt developers to
be aware that adding required fields to the task state is a breaking
change that must be handled with care. (see
https://github.com/elastic/kibana/issues/155764).

For more information on how to use `stateSchemaByVersion`, see
https://github.com/elastic/kibana/pull/159048 and
https://github.com/elastic/kibana/blob/main/x-pack/plugins/task_manager/README.md.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-07-13 12:34:44 -04:00
Ersin Erdal
cb853a1d9a
Skip tasks with invalid params (#158022)
Resolves: #155766 
Resolves: #159302

With this PR we aim to skip a task that has invalid direct and indirect
params.

In order to do that, 
1- We validate the task params before calling the subtask's run method
and skip if if the task params are invalid.
2- We skip execution of a subtask (rule, action etc) when the run method
of it returns a `SkipError`

Therefore, validations in the run methods needs to be moved to top of
the run method and executed before anything else to return skip if the
data is invalid.

We also added a config to enable/disable the skip feature, and define
the delay duration of task reschedule.

As this may become an infinitive loop, we are supposed to limit the
attempts.
Follow on issue to implement that: #159302

---------

Co-authored-by: Patryk Kopycinski <contact@patrykkopycinski.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-07-11 21:47:23 +02:00
Alexi Doak
5e1055c295
[ResponseOps] [Event Log] Remove event log HTTP APIs if no longer used (#155913)
Resolves https://github.com/elastic/kibana/issues/90486

## Summary

Removes the event log HTTP apis since they are not used, and adds them
to the functional tests


### Checklist

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-05-02 06:43:06 -07:00
Alexi Doak
18aa846ef2
[ResponseOps] Move task retry determination to Task Manager (#152223)
Resolves https://github.com/elastic/kibana/issues/151470

## Summary

Removes `getRetry` from the task type task type. I created a new error
`throwRetryError` that can be thrown when we want to retry or retry at a
specific date. I updated the actions framework to throw these new
errors.

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


### To verify

- The retry logic should not be changed for a use. I would create a rule
with an action and force the action to fail:
I usually update [Server
Log](https://github.com/doakalexi/kibana/blob/main/x-pack/plugins/stack_connectors/server/connector_types/server_log/index.ts#L77)
to throw an error here.

- Verify that the action does not retry when you just throw the error
- Update the return value
[here](https://github.com/doakalexi/kibana/blob/main/x-pack/plugins/stack_connectors/server/connector_types/server_log/index.ts#L82)
to have `retry: true` and verify that that the action will retry 3
times.
- Repeat the step above and set `retry: some date` and verify that the
action will retry at that date. Some of the connectors already retry at
a later date so you can also force an error in one of those to verify
the retry logic.
2023-03-07 17:26:45 -05:00
Spencer
1b85815402
[packages] migrate all plugins to packages (#148130)
Fixes https://github.com/elastic/kibana/issues/149344

This PR migrates all plugins to packages automatically. It does this
using `node scripts/lint_packages` to automatically migrate
`kibana.json` files to `kibana.jsonc` files. By doing this automatically
we can simplify many build and testing procedures to only support
packages, and not both "packages" and "synthetic packages" (basically
pointers to plugins).

The majority of changes are in operations related code, so we'll be
having operations review this before marking it ready for review. The
vast majority of the code owners are simply pinged because we deleted
all `kibana.json` files and replaced them with `kibana.jsonc` files, so
we plan on leaving the PR ready-for-review for about 24 hours before
merging (after feature freeze), assuming we don't have any blockers
(especially from @elastic/kibana-core since there are a few core
specific changes, though the majority were handled in #149370).

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-02-08 21:06:50 -06:00
Spencer
afb09ccf8a
Transpile packages on demand, validate all TS projects (#146212)
## Dearest Reviewers 👋 

I've been working on this branch with @mistic and @tylersmalley and
we're really confident in these changes. Additionally, this changes code
in nearly every package in the repo so we don't plan to wait for reviews
to get in before merging this. If you'd like to have a concern
addressed, please feel free to leave a review, but assuming that nobody
raises a blocker in the next 24 hours we plan to merge this EOD pacific
tomorrow, 12/22.

We'll be paying close attention to any issues this causes after merging
and work on getting those fixed ASAP. 🚀

---

The operations team is not confident that we'll have the time to achieve
what we originally set out to accomplish by moving to Bazel with the
time and resources we have available. We have also bought ourselves some
headroom with improvements to babel-register, optimizer caching, and
typescript project structure.

In order to make sure we deliver packages as quickly as possible (many
teams really want them), with a usable and familiar developer
experience, this PR removes Bazel for building packages in favor of
using the same JIT transpilation we use for plugins.

Additionally, packages now use `kbn_references` (again, just copying the
dx from plugins to packages).

Because of the complex relationships between packages/plugins and in
order to prepare ourselves for automatic dependency detection tools we
plan to use in the future, this PR also introduces a "TS Project Linter"
which will validate that every tsconfig.json file meets a few
requirements:

1. the chain of base config files extended by each config includes
`tsconfig.base.json` and not `tsconfig.json`
1. the `include` config is used, and not `files`
2. the `exclude` config includes `target/**/*`
3. the `outDir` compiler option is specified as `target/types`
1. none of these compiler options are specified: `declaration`,
`declarationMap`, `emitDeclarationOnly`, `skipLibCheck`, `target`,
`paths`

4. all references to other packages/plugins use their pkg id, ie:
	
	```js
    // valid
    {
      "kbn_references": ["@kbn/core"]
    }
    // not valid
    {
      "kbn_references": [{ "path": "../../../src/core/tsconfig.json" }]
    }
    ```

5. only packages/plugins which are imported somewhere in the ts code are
listed in `kbn_references`

This linter is not only validating all of the tsconfig.json files, but
it also will fix these config files to deal with just about any
violation that can be produced. Just run `node scripts/ts_project_linter
--fix` locally to apply these fixes, or let CI take care of
automatically fixing things and pushing the changes to your PR.

> **Example:** [`64e93e5`
(#146212)](64e93e5806)
When I merged main into my PR it included a change which removed the
`@kbn/core-injected-metadata-browser` package. After resolving the
conflicts I missed a few tsconfig files which included references to the
now removed package. The TS Project Linter identified that these
references were removed from the code and pushed a change to the PR to
remove them from the tsconfig.json files.

## No bazel? Does that mean no packages??
Nope! We're still doing packages but we're pretty sure now that we won't
be using Bazel to accomplish the 'distributed caching' and 'change-based
tasks' portions of the packages project.

This PR actually makes packages much easier to work with and will be
followed up with the bundling benefits described by the original
packages RFC. Then we'll work on documentation and advocacy for using
packages for any and all new code.

We're pretty confident that implementing distributed caching and
change-based tasks will be necessary in the future, but because of
recent improvements in the repo we think we can live without them for
**at least** a year.

## Wait, there are still BUILD.bazel files in the repo
Yes, there are still three webpack bundles which are built by Bazel: the
`@kbn/ui-shared-deps-npm` DLL, `@kbn/ui-shared-deps-src` externals, and
the `@kbn/monaco` workers. These three webpack bundles are still created
during bootstrap and remotely cached using bazel. The next phase of this
project is to figure out how to get the package bundling features
described in the RFC with the current optimizer, and we expect these
bundles to go away then. Until then any package that is used in those
three bundles still needs to have a BUILD.bazel file so that they can be
referenced by the remaining webpack builds.

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2022-12-22 19:00:29 -06:00
doakalexi
a7c7da3161
[ResponseOps] Ping the response-ops team whenever a new task type is added in a PR (#144196)
* Adding test to track changes

* Fixing type check

* Fix types

* Moving route

* Filtering out test types
2022-11-01 12:59:06 -07:00
spalger
52f2b33a07
[auto] migrate existing plugin/package configs 2022-10-28 14:06:46 -05:00
spalger
e5d186a6f0
[ts] stop building @types packages in bootstrap 2022-10-28 14:03:55 -05:00
Ying Mao
8089c01a13
[Response Ops] [Alerting] Run rule after enabling (#140664)
* Splitting bulk enable and disable and resetting runAt and scheduledAt on enable

* Adding functional test

* Adding functional test

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-09-19 14:47:27 -04:00
Ersin Erdal
a52957760a
Replace TaskManager's runNow with runSoon (#134324)
* Replace TaskManager's runNow with runSoon
2022-06-28 15:58:15 +02:00
Vitalii Dmyterko
6e0086df00
[RAM] adds bulkUpdatesSchedules method to Task Manager API (#132637)
Addresses: https://github.com/elastic/kibana/issues/124850
## Summary

- Adds new method Task Manager API `bulkUpdateSchedules`
- Adds calling `taskManager.bulkUpdateSchedules` in rulesClient.bulkEdit to update tasks if updated rules have `scheduleTaskId` property
- Enables the rest of operations for rulesClient.bulkEdit (set schedule, notifyWhen, throttle)
- 
#### bulkUpdateSchedules
Using `bulkUpdatesSchedules` you can instruct TaskManager to update interval of tasks that are in `idle` status.
When interval updated, new `runAt` will be computed and task will be updated with that value

```js
export class Plugin {
  constructor() {
  }

  public setup(core: CoreSetup, plugins: { taskManager }) {
  }

  public start(core: CoreStart, plugins: { taskManager }) {
    try {
      const bulkUpdateResults = await taskManager.bulkUpdateSchedule(
        ['97c2c4e7-d850-11ec-bf95-895ffd19f959', 'a5ee24d1-dce2-11ec-ab8d-cf74da82133d'],
        { interval: '10m' },
      );
      // If no error is thrown, the bulkUpdateSchedule has completed successfully.
      // But some updates of some tasks can be failed, due to OCC 409 conflict for example
    } catch(err: Error) {
      // if error is caught, means the whole method requested has failed and tasks weren't updated
    }    
  }
}
```
### in follow-up PRs
- use  `taskManager.bulkUpdateSchedules` in rulesClient.update (https://github.com/elastic/kibana/pull/134027)
- functional test for bulkEdit (https://github.com/elastic/kibana/pull/133635)

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

### Release note
Adds new method to Task Manager - bulkUpdatesSchedules, that allow bulk updates of scheduled tasks.
Adds 3 new operations to rulesClient.bulkUpdate: update of schedule, notifyWhen, throttle.
2022-06-13 15:28:55 +01:00
Pierre Gayvallet
a02c00b8a3
Change ContextContainer to lazily initialize providers (#129896)
* Change ContextContainer to lazily initialize providers

* Introduce CustomRequestHandlerContext, start adapting usages

* adapt IContextProvider's return type

* start fixing violations

* fixing violations - 2

* adapt home routes

* fix remaining core violation

* fix violations on core tests

* fixing more violations

* fixing more violations

* update generated doc...

* fix more violations

* adapt remaining RequestHandlerContext

* fix more violations

* fix non-async method

* more fixes

* fix another await in non async method

* add yet another missing async

* [CI] Auto-commit changed files from 'node scripts/eslint --no-cache --fix'

* add yet yet another missing async

* update fleet's endpoints

* fix telemetry endpoints

* fix event_log endpoints

* fix some security unit tests

* adapt canvas routes

* adapt alerting routes

* adapt more so_tagging routes

* fix data_enhanced routes

* fix license_management routes

* fix file_upload routes

* fix index_management routes

* fix lists routes

* fix snapshot_restore routes

* fix rule_registry routes

* fix ingest_pipelines routes

* fix remote_clusters routes

* fix index_lifecycle_management routes

* improve and fix the lazy implementation

* fix triggers_actions_ui endpoints

* start fixing unit tests

* fix cases routes

* fix transform routes

* fix upgrade_assistant routes

* fix uptime route wrapper

* fix uptime route wrapper bis

* update osquery routes

* update cross_cluster_replication routes

* fix some ML routes / wrappers

* adapt maps routes

* adapt rollup routes

* fix some canvas unit tests

* fix more canvas unit tests

* fix observability wrapper

* fix (?) infra type hell

* start fixing monitoring

* fix a few test plugins

* woups

* fix yet more violations

* fixing UA  tests

* fix logstash handlers

* fix fleet unit tests

* lint?

* one more batch

* update security_solution endpoints

* start fixing security_solution mocks

* start fixing security_solution tests

* fix more security_solution tests

* fix more security_solution tests

* just one more

* fix last (?) security_solution tests

* fix timelion javascript file

* fix more test plugins

* fix transforms context type

* fix ml context type

* fix context tests

* fix securitySolution withEndpointAuthz tests

* fix features unit tests

* fix actions unit tests

* fix imports

* fix duplicate import

* fix some merge problems

* fix new usage

* fix new test

* introduces context.resolve

* down the rabbit hole again

* start fixing test type failures

* more test type failures fixes

* move import comment back to correct place

* more test type failures fixes, bis

* use context.resolve for security solution rules routes

* fix new violations due to master merge

* remove comment

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2022-04-22 13:15:58 +02:00
spalger
3730dd0779 fix all violations 2022-04-16 01:37:30 -05:00
Alejandro Fernández Haro
9d5aca591b
Upgrade RxJS to 7 (#129087)
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2022-04-12 12:40:55 -07:00
Brandon Kobel
82f143c2b0
Use response-ops GitHub team everywhere, no more alerting services (#126518)
* Use response-ops GitHub team everywhere, no more alerting services

* Update x-pack/test/plugin_api_integration/plugins/event_log/kibana.json

Co-authored-by: Ying Mao <ying.mao@elastic.co>

Co-authored-by: Ying Mao <ying.mao@elastic.co>
2022-03-01 08:56:26 -08:00
Pierre Gayvallet
6627bd8b3a
Elasticsearch client: no longer default to using meta: true (#124488)
* Use `Client` interface instead of `KibanaClient`

* get rid of getKibanaEsClient and convertToKibanaClient

* get rid of last KibanaClient usages

* update usages and types in @kbn/securitysolution-es-utils

* fix some violations

* add sugar method around client mock

* update SO repository calls

* adapt more core usages

* export mock types

* batch 1

* batch 2

* batch 3

* batch 4

* batch 5

* batch 6

* batch 7

* batch 8

* batch 9

* security - batch 1

* security - batch 2

* security - batch 3

* last batch of initial violations

* fix resolve_time_pattern

* update generated doc

* fix /internal/index-pattern-management/preview_scripted_field endpoint

* fix monitoring's getLegacyClusterShim

* fix /api/snapshot_restore/privileges route

* fix UptimeESClient

* fix transforms/_nodes endpoint

* lint

* unit test fix - batch 1

* unit test fix - batch 2

* unit test fix - batch 3

* integration test fix - batch 1

* lint

* adapt ML client

* unit test fix - batch 4

* fix uptime test helper

* fix /api/transform/transforms/{transformId}/_update route

* fix ES client FTR test

* fix uptime unit test

* fix type errors on last unit tests

* fix RollupSearchStrategy call

* fix /internal/security/fields/{query} route

* fix GET /api/index_lifecycle_management/policies route

* fix mlClient.getDataFrameAnalytics

* fix APMEventClient

* fix security solution getBootstrapIndexExists

* fix data_enhanced's getSearchStatus

* remove unused @ts-expect-error

* fix unit tests due to latest code changes

* fix more calls in security_solution routes

* fix more calls in ml routes

* fix POST /api/index_management/component_templates route

* fix unit tests due to latest changes

* fix rule_registry's ResourceInstaller.createOrUpdateIndexTemplate

* fix more fleet client calls

* fix UA's GET cloud_backup_status route

* fix createLifecycleExecutorApiTest

* fix hasFleetServers

* fix unit tests due to latest changes

* changes due to last merge

* fix ml modelProvider.getModelsPipelines

* fix security_solution LifecycleQuery.search

* fix new CoreUsageDataService usage

* fix security solution's StatsQuery.search

* improve ml FTR assertions

* fix security_solution's EventsQuery.search

* fix EsClient type as we're keeping transport

* NITs

* clean RepositoryEsClient type

* update generated doc

* review comments

* adapt mlClient.anomalySearch signature

* remove unnecessary .then((body) => body)

* nit

* add unit tests for the client mocking functions

* fix new upgrade assistant /remote_clusters endpoint
2022-02-12 09:19:44 +01:00
Brian Seeders
af960b61ff
Bump prettier/eslint packages related to Typescript after TS upgrade (#121119) 2021-12-14 13:04:14 -05:00
Luke Elmers
94aa791a49
[Breaking] Remove deprecated enabled settings from plugins. (#113495) 2021-10-17 16:54:30 +01:00
Chris Roberson
3f4240bdf1
[Alerting] Prevent our plugins from being disabled (#113461)
* No more disable

* Fix types

* Add event log and docker

* Fix test

* Remove unnecessary method

* Fix types, again

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-10-05 14:30:28 -05:00
Tyler Smalley
4681a80317
[DX] Upgrade prettier to v2.4.0 (#112359)
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2021-09-19 22:34:30 -07:00
Stacey Gammon
52ee65b8d5
Make owner attribute required on kibana.json (#108231)
* make owner attribute required

* Add owner properties in more places

* add test for owner attribute

* add error check too in the test

* Fix tests

* fix tests and update docs

* wip

* More test fixes

* Fix All The Errorz

* Adding more owner attributes

* Update x-pack/test/saved_object_api_integration/common/fixtures/saved_object_test_plugin/kibana.json

Co-authored-by: Larry Gregory <lgregorydev@gmail.com>

* Update x-pack/test/ui_capabilities/common/fixtures/plugins/foo_plugin/kibana.json

Co-authored-by: Larry Gregory <lgregorydev@gmail.com>

* commeeeooonnnn

* Update docs

* soooo many kibanajsons

* adjust plugin generator to add an owner

* Add owner to the plugin generator scripts

* update snapshot

* Fix snapshot

* review updates

Co-authored-by: Larry Gregory <lgregorydev@gmail.com>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-08-24 10:02:32 -04:00
Mikhail Shustov
b53b2cdc35
[Elasticsearch] remove legacy es client (#107619)
* remove legacy es client

* update docs

* uninstall elasticsearch package

* fix global_search tests

* ad-hoc fix to address bazel failure. authored by Tiago

* update docs

* remove elasticsearch import. errors are muted with @ts-ignore

* Update WORKSPACE.bazel

Co-authored-by: Tiago Costa <tiagoffcc@hotmail.com>

* update docs

* fix problem when dev mock already mocked client

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Tiago Costa <tiagoffcc@hotmail.com>
2021-08-18 19:18:05 +02:00
Chris Roberson
1f798aac3f
[Alerting] Change execution of alerts from async to sync (#97311)
* added ability to run ephemeral tasks

* fixed typing

* added typing on plugin

* WIP

* Fix type issues

* Hook up the ephemeral task into the task runner for actions

* Tasks can now run independently of one another

* Use deferred language

* Refactor taskParams slightly

* Use Promise.all

* Remove deferred logic

* Add config options to limit the amount of tasks executing at once

* Add ephemeral task monitoring

* WIP

* Add single test so far

* Ensure we log after actions have executed

* Remove confusing * 1

* Add logic to ensure we fallback to default enqueueing if the total actions is above the config

* Add additional test

* Fix tests a bit, ensure we log the alerting:actions-execute right away and the tests should listen for alerts:execute

* Better tests

* If the queue is at capacity, attempt to execute the ephemeral task as a regular action

* Ensure we run ephemeral tasks before to avoid them getting stuck in the queue

* Do not handle the promise anymore

* Remove unnecessary code

* Properly handle errors from ephemeral task lifecycle

* moved acitons domain out of alerting and into actions plugin

* Remove some tests

* Fix TS and test issues

* Fix type issues

* Fix more type issues

* Fix more type issues

* Fix jest tests

* Fix more jest tests

* Off by default

* Fix jest tests

* Update config for this suite too

* Start of telemetry code

* Fix types and add missing files

* Fix telemetry schema

* Fix types

* Fix more types

* moved load event emission to pollingcycle and added health stats on Ephemeral tasks

* Add more telemetry data based on new health metrics for the ephemeral queue

* Fix tests and types

* Add separate request capacity for ephemeral queue

* Fix telemetry schema and add tests for usage collection

* track polled tasks by persistence and use in capacity estimation instead of executions

* fixed typing

* Bump default capacity

* added delay metric to ephemeral stats

* Fix bad merge

* Fix tests

* Fix tests

* Fix types

* Skip failing tests

* Exclude ephemeral stats from capacity estimation tests

* PR feedback

* More PR feedback

* PR feedback

* Fix merge conflict

* Try fixing CI

* Fix broken lock file from merge

* Match master

* Add this back

* PR feedback

* Change to queue and add test

* Disable ephemeral queue in tests

* Updated desc

* Comment out ephemeral-specific tests tha require the entire test suite to support ephemeral tasks

* Add clarifying comment

Co-authored-by: Gidi Meir Morris <github@gidi.io>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-07-20 13:24:24 -04:00
Alejandro Fernández Haro
5342877a32
[HTTP] Apply the same behaviour to all 500 errors (except from custom responses) (#85541)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-02-18 17:31:18 +00:00
Gidi Meir Morris
619db36591
[Task manager] Adds support for limited concurrency tasks (#90365)
Adds support for limited concurrency on a Task Type.
2021-02-11 14:46:14 +00:00
Alejandro Fernández Haro
6bd0a7fcc5
[Plugins Discovery] Enforce camelCase plugin IDs (#90752)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-02-11 14:36:17 +00:00
Brandon Kobel
4584a8b570
Elastic License 2.0 (#90099)
* Updating everything except the license headers themselves

* Applying ESLint rules

* Manually replacing the stragglers
2021-02-03 18:12:39 -08:00
Gidi Meir Morris
c89f1f18d3
[Task Manager] Increment task attempts when they fail during markTaskAsRunning (#88669)
When something causes an exception in `TaskRunner.markTaskAsRunning()` its execution fails, but this happens before we update the SO, which means that this failure does not count towards the `attempts` on the task. Task Manager will continue to try running this task for ever.

This PR increments the `attempts` when a failure occurs during `TaskRunner.markTaskAsRunning()` to ensure such a task doesn't continue to run to infinity.
Note that this fix will not affect `scheduled` tasks, as they are designed to _ignore_ their `attempts` and run for ever. In such a case this task will continue to consume Task Manager resources until canceled, but these failures will be logged and could be identified when needed.
2021-01-21 14:04:42 +00:00
Brandon Kobel
170a2956c8
Updating the License (#88343)
* Updating the Licenses, except for applying eslint, building

* Applying ESLint rules,building @kbn/pm, regenerating api docs
2021-01-19 17:52:56 -08:00
Patrick Mueller
50dbe8f171
[event_log] index event docs in bulk instead of individually (redo) (#83927)
resolves #55634
resolves #65746

Buffers event docs being written for a fixed interval / buffer size,
and indexes those docs via a bulk ES call.

Also now flushing those buffers at plugin stop() time, which
we couldn't do before with the single index calls, which were
run via `setImmediate()`.

This is a redo of PR https://github.com/elastic/kibana/pull/80941 which
had to be reverted.
2020-11-20 13:49:30 -05:00
spalger
2fef237ca0 Revert "[event_log] index event docs in bulk instead of individually (#80941)"
This reverts commit 5bfe665028.
2020-11-19 19:15:58 -07:00
Patrick Mueller
5bfe665028
[event_log] index event docs in bulk instead of individually (#80941)
resolves https://github.com/elastic/kibana/issues/55634
resolves https://github.com/elastic/kibana/issues/65746

Buffers event docs being written for a fixed interval / buffer size,
and indexes those docs via a bulk ES call.

Also now flushing those buffers at plugin stop() time, which
we couldn't do before with the single index calls, which were
run via `setImmediate()`.
2020-11-19 20:21:34 -05:00
Gidi Meir Morris
3b0215c26b
[Task Manager] Ensures retries are inferred from the schedule of recurring tasks (#83682)
This addresses a bug in Task Manager in the task timeout behaviour. When a recurring task's `retryAt` field is set (which happens at task run), it is currently scheduled to the task definition's `timeout` value, but the original intention was for these tasks to retry on their next scheduled run (originally identified as part of https://github.com/elastic/kibana/issues/39349).

In this PR we ensure recurring task retries are scheduled according to their recurring schedule, rather than the default `timeout` of the task type.
2020-11-19 14:37:28 +00:00
Tiago Costa
0eeaafa722
chore(NA): move into single pkg json (#80015)
* chore(NA): update gitignore to include first changes from moving into a single package.json

* chore(NA): update gitignore

* chore(NA): move all the dependencies into the single package.json and apply changes to bootstrap

* chore(NA): fix types problems after the single package json

* chore(NA): include code to find the dependencies used across the code

* chore(NA): introduce pure lockfile for install dependencies on build

* chore(NA): update clean task to not delete anything from xpack node_modules

* chore(NA): update gitignore to remove development temporary rules

* chore(NA): update notice file

* chore(NA): update jest snapshots

* chore(NA): fix whitelisted licenses to include a new specify form of an already included one

* chore(NA): remove check lockfile symlinks from child projects

* chore(NA): fix eslint and add missing declared deps on single pkg json

* chore(NA): correctly update notice

* chore(NA): fix failing jest test for storyshots.test.tsx

* chore(NA): fix cypress multi reporter path

* chore(NA): fix Project tests check

* chore(NA): fix problem with logic to detect used dependes on oss build

* chore(NA): include correct x-pack plugins dep discovery

* chore(NA): discover entries under dynamic requires on vis_type_timelion

* chore(NA): remove canvas

* test(NA): fix jest unit tests

* chore(NA): remove double react declaration from storyshot test file

* chore(NA): try removing isOSS check

* chore(NA): support for plugin development

* chore(NA): update logic to fix unit tests and typechecking

* chore(NA): support to run npm scripts in child kbn projects across all envs

* chore(NA): support github checks reporter on x-pack and remove cpy types as the package correctly provides them

* chore(NA): update cpy version

* chore(NA): include last kbn pm changes

* chore(NA): update style on build_production_projects.ts

* chore(NA): remove any cast fom telemetry opt in stats

* chore(NA): remove del and re-use rm -rf again

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-11-02 21:18:52 +00:00
ymao1
e6ab812891
[Task Manager] Mark task as failed if maxAttempts has been met. (#80681)
* wip

* Adding updateFieldsAndMarkAsFailed function

* Updating UBQ

* Only updating retryAt if marking as claiming

* Updating query

* Updating query to only fail one time tasks that have exceeded max attempts

* Fixing tests

* Fixing tests

* Handling claiming tasks by id

* Removing unused function

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-10-27 07:40:44 -04:00
Gidi Meir Morris
5460ad741c
[Task Manager] Cleans up legacy plugin structure (#80381)
This PR addresses a list of legacy code debt the plugin has incurred over the past year due to extensive changes in its internals and the adoption of the Kibana Platform.

It includes:
1. The `TaskManager` class has been split into several independent components: `TaskTypeDictionary`,  `TaskPollingLifecycle`,  `TaskScheduling`,  `Middleware`. This has made it easier to understand the roles of the different parts and makes it easier to plug them into the observability work.
2. The exposed `mocks` have been corrected to correctly express the Kibana Platform api
3. The lifecycle has been corrected to remove the need for  intermediary streames/promises which we're needed when we first introduced the `setup`/`start` lifecycle to support legacy.
4. The Logger mocks have been replaced with the platform's `coreMocks` implementation
5. The integration tests now test the plugin's actual public api (instead of the internals).
6. The Legacy Elasticsearch client has been replaced with the typed client in response to the deprecation notice.
7. Typing has been narrowed to prevent the `type` field from conflicting with the key in the `TaskDictionary`. This could have caused the displayed `type` on a task to differ from the `type` used in the Dictionary itself (this broke a test during refactoring and could have caused a bug in production code if left).
2020-10-20 13:00:13 +01:00
Mikhail Shustov
37ec1e1053
Update to TS v4 (#73924)
* bump ts to v4

* MOAR RAM

* fix type errors for OSS

* first pass on x-pack errors

* second pass on x-pack type errors

* 3rd pass on x-pack type-errors

* mute errors if complex cases

* don't delete if spread suffices

* mute other complex cases

* make User fields optional

* fix optional types

* fix tests

* fix typings for time_range

* fix type errors in x-pack/tests

* rebuild kbn-pm

* remove leftovers from master update

* fix alert tests

* [Telemetry Checker] TS4 Fixes

* bump to 4.0.1-rc

* fix new errors in master

* bump typescript-eslint to version supporting TS v4 syntax

* fix merge commit errors

* update to the stable TS version 4.0.2

* bump ts-eslint to version supporting ts v4

* fix typo

* fix type errors after merge

* update ts in another new package.json

* TEMP: remove me

* Revert "TEMP: remove me"

This reverts commit dc0fc3bae6.

* [Telemetry] Update snapshot for new TS4 SyntaxKind

* bump prettier to support TS v4 syntax

* fix prettier rules

* last style change

* fix new type errors

Co-authored-by: Alejandro Fernández Haro <alejandro.haro@elastic.co>
2020-08-27 10:28:02 +02:00
Gidi Meir Morris
5c770e5930
[Task Manager] Correctly handle running tasks when calling RunNow and reduce flakiness in related tests (#73244)
This PR addresses two issues which caused several tests to be flaky in TM.

When `runNow` was introduced to TM we added a pinned query which returned specific tasks by ID.
This query does not have the filter applied to it which causes task to return when they're already marked as `running` but we didn't address these correctly which caused flakyness in the tests.
This didn't cause a broken beahviour, but it did cause beahviour that was hard to reason about - we now address them correctly.

It seems that sometimes, especially if the ES queue is overworked, it can take some time for the update to the underlying task to be visible (we don't user `refresh:true` on purpose), so adding a wait for the index to refresh to make sure the task is updated in time for the next stage of the test.
2020-08-05 17:35:38 +01:00
Mikhail Shustov
585d58c202
[KP] Expose new es client (#73651)
* mark legacy ES client types as deprecated

* expose es client to plugins and update mocks

* ElasticSearchClientMock --> ElasticsearchClientMock

* expose es client mocks

* expose es client via RequestHandlerContext

* convert test/plugin_functional/config into ts

* convert top_nav test into ts

* add an integration test for the es client

* update comments to refer to the new es client

* fix import paths. do not use extensions

temp

* update docs

* fix other refs

* add test for a custom client

* fix context

* add test for scoped client

* update docs
2020-07-30 19:12:37 +02:00