Skip to content
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

[Security Solution] Data quality dashboard persistence #173185

Merged
merged 89 commits into from
Jan 24, 2024
Merged
Show file tree
Hide file tree
Changes from 64 commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
e0807df
data-stream package
semd Dec 12, 2023
d8918b1
space aware data stream implementation
semd Dec 14, 2023
23668b7
datastream adapter support migrations
semd Jan 4, 2024
ddda48a
add readme and update codeowners
semd Jan 8, 2024
b63f1e8
Merge branch 'main' into 7382_dqd-data-stream
kibanamachine Jan 8, 2024
b954fe4
[CI] Auto-commit changed files from 'node scripts/lint_ts_projects --…
kibanamachine Jan 8, 2024
baef806
[CI] Auto-commit changed files from 'node scripts/generate codeowners'
kibanamachine Jan 8, 2024
5252225
[CI] Auto-commit changed files from 'node scripts/eslint --no-cache -…
kibanamachine Jan 8, 2024
d065269
type fixes
semd Jan 8, 2024
175d9a4
fix test
semd Jan 8, 2024
d0fcc54
make spaces plugin option
semd Jan 9, 2024
aacf49b
Merge remote-tracking branch 'upstream/main' into 7382_dqd-data-stream
semd Jan 9, 2024
be2b18e
catch shutdown error
semd Jan 9, 2024
b91c2e2
improve ds installation error handling
semd Jan 9, 2024
c5c1549
fix test
semd Jan 9, 2024
e176a19
Merge branch 'main' into 7382_dqd-data-stream
kibanamachine Jan 9, 2024
2d41db3
PR improvements
semd Jan 10, 2024
ca2148e
post result for single index check
semd Jan 11, 2024
f7af7d1
Merge branch 'main' into 7382_dqd-data-stream
kibanamachine Jan 11, 2024
d7feaff
implement get result route
semd Jan 12, 2024
4023613
fix test
semd Jan 12, 2024
450be03
[CI] Auto-commit changed files from 'node scripts/lint_ts_projects --…
kibanamachine Jan 12, 2024
22c36fd
[Security Solution] update Threat Intelligence codeowners to Threat H…
PhilippeOberti Jan 11, 2024
666e4ce
[Security Solution] [Elastic AI Assistant] Adds support for plugin fe…
spong Jan 11, 2024
217d613
[Search] Fix crawler stat card counts (#174689)
efegurkan Jan 11, 2024
23dbae7
[Security Solution][Timeline] extract and cleanup timeline bottom bar…
PhilippeOberti Jan 11, 2024
31e2ee3
skip flaky suite (#157588)
mistic Jan 11, 2024
6596f01
chore(NA): update versions after v8.11.5 bump (#174706)
mistic Jan 11, 2024
16c9e35
[Search] Fix missing apostrophe in cURL example (#174707)
sphilipse Jan 11, 2024
21b92cf
[Security Telemetry]: Endpoint Metadata Catch Agent Policy Errors (#1…
JDKurma Jan 11, 2024
e241ae8
[SecuritySolution] Unskip fullscreen timeline tests (#174593)
janmonschke Jan 11, 2024
f5a2e9e
skip flaky suite (#174667)
mistic Jan 11, 2024
68c9740
skip flaky suite (#174668)
mistic Jan 11, 2024
9a3ca39
skip flaky suite (#174669)
mistic Jan 11, 2024
dfe807f
skip flaky suite (#174670)
mistic Jan 11, 2024
c54b047
skip flaky suite (#174671)
mistic Jan 11, 2024
9ffd6d4
skip flaky suite (#169106)
mistic Jan 12, 2024
187048f
skip flaky suite (#171177)
mistic Jan 12, 2024
b26ee12
skip flaky suite (#171178)
mistic Jan 12, 2024
2f24b37
skip flaky suite (#171179)
mistic Jan 12, 2024
7ca7631
skip flaky suite (#171180)
mistic Jan 12, 2024
daf42e3
skip flaky suite (#171181)
mistic Jan 12, 2024
0854151
skip flaky suite (#171182)
mistic Jan 12, 2024
a0f8fb0
skip flaky suite (#171183)
mistic Jan 12, 2024
b167d34
skip flaky suite (#171184)
mistic Jan 12, 2024
8bcd57e
skip flaky suite (#171185)
mistic Jan 12, 2024
4a12c49
[SentinelOne] Add technical preview badge to the Host isolation flyou…
patrykkopycinski Jan 12, 2024
a6f7bbf
[SecuritySolution] Unskip fields browser timeline tests (#174597)
janmonschke Jan 12, 2024
6c0eb80
[api-docs] 2024-01-12 Daily api_docs build (#174730)
kibanamachine Jan 12, 2024
6bca15b
Unskip enrichments tests (#171983)
nkhristinin Jan 12, 2024
81e36c1
[ES|QL] Quote automatically for source/policies/fields with special c…
dej611 Jan 12, 2024
62edc8b
[Discover] Move total hits counter from histogram to grid area. New c…
jughosta Jan 12, 2024
dde3efa
Update observability onboarding test to express state of the art (#17…
eokoneyo Jan 12, 2024
1011e3b
[ES|QL][Discover] Change rows to results in histogram (#174665)
stratoula Jan 12, 2024
7e042e5
[ES|QL] Use the function from the editor plugin (#174738)
stratoula Jan 12, 2024
887d200
[ES|QL] Remove is_nan, is_finite, is_infinite functions (#174674)
dej611 Jan 12, 2024
c8d167b
[main] Sync bundled packages with Package Storage (#174728)
elasticmachine Jan 12, 2024
301c562
[Unified Search] Add GTE, LT options to filter options for date range…
mbondyra Jan 12, 2024
f298242
[APM] Synthtrace high cardinality scenarios (#174746)
sorenlouv Jan 12, 2024
a9328c2
[ftr/remote] stop WebDriver logs polling when its session no longer e…
dmlemeshko Jan 12, 2024
521b128
[Fleet][Endpoint Security][Agent Tamper Protection][Uninstall tokens]…
parkiino Jan 12, 2024
3250c1b
fix package readme
semd Jan 12, 2024
efe6eb3
revert rebase
semd Jan 12, 2024
41777cf
fix package readme
semd Jan 12, 2024
ef92800
get results from UI
semd Jan 15, 2024
d3eef61
Merge branch 'main' into 7382_dqd-data-stream
kibanamachine Jan 15, 2024
3709be0
add improve results data stream implementation plus test
semd Jan 15, 2024
2c307fa
[CI] Auto-commit changed files from 'node scripts/lint_ts_projects --…
kibanamachine Jan 15, 2024
8f64f12
add datastream failure support
semd Jan 15, 2024
42f1d4b
[CI] Auto-commit changed files from 'node scripts/lint_ts_projects --…
kibanamachine Jan 15, 2024
e0e0534
fix types
semd Jan 16, 2024
bd3d136
error translations
semd Jan 16, 2024
c0bcdb8
Merge branch 'main' into 7382_dqd-data-stream
kibanamachine Jan 16, 2024
ad89200
change data quality page ownership
semd Jan 16, 2024
0772f74
[CI] Auto-commit changed files from 'node scripts/generate codeowners'
kibanamachine Jan 16, 2024
8473932
rename install space functions
semd Jan 16, 2024
ed9d707
address comments
semd Jan 17, 2024
39d9520
error translations
semd Jan 17, 2024
41df9ff
add parser test
semd Jan 17, 2024
c0b9dbe
fix test
semd Jan 17, 2024
d62396c
address comments and suggestions
semd Jan 17, 2024
8b43afc
Merge branch 'main' into 7382_dqd-data-stream
kibanamachine Jan 18, 2024
e1d7c9b
update agg size
semd Jan 18, 2024
4517e84
add security laryer for index patterns privileges
semd Jan 19, 2024
cde29d8
Merge branch 'main' into 7382_dqd-data-stream
kibanamachine Jan 22, 2024
4a136f4
Merge branch 'main' into 7382_dqd-data-stream
kibanamachine Jan 24, 2024
cca0dfe
disable data quality dashboard results persistence
semd Jan 24, 2024
4edfbd0
skip test
semd Jan 24, 2024
fac328a
Merge branch 'main' into 7382_dqd-data-stream
kibanamachine Jan 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -1121,6 +1121,7 @@ module.exports = {
'x-pack/plugins/security_solution_serverless/**/*.{js,mjs,ts,tsx}',
'x-pack/plugins/timelines/**/*.{js,mjs,ts,tsx}',
'x-pack/plugins/cases/**/*.{js,mjs,ts,tsx}',
'packages/kbn-data-stream-adapter/**/*.{js,mjs,ts,tsx}',
],
plugins: ['eslint-plugin-node', 'react'],
env: {
Expand Down Expand Up @@ -1218,6 +1219,8 @@ module.exports = {
'x-pack/plugins/security_solution_ess/**/*.{js,mjs,ts,tsx}',
'x-pack/plugins/security_solution_serverless/**/*.{js,mjs,ts,tsx}',
'x-pack/plugins/cases/**/*.{js,mjs,ts,tsx}',
'x-pack/plugins/ecs_data_quality_dashboard/**/*.{js,mjs,ts,tsx}',
'packages/kbn-data-stream-adapter/**/*.{js,mjs,ts,tsx}',
],
rules: {
'@typescript-eslint/consistent-type-imports': 'error',
Expand Down
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,7 @@ src/plugins/dashboard @elastic/kibana-presentation
src/plugins/data @elastic/kibana-visualizations @elastic/kibana-data-discovery
test/plugin_functional/plugins/data_search @elastic/kibana-data-discovery
packages/kbn-data-service @elastic/kibana-visualizations @elastic/kibana-data-discovery
packages/kbn-data-stream-adapter @elastic/security-threat-hunting-explore
src/plugins/data_view_editor @elastic/kibana-data-discovery
examples/data_view_field_editor_example @elastic/kibana-data-discovery
src/plugins/data_view_field_editor @elastic/kibana-data-discovery
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -367,6 +367,7 @@
"@kbn/data-plugin": "link:src/plugins/data",
"@kbn/data-search-plugin": "link:test/plugin_functional/plugins/data_search",
"@kbn/data-service": "link:packages/kbn-data-service",
"@kbn/data-stream-adapter": "link:packages/kbn-data-stream-adapter",
"@kbn/data-view-editor-plugin": "link:src/plugins/data_view_editor",
"@kbn/data-view-field-editor-example-plugin": "link:examples/data_view_field_editor_example",
"@kbn/data-view-field-editor-plugin": "link:src/plugins/data_view_field_editor",
Expand Down
69 changes: 69 additions & 0 deletions packages/kbn-data-stream-adapter/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# @kbn/data-stream-adapter

Utility library for Elasticsearch data stream management.

## DataStreamAdapter

Manage single data streams. Example:

```
// Setup
const dataStream = new DataStreamAdapter('my-awesome-datastream', { kibanaVersion: '8.12.1' });

dataStream.setComponentTemplate({
name: 'awesome-component-template',
fieldMap: {
'awesome.field1: { type: 'keyword', required: true },
'awesome.nested.field2: { type: 'number', required: false },
// ...
},
});

dataStream.setIndexTemplate({
name: 'awesome-index-template',
componentTemplateRefs: ['awesome-component-template', 'ecs-component-template'],
template: {
lifecycle: {
data_retention: '5d',
},
},
});

// Start
await dataStream.install({ logger, esClient, pluginStop$ }); // Installs templates and the data stream, or updates existing.
```


## DataStreamSpacesAdapter

Manage data streams per space. Example:

```
// Setup
const spacesDataStream = new DataStreamSpacesAdapter('my-awesome-datastream', { kibanaVersion: '8.12.1' });

spacesDataStream.setComponentTemplate({
name: 'awesome-component-template',
fieldMap: {
'awesome.field1: { type: 'keyword', required: true },
'awesome.nested.field2: { type: 'number', required: false },
// ...
},
});

spacesDataStream.setIndexTemplate({
name: 'awesome-index-template',
componentTemplateRefs: ['awesome-component-template', 'ecs-component-template'],
template: {
lifecycle: {
data_retention: '5d',
},
},
});

// Start
await spacesDataStream.install({ logger, esClient, pluginStop$ }); // Installs templates and updates existing data streams.

// Create a space data stream on the fly
await spacesDataStream.installSpace('space2'); // creates 'my-awesome-datastream-space2' data stream if it does not exist.
```
9 changes: 9 additions & 0 deletions packages/kbn-data-stream-adapter/ecs.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/

export * from './src/field_maps/ecs_field_map';
17 changes: 17 additions & 0 deletions packages/kbn-data-stream-adapter/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/

export { DataStreamAdapter } from './src/data_stream_adapter';
export { DataStreamSpacesAdapter } from './src/data_stream_spaces_adapter';
export type {
DataStreamAdapterParams,
SetComponentTemplateParams,
SetIndexTemplateParams,
InstallParams,
} from './src/data_stream_adapter';
export * from './src/field_maps/types';
13 changes: 13 additions & 0 deletions packages/kbn-data-stream-adapter/jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/

module.exports = {
preset: '@kbn/test',
rootDir: '../..',
roots: ['<rootDir>/packages/kbn-data-stream-adapter'],
};
5 changes: 5 additions & 0 deletions packages/kbn-data-stream-adapter/kibana.jsonc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"type": "shared-common",
"id": "@kbn/data-stream-adapter",
"owner": "@elastic/security-threat-hunting-explore"
}
7 changes: 7 additions & 0 deletions packages/kbn-data-stream-adapter/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"name": "@kbn/data-stream-adapter",
"version": "1.0.0",
"description": "Utility library for Elasticsearch Data Stream management",
"license": "SSPL-1.0 OR Elastic License 2.0",
"private": true
}
Loading