From b866e3290d98556078b7f124495de6b8706d46bb Mon Sep 17 00:00:00 2001 From: Kevin Lacabane Date: Thu, 12 Dec 2024 10:11:14 +0100 Subject: [PATCH 01/52] [eem] _search fixes + integration tests (#203403) - small refactor of _search code which is now resilient to source-level failure. We now return `{ entities: EntityV2[], errors: string[] }` where `errors` lists source failures while still collecting successful sources in `entities` - add integration tests - fixes some issues in the merging logic uncovered by the tests - change metadata aggregation from `VALUES` to `TOP 10` since the former is in tech preview --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../server/lib/v2/entity_client.ts | 127 ++- .../server/lib/v2/queries/index.test.ts | 2 +- .../server/lib/v2/queries/index.ts | 14 +- .../server/lib/v2/queries/utils.test.ts | 137 ++- .../server/lib/v2/queries/utils.ts | 73 +- .../entity_manager/server/lib/v2/types.ts | 2 + .../server/lib/v2/validate_fields.ts | 76 ++ .../entity_manager/server/routes/v2/search.ts | 8 +- .../helpers/clear_entity_definitions.ts | 18 + .../entity_manager/helpers/data_generation.ts | 37 + .../apis/entity_manager/helpers/request.ts | 49 ++ .../apis/entity_manager/index.ts | 1 + .../apis/entity_manager/search.ts | 814 ++++++++++++++++++ x-pack/test/tsconfig.json | 3 +- 14 files changed, 1225 insertions(+), 136 deletions(-) create mode 100644 x-pack/platform/plugins/shared/entity_manager/server/lib/v2/validate_fields.ts create mode 100644 x-pack/test/api_integration/apis/entity_manager/helpers/clear_entity_definitions.ts create mode 100644 x-pack/test/api_integration/apis/entity_manager/helpers/data_generation.ts create mode 100644 x-pack/test/api_integration/apis/entity_manager/search.ts diff --git a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/entity_client.ts b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/entity_client.ts index 0d13dbe3dd95c..1cc83c0b27560 100644 --- a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/entity_client.ts +++ b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/entity_client.ts @@ -8,7 +8,6 @@ import { SavedObjectsClientContract } from '@kbn/core-saved-objects-api-server'; import { IScopedClusterClient, Logger } from '@kbn/core/server'; import { EntityV2 } from '@kbn/entities-schema'; -import { without } from 'lodash'; import { ReadSourceDefinitionOptions, readSourceDefinitions, @@ -16,7 +15,7 @@ import { } from './definitions/source_definition'; import { readTypeDefinitions, storeTypeDefinition } from './definitions/type_definition'; import { getEntityInstancesQuery } from './queries'; -import { mergeEntitiesList } from './queries/utils'; +import { mergeEntitiesList, sortEntitiesList } from './queries/utils'; import { EntitySourceDefinition, EntityTypeDefinition, @@ -25,6 +24,7 @@ import { } from './types'; import { UnknownEntityType } from './errors/unknown_entity_type'; import { runESQLQuery } from './run_esql_query'; +import { validateFields } from './validate_fields'; export class EntityClient { constructor( @@ -59,72 +59,63 @@ export class EntityClient { sort, limit, }: SearchBySources) { - const entities = await Promise.all( - sources.map(async (source) => { - const mandatoryFields = [ - ...source.identity_fields, - ...(source.timestamp_field ? [source.timestamp_field] : []), - ...(source.display_name ? [source.display_name] : []), - ]; - const metaFields = [...metadataFields, ...source.metadata_fields]; - - // operations on an unmapped field result in a failing query so we verify - // field capabilities beforehand - const { fields } = await this.options.clusterClient.asCurrentUser.fieldCaps({ - index: source.index_patterns, - fields: [...mandatoryFields, ...metaFields], - }); - - const sourceHasMandatoryFields = mandatoryFields.every((field) => !!fields[field]); - if (!sourceHasMandatoryFields) { - // we can't build entities without id fields so we ignore the source. - // TODO filters should likely behave similarly. we should also throw - const missingFields = mandatoryFields.filter((field) => !fields[field]); - this.options.logger.info( - `Ignoring source for type [${source.type_id}] with index_patterns [${ - source.index_patterns - }] because some mandatory fields [${missingFields.join(', ')}] are not mapped` - ); - return []; - } - - // but metadata field not being available is fine - const availableMetadataFields = metaFields.filter((field) => fields[field]); - if (availableMetadataFields.length < metaFields.length) { - this.options.logger.info( - `Ignoring unmapped fields [${without(metaFields, ...availableMetadataFields).join( - ', ' - )}]` - ); - } - - const { query, filter } = getEntityInstancesQuery({ - source: { - ...source, - metadata_fields: availableMetadataFields, - filters: [...source.filters, ...filters], - }, - start, - end, - sort, - limit, - }); - this.options.logger.debug( - () => `Entity query: ${query}\nfilter: ${JSON.stringify(filter, null, 2)}` - ); - - const rawEntities = await runESQLQuery('resolve entities', { - query, - filter, - esClient: this.options.clusterClient.asCurrentUser, - logger: this.options.logger, - }); - - return rawEntities; - }) - ).then((results) => results.flat()); - - return mergeEntitiesList(sources, entities).slice(0, limit); + const searches = sources.map(async (source) => { + const availableMetadataFields = await validateFields({ + source, + metadataFields, + esClient: this.options.clusterClient.asCurrentUser, + logger: this.options.logger, + }); + + const { query, filter } = getEntityInstancesQuery({ + source: { + ...source, + metadata_fields: availableMetadataFields, + filters: [...source.filters, ...filters], + }, + start, + end, + sort, + limit, + }); + this.options.logger.debug( + () => `Entity query: ${query}\nfilter: ${JSON.stringify(filter, null, 2)}` + ); + + const rawEntities = await runESQLQuery('resolve entities', { + query, + filter, + esClient: this.options.clusterClient.asCurrentUser, + logger: this.options.logger, + }); + + return rawEntities; + }); + + const results = await Promise.allSettled(searches); + const entities = ( + results.filter((result) => result.status === 'fulfilled') as Array< + PromiseFulfilledResult + > + ).flatMap((result) => result.value); + const errors = ( + results.filter((result) => result.status === 'rejected') as PromiseRejectedResult[] + ).map((result) => result.reason.message); + + if (sources.length === 1) { + return { entities, errors }; + } + + // we have to manually merge, sort and limit entities since we run + // independant queries for each source + return { + errors, + entities: sortEntitiesList({ + sources, + sort, + entities: mergeEntitiesList({ entities, sources, metadataFields }), + }).slice(0, limit), + }; } async storeTypeDefinition(type: EntityTypeDefinition) { diff --git a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/index.test.ts b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/index.test.ts index 9bc475d031923..3ec87b220f84c 100644 --- a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/index.test.ts +++ b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/index.test.ts @@ -29,7 +29,7 @@ describe('getEntityInstancesQuery', () => { expect(query).toEqual( 'FROM logs-*, metrics-* | ' + - 'STATS host.name = VALUES(host.name::keyword), entity.last_seen_timestamp = MAX(custom_timestamp_field), service.id = MAX(service.id::keyword) BY service.name::keyword | ' + + 'STATS host.name = TOP(host.name::keyword, 10, "asc"), entity.last_seen_timestamp = MAX(custom_timestamp_field), service.id = MAX(service.id::keyword) BY service.name::keyword | ' + 'RENAME `service.name::keyword` AS service.name | ' + 'EVAL entity.type = "service", entity.id = service.name, entity.display_name = COALESCE(service.id, entity.id) | ' + 'SORT entity.id DESC | ' + diff --git a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/index.ts b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/index.ts index 5ce7a54eb1d1c..8814b907f7d38 100644 --- a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/index.ts +++ b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/index.ts @@ -6,7 +6,7 @@ */ import { fromKueryExpression, toElasticsearchQuery } from '@kbn/es-query'; -import { asKeyword } from './utils'; +import { asKeyword, defaultSort } from './utils'; import { EntitySourceDefinition, SortBy } from '../types'; const sourceCommand = ({ source }: { source: EntitySourceDefinition }) => { @@ -46,7 +46,7 @@ const dslFilter = ({ const statsCommand = ({ source }: { source: EntitySourceDefinition }) => { const aggs = source.metadata_fields .filter((field) => !source.identity_fields.some((idField) => idField === field)) - .map((field) => `${field} = VALUES(${asKeyword(field)})`); + .map((field) => `${field} = TOP(${asKeyword(field)}, 10, "asc")`); if (source.timestamp_field) { aggs.push(`entity.last_seen_timestamp = MAX(${source.timestamp_field})`); @@ -84,15 +84,11 @@ const evalCommand = ({ source }: { source: EntitySourceDefinition }) => { }; const sortCommand = ({ source, sort }: { source: EntitySourceDefinition; sort?: SortBy }) => { - if (sort) { - return `SORT ${sort.field} ${sort.direction}`; + if (!sort) { + sort = defaultSort([source]); } - if (source.timestamp_field) { - return `SORT entity.last_seen_timestamp DESC`; - } - - return `SORT entity.id ASC`; + return `SORT ${sort.field} ${sort.direction}`; }; export function getEntityInstancesQuery({ diff --git a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/utils.test.ts b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/utils.test.ts index 295ab7796585c..2aee58828defa 100644 --- a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/utils.test.ts +++ b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/utils.test.ts @@ -17,22 +17,32 @@ describe('mergeEntitiesList', () => { 'entity.last_seen_timestamp': '2024-11-20T18:00:00.000Z', 'entity.type': 'service', 'entity.display_name': 'foo', + 'service.name': 'foo', }, { 'entity.id': 'foo', 'entity.last_seen_timestamp': '2024-11-20T18:00:00.000Z', 'entity.type': 'service', 'entity.display_name': 'foo', + 'service.name': 'foo', }, ]; - const mergedEntities = mergeEntitiesList([], entities); + const mergedEntities = mergeEntitiesList({ + entities, + metadataFields: [], + sources: [ + { identity_fields: ['service.name'], metadata_fields: ['only_in_record_1'] }, + { identity_fields: ['service.name'], metadata_fields: ['only_in_record_2'] }, + ] as EntitySourceDefinition[], + }); expect(mergedEntities.length).toEqual(1); expect(mergedEntities[0]).toEqual({ 'entity.id': 'foo', 'entity.last_seen_timestamp': '2024-11-20T18:00:00.000Z', 'entity.type': 'service', 'entity.display_name': 'foo', + 'service.name': 'foo', }); }); @@ -43,6 +53,7 @@ describe('mergeEntitiesList', () => { 'entity.last_seen_timestamp': '2024-11-20T18:00:00.000Z', 'entity.type': 'service', 'entity.display_name': 'foo', + 'service.name': 'foo', 'host.name': 'host-1', 'agent.name': 'agent-1', 'service.environment': ['dev', 'staging'], @@ -53,6 +64,7 @@ describe('mergeEntitiesList', () => { 'entity.last_seen_timestamp': '2024-11-20T18:00:00.000Z', 'entity.type': 'service', 'entity.display_name': 'foo', + 'service.name': 'foo', 'host.name': ['host-2', 'host-3'], 'agent.name': 'agent-2', 'service.environment': 'prod', @@ -60,23 +72,21 @@ describe('mergeEntitiesList', () => { }, ]; - const mergedEntities = mergeEntitiesList( - [ - { - metadata_fields: ['host.name', 'agent.name', 'service.environment', 'only_in_record_1'], - }, - { - metadata_fields: ['host.name', 'agent.name', 'service.environment', 'only_in_record_2'], - }, + const mergedEntities = mergeEntitiesList({ + entities, + metadataFields: ['host.name', 'agent.name', 'service.environment'], + sources: [ + { identity_fields: ['service.name'], metadata_fields: ['only_in_record_1'] }, + { identity_fields: ['service.name'], metadata_fields: ['only_in_record_2'] }, ] as EntitySourceDefinition[], - entities - ); + }); expect(mergedEntities.length).toEqual(1); expect(mergedEntities[0]).toEqual({ 'entity.id': 'foo', 'entity.last_seen_timestamp': '2024-11-20T18:00:00.000Z', 'entity.type': 'service', 'entity.display_name': 'foo', + 'service.name': 'foo', 'host.name': ['host-1', 'host-2', 'host-3'], 'agent.name': ['agent-1', 'agent-2'], 'service.environment': ['dev', 'staging', 'prod'], @@ -92,6 +102,7 @@ describe('mergeEntitiesList', () => { 'entity.last_seen_timestamp': '2024-11-20T18:00:00.000Z', 'entity.type': 'service', 'entity.display_name': 'foo', + 'service.name': 'foo', 'host.name': 'host-1', }, { @@ -99,6 +110,7 @@ describe('mergeEntitiesList', () => { 'entity.last_seen_timestamp': '2024-11-20T20:00:00.000Z', 'entity.type': 'service', 'entity.display_name': 'foo', + 'service.name': 'foo', 'host.name': 'host-2', }, { @@ -106,33 +118,33 @@ describe('mergeEntitiesList', () => { 'entity.last_seen_timestamp': '2024-11-20T16:00:00.000Z', 'entity.type': 'service', 'entity.display_name': 'foo', + 'service.name': 'foo', 'host.name': 'host-3', }, { 'entity.id': 'foo', 'entity.type': 'service', 'entity.display_name': 'foo', + 'service.name': 'foo', 'host.name': 'host-3', }, ]; - const mergedEntities = mergeEntitiesList( - [ - { - metadata_fields: ['host.name'], - }, - { - metadata_fields: ['host.name'], - }, + const mergedEntities = mergeEntitiesList({ + entities, + metadataFields: ['host.name'], + sources: [ + { identity_fields: ['service.name'], metadata_fields: [] as string[] }, + { identity_fields: ['service.name'], metadata_fields: [] as string[] }, ] as EntitySourceDefinition[], - entities - ); + }); expect(mergedEntities.length).toEqual(1); expect(mergedEntities[0]).toEqual({ 'entity.id': 'foo', 'entity.last_seen_timestamp': '2024-11-20T20:00:00.000Z', 'entity.type': 'service', 'entity.display_name': 'foo', + 'service.name': 'foo', 'host.name': ['host-1', 'host-2', 'host-3'], }); }); @@ -143,28 +155,32 @@ describe('mergeEntitiesList', () => { 'entity.id': 'foo', 'entity.type': 'service', 'entity.display_name': 'foo', + 'service.name': 'foo', 'host.name': 'host-1', }, { 'entity.id': 'foo', 'entity.type': 'service', 'entity.display_name': 'foo', + 'service.name': 'foo', 'host.name': 'host-2', }, ]; - const mergedEntities = mergeEntitiesList( - [ - { metadata_fields: ['host.name'] }, - { metadata_fields: ['host.name'] }, + const mergedEntities = mergeEntitiesList({ + entities, + metadataFields: ['host.name'], + sources: [ + { identity_fields: ['service.name'], metadata_fields: [] as string[] }, + { identity_fields: ['service.name'], metadata_fields: [] as string[] }, ] as EntitySourceDefinition[], - entities - ); + }); expect(mergedEntities.length).toEqual(1); expect(mergedEntities[0]).toEqual({ 'entity.id': 'foo', 'entity.type': 'service', 'entity.display_name': 'foo', + 'service.name': 'foo', 'host.name': ['host-1', 'host-2'], }); }); @@ -176,6 +192,7 @@ describe('mergeEntitiesList', () => { 'entity.last_seen_timestamp': '2024-11-20T18:00:00.000Z', 'entity.type': 'service', 'entity.display_name': 'foo', + 'service.name': 'foo', 'host.name': 'host-1', }, { @@ -183,6 +200,7 @@ describe('mergeEntitiesList', () => { 'entity.last_seen_timestamp': '2024-11-20T20:00:00.000Z', 'entity.type': 'service', 'entity.display_name': 'foo', + 'service.name': 'foo', 'host.name': 'host-2', }, { @@ -190,29 +208,74 @@ describe('mergeEntitiesList', () => { 'entity.last_seen_timestamp': '2024-11-20T16:00:00.000Z', 'entity.type': 'service', 'entity.display_name': 'foo', + 'service.name': 'foo', 'host.name': ['host-1', 'host-2'], }, ]; - const mergedEntities = mergeEntitiesList( - [ - { - metadata_fields: ['host.name'], - }, - { - metadata_fields: ['host.name'], - }, + const mergedEntities = mergeEntitiesList({ + entities, + metadataFields: ['host.name'], + sources: [ + { identity_fields: ['service.name'], metadata_fields: [] as string[] }, + { identity_fields: ['service.name'], metadata_fields: [] as string[] }, ] as EntitySourceDefinition[], - entities - ); + }); expect(mergedEntities.length).toEqual(1); expect(mergedEntities[0]).toEqual({ 'entity.id': 'foo', 'entity.last_seen_timestamp': '2024-11-20T20:00:00.000Z', 'entity.type': 'service', 'entity.display_name': 'foo', + 'service.name': 'foo', 'host.name': ['host-1', 'host-2'], }); }); + + it('assigns all identity fields to the merged entity', () => { + const entities = [ + { + 'entity.id': 'foo', + 'entity.last_seen_timestamp': '2024-11-20T18:00:00.000Z', + 'entity.type': 'service', + 'entity.display_name': 'foo', + 'service.name': 'foo', + }, + { + 'entity.id': 'foo', + 'entity.last_seen_timestamp': '2024-11-20T20:00:00.000Z', + 'entity.type': 'service', + 'entity.display_name': 'foo', + servicename_field: 'foo', + }, + { + 'entity.id': 'foo', + 'entity.last_seen_timestamp': '2024-11-20T16:00:00.000Z', + 'entity.type': 'service', + 'entity.display_name': 'foo', + service_name: 'foo', + }, + ]; + + const mergedEntities = mergeEntitiesList({ + entities, + metadataFields: [], + sources: [ + { identity_fields: ['service.name'], metadata_fields: [] as string[] }, + { identity_fields: ['servicename_field'], metadata_fields: [] as string[] }, + { identity_fields: ['service_name'], metadata_fields: [] as string[] }, + ] as EntitySourceDefinition[], + }); + expect(mergedEntities.length).toEqual(1); + expect(mergedEntities[0]).toEqual({ + 'entity.id': 'foo', + 'entity.last_seen_timestamp': '2024-11-20T20:00:00.000Z', + 'entity.type': 'service', + 'entity.display_name': 'foo', + 'service.name': 'foo', + servicename_field: 'foo', + service_name: 'foo', + }); + }); }); }); diff --git a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/utils.ts b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/utils.ts index 5d1ebf3001434..c08d5adb3ce4d 100644 --- a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/utils.ts +++ b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/utils.ts @@ -6,8 +6,8 @@ */ import { EntityV2 } from '@kbn/entities-schema'; -import { compact, uniq } from 'lodash'; -import { EntitySourceDefinition } from '../types'; +import { orderBy, uniq } from 'lodash'; +import { EntitySourceDefinition, SortBy } from '../types'; function getLatestDate(date1?: string, date2?: string) { if (!date1 && !date2) return; @@ -17,7 +17,12 @@ function getLatestDate(date1?: string, date2?: string) { ).toISOString(); } -function mergeEntities(metadataFields: string[], entity1: EntityV2, entity2: EntityV2): EntityV2 { +function mergeEntities( + identityFields: string[], + mergeableFields: string[], + entity1: EntityV2, + entity2: EntityV2 +): EntityV2 { const merged: EntityV2 = { ...entity1 }; const latestTimestamp = getLatestDate( @@ -29,13 +34,17 @@ function mergeEntities(metadataFields: string[], entity1: EntityV2, entity2: Ent } for (const [key, value] of Object.entries(entity2).filter(([_key]) => - metadataFields.includes(_key) + mergeableFields.includes(_key) )) { if (merged[key]) { - merged[key] = uniq([ - ...(Array.isArray(merged[key]) ? merged[key] : [merged[key]]), - ...(Array.isArray(value) ? value : [value]), - ]); + // we want to keep identity fields as single-value properties. + // this can happen if two sources group by the same identity + if (!identityFields.includes(key)) { + merged[key] = uniq([ + ...(Array.isArray(merged[key]) ? merged[key] : [merged[key]]), + ...(Array.isArray(value) ? value : [value]), + ]); + } } else { merged[key] = value; } @@ -43,13 +52,21 @@ function mergeEntities(metadataFields: string[], entity1: EntityV2, entity2: Ent return merged; } -export function mergeEntitiesList( - sources: EntitySourceDefinition[], - entities: EntityV2[] -): EntityV2[] { - const metadataFields = uniq( - sources.flatMap((source) => compact([source.timestamp_field, ...source.metadata_fields])) - ); +export function mergeEntitiesList({ + entities, + sources, + metadataFields, +}: { + entities: EntityV2[]; + sources: EntitySourceDefinition[]; + metadataFields: string[]; +}): EntityV2[] { + const identityFields = uniq([...sources.flatMap((source) => source.identity_fields)]); + const mergeableFields = uniq([ + ...identityFields, + ...metadataFields, + ...sources.flatMap((source) => source.metadata_fields), + ]); const instances: { [key: string]: EntityV2 } = {}; for (let i = 0; i < entities.length; i++) { @@ -57,7 +74,7 @@ export function mergeEntitiesList( const id = entity['entity.id']; if (instances[id]) { - instances[id] = mergeEntities(metadataFields, instances[id], entity); + instances[id] = mergeEntities(identityFields, mergeableFields, instances[id], entity); } else { instances[id] = entity; } @@ -66,6 +83,30 @@ export function mergeEntitiesList( return Object.values(instances); } +export function sortEntitiesList({ + entities, + sources, + sort, +}: { + entities: EntityV2[]; + sources: EntitySourceDefinition[]; + sort?: SortBy; +}) { + if (!sort) { + sort = defaultSort(sources); + } + + return orderBy(entities, sort.field, sort.direction.toLowerCase() as 'asc' | 'desc'); +} + export function asKeyword(field: string) { return `${field}::keyword`; } + +export function defaultSort(sources: EntitySourceDefinition[]): SortBy { + if (sources.some((source) => source.timestamp_field)) { + return { field: 'entity.last_seen_timestamp', direction: 'DESC' }; + } + + return { field: 'entity.id', direction: 'ASC' }; +} diff --git a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/types.ts b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/types.ts index 202a32233d198..f3db5840e7a6a 100644 --- a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/types.ts +++ b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/types.ts @@ -83,6 +83,8 @@ const searchCommonRt = z.object({ filters: z.optional(z.array(z.string())).default([]), }); +export type SearchCommon = z.output; + export const searchByTypeRt = z.intersection( searchCommonRt, z.object({ diff --git a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/validate_fields.ts b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/validate_fields.ts new file mode 100644 index 0000000000000..f24cee745ffd7 --- /dev/null +++ b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/validate_fields.ts @@ -0,0 +1,76 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { without } from 'lodash'; +import { Logger } from '@kbn/logging'; +import { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import { EntitySourceDefinition } from './types'; + +// verifies field capabilities of the provided source. +// we map source fields in two categories: +// - mandatory: those are necessary for building entities according to the +// source definition (identity_fields, timestamp_field and display_name). +// unmapped mandatory field throws an error +// - optional: the requested metadata fields. unmapped metadata field is not +// fatal, we simply ignore it +// returns the available metadata fields. +export async function validateFields({ + esClient, + source, + metadataFields, + logger, +}: { + esClient: ElasticsearchClient; + source: EntitySourceDefinition; + metadataFields: string[]; + logger: Logger; +}) { + const mandatoryFields = [ + ...source.identity_fields, + ...(source.timestamp_field ? [source.timestamp_field] : []), + ...(source.display_name ? [source.display_name] : []), + ]; + const metaFields = [...metadataFields, ...source.metadata_fields]; + + const { fields } = await esClient + .fieldCaps({ + index: source.index_patterns, + fields: [...mandatoryFields, ...metaFields], + }) + .catch((err) => { + if (err.meta?.statusCode === 404) { + throw new Error( + `No index found for source [${ + source.id + }] with index patterns [${source.index_patterns.join(', ')}]` + ); + } + throw err; + }); + + const sourceHasMandatoryFields = mandatoryFields.every((field) => !!fields[field]); + if (!sourceHasMandatoryFields) { + // TODO filters should likely behave similarly + const missingFields = mandatoryFields.filter((field) => !fields[field]); + throw new Error( + `Mandatory fields [${missingFields.join(', ')}] are not mapped for source [${ + source.id + }] with index patterns [${source.index_patterns.join(', ')}]` + ); + } + + // operations on an unmapped field result in a failing query + const availableMetadataFields = metaFields.filter((field) => fields[field]); + if (availableMetadataFields.length < metaFields.length) { + logger.info( + `Ignoring unmapped metadata fields [${without(metaFields, ...availableMetadataFields).join( + ', ' + )}] for source [${source.id}]` + ); + } + return availableMetadataFields; +} diff --git a/x-pack/platform/plugins/shared/entity_manager/server/routes/v2/search.ts b/x-pack/platform/plugins/shared/entity_manager/server/routes/v2/search.ts index 82d0e5e84f2da..a2ebb26da715f 100644 --- a/x-pack/platform/plugins/shared/entity_manager/server/routes/v2/search.ts +++ b/x-pack/platform/plugins/shared/entity_manager/server/routes/v2/search.ts @@ -24,9 +24,9 @@ export const searchEntitiesRoute = createEntityManagerServerRoute({ handler: async ({ request, response, params, logger, getScopedClient }) => { try { const client = await getScopedClient({ request }); - const entities = await client.v2.searchEntities(params.body); + const result = await client.v2.searchEntities(params.body); - return response.ok({ body: { entities } }); + return response.ok({ body: result }); } catch (e) { logger.error(e); @@ -51,9 +51,9 @@ export const searchEntitiesPreviewRoute = createEntityManagerServerRoute({ }), handler: async ({ request, response, params, getScopedClient }) => { const client = await getScopedClient({ request }); - const entities = await client.v2.searchEntitiesBySources(params.body); + const result = await client.v2.searchEntitiesBySources(params.body); - return response.ok({ body: { entities } }); + return response.ok({ body: result }); }, }); diff --git a/x-pack/test/api_integration/apis/entity_manager/helpers/clear_entity_definitions.ts b/x-pack/test/api_integration/apis/entity_manager/helpers/clear_entity_definitions.ts new file mode 100644 index 0000000000000..796761011e7ac --- /dev/null +++ b/x-pack/test/api_integration/apis/entity_manager/helpers/clear_entity_definitions.ts @@ -0,0 +1,18 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import { DEFINITIONS_ALIAS } from '@kbn/entityManager-plugin/server/lib/v2/constants'; + +export async function clearEntityDefinitions(esClient: ElasticsearchClient) { + await esClient.deleteByQuery({ + index: DEFINITIONS_ALIAS, + query: { + match_all: {}, + }, + }); +} diff --git a/x-pack/test/api_integration/apis/entity_manager/helpers/data_generation.ts b/x-pack/test/api_integration/apis/entity_manager/helpers/data_generation.ts new file mode 100644 index 0000000000000..3af84e894b7ff --- /dev/null +++ b/x-pack/test/api_integration/apis/entity_manager/helpers/data_generation.ts @@ -0,0 +1,37 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { Client } from '@elastic/elasticsearch'; +import { MappingProperty, PropertyName } from '@elastic/elasticsearch/lib/api/types'; + +export async function createIndexWithDocuments( + client: Client, + options: { + index: string; + properties: Record; + documents: Array>; + } +) { + await client.indices.create({ + index: options.index, + mappings: { + dynamic: false, + properties: options.properties, + }, + }); + + const bulkActions = options.documents.flatMap((doc) => { + return [{ create: { _index: options.index } }, doc]; + }); + + await client.bulk({ + body: bulkActions, + refresh: 'wait_for', + }); + + return () => client.indices.delete({ index: options.index }); +} diff --git a/x-pack/test/api_integration/apis/entity_manager/helpers/request.ts b/x-pack/test/api_integration/apis/entity_manager/helpers/request.ts index c21f33cc8793a..4c09ecb664ab3 100644 --- a/x-pack/test/api_integration/apis/entity_manager/helpers/request.ts +++ b/x-pack/test/api_integration/apis/entity_manager/helpers/request.ts @@ -8,6 +8,7 @@ import { Agent } from 'supertest'; import { EntityDefinition, EntityDefinitionUpdate } from '@kbn/entities-schema'; import { EntityDefinitionWithState } from '@kbn/entityManager-plugin/server/lib/entities/types'; +import { EntitySourceDefinition } from '@kbn/entityManager-plugin/server/lib/v2/types'; export interface Auth { username: string; @@ -89,3 +90,51 @@ export const upgradeBuiltinDefinitions = async ( .expect(200); return response.body; }; + +export const createEntityTypeDefinition = ( + supertest: Agent, + params: { + type: { + id: string; + display_name: string; + }; + } +) => { + return supertest + .post('/internal/entities/v2/definitions/types') + .set('kbn-xsrf', 'xxx') + .send({ type: params.type }) + .expect(201); +}; + +export const createEntitySourceDefinition = ( + supertest: Agent, + params: { + source: EntitySourceDefinition; + } +) => { + return supertest + .post('/internal/entities/v2/definitions/sources') + .set('kbn-xsrf', 'xxx') + .send({ source: params.source }) + .expect(201); +}; + +export const searchEntities = async ( + supertest: Agent, + params: { + type: string; + start?: string; + end?: string; + metadata_fields?: string[]; + filters?: string[]; + }, + expectedCode?: number +) => { + const response = await supertest + .post('/internal/entities/v2/_search') + .set('kbn-xsrf', 'xxx') + .send(params) + .expect(expectedCode ?? 200); + return response.body; +}; diff --git a/x-pack/test/api_integration/apis/entity_manager/index.ts b/x-pack/test/api_integration/apis/entity_manager/index.ts index 8f7af35e5c8ad..9b3ecfa550c0d 100644 --- a/x-pack/test/api_integration/apis/entity_manager/index.ts +++ b/x-pack/test/api_integration/apis/entity_manager/index.ts @@ -13,5 +13,6 @@ export default function ({ loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('./builtin_definitions')); loadTestFile(require.resolve('./definitions')); + loadTestFile(require.resolve('./search')); }); } diff --git a/x-pack/test/api_integration/apis/entity_manager/search.ts b/x-pack/test/api_integration/apis/entity_manager/search.ts new file mode 100644 index 0000000000000..778682ff9008d --- /dev/null +++ b/x-pack/test/api_integration/apis/entity_manager/search.ts @@ -0,0 +1,814 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import moment from 'moment'; +import expect from 'expect'; +import { FtrProviderContext } from '../../ftr_provider_context'; +import { + createEntitySourceDefinition, + createEntityTypeDefinition, + searchEntities, +} from './helpers/request'; +import { createIndexWithDocuments } from './helpers/data_generation'; +import { clearEntityDefinitions } from './helpers/clear_entity_definitions'; + +export default function ({ getService }: FtrProviderContext) { + const esClient = getService('es'); + const supertest = getService('supertest'); + + describe('_search API', () => { + let cleanup: Function[] = []; + + afterEach(async () => { + await Promise.all([clearEntityDefinitions(esClient), ...cleanup.map((fn) => fn())]); + cleanup = []; + }); + + it('returns 404 when no matching sources', async () => { + await searchEntities(supertest, { type: 'undefined-type' }, 404); + }); + + it('resolves entities from sources with timestamp', async () => { + const now = moment(); + + cleanup.push( + await createIndexWithDocuments(esClient, { + index: 'index-1-with-services', + properties: { + custom_timestamp: { type: 'date' }, + 'service.name': { type: 'keyword' }, + }, + documents: [ + { + custom_timestamp: moment(now).subtract(1, 'minute').toISOString(), + 'service.name': 'service-one', + }, + { + custom_timestamp: moment(now).subtract(2, 'minute').toISOString(), + 'service.name': 'service-two', + }, + { + custom_timestamp: moment(now).subtract(1, 'hour').toISOString(), + 'service.name': 'service-three', + }, + ], + }) + ); + + await createEntityTypeDefinition(supertest, { + type: { id: 'services-with-timestamp', display_name: 'services-with-timestamp' }, + }); + await createEntitySourceDefinition(supertest, { + source: { + id: 'source-1-with-services', + type_id: 'services-with-timestamp', + index_patterns: ['index-1-with-services'], + identity_fields: ['service.name'], + metadata_fields: [], + filters: [], + timestamp_field: 'custom_timestamp', + }, + }); + + const { entities, errors } = await searchEntities(supertest, { + type: 'services-with-timestamp', + start: moment(now).subtract(10, 'minute').toISOString(), + end: now.toISOString(), + }); + + expect(errors).toEqual([]); + expect(entities).toEqual([ + { + 'entity.last_seen_timestamp': moment(now).subtract(1, 'minute').toISOString(), + 'entity.id': 'service-one', + 'entity.display_name': 'service-one', + 'entity.type': 'services-with-timestamp', + 'service.name': 'service-one', + }, + { + 'entity.last_seen_timestamp': moment(now).subtract(2, 'minute').toISOString(), + 'entity.id': 'service-two', + 'entity.display_name': 'service-two', + 'entity.type': 'services-with-timestamp', + 'service.name': 'service-two', + }, + ]); + }); + + it('resolves entities from sources without timestamp', async () => { + cleanup.push( + await createIndexWithDocuments(esClient, { + index: 'index-1-with-home-appliances', + properties: { 'appliance.name': { type: 'keyword' } }, + documents: [ + { 'appliance.name': 'rice cooker' }, + { 'appliance.name': 'kettle' }, + { 'appliance.name': 'dishwasher' }, + ], + }) + ); + + await createEntityTypeDefinition(supertest, { + type: { id: 'home-appliances', display_name: 'home-appliances' }, + }); + await createEntitySourceDefinition(supertest, { + source: { + id: 'appliances-no-timestamp', + type_id: 'home-appliances', + index_patterns: ['index-1-with-home-appliances'], + identity_fields: ['appliance.name'], + metadata_fields: [], + filters: [], + }, + }); + + const { entities, errors } = await searchEntities(supertest, { + type: 'home-appliances', + }); + + expect(errors).toEqual([]); + expect(entities).toEqual([ + { + 'entity.id': 'dishwasher', + 'entity.display_name': 'dishwasher', + 'entity.type': 'home-appliances', + 'appliance.name': 'dishwasher', + }, + { + 'entity.id': 'kettle', + 'entity.display_name': 'kettle', + 'entity.type': 'home-appliances', + 'appliance.name': 'kettle', + }, + { + 'entity.id': 'rice cooker', + 'entity.display_name': 'rice cooker', + 'entity.type': 'home-appliances', + 'appliance.name': 'rice cooker', + }, + ]); + }); + + it('merges entities from different sources', async () => { + const now = moment(); + + cleanup = await Promise.all([ + createIndexWithDocuments(esClient, { + index: 'index-1-with-hosts', + properties: { + '@timestamp': { type: 'date' }, + 'host.name': { type: 'keyword' }, + 'agent.name': { type: 'keyword' }, + }, + documents: [ + { + '@timestamp': moment(now).subtract(1, 'minute').toISOString(), + 'host.name': 'host-uno', + 'agent.name': 'agent-a', + }, + { + '@timestamp': moment(now).subtract(3, 'minute').toISOString(), + 'host.name': 'host-uno', + 'agent.name': 'agent-b', + }, + { + '@timestamp': moment(now).subtract(3, 'minute').toISOString(), + 'host.name': 'host-dos', + 'agent.name': 'agent-3', + }, + { + '@timestamp': moment(now).subtract(4, 'minute').toISOString(), + 'host.name': 'host-tres', + }, + ], + }), + + createIndexWithDocuments(esClient, { + index: 'index-2-with-hosts', + properties: { + timestamp: { type: 'date' }, + hostname_field: { type: 'keyword' }, + 'agent.name': { type: 'keyword' }, + }, + documents: [ + { + timestamp: moment(now).subtract(2, 'minute').toISOString(), + hostname_field: 'host-uno', + 'agent.name': 'agent-1', + }, + { + timestamp: moment(now).subtract(2, 'minute').toISOString(), + hostname_field: 'host-dos', + 'agent.name': 'agent-k', + }, + { + timestamp: moment(now).subtract(5, 'minute').toISOString(), + hostname_field: 'host-four', + }, + ], + }), + ]); + + await createEntityTypeDefinition(supertest, { + type: { id: 'hosts-with-agents', display_name: 'hosts-with-agents' }, + }); + await Promise.all([ + createEntitySourceDefinition(supertest, { + source: { + id: 'hosts-with-agents-1', + type_id: 'hosts-with-agents', + index_patterns: ['index-1-with-hosts'], + identity_fields: ['host.name'], + metadata_fields: [], + filters: [], + timestamp_field: '@timestamp', + }, + }), + createEntitySourceDefinition(supertest, { + source: { + id: 'hosts-with-agents-2', + type_id: 'hosts-with-agents', + index_patterns: ['index-2-with-hosts'], + identity_fields: ['hostname_field'], + metadata_fields: [], + filters: [], + timestamp_field: 'timestamp', + }, + }), + ]); + + const { entities, errors } = await searchEntities(supertest, { + type: 'hosts-with-agents', + start: moment(now).subtract(10, 'minute').toISOString(), + end: moment(now).toISOString(), + metadata_fields: ['agent.name'], + }); + + expect(errors).toEqual([]); + expect(entities).toEqual([ + { + 'entity.id': 'host-uno', + 'entity.display_name': 'host-uno', + 'entity.type': 'hosts-with-agents', + 'entity.last_seen_timestamp': moment(now).subtract(1, 'minute').toISOString(), + 'host.name': 'host-uno', + hostname_field: 'host-uno', + 'agent.name': expect.arrayContaining(['agent-a', 'agent-b', 'agent-1']), + }, + { + 'entity.id': 'host-dos', + 'entity.display_name': 'host-dos', + 'entity.type': 'hosts-with-agents', + 'entity.last_seen_timestamp': moment(now).subtract(2, 'minute').toISOString(), + 'host.name': 'host-dos', + hostname_field: 'host-dos', + 'agent.name': expect.arrayContaining(['agent-3', 'agent-k']), + }, + { + 'entity.id': 'host-tres', + 'entity.display_name': 'host-tres', + 'entity.type': 'hosts-with-agents', + 'entity.last_seen_timestamp': moment(now).subtract(4, 'minute').toISOString(), + 'host.name': 'host-tres', + 'agent.name': null, + }, + { + 'entity.id': 'host-four', + 'entity.display_name': 'host-four', + 'entity.type': 'hosts-with-agents', + 'entity.last_seen_timestamp': moment(now).subtract(5, 'minute').toISOString(), + hostname_field: 'host-four', + 'agent.name': null, + }, + ]); + }); + + it('includes source and additional metadata fields', async () => { + const now = moment(); + + cleanup = await Promise.all([ + createIndexWithDocuments(esClient, { + index: 'index-1-with-services', + properties: { + '@timestamp': { type: 'date' }, + 'service.name': { type: 'keyword' }, + 'agent.name': { type: 'keyword' }, + 'host.name': { type: 'keyword' }, + }, + documents: [ + { + '@timestamp': moment(now).subtract(1, 'minute').toISOString(), + 'service.name': 'service-one', + 'agent.name': 'agent-one', + 'host.name': 'host-one', + }, + { + '@timestamp': moment(now).subtract(2, 'minute').toISOString(), + 'service.name': 'service-one', + 'agent.name': 'agent-one', + 'host.name': 'host-one', + }, + { + '@timestamp': moment(now).subtract(2, 'minute').toISOString(), + 'service.name': 'service-one', + 'host.name': 'host-two', + }, + { + '@timestamp': moment(now).subtract(3, 'minute').toISOString(), + 'service.name': 'service-two', + 'host.name': 'host-three', + }, + ], + }), + + createIndexWithDocuments(esClient, { + index: 'index-2-with-services', + properties: { + '@timestamp': { type: 'date' }, + 'service.name': { type: 'keyword' }, + 'agent.name': { type: 'keyword' }, + 'host.name': { type: 'keyword' }, + }, + documents: [ + { + '@timestamp': moment(now).subtract(1, 'minute').toISOString(), + 'service.name': 'service-one', + 'agent.name': 'agent-one', + 'host.name': 'host-one', + }, + { + '@timestamp': moment(now).subtract(2, 'minute').toISOString(), + 'service.name': 'service-one', + 'agent.name': 'agent-ten', + 'host.name': 'host-ten', + }, + { + '@timestamp': moment(now).subtract(2, 'minute').toISOString(), + 'service.name': 'service-two', + 'agent.name': 'agent-nine', + 'host.name': 'host-nine', + }, + ], + }), + ]); + + await createEntityTypeDefinition(supertest, { + type: { id: 'services-with-hosts', display_name: 'services-with-hosts' }, + }); + await Promise.all([ + createEntitySourceDefinition(supertest, { + source: { + id: 'source-1-with-services', + type_id: 'services-with-hosts', + index_patterns: ['index-1-with-services'], + identity_fields: ['service.name'], + metadata_fields: ['host.name'], + filters: [], + timestamp_field: '@timestamp', + }, + }), + createEntitySourceDefinition(supertest, { + source: { + id: 'source-2-with-services', + type_id: 'services-with-hosts', + index_patterns: ['index-2-with-services'], + identity_fields: ['service.name'], + metadata_fields: ['host.name'], + filters: [], + timestamp_field: '@timestamp', + }, + }), + ]); + + const { entities, errors } = await searchEntities(supertest, { + type: 'services-with-hosts', + metadata_fields: ['agent.name', 'non.existing.metadata.field'], + start: moment(now).subtract(5, 'minute').toISOString(), + end: moment(now).toISOString(), + }); + + expect(errors).toEqual([]); + expect(entities).toEqual([ + { + 'entity.last_seen_timestamp': moment(now).subtract(1, 'minute').toISOString(), + 'entity.id': 'service-one', + 'entity.display_name': 'service-one', + 'entity.type': 'services-with-hosts', + 'service.name': 'service-one', + 'agent.name': expect.arrayContaining(['agent-one', 'agent-ten']), + 'host.name': expect.arrayContaining(['host-one', 'host-two', 'host-ten']), + }, + { + 'entity.last_seen_timestamp': moment(now).subtract(2, 'minute').toISOString(), + 'entity.id': 'service-two', + 'entity.display_name': 'service-two', + 'entity.type': 'services-with-hosts', + 'service.name': 'service-two', + 'agent.name': 'agent-nine', + 'host.name': expect.arrayContaining(['host-three', 'host-nine']), + }, + ]); + }); + + it('respects filters', async () => { + const now = moment(); + + cleanup.push( + await createIndexWithDocuments(esClient, { + index: 'index-1-with-services', + properties: { + '@timestamp': { type: 'date' }, + 'service.name': { type: 'keyword' }, + 'service.environment': { type: 'keyword' }, + 'service.url': { type: 'keyword' }, + }, + documents: [ + { + '@timestamp': moment(now).subtract(1, 'minute').toISOString(), + 'service.name': 'service-one', + 'service.environment': 'prod', + 'service.url': 'http://prod.service-one.com', + }, + { + '@timestamp': moment(now).subtract(2, 'minute').toISOString(), + 'service.name': 'service-one', + 'service.environment': 'staging', + 'service.url': 'http://staging.service-one.com', + }, + { + '@timestamp': moment(now).subtract(2, 'minute').toISOString(), + 'service.name': 'service-two', + 'service.environment': 'prod', + 'service.url': 'http://prod.service-two.com', + }, + { + '@timestamp': moment(now).subtract(1, 'minute').toISOString(), + 'service.name': 'service-two', + 'service.environment': 'staging', + 'service.url': 'http://staging.service-two.com', + }, + { + '@timestamp': moment(now).subtract(1, 'minute').toISOString(), + 'service.name': 'service-three', + 'service.environment': 'prod', + 'service.url': 'http://prod.service-three.com', + }, + ], + }) + ); + + await createEntityTypeDefinition(supertest, { + type: { id: 'service-one-type', display_name: 'service-one-type' }, + }); + await createEntitySourceDefinition(supertest, { + source: { + id: 'source-1-with-services', + type_id: 'service-one-type', + index_patterns: ['index-1-with-services'], + identity_fields: ['service.name'], + metadata_fields: [], + filters: ['service.name: service-one'], + timestamp_field: '@timestamp', + }, + }); + + const { entities, errors } = await searchEntities(supertest, { + type: 'service-one-type', + start: moment(now).subtract(5, 'minute').toISOString(), + end: moment(now).toISOString(), + filters: ['service.environment: prod'], + metadata_fields: ['service.environment', 'service.url'], + }); + + expect(errors).toEqual([]); + expect(entities).toEqual([ + { + 'entity.last_seen_timestamp': moment(now).subtract(1, 'minute').toISOString(), + 'entity.id': 'service-one', + 'entity.display_name': 'service-one', + 'entity.type': 'service-one-type', + 'service.name': 'service-one', + 'service.environment': 'prod', + 'service.url': 'http://prod.service-one.com', + }, + ]); + }); + + it('resolves entities with multiple identity fields', async () => { + const now = moment(); + + cleanup.push( + await createIndexWithDocuments(esClient, { + index: 'index-1-with-cars', + properties: { + '@timestamp': { type: 'date' }, + 'car.brand': { type: 'keyword' }, + 'car.model': { type: 'keyword' }, + }, + documents: [ + { + '@timestamp': moment(now).subtract(2, 'minute').toISOString(), + 'car.brand': 'Fiat', + 'car.model': 'Multipla', + }, + { + '@timestamp': moment(now).subtract(1, 'minute').toISOString(), + 'car.brand': 'Citroen', + 'car.model': 'ZX break', + }, + ], + }) + ); + + await createEntityTypeDefinition(supertest, { + type: { id: 'most-refined-cars', display_name: 'most-refined-cars' }, + }); + await createEntitySourceDefinition(supertest, { + source: { + id: 'source-1-with-cars', + type_id: 'most-refined-cars', + index_patterns: ['index-1-with-cars'], + identity_fields: ['car.brand', 'car.model'], + metadata_fields: [], + filters: [], + timestamp_field: '@timestamp', + display_name: 'car.model', + }, + }); + + const { entities, errors } = await searchEntities(supertest, { + type: 'most-refined-cars', + start: moment(now).subtract(5, 'minute').toISOString(), + end: moment(now).toISOString(), + }); + + expect(errors).toEqual([]); + expect(entities).toEqual([ + { + 'entity.last_seen_timestamp': moment(now).subtract(1, 'minute').toISOString(), + 'entity.id': 'Citroen:ZX break', + 'entity.display_name': 'ZX break', + 'entity.type': 'most-refined-cars', + 'car.brand': 'Citroen', + 'car.model': 'ZX break', + }, + { + 'entity.last_seen_timestamp': moment(now).subtract(2, 'minute').toISOString(), + 'entity.id': 'Fiat:Multipla', + 'entity.display_name': 'Multipla', + 'entity.type': 'most-refined-cars', + 'car.brand': 'Fiat', + 'car.model': 'Multipla', + }, + ]); + }); + + it('resolves entities with multiple identity fields across sources', async () => { + const now = moment(); + + cleanup = await Promise.all([ + createIndexWithDocuments(esClient, { + index: 'index-1-with-cars', + properties: { + '@timestamp': { type: 'date' }, + 'car.brand': { type: 'keyword' }, + 'car.model': { type: 'keyword' }, + 'car.color': { type: 'keyword' }, + }, + documents: [ + { + '@timestamp': moment(now).subtract(2, 'minute').toISOString(), + 'car.brand': 'Fiat', + 'car.model': 'Multipla', + 'car.color': 'cyan', + }, + { + '@timestamp': moment(now).subtract(1, 'minute').toISOString(), + 'car.brand': 'Citroen', + 'car.model': 'ZX break', + 'car.color': 'white', + }, + ], + }), + + createIndexWithDocuments(esClient, { + index: 'index-2-with-cars', + properties: { + '@timestamp': { type: 'date' }, + car_brand: { type: 'keyword' }, + car_model: { type: 'keyword' }, + 'car.color': { type: 'keyword' }, + }, + documents: [ + { + '@timestamp': moment(now).subtract(2, 'minute').toISOString(), + car_brand: 'Fiat', + car_model: 'Multipla', + 'car.color': 'purple', + }, + { + '@timestamp': moment(now).subtract(1, 'minute').toISOString(), + car_brand: 'Citroen', + car_model: 'ZX break', + 'car.color': 'orange', + }, + ], + }), + ]); + + await createEntityTypeDefinition(supertest, { + type: { id: 'most-refined-cars', display_name: 'most-refined-cars' }, + }); + await Promise.all([ + createEntitySourceDefinition(supertest, { + source: { + id: 'source-1-with-cars', + type_id: 'most-refined-cars', + index_patterns: ['index-1-with-cars'], + identity_fields: ['car.brand', 'car.model'], + metadata_fields: [], + filters: [], + timestamp_field: '@timestamp', + }, + }), + createEntitySourceDefinition(supertest, { + source: { + id: 'source-2-with-cars', + type_id: 'most-refined-cars', + index_patterns: ['index-2-with-cars'], + identity_fields: ['car_brand', 'car_model'], + metadata_fields: [], + filters: [], + timestamp_field: '@timestamp', + }, + }), + ]); + + const { entities, errors } = await searchEntities(supertest, { + type: 'most-refined-cars', + start: moment(now).subtract(5, 'minute').toISOString(), + end: moment(now).toISOString(), + metadata_fields: ['car.color'], + }); + + expect(errors).toEqual([]); + expect(entities).toEqual([ + { + 'entity.last_seen_timestamp': moment(now).subtract(1, 'minute').toISOString(), + 'entity.id': 'Citroen:ZX break', + 'entity.display_name': 'Citroen:ZX break', + 'entity.type': 'most-refined-cars', + 'car.brand': 'Citroen', + 'car.model': 'ZX break', + car_brand: 'Citroen', + car_model: 'ZX break', + 'car.color': expect.arrayContaining(['white', 'orange']), + }, + { + 'entity.last_seen_timestamp': moment(now).subtract(2, 'minute').toISOString(), + 'entity.id': 'Fiat:Multipla', + 'entity.display_name': 'Fiat:Multipla', + 'entity.type': 'most-refined-cars', + 'car.brand': 'Fiat', + 'car.model': 'Multipla', + car_brand: 'Fiat', + car_model: 'Multipla', + 'car.color': expect.arrayContaining(['cyan', 'purple']), + }, + ]); + }); + + it('casts conflicting mappings to keywords', async () => { + cleanup = await Promise.all([ + await createIndexWithDocuments(esClient, { + index: 'index-service-name-as-keyword', + properties: { 'service.name': { type: 'keyword' } }, + documents: [{ 'service.name': 'service-name-as-keyword' }], + }), + + await createIndexWithDocuments(esClient, { + index: 'index-service-name-as-text', + properties: { 'service.name': { type: 'text' } }, + documents: [{ 'service.name': 'service-name-as-text' }], + }), + + await createIndexWithDocuments(esClient, { + index: 'index-service-name-as-long', + properties: { 'service.name': { type: 'long' } }, + documents: [{ 'service.name': 123 }], + }), + ]); + + await createEntityTypeDefinition(supertest, { + type: { + id: 'type-with-conflicting-mappings', + display_name: 'type-with-conflicting-mappings', + }, + }); + await createEntitySourceDefinition(supertest, { + source: { + id: 'conflicting-mappings', + type_id: 'type-with-conflicting-mappings', + index_patterns: ['index-service-name-as-*'], + identity_fields: ['service.name'], + metadata_fields: [], + filters: [], + }, + }); + + const { entities, errors } = await searchEntities(supertest, { + type: 'type-with-conflicting-mappings', + }); + + expect(errors).toEqual([]); + expect(entities).toEqual([ + { + 'entity.id': '123', + 'entity.display_name': '123', + 'entity.type': 'type-with-conflicting-mappings', + 'service.name': '123', + }, + { + 'entity.id': 'service-name-as-keyword', + 'entity.display_name': 'service-name-as-keyword', + 'entity.type': 'type-with-conflicting-mappings', + 'service.name': 'service-name-as-keyword', + }, + { + 'entity.id': 'service-name-as-text', + 'entity.display_name': 'service-name-as-text', + 'entity.type': 'type-with-conflicting-mappings', + 'service.name': 'service-name-as-text', + }, + ]); + }); + + it('returns error if index does not exist', async () => { + await createEntityTypeDefinition(supertest, { + type: { id: 'type-with-non-existing-index', display_name: 'type-with-non-existing-index' }, + }); + await createEntitySourceDefinition(supertest, { + source: { + id: 'non-existing-index', + type_id: 'type-with-non-existing-index', + index_patterns: ['non-existing-index-pattern*', 'non-existing-index'], + identity_fields: ['service.name'], + metadata_fields: [], + filters: [], + timestamp_field: '@timestamp', + }, + }); + + const { entities, errors } = await searchEntities(supertest, { + type: 'type-with-non-existing-index', + }); + expect(errors).toEqual([ + 'No index found for source [non-existing-index] with index patterns [non-existing-index-pattern*, non-existing-index]', + ]); + expect(entities).toEqual([]); + }); + + it('returns error if mandatory fields are not mapped', async () => { + cleanup.push( + await createIndexWithDocuments(esClient, { + index: 'unmapped-id-fields', + properties: { 'service.environment': { type: 'keyword' } }, + documents: [ + { + '@timestamp': moment().toISOString(), + 'service.name': 'service-one', + 'service.environment': 'prod', + }, + ], + }) + ); + + await createEntityTypeDefinition(supertest, { + type: { id: 'type-with-unmapped-id-fields', display_name: 'type-with-unmapped-id-fields' }, + }); + await createEntitySourceDefinition(supertest, { + source: { + id: 'unmapped-fields', + type_id: 'type-with-unmapped-id-fields', + index_patterns: ['unmapped-id-fields'], + identity_fields: ['service.name', 'service.environment'], + metadata_fields: [], + filters: [], + timestamp_field: '@timestamp', + }, + }); + + const { entities, errors } = await searchEntities(supertest, { + type: 'type-with-unmapped-id-fields', + }); + expect(errors).toEqual([ + 'Mandatory fields [service.name, @timestamp] are not mapped for source [unmapped-fields] with index patterns [unmapped-id-fields]', + ]); + expect(entities).toEqual([]); + }); + }); +} diff --git a/x-pack/test/tsconfig.json b/x-pack/test/tsconfig.json index fd74f90543ec2..ce202abc9738a 100644 --- a/x-pack/test/tsconfig.json +++ b/x-pack/test/tsconfig.json @@ -189,6 +189,7 @@ "@kbn/palettes", "@kbn/sse-utils-server", "@kbn/gen-ai-functional-testing", - "@kbn/integration-assistant-plugin" + "@kbn/integration-assistant-plugin", + "@kbn/core-elasticsearch-server" ] } From 1f2a6701157c2c7a696f58166deb59f028647200 Mon Sep 17 00:00:00 2001 From: Ajay Satish <71289526+Ajay-Satish-01@users.noreply.github.com> Date: Thu, 12 Dec 2024 03:13:13 -0600 Subject: [PATCH 02/52] [Lens] Fix styling popover controls (#202865) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary Fixes styling popover controls alignment. Fixes #202121 Screenshot 2024-12-03 at 5 30 55 PM ### Checklist - [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker) - [ ] This was checked for breaking HTTP API changes, and any breaking changes have been approved by the breaking-change committee. The `release_note:breaking` label should be applied in these situations. - [ ] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed - [ ] The PR description includes the appropriate Release Notes section, and the correct `release_note:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) --------- Co-authored-by: Marta Bondyra <4283304+mbondyra@users.noreply.github.com> Co-authored-by: Elastic Machine --- .../visual_options_popover/missing_values_option.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/x-pack/plugins/lens/public/visualizations/xy/xy_config_panel/visual_options_popover/missing_values_option.tsx b/x-pack/plugins/lens/public/visualizations/xy/xy_config_panel/visual_options_popover/missing_values_option.tsx index d39a1a410d6aa..c3275a5e643f0 100644 --- a/x-pack/plugins/lens/public/visualizations/xy/xy_config_panel/visual_options_popover/missing_values_option.tsx +++ b/x-pack/plugins/lens/public/visualizations/xy/xy_config_panel/visual_options_popover/missing_values_option.tsx @@ -88,6 +88,7 @@ export const MissingValuesOptions: React.FC = ({ {fittingFunction && fittingFunction !== FittingFunctions.NONE && ( <> = ({ /> Date: Thu, 12 Dec 2024 10:42:28 +0100 Subject: [PATCH 03/52] Sustainable Kibana Architecture: Change visibility to "shared" (#203842) ## Summary Pre-requisite to update https://github.com/elastic/kibana/pull/202766 --- packages/kbn-sse-utils-server/kibana.jsonc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/kbn-sse-utils-server/kibana.jsonc b/packages/kbn-sse-utils-server/kibana.jsonc index 8c533af1953e9..c4778482e4561 100644 --- a/packages/kbn-sse-utils-server/kibana.jsonc +++ b/packages/kbn-sse-utils-server/kibana.jsonc @@ -5,5 +5,5 @@ "@elastic/obs-knowledge-team" ], "group": "platform", - "visibility": "private" -} \ No newline at end of file + "visibility": "shared" +} From 0203bba44f9dcac037f23a23e4945298ef6b5912 Mon Sep 17 00:00:00 2001 From: Shahzad Date: Thu, 12 Dec 2024 10:52:19 +0100 Subject: [PATCH 04/52] [Synthetics] Clean up e2e test helpers !! (#203812) ## Summary Clean up e2e test helpers --- .../synthetics_test_data/index.ts | 1 + .../src}/e2e/helpers/parse_args_params.ts | 0 .../src}/e2e/helpers/record_video.ts | 0 .../src}/e2e/helpers/synthetics_runner.ts | 0 .../src/e2e/helpers}/test_reporter.ts | 0 .../src/e2e/helpers/utils.ts | 58 +++++ .../synthetics_test_data/src/e2e/index.ts | 11 + .../src}/e2e/tasks/es_archiver.ts | 12 +- .../src}/e2e/tasks/read_kibana_config.ts | 0 .../synthetics_test_data/tsconfig.json | 3 + .../e2e/journeys/exploratory_view.ts | 2 +- .../e2e/journeys/single_metric.journey.ts | 2 +- .../e2e/journeys/step_duration.journey.ts | 7 +- .../exploratory_view/e2e/parse_args_params.ts | 33 --- .../exploratory_view/e2e/record_video.ts | 32 --- .../exploratory_view/e2e/synthetics_run.ts | 15 +- .../exploratory_view/e2e/synthetics_runner.ts | 155 ------------ .../exploratory_view/e2e/tasks/es_archiver.ts | 37 --- .../exploratory_view/e2e/tsconfig.json | 6 +- .../slo/e2e/page_objects/slo_app.tsx | 2 +- .../slo/e2e/synthetics_run.ts | 2 +- .../slo/e2e/tsconfig.json | 1 + .../synthetics/e2e/config.ts | 2 +- .../synthetics/e2e/helpers/test_reporter.ts | 229 ------------------ .../synthetics/e2e/index.ts | 2 - .../journeys/data_retention.journey.ts | 2 +- .../journeys/project_api_keys.journey.ts | 2 +- .../page_objects/synthetics_app.tsx | 2 +- .../e2e/synthetics/synthetics_run.ts | 3 +- .../synthetics/e2e/tsconfig.json | 3 - .../uptime/e2e/config.ts | 2 +- .../uptime/e2e/helpers/parse_args_params.ts | 28 --- .../uptime/e2e/helpers/record_video.ts | 32 --- .../uptime/e2e/helpers/synthetics_runner.ts | 155 ------------ .../uptime/e2e/helpers/test_reporter.ts | 229 ------------------ .../uptime/e2e/tasks/es_archiver.ts | 37 --- .../uptime/e2e/tasks/read_kibana_config.ts | 22 -- .../uptime/e2e/tsconfig.json | 4 +- .../journeys/alerts/default_email_settings.ts | 2 +- .../status_alert_flyouts_in_alerting_app.ts | 2 +- .../tls_alert_flyouts_in_alerting_app.ts | 2 +- .../uptime/journeys/data_view_permissions.ts | 2 +- .../uptime/journeys/locations/locations.ts | 2 +- .../monitor_details/monitor_alerts.journey.ts | 2 +- .../monitor_details.journey.ts | 2 +- .../monitor_details/ping_redirects.journey.ts | 2 +- .../uptime/journeys/step_duration.journey.ts | 2 +- .../e2e/uptime/journeys/uptime.journey.ts | 2 +- .../uptime/e2e/uptime/synthetics_run.ts | 3 +- .../ux/e2e/helpers/parse_args_params.ts | 33 --- .../ux/e2e/helpers/record_video.ts | 32 --- .../ux/e2e/helpers/synthetics_runner.ts | 159 ------------ .../ux/e2e/helpers/test_reporter.ts | 229 ------------------ .../ux/e2e/journeys/core_web_vitals.ts | 2 +- .../ux/e2e/journeys/inp.journey.ts | 2 +- .../ux/e2e/journeys/page_views.ts | 2 +- .../ux/e2e/journeys/url_ux_query.journey.ts | 2 +- .../e2e/journeys/ux_client_metrics.journey.ts | 2 +- .../ux/e2e/journeys/ux_js_errors.journey.ts | 2 +- .../journeys/ux_long_task_metric_journey.ts | 2 +- .../journeys/ux_visitor_breakdown.journey.ts | 2 +- .../ux/e2e/synthetics_run.ts | 3 +- .../ux/e2e/tasks/es_archiver.ts | 37 --- .../ux/e2e/tsconfig.json | 5 +- 64 files changed, 129 insertions(+), 1541 deletions(-) rename x-pack/{plugins/observability_solution/synthetics => packages/observability/synthetics_test_data/src}/e2e/helpers/parse_args_params.ts (100%) rename x-pack/{plugins/observability_solution/synthetics => packages/observability/synthetics_test_data/src}/e2e/helpers/record_video.ts (100%) rename x-pack/{plugins/observability_solution/synthetics => packages/observability/synthetics_test_data/src}/e2e/helpers/synthetics_runner.ts (100%) rename x-pack/{plugins/observability_solution/exploratory_view/e2e => packages/observability/synthetics_test_data/src/e2e/helpers}/test_reporter.ts (100%) create mode 100644 x-pack/packages/observability/synthetics_test_data/src/e2e/helpers/utils.ts create mode 100644 x-pack/packages/observability/synthetics_test_data/src/e2e/index.ts rename x-pack/{plugins/observability_solution/synthetics => packages/observability/synthetics_test_data/src}/e2e/tasks/es_archiver.ts (66%) rename x-pack/{plugins/observability_solution/synthetics => packages/observability/synthetics_test_data/src}/e2e/tasks/read_kibana_config.ts (100%) delete mode 100644 x-pack/plugins/observability_solution/exploratory_view/e2e/parse_args_params.ts delete mode 100644 x-pack/plugins/observability_solution/exploratory_view/e2e/record_video.ts delete mode 100644 x-pack/plugins/observability_solution/exploratory_view/e2e/synthetics_runner.ts delete mode 100644 x-pack/plugins/observability_solution/exploratory_view/e2e/tasks/es_archiver.ts delete mode 100644 x-pack/plugins/observability_solution/synthetics/e2e/helpers/test_reporter.ts delete mode 100644 x-pack/plugins/observability_solution/uptime/e2e/helpers/parse_args_params.ts delete mode 100644 x-pack/plugins/observability_solution/uptime/e2e/helpers/record_video.ts delete mode 100644 x-pack/plugins/observability_solution/uptime/e2e/helpers/synthetics_runner.ts delete mode 100644 x-pack/plugins/observability_solution/uptime/e2e/helpers/test_reporter.ts delete mode 100644 x-pack/plugins/observability_solution/uptime/e2e/tasks/es_archiver.ts delete mode 100644 x-pack/plugins/observability_solution/uptime/e2e/tasks/read_kibana_config.ts delete mode 100644 x-pack/plugins/observability_solution/ux/e2e/helpers/parse_args_params.ts delete mode 100644 x-pack/plugins/observability_solution/ux/e2e/helpers/record_video.ts delete mode 100644 x-pack/plugins/observability_solution/ux/e2e/helpers/synthetics_runner.ts delete mode 100644 x-pack/plugins/observability_solution/ux/e2e/helpers/test_reporter.ts delete mode 100644 x-pack/plugins/observability_solution/ux/e2e/tasks/es_archiver.ts diff --git a/x-pack/packages/observability/synthetics_test_data/index.ts b/x-pack/packages/observability/synthetics_test_data/index.ts index d1fe1034d7b1e..bf58a63025aa9 100644 --- a/x-pack/packages/observability/synthetics_test_data/index.ts +++ b/x-pack/packages/observability/synthetics_test_data/index.ts @@ -6,3 +6,4 @@ */ export { makeUpSummary, makeDownSummary } from './src/make_summaries'; +export * from './src/e2e'; diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/helpers/parse_args_params.ts b/x-pack/packages/observability/synthetics_test_data/src/e2e/helpers/parse_args_params.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/helpers/parse_args_params.ts rename to x-pack/packages/observability/synthetics_test_data/src/e2e/helpers/parse_args_params.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/helpers/record_video.ts b/x-pack/packages/observability/synthetics_test_data/src/e2e/helpers/record_video.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/helpers/record_video.ts rename to x-pack/packages/observability/synthetics_test_data/src/e2e/helpers/record_video.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/helpers/synthetics_runner.ts b/x-pack/packages/observability/synthetics_test_data/src/e2e/helpers/synthetics_runner.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/helpers/synthetics_runner.ts rename to x-pack/packages/observability/synthetics_test_data/src/e2e/helpers/synthetics_runner.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/e2e/test_reporter.ts b/x-pack/packages/observability/synthetics_test_data/src/e2e/helpers/test_reporter.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/e2e/test_reporter.ts rename to x-pack/packages/observability/synthetics_test_data/src/e2e/helpers/test_reporter.ts diff --git a/x-pack/packages/observability/synthetics_test_data/src/e2e/helpers/utils.ts b/x-pack/packages/observability/synthetics_test_data/src/e2e/helpers/utils.ts new file mode 100644 index 0000000000000..f340ef8b78b3a --- /dev/null +++ b/x-pack/packages/observability/synthetics_test_data/src/e2e/helpers/utils.ts @@ -0,0 +1,58 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { expect, Page } from '@elastic/synthetics'; + +export async function waitForLoadingToFinish({ page }: { page: Page }) { + while (true) { + if (!(await page.isVisible(byTestId('kbnLoadingMessage'), { timeout: 5000 }))) break; + await page.waitForTimeout(1000); + } +} + +export async function loginToKibana({ + page, + user, +}: { + page: Page; + user?: { username: string; password: string }; +}) { + await page.fill('[data-test-subj=loginUsername]', user?.username ?? 'elastic', { + timeout: 60 * 1000, + }); + + await page.fill('[data-test-subj=loginPassword]', user?.password ?? 'changeme'); + + await page.click('[data-test-subj=loginSubmit]'); + + await waitForLoadingToFinish({ page }); +} + +export const byTestId = (testId: string) => { + return `[data-test-subj=${testId}]`; +}; + +export const assertText = async ({ page, text }: { page: Page; text: string }) => { + const element = await page.waitForSelector(`text=${text}`); + expect(await element.isVisible()).toBeTruthy(); +}; + +export const assertNotText = async ({ page, text }: { page: Page; text: string }) => { + expect(await page.$(`text=${text}`)).toBeFalsy(); +}; + +export const getQuerystring = (params: object) => { + return Object.entries(params) + .map(([key, value]) => encodeURIComponent(key) + '=' + encodeURIComponent(value)) + .join('&'); +}; + +export const delay = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)); + +export const TIMEOUT_60_SEC = { + timeout: 60 * 1000, +}; diff --git a/x-pack/packages/observability/synthetics_test_data/src/e2e/index.ts b/x-pack/packages/observability/synthetics_test_data/src/e2e/index.ts new file mode 100644 index 0000000000000..89a1c34e32586 --- /dev/null +++ b/x-pack/packages/observability/synthetics_test_data/src/e2e/index.ts @@ -0,0 +1,11 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { recordVideo } from './helpers/record_video'; +export { SyntheticsRunner } from './helpers/synthetics_runner'; +export { argv } from './helpers/parse_args_params'; +export { readKibanaConfig } from './tasks/read_kibana_config'; diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/tasks/es_archiver.ts b/x-pack/packages/observability/synthetics_test_data/src/e2e/tasks/es_archiver.ts similarity index 66% rename from x-pack/plugins/observability_solution/synthetics/e2e/tasks/es_archiver.ts rename to x-pack/packages/observability/synthetics_test_data/src/e2e/tasks/es_archiver.ts index bbb66b19f5a5e..46000acd32e9e 100644 --- a/x-pack/plugins/observability_solution/synthetics/e2e/tasks/es_archiver.ts +++ b/x-pack/packages/observability/synthetics_test_data/src/e2e/tasks/es_archiver.ts @@ -7,6 +7,7 @@ import Path from 'path'; import { execSync } from 'child_process'; +import { REPO_ROOT } from '@kbn/repo-info'; const ES_ARCHIVE_DIR = './fixtures/es_archiver'; @@ -16,7 +17,7 @@ const NODE_TLS_REJECT_UNAUTHORIZED = '1'; export const esArchiverLoad = (folder: string) => { const path = Path.join(ES_ARCHIVE_DIR, folder); execSync( - `node ../../../../scripts/es_archiver load "${path}" --config ../../../test/functional/config.base.js`, + `node ${REPO_ROOT}/scripts/es_archiver load "${path}" --config ${REPO_ROOT}/test/functional/config.base.js`, { env: { ...process.env, NODE_TLS_REJECT_UNAUTHORIZED }, stdio: 'inherit' } ); }; @@ -24,14 +25,7 @@ export const esArchiverLoad = (folder: string) => { export const esArchiverUnload = (folder: string) => { const path = Path.join(ES_ARCHIVE_DIR, folder); execSync( - `node ../../../../scripts/es_archiver unload "${path}" --config ../../../test/functional/config.base.js`, - { env: { ...process.env, NODE_TLS_REJECT_UNAUTHORIZED }, stdio: 'inherit' } - ); -}; - -export const esArchiverResetKibana = () => { - execSync( - `node ../../../../scripts/es_archiver empty-kibana-index --config ../../../test/functional/config.base.js`, + `node ${REPO_ROOT}/scripts/es_archiver unload "${path}" --config ${REPO_ROOT}/test/functional/config.base.js`, { env: { ...process.env, NODE_TLS_REJECT_UNAUTHORIZED }, stdio: 'inherit' } ); }; diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/tasks/read_kibana_config.ts b/x-pack/packages/observability/synthetics_test_data/src/e2e/tasks/read_kibana_config.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/tasks/read_kibana_config.ts rename to x-pack/packages/observability/synthetics_test_data/src/e2e/tasks/read_kibana_config.ts diff --git a/x-pack/packages/observability/synthetics_test_data/tsconfig.json b/x-pack/packages/observability/synthetics_test_data/tsconfig.json index 86d57b8d692f7..b372f38a758ed 100644 --- a/x-pack/packages/observability/synthetics_test_data/tsconfig.json +++ b/x-pack/packages/observability/synthetics_test_data/tsconfig.json @@ -16,5 +16,8 @@ "target/**/*" ], "kbn_references": [ + "@kbn/apm-plugin", + "@kbn/es-archiver", + "@kbn/repo-info", ] } diff --git a/x-pack/plugins/observability_solution/exploratory_view/e2e/journeys/exploratory_view.ts b/x-pack/plugins/observability_solution/exploratory_view/e2e/journeys/exploratory_view.ts index 877c13e93c373..99324d0fa921d 100644 --- a/x-pack/plugins/observability_solution/exploratory_view/e2e/journeys/exploratory_view.ts +++ b/x-pack/plugins/observability_solution/exploratory_view/e2e/journeys/exploratory_view.ts @@ -6,7 +6,7 @@ */ import { journey, step, before } from '@elastic/synthetics'; -import { recordVideo } from '../record_video'; +import { recordVideo } from '@kbn/observability-synthetics-test-data'; import { createExploratoryViewUrl } from '../../public/components/shared/exploratory_view/configurations/exploratory_view_url'; import { loginToKibana, TIMEOUT_60_SEC, waitForLoadingToFinish } from '../utils'; diff --git a/x-pack/plugins/observability_solution/exploratory_view/e2e/journeys/single_metric.journey.ts b/x-pack/plugins/observability_solution/exploratory_view/e2e/journeys/single_metric.journey.ts index 6fcdb71ccffa2..23f847784308f 100644 --- a/x-pack/plugins/observability_solution/exploratory_view/e2e/journeys/single_metric.journey.ts +++ b/x-pack/plugins/observability_solution/exploratory_view/e2e/journeys/single_metric.journey.ts @@ -6,7 +6,7 @@ */ import { journey, step, before } from '@elastic/synthetics'; -import { recordVideo } from '../record_video'; +import { recordVideo } from '@kbn/observability-synthetics-test-data'; import { createExploratoryViewUrl } from '../../public/components/shared/exploratory_view/configurations/exploratory_view_url'; import { loginToKibana, TIMEOUT_60_SEC, waitForLoadingToFinish } from '../utils'; diff --git a/x-pack/plugins/observability_solution/exploratory_view/e2e/journeys/step_duration.journey.ts b/x-pack/plugins/observability_solution/exploratory_view/e2e/journeys/step_duration.journey.ts index 86291929afcc3..861f4036b9ec0 100644 --- a/x-pack/plugins/observability_solution/exploratory_view/e2e/journeys/step_duration.journey.ts +++ b/x-pack/plugins/observability_solution/exploratory_view/e2e/journeys/step_duration.journey.ts @@ -6,10 +6,10 @@ */ import { journey, step } from '@elastic/synthetics'; +import { recordVideo } from '@kbn/observability-synthetics-test-data'; import moment from 'moment'; -import { recordVideo } from '../record_video'; import { createExploratoryViewUrl } from '../../public/components/shared/exploratory_view/configurations/exploratory_view_url'; -import { byTestId, loginToKibana, TIMEOUT_60_SEC, waitForLoadingToFinish } from '../utils'; +import { loginToKibana, TIMEOUT_60_SEC, waitForLoadingToFinish } from '../utils'; journey('Step Duration series', async ({ page, params }) => { recordVideo(page); @@ -56,7 +56,8 @@ journey('Step Duration series', async ({ page, params }) => { await page.click('[aria-label="Remove report metric"]'); await page.click('button:has-text("Select report metric")'); await page.click('button:has-text("Step duration")'); - await page.click(byTestId('seriesBreakdown')); + await page.waitForSelector('[data-test-subj=seriesBreakdown]'); + await page.getByTestId('seriesBreakdown').click(); await page.click('button[role="option"]:has-text("Step name")'); await page.click('.euiComboBox__inputWrap'); await page.click('[role="combobox"][placeholder="Search Monitor name"]'); diff --git a/x-pack/plugins/observability_solution/exploratory_view/e2e/parse_args_params.ts b/x-pack/plugins/observability_solution/exploratory_view/e2e/parse_args_params.ts deleted file mode 100644 index 41100ba2ec295..0000000000000 --- a/x-pack/plugins/observability_solution/exploratory_view/e2e/parse_args_params.ts +++ /dev/null @@ -1,33 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import yargs from 'yargs'; - -const { argv } = yargs(process.argv.slice(2)) - .option('headless', { - default: true, - type: 'boolean', - description: 'Start in headless mode', - }) - .option('bail', { - default: false, - type: 'boolean', - description: 'Pause on error', - }) - .option('watch', { - default: false, - type: 'boolean', - description: 'Runs the server in watch mode, restarting on changes', - }) - .option('grep', { - default: undefined, - type: 'string', - description: 'run only journeys with a name or tags that matches the glob', - }) - .help(); - -export { argv }; diff --git a/x-pack/plugins/observability_solution/exploratory_view/e2e/record_video.ts b/x-pack/plugins/observability_solution/exploratory_view/e2e/record_video.ts deleted file mode 100644 index 23bcdfb643e72..0000000000000 --- a/x-pack/plugins/observability_solution/exploratory_view/e2e/record_video.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import fs from 'fs'; -import Runner from '@elastic/synthetics/dist/core/runner'; -import { after, Page } from '@elastic/synthetics'; - -const SYNTHETICS_RUNNER = Symbol.for('SYNTHETICS_RUNNER'); - -// @ts-ignore -export const runner: Runner = global[SYNTHETICS_RUNNER]; - -export const recordVideo = (page: Page, postfix = '') => { - after(async () => { - try { - const videoFilePath = await page.video()?.path(); - const pathToVideo = videoFilePath?.replace('.journeys/videos/', '').replace('.webm', ''); - const newVideoPath = videoFilePath?.replace( - pathToVideo!, - postfix ? runner.currentJourney!.name + `-${postfix}` : runner.currentJourney!.name - ); - fs.renameSync(videoFilePath!, newVideoPath!); - } catch (e) { - // eslint-disable-next-line no-console - console.log('Error while renaming video file', e); - } - }); -}; diff --git a/x-pack/plugins/observability_solution/exploratory_view/e2e/synthetics_run.ts b/x-pack/plugins/observability_solution/exploratory_view/e2e/synthetics_run.ts index 70a290ce9900a..32a3c7d011a1b 100644 --- a/x-pack/plugins/observability_solution/exploratory_view/e2e/synthetics_run.ts +++ b/x-pack/plugins/observability_solution/exploratory_view/e2e/synthetics_run.ts @@ -6,8 +6,8 @@ */ import { FtrConfigProviderContext } from '@kbn/test'; import path from 'path'; -import { SyntheticsRunner } from './synthetics_runner'; -import { argv } from './parse_args_params'; +import { REPO_ROOT } from '@kbn/repo-info'; +import { SyntheticsRunner, argv } from '@kbn/observability-synthetics-test-data'; const { headless, grep, bail: pauseOnError } = argv; @@ -24,13 +24,12 @@ async function runE2ETests({ readConfigFile }: FtrConfigProviderContext) { }); await syntheticsRunner.setup(); - - await syntheticsRunner.loadTestData(path.join(__dirname, '../../ux/e2e/fixtures/'), [ - 'rum_8.0.0', - 'rum_test_data', - ]); await syntheticsRunner.loadTestData( - path.join(__dirname, '../../synthetics/e2e/fixtures/es_archiver/'), + `${REPO_ROOT}/x-pack/plugins/observability_solution/ux/e2e/fixtures/`, + ['rum_8.0.0', 'rum_test_data'] + ); + await syntheticsRunner.loadTestData( + `${REPO_ROOT}/x-pack/plugins/observability_solution/synthetics/e2e/fixtures/es_archiver/`, ['full_heartbeat', 'browser'] ); await syntheticsRunner.loadTestFiles(async () => { diff --git a/x-pack/plugins/observability_solution/exploratory_view/e2e/synthetics_runner.ts b/x-pack/plugins/observability_solution/exploratory_view/e2e/synthetics_runner.ts deleted file mode 100644 index bc6222774f055..0000000000000 --- a/x-pack/plugins/observability_solution/exploratory_view/e2e/synthetics_runner.ts +++ /dev/null @@ -1,155 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -/* eslint-disable no-console */ - -import Url from 'url'; -import { run as syntheticsRun } from '@elastic/synthetics'; -import { PromiseType } from 'utility-types'; -import { createApmUsers } from '@kbn/apm-plugin/server/test_helpers/create_apm_users/create_apm_users'; - -import { EsArchiver } from '@kbn/es-archiver'; -import { esArchiverUnload } from './tasks/es_archiver'; -import { TestReporter } from './test_reporter'; - -export interface ArgParams { - headless: boolean; - match?: string; - pauseOnError: boolean; -} - -export class SyntheticsRunner { - public getService: any; - public kibanaUrl: string; - private elasticsearchUrl: string; - - public testFilesLoaded: boolean = false; - - public params: ArgParams; - - private loadTestFilesCallback?: (reload?: boolean) => Promise; - - constructor(getService: any, params: ArgParams) { - this.getService = getService; - this.kibanaUrl = this.getKibanaUrl(); - this.elasticsearchUrl = this.getElasticsearchUrl(); - this.params = params; - } - - async setup() { - await this.createTestUsers(); - } - - async createTestUsers() { - await createApmUsers({ - elasticsearch: { node: this.elasticsearchUrl, username: 'elastic', password: 'changeme' }, - kibana: { hostname: this.kibanaUrl }, - }); - } - - async loadTestFiles(callback: (reload?: boolean) => Promise, reload = false) { - console.log('Loading test files'); - await callback(reload); - this.loadTestFilesCallback = callback; - this.testFilesLoaded = true; - console.log('Successfully loaded test files'); - } - - async loadTestData(e2eDir: string, dataArchives: string[]) { - try { - console.log('Loading esArchiver...'); - - const esArchiver: EsArchiver = this.getService('esArchiver'); - - const promises = dataArchives.map((archive) => { - if (archive === 'synthetics_data') { - return esArchiver.load(e2eDir + archive, { - docsOnly: true, - skipExisting: true, - }); - } - return esArchiver.load(e2eDir + archive, { skipExisting: true }); - }); - - await Promise.all([...promises]); - } catch (e) { - console.log(e); - } - } - - getKibanaUrl() { - const config = this.getService('config'); - - return Url.format({ - protocol: config.get('servers.kibana.protocol'), - hostname: config.get('servers.kibana.hostname'), - port: config.get('servers.kibana.port'), - }); - } - - getElasticsearchUrl() { - const config = this.getService('config'); - - return Url.format({ - protocol: config.get('servers.elasticsearch.protocol'), - hostname: config.get('servers.elasticsearch.hostname'), - port: config.get('servers.elasticsearch.port'), - }); - } - - async run() { - if (!this.testFilesLoaded) { - throw new Error('Test files not loaded'); - } - const { headless, match, pauseOnError } = this.params; - const noOfRuns = process.env.NO_OF_RUNS ? Number(process.env.NO_OF_RUNS) : 1; - console.log(`Running ${noOfRuns} times`); - let results: PromiseType> = {}; - for (let i = 0; i < noOfRuns; i++) { - results = await syntheticsRun({ - params: { kibanaUrl: this.kibanaUrl, getService: this.getService }, - playwrightOptions: { - headless, - chromiumSandbox: false, - timeout: 60 * 1000, - viewport: { - height: 900, - width: 1600, - }, - recordVideo: { - dir: '.journeys/videos', - }, - }, - grepOpts: { match: match === 'undefined' ? '' : match }, - pauseOnError, - screenshots: 'only-on-failure', - reporter: TestReporter, - }); - if (noOfRuns > 1) { - // need to reload again since runner resets the journeys - await this.loadTestFiles(this.loadTestFilesCallback!, true); - } - } - - await this.assertResults(results); - } - - assertResults(results: PromiseType>) { - Object.entries(results).forEach(([_journey, result]) => { - if (result.status !== 'succeeded') { - process.exitCode = 1; - process.exit(); - } - }); - } - - cleanUp() { - console.log('Removing esArchiver...'); - esArchiverUnload('full_heartbeat'); - esArchiverUnload('browser'); - } -} diff --git a/x-pack/plugins/observability_solution/exploratory_view/e2e/tasks/es_archiver.ts b/x-pack/plugins/observability_solution/exploratory_view/e2e/tasks/es_archiver.ts deleted file mode 100644 index bbb66b19f5a5e..0000000000000 --- a/x-pack/plugins/observability_solution/exploratory_view/e2e/tasks/es_archiver.ts +++ /dev/null @@ -1,37 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import Path from 'path'; -import { execSync } from 'child_process'; - -const ES_ARCHIVE_DIR = './fixtures/es_archiver'; - -// Otherwise execSync would inject NODE_TLS_REJECT_UNAUTHORIZED=0 and node would abort if used over https -const NODE_TLS_REJECT_UNAUTHORIZED = '1'; - -export const esArchiverLoad = (folder: string) => { - const path = Path.join(ES_ARCHIVE_DIR, folder); - execSync( - `node ../../../../scripts/es_archiver load "${path}" --config ../../../test/functional/config.base.js`, - { env: { ...process.env, NODE_TLS_REJECT_UNAUTHORIZED }, stdio: 'inherit' } - ); -}; - -export const esArchiverUnload = (folder: string) => { - const path = Path.join(ES_ARCHIVE_DIR, folder); - execSync( - `node ../../../../scripts/es_archiver unload "${path}" --config ../../../test/functional/config.base.js`, - { env: { ...process.env, NODE_TLS_REJECT_UNAUTHORIZED }, stdio: 'inherit' } - ); -}; - -export const esArchiverResetKibana = () => { - execSync( - `node ../../../../scripts/es_archiver empty-kibana-index --config ../../../test/functional/config.base.js`, - { env: { ...process.env, NODE_TLS_REJECT_UNAUTHORIZED }, stdio: 'inherit' } - ); -}; diff --git a/x-pack/plugins/observability_solution/exploratory_view/e2e/tsconfig.json b/x-pack/plugins/observability_solution/exploratory_view/e2e/tsconfig.json index 93a315a3e7a6b..aaa9e0b70577a 100644 --- a/x-pack/plugins/observability_solution/exploratory_view/e2e/tsconfig.json +++ b/x-pack/plugins/observability_solution/exploratory_view/e2e/tsconfig.json @@ -6,5 +6,9 @@ "outDir": "target/types", "types": ["node"] }, - "kbn_references": ["@kbn/test", "@kbn/apm-plugin", "@kbn/es-archiver"] + "kbn_references": [ + "@kbn/test", + "@kbn/repo-info", + "@kbn/observability-synthetics-test-data", + ] } diff --git a/x-pack/plugins/observability_solution/slo/e2e/page_objects/slo_app.tsx b/x-pack/plugins/observability_solution/slo/e2e/page_objects/slo_app.tsx index 5310bffb03d92..a859c789b4e37 100644 --- a/x-pack/plugins/observability_solution/slo/e2e/page_objects/slo_app.tsx +++ b/x-pack/plugins/observability_solution/slo/e2e/page_objects/slo_app.tsx @@ -7,7 +7,7 @@ import { Page } from '@elastic/synthetics'; import { loginPageProvider } from '@kbn/synthetics-e2e/page_objects/login'; import { utilsPageProvider } from '@kbn/synthetics-e2e/page_objects/utils'; -import { recordVideo } from '@kbn/synthetics-e2e/helpers/record_video'; +import { recordVideo } from '@kbn/observability-synthetics-test-data'; export function sloAppPageProvider({ page, kibanaUrl }: { page: Page; kibanaUrl: string }) { page.setDefaultTimeout(60 * 1000); diff --git a/x-pack/plugins/observability_solution/slo/e2e/synthetics_run.ts b/x-pack/plugins/observability_solution/slo/e2e/synthetics_run.ts index 642b7ef4cff23..0d32aae207e4e 100644 --- a/x-pack/plugins/observability_solution/slo/e2e/synthetics_run.ts +++ b/x-pack/plugins/observability_solution/slo/e2e/synthetics_run.ts @@ -5,7 +5,7 @@ * 2.0. */ import { FtrConfigProviderContext } from '@kbn/test'; -import { SyntheticsRunner, argv } from '@kbn/synthetics-e2e'; +import { SyntheticsRunner, argv } from '@kbn/observability-synthetics-test-data'; const { headless, grep, bail: pauseOnError } = argv; diff --git a/x-pack/plugins/observability_solution/slo/e2e/tsconfig.json b/x-pack/plugins/observability_solution/slo/e2e/tsconfig.json index 6c4be7e101a02..68203a4db6013 100644 --- a/x-pack/plugins/observability_solution/slo/e2e/tsconfig.json +++ b/x-pack/plugins/observability_solution/slo/e2e/tsconfig.json @@ -12,5 +12,6 @@ "@kbn/ftr-common-functional-services", "@kbn/data-forge", "@kbn/synthetics-e2e", + "@kbn/observability-synthetics-test-data", ] } diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/config.ts b/x-pack/plugins/observability_solution/synthetics/e2e/config.ts index 8e1e97e5c1d37..ff04a6d7bf166 100644 --- a/x-pack/plugins/observability_solution/synthetics/e2e/config.ts +++ b/x-pack/plugins/observability_solution/synthetics/e2e/config.ts @@ -10,8 +10,8 @@ import { CA_CERT_PATH } from '@kbn/dev-utils'; import { get } from 'lodash'; import { commonFunctionalServices } from '@kbn/ftr-common-functional-services'; import { commonFunctionalUIServices } from '@kbn/ftr-common-functional-ui-services'; +import { readKibanaConfig } from '@kbn/observability-synthetics-test-data'; -import { readKibanaConfig } from './tasks/read_kibana_config'; const MANIFEST_KEY = 'xpack.uptime.service.manifestUrl'; const SERVICE_PASSWORD = 'xpack.uptime.service.password'; const SERVICE_USERNAME = 'xpack.uptime.service.username'; diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/helpers/test_reporter.ts b/x-pack/plugins/observability_solution/synthetics/e2e/helpers/test_reporter.ts deleted file mode 100644 index 198a038ec027f..0000000000000 --- a/x-pack/plugins/observability_solution/synthetics/e2e/helpers/test_reporter.ts +++ /dev/null @@ -1,229 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { Journey, Step } from '@elastic/synthetics/dist/dsl'; -import { Reporter, ReporterOptions } from '@elastic/synthetics'; -import { - JourneyEndResult, - JourneyStartResult, - StepEndResult, -} from '@elastic/synthetics/dist/common_types'; - -import { yellow, green, cyan, red, bold } from 'chalk'; - -// eslint-disable-next-line no-console -const log = console.log; - -import { performance } from 'perf_hooks'; -import * as fs from 'fs'; -import { gatherScreenshots } from '@elastic/synthetics/dist/reporters/json'; -import { CACHE_PATH } from '@elastic/synthetics/dist/helpers'; -import { join } from 'path'; - -function renderError(error: any) { - let output = ''; - const outer = indent(''); - const inner = indent(outer); - const container = outer + '---\n'; - output += container; - let stack = error.stack; - if (stack) { - output += inner + 'stack: |-\n'; - stack = rewriteErrorStack(stack, findPWLogsIndexes(stack)); - const lines = String(stack).split('\n'); - for (const line of lines) { - output += inner + ' ' + line + '\n'; - } - } - output += container; - return red(output); -} - -function renderDuration(durationMs: number) { - return Number(durationMs).toFixed(0); -} - -export class TestReporter implements Reporter { - metrics = { - succeeded: 0, - failed: 0, - skipped: 0, - }; - - journeys: Map> = new Map(); - - constructor(options: ReporterOptions = {}) {} - - onJourneyStart(journey: Journey, {}: JourneyStartResult) { - if (process.env.CI) { - this.write(`\n--- Journey: ${journey.name}`); - } else { - this.write(bold(`\n Journey: ${journey.name}`)); - } - } - - onStepEnd(journey: Journey, step: Step, result: StepEndResult) { - const { status, end, start, error } = result; - const message = `${symbols[status]} Step: '${step.name}' ${status} (${renderDuration( - (end - start) * 1000 - )} ms)`; - this.write(indent(message)); - if (error) { - this.write(renderError(error)); - } - this.metrics[status]++; - if (!this.journeys.has(journey.name)) { - this.journeys.set(journey.name, []); - } - this.journeys.get(journey.name)?.push({ name: step.name, ...result }); - } - - async onJourneyEnd(journey: Journey, { error, start, end, status }: JourneyEndResult) { - const { failed, succeeded, skipped } = this.metrics; - const total = failed + succeeded + skipped; - if (total === 0 && error) { - this.write(renderError(error)); - } - const message = `${symbols[status]} Took (${renderDuration(end - start)} seconds)`; - this.write(message); - - await fs.promises.mkdir('.journeys/failed_steps', { recursive: true }); - - await gatherScreenshots(join(CACHE_PATH, 'screenshots'), async (screenshot) => { - const { data, step } = screenshot; - - if (status === 'failed') { - await (async () => { - await fs.promises.writeFile(join('.journeys/failed_steps/', `${step.name}.jpg`), data, { - encoding: 'base64', - }); - })(); - } - }); - } - - onEnd() { - const failedJourneys = Array.from(this.journeys.entries()).filter(([, steps]) => - steps.some((step) => step.status === 'failed') - ); - - if (failedJourneys.length > 0) { - failedJourneys.forEach(([journeyName, steps]) => { - if (process.env.CI) { - const name = red(`Journey: ${journeyName} 🥵`); - this.write(`\n+++ ${name}`); - steps.forEach((stepResult) => { - const { status, end, start, error, name: stepName } = stepResult; - const message = `${symbols[status]} Step: '${stepName}' ${status} (${renderDuration( - (end - start) * 1000 - )} ms)`; - this.write(indent(message)); - if (error) { - this.write(renderError(error)); - } - }); - } - }); - } - - const successfulJourneys = Array.from(this.journeys.entries()).filter(([, steps]) => - steps.every((step) => step.status === 'succeeded') - ); - - successfulJourneys.forEach(([journeyName, steps]) => { - try { - fs.unlinkSync('.journeys/videos/' + journeyName + '.webm'); - } catch (e) { - // eslint-disable-next-line no-console - console.log( - 'Failed to delete video file for path ' + '.journeys/videos/' + journeyName + '.webm' - ); - } - }); - - const { failed, succeeded, skipped } = this.metrics; - const total = failed + succeeded + skipped; - - let message = '\n'; - if (total === 0) { - message = 'No tests found!'; - message += ` (${renderDuration(now())} ms) \n`; - this.write(message); - return; - } - - message += succeeded > 0 ? green(` ${succeeded} passed`) : ''; - message += failed > 0 ? red(` ${failed} failed`) : ''; - message += skipped > 0 ? cyan(` ${skipped} skipped`) : ''; - message += ` (${renderDuration(now() / 1000)} seconds) \n`; - this.write(message); - } - - write(message: any) { - if (typeof message === 'object') { - message = JSON.stringify(message); - } - log(message + '\n'); - } -} - -const SEPARATOR = '\n'; - -function indent(lines: string, tab = ' ') { - return lines.replace(/^/gm, tab); -} - -const NO_UTF8_SUPPORT = process.platform === 'win32'; -const symbols = { - warning: yellow(NO_UTF8_SUPPORT ? '!' : '⚠'), - skipped: cyan('-'), - progress: cyan('>'), - succeeded: green(NO_UTF8_SUPPORT ? 'ok' : '✓'), - failed: red(NO_UTF8_SUPPORT ? 'x' : '✖'), -}; - -function now() { - return performance.now(); -} - -function findPWLogsIndexes(msgOrStack: string): [number, number] { - let startIndex = 0; - let endIndex = 0; - if (!msgOrStack) { - return [startIndex, endIndex]; - } - const lines = String(msgOrStack).split(SEPARATOR); - const logStart = /[=]{3,} logs [=]{3,}/; - const logEnd = /[=]{10,}/; - lines.forEach((line, index) => { - if (logStart.test(line)) { - startIndex = index; - } else if (logEnd.test(line)) { - endIndex = index; - } - }); - return [startIndex, endIndex]; -} - -function rewriteErrorStack(stack: string, indexes: [number, number]) { - const [start, end] = indexes; - /** - * Do not rewrite if its not a playwright error - */ - if (start === 0 && end === 0) { - return stack; - } - const linesToKeep = start + 3; - if (start > 0 && linesToKeep < end) { - const lines = stack.split(SEPARATOR); - return lines - .slice(0, linesToKeep) - .concat(...lines.slice(end)) - .join(SEPARATOR); - } - return stack; -} diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/index.ts b/x-pack/plugins/observability_solution/synthetics/e2e/index.ts index f0e9b5e8b760c..faec8474541d9 100644 --- a/x-pack/plugins/observability_solution/synthetics/e2e/index.ts +++ b/x-pack/plugins/observability_solution/synthetics/e2e/index.ts @@ -5,7 +5,5 @@ * 2.0. */ -export { SyntheticsRunner } from './helpers/synthetics_runner'; -export { argv } from './helpers/parse_args_params'; export { loginPageProvider } from './page_objects/login'; export { utilsPageProvider } from './page_objects/utils'; diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/data_retention.journey.ts b/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/data_retention.journey.ts index 1dd2fe3a44aed..4640e2adf9eee 100644 --- a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/data_retention.journey.ts +++ b/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/data_retention.journey.ts @@ -7,7 +7,7 @@ import { journey, step, expect, Page } from '@elastic/synthetics'; import { RetryService } from '@kbn/ftr-common-functional-services'; -import { recordVideo } from '../../helpers/record_video'; +import { recordVideo } from '@kbn/observability-synthetics-test-data'; import { syntheticsAppPageProvider } from '../page_objects/synthetics_app'; import { byTestId, assertText } from '../../helpers/utils'; diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/project_api_keys.journey.ts b/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/project_api_keys.journey.ts index 44cfcbebc6616..2c1a873b0db53 100644 --- a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/project_api_keys.journey.ts +++ b/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/project_api_keys.journey.ts @@ -7,7 +7,7 @@ import { journey, step, expect, before } from '@elastic/synthetics'; import { SYNTHETICS_API_URLS } from '@kbn/synthetics-plugin/common/constants'; -import { recordVideo } from '../../helpers/record_video'; +import { recordVideo } from '@kbn/observability-synthetics-test-data'; journey('ProjectAPIKeys', async ({ page }) => { recordVideo(page); diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/page_objects/synthetics_app.tsx b/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/page_objects/synthetics_app.tsx index f9eb448615de8..2f3d0099192f4 100644 --- a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/page_objects/synthetics_app.tsx +++ b/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/page_objects/synthetics_app.tsx @@ -7,7 +7,7 @@ import { expect, Page } from '@elastic/synthetics'; import { RetryService } from '@kbn/ftr-common-functional-services'; import { FormMonitorType } from '@kbn/synthetics-plugin/common/runtime_types/monitor_management'; -import { recordVideo } from '../../helpers/record_video'; +import { recordVideo } from '@kbn/observability-synthetics-test-data'; import { loginPageProvider } from '../../page_objects/login'; import { utilsPageProvider } from '../../page_objects/utils'; diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/synthetics_run.ts b/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/synthetics_run.ts index 3624c03c5f1f0..4f097c6926872 100644 --- a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/synthetics_run.ts +++ b/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/synthetics_run.ts @@ -4,10 +4,9 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ +import { SyntheticsRunner, argv } from '@kbn/observability-synthetics-test-data'; import { FtrConfigProviderContext } from '@kbn/test'; import path from 'path'; -import { argv } from '../helpers/parse_args_params'; -import { SyntheticsRunner } from '../helpers/synthetics_runner'; const { headless, grep, bail: pauseOnError } = argv; diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/tsconfig.json b/x-pack/plugins/observability_solution/synthetics/e2e/tsconfig.json index 7584c000a76fa..7a98afb3a6faf 100644 --- a/x-pack/plugins/observability_solution/synthetics/e2e/tsconfig.json +++ b/x-pack/plugins/observability_solution/synthetics/e2e/tsconfig.json @@ -12,10 +12,7 @@ "@kbn/dev-utils", "@kbn/ux-plugin/e2e", "@kbn/ftr-common-functional-services", - "@kbn/apm-plugin", - "@kbn/es-archiver", "@kbn/synthetics-plugin", - "@kbn/repo-info", "@kbn/observability-synthetics-test-data", "@kbn/ftr-common-functional-ui-services" ] diff --git a/x-pack/plugins/observability_solution/uptime/e2e/config.ts b/x-pack/plugins/observability_solution/uptime/e2e/config.ts index 4f3e86eeb35ea..f38a590ed1502 100644 --- a/x-pack/plugins/observability_solution/uptime/e2e/config.ts +++ b/x-pack/plugins/observability_solution/uptime/e2e/config.ts @@ -9,7 +9,7 @@ import { FtrConfigProviderContext } from '@kbn/test'; import { CA_CERT_PATH } from '@kbn/dev-utils'; import { commonFunctionalServices } from '@kbn/ftr-common-functional-services'; import { commonFunctionalUIServices } from '@kbn/ftr-common-functional-ui-services'; -import { readKibanaConfig } from './tasks/read_kibana_config'; +import { readKibanaConfig } from '@kbn/observability-synthetics-test-data'; const MANIFEST_KEY = 'xpack.uptime.service.manifestUrl'; const SERVICE_PASSWORD = 'xpack.uptime.service.password'; const SERVICE_USERNAME = 'xpack.uptime.service.username'; diff --git a/x-pack/plugins/observability_solution/uptime/e2e/helpers/parse_args_params.ts b/x-pack/plugins/observability_solution/uptime/e2e/helpers/parse_args_params.ts deleted file mode 100644 index a69cae912dfee..0000000000000 --- a/x-pack/plugins/observability_solution/uptime/e2e/helpers/parse_args_params.ts +++ /dev/null @@ -1,28 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import yargs from 'yargs'; - -const { argv } = yargs(process.argv.slice(2)) - .option('headless', { - default: true, - type: 'boolean', - description: 'Start in headless mode', - }) - .option('bail', { - default: false, - type: 'boolean', - description: 'Pause on error', - }) - .option('grep', { - default: undefined, - type: 'string', - description: 'run only journeys with a name or tags that matches the glob', - }) - .help(); - -export { argv }; diff --git a/x-pack/plugins/observability_solution/uptime/e2e/helpers/record_video.ts b/x-pack/plugins/observability_solution/uptime/e2e/helpers/record_video.ts deleted file mode 100644 index 23bcdfb643e72..0000000000000 --- a/x-pack/plugins/observability_solution/uptime/e2e/helpers/record_video.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import fs from 'fs'; -import Runner from '@elastic/synthetics/dist/core/runner'; -import { after, Page } from '@elastic/synthetics'; - -const SYNTHETICS_RUNNER = Symbol.for('SYNTHETICS_RUNNER'); - -// @ts-ignore -export const runner: Runner = global[SYNTHETICS_RUNNER]; - -export const recordVideo = (page: Page, postfix = '') => { - after(async () => { - try { - const videoFilePath = await page.video()?.path(); - const pathToVideo = videoFilePath?.replace('.journeys/videos/', '').replace('.webm', ''); - const newVideoPath = videoFilePath?.replace( - pathToVideo!, - postfix ? runner.currentJourney!.name + `-${postfix}` : runner.currentJourney!.name - ); - fs.renameSync(videoFilePath!, newVideoPath!); - } catch (e) { - // eslint-disable-next-line no-console - console.log('Error while renaming video file', e); - } - }); -}; diff --git a/x-pack/plugins/observability_solution/uptime/e2e/helpers/synthetics_runner.ts b/x-pack/plugins/observability_solution/uptime/e2e/helpers/synthetics_runner.ts deleted file mode 100644 index c9d1f485afbf2..0000000000000 --- a/x-pack/plugins/observability_solution/uptime/e2e/helpers/synthetics_runner.ts +++ /dev/null @@ -1,155 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -/* eslint-disable no-console */ - -import Url from 'url'; -import { run as syntheticsRun } from '@elastic/synthetics'; -import { PromiseType } from 'utility-types'; -import { createApmUsers } from '@kbn/apm-plugin/server/test_helpers/create_apm_users/create_apm_users'; - -import { EsArchiver } from '@kbn/es-archiver'; -import { esArchiverUnload } from '../tasks/es_archiver'; -import { TestReporter } from './test_reporter'; - -export interface ArgParams { - headless: boolean; - match?: string; - pauseOnError: boolean; -} - -export class SyntheticsRunner { - public getService: any; - public kibanaUrl: string; - private elasticsearchUrl: string; - - public testFilesLoaded: boolean = false; - - public params: ArgParams; - - private loadTestFilesCallback?: (reload?: boolean) => Promise; - - constructor(getService: any, params: ArgParams) { - this.getService = getService; - this.kibanaUrl = this.getKibanaUrl(); - this.elasticsearchUrl = this.getElasticsearchUrl(); - this.params = params; - } - - async setup() { - await this.createTestUsers(); - } - - async createTestUsers() { - await createApmUsers({ - elasticsearch: { node: this.elasticsearchUrl, username: 'elastic', password: 'changeme' }, - kibana: { hostname: this.kibanaUrl }, - }); - } - - async loadTestFiles(callback: (reload?: boolean) => Promise, reload = false) { - console.log('Loading test files'); - await callback(reload); - this.loadTestFilesCallback = callback; - this.testFilesLoaded = true; - console.log('Successfully loaded test files'); - } - - async loadTestData(e2eDir: string, dataArchives: string[]) { - try { - console.log('Loading esArchiver...'); - - const esArchiver: EsArchiver = this.getService('esArchiver'); - - const promises = dataArchives.map((archive) => { - if (archive === 'synthetics_data') { - return esArchiver.load(e2eDir + archive, { - docsOnly: true, - skipExisting: true, - }); - } - return esArchiver.load(e2eDir + archive, { skipExisting: true }); - }); - - await Promise.all([...promises]); - } catch (e) { - console.log(e); - } - } - - getKibanaUrl() { - const config = this.getService('config'); - - return Url.format({ - protocol: config.get('servers.kibana.protocol'), - hostname: config.get('servers.kibana.hostname'), - port: config.get('servers.kibana.port'), - }); - } - - getElasticsearchUrl() { - const config = this.getService('config'); - - return Url.format({ - protocol: config.get('servers.elasticsearch.protocol'), - hostname: config.get('servers.elasticsearch.hostname'), - port: config.get('servers.elasticsearch.port'), - }); - } - - async run() { - if (!this.testFilesLoaded) { - throw new Error('Test files not loaded'); - } - const { headless, match, pauseOnError } = this.params; - const noOfRuns = process.env.NO_OF_RUNS ? Number(process.env.NO_OF_RUNS) : 1; - console.log(`Running ${noOfRuns} times`); - let results: PromiseType> = {}; - for (let i = 0; i < noOfRuns; i++) { - results = await syntheticsRun({ - params: { kibanaUrl: this.kibanaUrl, getService: this.getService }, - playwrightOptions: { - headless, - chromiumSandbox: false, - timeout: 60 * 1000, - viewport: { - height: 900, - width: 1600, - }, - recordVideo: { - dir: '.journeys/videos', - }, - }, - grepOpts: { match: match === 'undefined' ? '' : match }, - pauseOnError, - screenshots: 'only-on-failure', - reporter: TestReporter, - }); - if (noOfRuns > 1) { - // need to reload again since runner resets the journeys - await this.loadTestFiles(this.loadTestFilesCallback!, true); - } - } - - await this.assertResults(results); - } - - assertResults(results: PromiseType>) { - Object.entries(results).forEach(([_journey, result]) => { - if (result.status !== 'succeeded') { - process.exitCode = 1; - process.exit(); - } - }); - } - - cleanUp() { - console.log('Removing esArchiver...'); - esArchiverUnload('full_heartbeat'); - esArchiverUnload('browser'); - } -} diff --git a/x-pack/plugins/observability_solution/uptime/e2e/helpers/test_reporter.ts b/x-pack/plugins/observability_solution/uptime/e2e/helpers/test_reporter.ts deleted file mode 100644 index 198a038ec027f..0000000000000 --- a/x-pack/plugins/observability_solution/uptime/e2e/helpers/test_reporter.ts +++ /dev/null @@ -1,229 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { Journey, Step } from '@elastic/synthetics/dist/dsl'; -import { Reporter, ReporterOptions } from '@elastic/synthetics'; -import { - JourneyEndResult, - JourneyStartResult, - StepEndResult, -} from '@elastic/synthetics/dist/common_types'; - -import { yellow, green, cyan, red, bold } from 'chalk'; - -// eslint-disable-next-line no-console -const log = console.log; - -import { performance } from 'perf_hooks'; -import * as fs from 'fs'; -import { gatherScreenshots } from '@elastic/synthetics/dist/reporters/json'; -import { CACHE_PATH } from '@elastic/synthetics/dist/helpers'; -import { join } from 'path'; - -function renderError(error: any) { - let output = ''; - const outer = indent(''); - const inner = indent(outer); - const container = outer + '---\n'; - output += container; - let stack = error.stack; - if (stack) { - output += inner + 'stack: |-\n'; - stack = rewriteErrorStack(stack, findPWLogsIndexes(stack)); - const lines = String(stack).split('\n'); - for (const line of lines) { - output += inner + ' ' + line + '\n'; - } - } - output += container; - return red(output); -} - -function renderDuration(durationMs: number) { - return Number(durationMs).toFixed(0); -} - -export class TestReporter implements Reporter { - metrics = { - succeeded: 0, - failed: 0, - skipped: 0, - }; - - journeys: Map> = new Map(); - - constructor(options: ReporterOptions = {}) {} - - onJourneyStart(journey: Journey, {}: JourneyStartResult) { - if (process.env.CI) { - this.write(`\n--- Journey: ${journey.name}`); - } else { - this.write(bold(`\n Journey: ${journey.name}`)); - } - } - - onStepEnd(journey: Journey, step: Step, result: StepEndResult) { - const { status, end, start, error } = result; - const message = `${symbols[status]} Step: '${step.name}' ${status} (${renderDuration( - (end - start) * 1000 - )} ms)`; - this.write(indent(message)); - if (error) { - this.write(renderError(error)); - } - this.metrics[status]++; - if (!this.journeys.has(journey.name)) { - this.journeys.set(journey.name, []); - } - this.journeys.get(journey.name)?.push({ name: step.name, ...result }); - } - - async onJourneyEnd(journey: Journey, { error, start, end, status }: JourneyEndResult) { - const { failed, succeeded, skipped } = this.metrics; - const total = failed + succeeded + skipped; - if (total === 0 && error) { - this.write(renderError(error)); - } - const message = `${symbols[status]} Took (${renderDuration(end - start)} seconds)`; - this.write(message); - - await fs.promises.mkdir('.journeys/failed_steps', { recursive: true }); - - await gatherScreenshots(join(CACHE_PATH, 'screenshots'), async (screenshot) => { - const { data, step } = screenshot; - - if (status === 'failed') { - await (async () => { - await fs.promises.writeFile(join('.journeys/failed_steps/', `${step.name}.jpg`), data, { - encoding: 'base64', - }); - })(); - } - }); - } - - onEnd() { - const failedJourneys = Array.from(this.journeys.entries()).filter(([, steps]) => - steps.some((step) => step.status === 'failed') - ); - - if (failedJourneys.length > 0) { - failedJourneys.forEach(([journeyName, steps]) => { - if (process.env.CI) { - const name = red(`Journey: ${journeyName} 🥵`); - this.write(`\n+++ ${name}`); - steps.forEach((stepResult) => { - const { status, end, start, error, name: stepName } = stepResult; - const message = `${symbols[status]} Step: '${stepName}' ${status} (${renderDuration( - (end - start) * 1000 - )} ms)`; - this.write(indent(message)); - if (error) { - this.write(renderError(error)); - } - }); - } - }); - } - - const successfulJourneys = Array.from(this.journeys.entries()).filter(([, steps]) => - steps.every((step) => step.status === 'succeeded') - ); - - successfulJourneys.forEach(([journeyName, steps]) => { - try { - fs.unlinkSync('.journeys/videos/' + journeyName + '.webm'); - } catch (e) { - // eslint-disable-next-line no-console - console.log( - 'Failed to delete video file for path ' + '.journeys/videos/' + journeyName + '.webm' - ); - } - }); - - const { failed, succeeded, skipped } = this.metrics; - const total = failed + succeeded + skipped; - - let message = '\n'; - if (total === 0) { - message = 'No tests found!'; - message += ` (${renderDuration(now())} ms) \n`; - this.write(message); - return; - } - - message += succeeded > 0 ? green(` ${succeeded} passed`) : ''; - message += failed > 0 ? red(` ${failed} failed`) : ''; - message += skipped > 0 ? cyan(` ${skipped} skipped`) : ''; - message += ` (${renderDuration(now() / 1000)} seconds) \n`; - this.write(message); - } - - write(message: any) { - if (typeof message === 'object') { - message = JSON.stringify(message); - } - log(message + '\n'); - } -} - -const SEPARATOR = '\n'; - -function indent(lines: string, tab = ' ') { - return lines.replace(/^/gm, tab); -} - -const NO_UTF8_SUPPORT = process.platform === 'win32'; -const symbols = { - warning: yellow(NO_UTF8_SUPPORT ? '!' : '⚠'), - skipped: cyan('-'), - progress: cyan('>'), - succeeded: green(NO_UTF8_SUPPORT ? 'ok' : '✓'), - failed: red(NO_UTF8_SUPPORT ? 'x' : '✖'), -}; - -function now() { - return performance.now(); -} - -function findPWLogsIndexes(msgOrStack: string): [number, number] { - let startIndex = 0; - let endIndex = 0; - if (!msgOrStack) { - return [startIndex, endIndex]; - } - const lines = String(msgOrStack).split(SEPARATOR); - const logStart = /[=]{3,} logs [=]{3,}/; - const logEnd = /[=]{10,}/; - lines.forEach((line, index) => { - if (logStart.test(line)) { - startIndex = index; - } else if (logEnd.test(line)) { - endIndex = index; - } - }); - return [startIndex, endIndex]; -} - -function rewriteErrorStack(stack: string, indexes: [number, number]) { - const [start, end] = indexes; - /** - * Do not rewrite if its not a playwright error - */ - if (start === 0 && end === 0) { - return stack; - } - const linesToKeep = start + 3; - if (start > 0 && linesToKeep < end) { - const lines = stack.split(SEPARATOR); - return lines - .slice(0, linesToKeep) - .concat(...lines.slice(end)) - .join(SEPARATOR); - } - return stack; -} diff --git a/x-pack/plugins/observability_solution/uptime/e2e/tasks/es_archiver.ts b/x-pack/plugins/observability_solution/uptime/e2e/tasks/es_archiver.ts deleted file mode 100644 index 8415de3a385bd..0000000000000 --- a/x-pack/plugins/observability_solution/uptime/e2e/tasks/es_archiver.ts +++ /dev/null @@ -1,37 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import Path from 'path'; -import { execSync } from 'child_process'; - -const ES_ARCHIVE_DIR = './fixtures/es_archiver'; - -// Otherwise execSync would inject NODE_TLS_REJECT_UNAUTHORIZED=0 and node would abort if used over https -const NODE_TLS_REJECT_UNAUTHORIZED = '1'; - -export const esArchiverLoad = (folder: string) => { - const path = Path.join(ES_ARCHIVE_DIR, folder); - execSync( - `node ../../../../../scripts/es_archiver load "${path}" --config ../../../../test/functional/config.base.js`, - { env: { ...process.env, NODE_TLS_REJECT_UNAUTHORIZED }, stdio: 'inherit' } - ); -}; - -export const esArchiverUnload = (folder: string) => { - const path = Path.join(ES_ARCHIVE_DIR, folder); - execSync( - `node ../../../../../scripts/es_archiver unload "${path}" --config ../../../../test/functional/config.base.js`, - { env: { ...process.env, NODE_TLS_REJECT_UNAUTHORIZED }, stdio: 'inherit' } - ); -}; - -export const esArchiverResetKibana = () => { - execSync( - `node ../../../../../scripts/es_archiver empty-kibana-index --config ../../../../test/functional/config.base.js`, - { env: { ...process.env, NODE_TLS_REJECT_UNAUTHORIZED }, stdio: 'inherit' } - ); -}; diff --git a/x-pack/plugins/observability_solution/uptime/e2e/tasks/read_kibana_config.ts b/x-pack/plugins/observability_solution/uptime/e2e/tasks/read_kibana_config.ts deleted file mode 100644 index b892454b12c97..0000000000000 --- a/x-pack/plugins/observability_solution/uptime/e2e/tasks/read_kibana_config.ts +++ /dev/null @@ -1,22 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import path from 'path'; -import fs from 'fs'; -import yaml from 'js-yaml'; - -export type KibanaConfig = ReturnType; - -export const readKibanaConfig = () => { - const kibanaConfigDir = path.join(__filename, '../../../../../../../config'); - const kibanaDevConfig = path.join(kibanaConfigDir, 'kibana.dev.yml'); - const kibanaConfig = path.join(kibanaConfigDir, 'kibana.yml'); - - return (yaml.load( - fs.readFileSync(fs.existsSync(kibanaDevConfig) ? kibanaDevConfig : kibanaConfig, 'utf8') - ) || {}) as Record; -}; diff --git a/x-pack/plugins/observability_solution/uptime/e2e/tsconfig.json b/x-pack/plugins/observability_solution/uptime/e2e/tsconfig.json index 2ad789f1e88d9..a88e6a0dbfb58 100644 --- a/x-pack/plugins/observability_solution/uptime/e2e/tsconfig.json +++ b/x-pack/plugins/observability_solution/uptime/e2e/tsconfig.json @@ -13,7 +13,7 @@ "@kbn/ux-plugin/e2e", "@kbn/ftr-common-functional-services", "@kbn/apm-plugin", - "@kbn/es-archiver", - "@kbn/ftr-common-functional-ui-services" + "@kbn/ftr-common-functional-ui-services", + "@kbn/observability-synthetics-test-data" ] } diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/alerts/default_email_settings.ts b/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/alerts/default_email_settings.ts index 2865084aa29e8..2050134a26d69 100644 --- a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/alerts/default_email_settings.ts +++ b/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/alerts/default_email_settings.ts @@ -6,13 +6,13 @@ */ import { journey, step, before } from '@elastic/synthetics'; +import { recordVideo } from '@kbn/observability-synthetics-test-data'; import { assertNotText, assertText, byTestId, waitForLoadingToFinish, } from '../../../helpers/utils'; -import { recordVideo } from '../../../helpers/record_video'; import { settingsPageProvider } from '../../page_objects/settings'; diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/alerts/status_alert_flyouts_in_alerting_app.ts b/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/alerts/status_alert_flyouts_in_alerting_app.ts index b3cdfbe134935..ddd3501244109 100644 --- a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/alerts/status_alert_flyouts_in_alerting_app.ts +++ b/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/alerts/status_alert_flyouts_in_alerting_app.ts @@ -7,8 +7,8 @@ import { journey, step, expect, before } from '@elastic/synthetics'; import { RetryService } from '@kbn/ftr-common-functional-services'; +import { recordVideo } from '@kbn/observability-synthetics-test-data'; import { byTestId, assertText, waitForLoadingToFinish } from '../../../helpers/utils'; -import { recordVideo } from '../../../helpers/record_video'; import { loginPageProvider } from '../../../page_objects/login'; journey('StatusFlyoutInAlertingApp', async ({ page, params }) => { diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/alerts/tls_alert_flyouts_in_alerting_app.ts b/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/alerts/tls_alert_flyouts_in_alerting_app.ts index f8ac13ff0361a..2209a1b12a803 100644 --- a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/alerts/tls_alert_flyouts_in_alerting_app.ts +++ b/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/alerts/tls_alert_flyouts_in_alerting_app.ts @@ -6,8 +6,8 @@ */ import { journey, step, before, expect } from '@elastic/synthetics'; +import { recordVideo } from '@kbn/observability-synthetics-test-data'; import { byTestId, assertText, waitForLoadingToFinish } from '../../../helpers/utils'; -import { recordVideo } from '../../../helpers/record_video'; import { loginPageProvider } from '../../../page_objects/login'; journey('TlsFlyoutInAlertingApp', async ({ page, params }) => { diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/data_view_permissions.ts b/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/data_view_permissions.ts index f8b74dabc027b..ee3ead7d615c4 100644 --- a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/data_view_permissions.ts +++ b/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/data_view_permissions.ts @@ -7,8 +7,8 @@ import { journey, step, expect, before } from '@elastic/synthetics'; import { callKibana } from '@kbn/apm-plugin/server/test_helpers/create_apm_users/helpers/call_kibana'; +import { recordVideo } from '@kbn/observability-synthetics-test-data'; import { byTestId, TIMEOUT_60_SEC, waitForLoadingToFinish } from '../../helpers/utils'; -import { recordVideo } from '../../helpers/record_video'; import { loginPageProvider } from '../../page_objects/login'; journey('DataViewPermissions', async ({ page, params }) => { diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/locations/locations.ts b/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/locations/locations.ts index afb5ebf0c04a1..efda8352d93b1 100644 --- a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/locations/locations.ts +++ b/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/locations/locations.ts @@ -6,7 +6,7 @@ */ import { journey, step, before, Page } from '@elastic/synthetics'; -import { recordVideo } from '../../../helpers/record_video'; +import { recordVideo } from '@kbn/observability-synthetics-test-data'; import { makeChecksWithStatus } from '../../../helpers/make_checks'; import { monitorDetailsPageProvider } from '../../page_objects/monitor_details'; diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/monitor_details/monitor_alerts.journey.ts b/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/monitor_details/monitor_alerts.journey.ts index 88a174f76cc59..6e5ed114d72de 100644 --- a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/monitor_details/monitor_alerts.journey.ts +++ b/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/monitor_details/monitor_alerts.journey.ts @@ -7,8 +7,8 @@ import { journey, step, expect, before, Page } from '@elastic/synthetics'; import { noop } from 'lodash'; +import { recordVideo } from '@kbn/observability-synthetics-test-data'; import { byTestId, delay } from '../../../helpers/utils'; -import { recordVideo } from '../../../helpers/record_video'; import { monitorDetailsPageProvider } from '../../page_objects/monitor_details'; const dateRangeStart = '2019-09-10T12:40:08.078Z'; diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/monitor_details/monitor_details.journey.ts b/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/monitor_details/monitor_details.journey.ts index f46081c7b3823..b54d462cdfaa3 100644 --- a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/monitor_details/monitor_details.journey.ts +++ b/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/monitor_details/monitor_details.journey.ts @@ -6,8 +6,8 @@ */ import { journey, step, before, Page } from '@elastic/synthetics'; +import { recordVideo } from '@kbn/observability-synthetics-test-data'; import { byTestId } from '../../../helpers/utils'; -import { recordVideo } from '../../../helpers/record_video'; import { monitorDetailsPageProvider } from '../../page_objects/monitor_details'; const dateRangeStart = '2019-09-10T12:40:08.078Z'; diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/monitor_details/ping_redirects.journey.ts b/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/monitor_details/ping_redirects.journey.ts index 502217721381d..d90438721715a 100644 --- a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/monitor_details/ping_redirects.journey.ts +++ b/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/monitor_details/ping_redirects.journey.ts @@ -6,8 +6,8 @@ */ import { journey, step, expect, before, Page } from '@elastic/synthetics'; +import { recordVideo } from '@kbn/observability-synthetics-test-data'; import { byTestId, delay } from '../../../helpers/utils'; -import { recordVideo } from '../../../helpers/record_video'; import { makeChecksWithStatus } from '../../../helpers/make_checks'; import { monitorDetailsPageProvider } from '../../page_objects/monitor_details'; diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/step_duration.journey.ts b/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/step_duration.journey.ts index 2dc781fcbf90f..41f31681fd06f 100644 --- a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/step_duration.journey.ts +++ b/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/step_duration.journey.ts @@ -7,7 +7,7 @@ import { journey, step, expect } from '@elastic/synthetics'; import { RetryService } from '@kbn/ftr-common-functional-services'; -import { recordVideo } from '../../helpers/record_video'; +import { recordVideo } from '@kbn/observability-synthetics-test-data'; import { loginPageProvider } from '../../page_objects/login'; journey('StepsDuration', async ({ page, params }) => { diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/uptime.journey.ts b/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/uptime.journey.ts index 81559169deff3..f27cd3acba3cf 100644 --- a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/uptime.journey.ts +++ b/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/uptime.journey.ts @@ -6,8 +6,8 @@ */ import { journey, step, before } from '@elastic/synthetics'; +import { recordVideo } from '@kbn/observability-synthetics-test-data'; import { byTestId, waitForLoadingToFinish } from '../../helpers/utils'; -import { recordVideo } from '../../helpers/record_video'; journey('UptimeOverview', ({ page, params }) => { recordVideo(page); diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/synthetics_run.ts b/x-pack/plugins/observability_solution/uptime/e2e/uptime/synthetics_run.ts index b457a5b1e104f..26a3b9e2e27bb 100644 --- a/x-pack/plugins/observability_solution/uptime/e2e/uptime/synthetics_run.ts +++ b/x-pack/plugins/observability_solution/uptime/e2e/uptime/synthetics_run.ts @@ -6,8 +6,7 @@ */ import { FtrConfigProviderContext } from '@kbn/test'; import path from 'path'; -import { argv } from '../helpers/parse_args_params'; -import { SyntheticsRunner } from '../helpers/synthetics_runner'; +import { SyntheticsRunner, argv } from '@kbn/observability-synthetics-test-data'; const { headless, grep, bail: pauseOnError } = argv; diff --git a/x-pack/plugins/observability_solution/ux/e2e/helpers/parse_args_params.ts b/x-pack/plugins/observability_solution/ux/e2e/helpers/parse_args_params.ts deleted file mode 100644 index 41100ba2ec295..0000000000000 --- a/x-pack/plugins/observability_solution/ux/e2e/helpers/parse_args_params.ts +++ /dev/null @@ -1,33 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import yargs from 'yargs'; - -const { argv } = yargs(process.argv.slice(2)) - .option('headless', { - default: true, - type: 'boolean', - description: 'Start in headless mode', - }) - .option('bail', { - default: false, - type: 'boolean', - description: 'Pause on error', - }) - .option('watch', { - default: false, - type: 'boolean', - description: 'Runs the server in watch mode, restarting on changes', - }) - .option('grep', { - default: undefined, - type: 'string', - description: 'run only journeys with a name or tags that matches the glob', - }) - .help(); - -export { argv }; diff --git a/x-pack/plugins/observability_solution/ux/e2e/helpers/record_video.ts b/x-pack/plugins/observability_solution/ux/e2e/helpers/record_video.ts deleted file mode 100644 index 23bcdfb643e72..0000000000000 --- a/x-pack/plugins/observability_solution/ux/e2e/helpers/record_video.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import fs from 'fs'; -import Runner from '@elastic/synthetics/dist/core/runner'; -import { after, Page } from '@elastic/synthetics'; - -const SYNTHETICS_RUNNER = Symbol.for('SYNTHETICS_RUNNER'); - -// @ts-ignore -export const runner: Runner = global[SYNTHETICS_RUNNER]; - -export const recordVideo = (page: Page, postfix = '') => { - after(async () => { - try { - const videoFilePath = await page.video()?.path(); - const pathToVideo = videoFilePath?.replace('.journeys/videos/', '').replace('.webm', ''); - const newVideoPath = videoFilePath?.replace( - pathToVideo!, - postfix ? runner.currentJourney!.name + `-${postfix}` : runner.currentJourney!.name - ); - fs.renameSync(videoFilePath!, newVideoPath!); - } catch (e) { - // eslint-disable-next-line no-console - console.log('Error while renaming video file', e); - } - }); -}; diff --git a/x-pack/plugins/observability_solution/ux/e2e/helpers/synthetics_runner.ts b/x-pack/plugins/observability_solution/ux/e2e/helpers/synthetics_runner.ts deleted file mode 100644 index e191d5fc101f7..0000000000000 --- a/x-pack/plugins/observability_solution/ux/e2e/helpers/synthetics_runner.ts +++ /dev/null @@ -1,159 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -/* eslint-disable no-console */ - -import Url from 'url'; -import { run as syntheticsRun } from '@elastic/synthetics'; -import { PromiseType } from 'utility-types'; -import { createApmUsers } from '@kbn/apm-plugin/server/test_helpers/create_apm_users/create_apm_users'; - -import { EsArchiver } from '@kbn/es-archiver'; -import { esArchiverUnload } from '../tasks/es_archiver'; -import { TestReporter } from './test_reporter'; - -export interface ArgParams { - headless: boolean; - match?: string; - pauseOnError: boolean; -} - -export class SyntheticsRunner { - public getService: any; - public kibanaUrl: string; - private elasticsearchUrl: string; - - public testFilesLoaded: boolean = false; - - public params: ArgParams; - - private loadTestFilesCallback?: (reload?: boolean) => Promise; - - constructor(getService: any, params: ArgParams) { - this.getService = getService; - this.kibanaUrl = this.getKibanaUrl(); - this.elasticsearchUrl = this.getElasticsearchUrl(); - this.params = params; - } - - async setup() { - await this.createTestUsers(); - } - - async createTestUsers() { - await createApmUsers({ - elasticsearch: { - node: this.elasticsearchUrl, - username: 'elastic', - password: 'changeme', - }, - kibana: { hostname: this.kibanaUrl }, - }); - } - - async loadTestFiles(callback: (reload?: boolean) => Promise, reload = false) { - console.log('Loading test files'); - await callback(reload); - this.loadTestFilesCallback = callback; - this.testFilesLoaded = true; - console.log('Successfully loaded test files'); - } - - async loadTestData(e2eDir: string, dataArchives: string[]) { - try { - console.log('Loading esArchiver...'); - - const esArchiver: EsArchiver = this.getService('esArchiver'); - - const promises = dataArchives.map((archive) => { - if (archive === 'synthetics_data') { - return esArchiver.load(e2eDir + archive, { - docsOnly: true, - skipExisting: true, - }); - } - return esArchiver.load(e2eDir + archive, { skipExisting: true }); - }); - - await Promise.all([...promises]); - } catch (e) { - console.log(e); - } - } - - getKibanaUrl() { - const config = this.getService('config'); - - return Url.format({ - protocol: config.get('servers.kibana.protocol'), - hostname: config.get('servers.kibana.hostname'), - port: config.get('servers.kibana.port'), - }); - } - - getElasticsearchUrl() { - const config = this.getService('config'); - - return Url.format({ - protocol: config.get('servers.elasticsearch.protocol'), - hostname: config.get('servers.elasticsearch.hostname'), - port: config.get('servers.elasticsearch.port'), - }); - } - - async run() { - if (!this.testFilesLoaded) { - throw new Error('Test files not loaded'); - } - const { headless, match, pauseOnError } = this.params; - const noOfRuns = process.env.NO_OF_RUNS ? Number(process.env.NO_OF_RUNS) : 1; - console.log(`Running ${noOfRuns} times`); - let results: PromiseType> = {}; - for (let i = 0; i < noOfRuns; i++) { - results = await syntheticsRun({ - params: { kibanaUrl: this.kibanaUrl, getService: this.getService }, - playwrightOptions: { - headless, - chromiumSandbox: false, - timeout: 60 * 1000, - viewport: { - height: 900, - width: 1600, - }, - recordVideo: { - dir: '.journeys/videos', - }, - }, - grepOpts: { match: match === 'undefined' ? '' : match }, - pauseOnError, - screenshots: 'only-on-failure', - reporter: TestReporter, - }); - if (noOfRuns > 1) { - // need to reload again since runner resets the journeys - await this.loadTestFiles(this.loadTestFilesCallback!, true); - } - } - - await this.assertResults(results); - } - - assertResults(results: PromiseType>) { - Object.entries(results).forEach(([_journey, result]) => { - if (result.status !== 'succeeded') { - process.exitCode = 1; - process.exit(); - } - }); - } - - cleanUp() { - console.log('Removing esArchiver...'); - esArchiverUnload('full_heartbeat'); - esArchiverUnload('browser'); - } -} diff --git a/x-pack/plugins/observability_solution/ux/e2e/helpers/test_reporter.ts b/x-pack/plugins/observability_solution/ux/e2e/helpers/test_reporter.ts deleted file mode 100644 index 198a038ec027f..0000000000000 --- a/x-pack/plugins/observability_solution/ux/e2e/helpers/test_reporter.ts +++ /dev/null @@ -1,229 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { Journey, Step } from '@elastic/synthetics/dist/dsl'; -import { Reporter, ReporterOptions } from '@elastic/synthetics'; -import { - JourneyEndResult, - JourneyStartResult, - StepEndResult, -} from '@elastic/synthetics/dist/common_types'; - -import { yellow, green, cyan, red, bold } from 'chalk'; - -// eslint-disable-next-line no-console -const log = console.log; - -import { performance } from 'perf_hooks'; -import * as fs from 'fs'; -import { gatherScreenshots } from '@elastic/synthetics/dist/reporters/json'; -import { CACHE_PATH } from '@elastic/synthetics/dist/helpers'; -import { join } from 'path'; - -function renderError(error: any) { - let output = ''; - const outer = indent(''); - const inner = indent(outer); - const container = outer + '---\n'; - output += container; - let stack = error.stack; - if (stack) { - output += inner + 'stack: |-\n'; - stack = rewriteErrorStack(stack, findPWLogsIndexes(stack)); - const lines = String(stack).split('\n'); - for (const line of lines) { - output += inner + ' ' + line + '\n'; - } - } - output += container; - return red(output); -} - -function renderDuration(durationMs: number) { - return Number(durationMs).toFixed(0); -} - -export class TestReporter implements Reporter { - metrics = { - succeeded: 0, - failed: 0, - skipped: 0, - }; - - journeys: Map> = new Map(); - - constructor(options: ReporterOptions = {}) {} - - onJourneyStart(journey: Journey, {}: JourneyStartResult) { - if (process.env.CI) { - this.write(`\n--- Journey: ${journey.name}`); - } else { - this.write(bold(`\n Journey: ${journey.name}`)); - } - } - - onStepEnd(journey: Journey, step: Step, result: StepEndResult) { - const { status, end, start, error } = result; - const message = `${symbols[status]} Step: '${step.name}' ${status} (${renderDuration( - (end - start) * 1000 - )} ms)`; - this.write(indent(message)); - if (error) { - this.write(renderError(error)); - } - this.metrics[status]++; - if (!this.journeys.has(journey.name)) { - this.journeys.set(journey.name, []); - } - this.journeys.get(journey.name)?.push({ name: step.name, ...result }); - } - - async onJourneyEnd(journey: Journey, { error, start, end, status }: JourneyEndResult) { - const { failed, succeeded, skipped } = this.metrics; - const total = failed + succeeded + skipped; - if (total === 0 && error) { - this.write(renderError(error)); - } - const message = `${symbols[status]} Took (${renderDuration(end - start)} seconds)`; - this.write(message); - - await fs.promises.mkdir('.journeys/failed_steps', { recursive: true }); - - await gatherScreenshots(join(CACHE_PATH, 'screenshots'), async (screenshot) => { - const { data, step } = screenshot; - - if (status === 'failed') { - await (async () => { - await fs.promises.writeFile(join('.journeys/failed_steps/', `${step.name}.jpg`), data, { - encoding: 'base64', - }); - })(); - } - }); - } - - onEnd() { - const failedJourneys = Array.from(this.journeys.entries()).filter(([, steps]) => - steps.some((step) => step.status === 'failed') - ); - - if (failedJourneys.length > 0) { - failedJourneys.forEach(([journeyName, steps]) => { - if (process.env.CI) { - const name = red(`Journey: ${journeyName} 🥵`); - this.write(`\n+++ ${name}`); - steps.forEach((stepResult) => { - const { status, end, start, error, name: stepName } = stepResult; - const message = `${symbols[status]} Step: '${stepName}' ${status} (${renderDuration( - (end - start) * 1000 - )} ms)`; - this.write(indent(message)); - if (error) { - this.write(renderError(error)); - } - }); - } - }); - } - - const successfulJourneys = Array.from(this.journeys.entries()).filter(([, steps]) => - steps.every((step) => step.status === 'succeeded') - ); - - successfulJourneys.forEach(([journeyName, steps]) => { - try { - fs.unlinkSync('.journeys/videos/' + journeyName + '.webm'); - } catch (e) { - // eslint-disable-next-line no-console - console.log( - 'Failed to delete video file for path ' + '.journeys/videos/' + journeyName + '.webm' - ); - } - }); - - const { failed, succeeded, skipped } = this.metrics; - const total = failed + succeeded + skipped; - - let message = '\n'; - if (total === 0) { - message = 'No tests found!'; - message += ` (${renderDuration(now())} ms) \n`; - this.write(message); - return; - } - - message += succeeded > 0 ? green(` ${succeeded} passed`) : ''; - message += failed > 0 ? red(` ${failed} failed`) : ''; - message += skipped > 0 ? cyan(` ${skipped} skipped`) : ''; - message += ` (${renderDuration(now() / 1000)} seconds) \n`; - this.write(message); - } - - write(message: any) { - if (typeof message === 'object') { - message = JSON.stringify(message); - } - log(message + '\n'); - } -} - -const SEPARATOR = '\n'; - -function indent(lines: string, tab = ' ') { - return lines.replace(/^/gm, tab); -} - -const NO_UTF8_SUPPORT = process.platform === 'win32'; -const symbols = { - warning: yellow(NO_UTF8_SUPPORT ? '!' : '⚠'), - skipped: cyan('-'), - progress: cyan('>'), - succeeded: green(NO_UTF8_SUPPORT ? 'ok' : '✓'), - failed: red(NO_UTF8_SUPPORT ? 'x' : '✖'), -}; - -function now() { - return performance.now(); -} - -function findPWLogsIndexes(msgOrStack: string): [number, number] { - let startIndex = 0; - let endIndex = 0; - if (!msgOrStack) { - return [startIndex, endIndex]; - } - const lines = String(msgOrStack).split(SEPARATOR); - const logStart = /[=]{3,} logs [=]{3,}/; - const logEnd = /[=]{10,}/; - lines.forEach((line, index) => { - if (logStart.test(line)) { - startIndex = index; - } else if (logEnd.test(line)) { - endIndex = index; - } - }); - return [startIndex, endIndex]; -} - -function rewriteErrorStack(stack: string, indexes: [number, number]) { - const [start, end] = indexes; - /** - * Do not rewrite if its not a playwright error - */ - if (start === 0 && end === 0) { - return stack; - } - const linesToKeep = start + 3; - if (start > 0 && linesToKeep < end) { - const lines = stack.split(SEPARATOR); - return lines - .slice(0, linesToKeep) - .concat(...lines.slice(end)) - .join(SEPARATOR); - } - return stack; -} diff --git a/x-pack/plugins/observability_solution/ux/e2e/journeys/core_web_vitals.ts b/x-pack/plugins/observability_solution/ux/e2e/journeys/core_web_vitals.ts index 6aeebbb913b13..a40073644803d 100644 --- a/x-pack/plugins/observability_solution/ux/e2e/journeys/core_web_vitals.ts +++ b/x-pack/plugins/observability_solution/ux/e2e/journeys/core_web_vitals.ts @@ -6,7 +6,7 @@ */ import { journey, step, expect, before } from '@elastic/synthetics'; -import { recordVideo } from '../helpers/record_video'; +import { recordVideo } from '@kbn/observability-synthetics-test-data'; import { UXDashboardDatePicker } from '../page_objects/date_picker'; import { loginToKibana, waitForLoadingToFinish } from './utils'; diff --git a/x-pack/plugins/observability_solution/ux/e2e/journeys/inp.journey.ts b/x-pack/plugins/observability_solution/ux/e2e/journeys/inp.journey.ts index 451b5b749a936..215325caeb40f 100644 --- a/x-pack/plugins/observability_solution/ux/e2e/journeys/inp.journey.ts +++ b/x-pack/plugins/observability_solution/ux/e2e/journeys/inp.journey.ts @@ -7,7 +7,7 @@ import { journey, step, expect, before } from '@elastic/synthetics'; import { Client } from '@elastic/elasticsearch'; -import { recordVideo } from '../helpers/record_video'; +import { recordVideo } from '@kbn/observability-synthetics-test-data'; import { loginToKibana, waitForLoadingToFinish } from './utils'; const addTestTransaction = async (params: any) => { diff --git a/x-pack/plugins/observability_solution/ux/e2e/journeys/page_views.ts b/x-pack/plugins/observability_solution/ux/e2e/journeys/page_views.ts index cdae75f724d44..ec91050fb6d26 100644 --- a/x-pack/plugins/observability_solution/ux/e2e/journeys/page_views.ts +++ b/x-pack/plugins/observability_solution/ux/e2e/journeys/page_views.ts @@ -6,7 +6,7 @@ */ import { journey, step, expect, before } from '@elastic/synthetics'; -import { recordVideo } from '../helpers/record_video'; +import { recordVideo } from '@kbn/observability-synthetics-test-data'; import { UXDashboardDatePicker } from '../page_objects/date_picker'; import { byTestId, loginToKibana, waitForLoadingToFinish } from './utils'; diff --git a/x-pack/plugins/observability_solution/ux/e2e/journeys/url_ux_query.journey.ts b/x-pack/plugins/observability_solution/ux/e2e/journeys/url_ux_query.journey.ts index 24c1847b5cd06..730952254f1d5 100644 --- a/x-pack/plugins/observability_solution/ux/e2e/journeys/url_ux_query.journey.ts +++ b/x-pack/plugins/observability_solution/ux/e2e/journeys/url_ux_query.journey.ts @@ -6,7 +6,7 @@ */ import { journey, step, expect, before } from '@elastic/synthetics'; -import { recordVideo } from '../helpers/record_video'; +import { recordVideo } from '@kbn/observability-synthetics-test-data'; import { UXDashboardDatePicker } from '../page_objects/date_picker'; import { byTestId, loginToKibana, waitForLoadingToFinish } from './utils'; diff --git a/x-pack/plugins/observability_solution/ux/e2e/journeys/ux_client_metrics.journey.ts b/x-pack/plugins/observability_solution/ux/e2e/journeys/ux_client_metrics.journey.ts index 97cad67b91a7f..ad8f569dbd47c 100644 --- a/x-pack/plugins/observability_solution/ux/e2e/journeys/ux_client_metrics.journey.ts +++ b/x-pack/plugins/observability_solution/ux/e2e/journeys/ux_client_metrics.journey.ts @@ -6,7 +6,7 @@ */ import { journey, step, expect, before } from '@elastic/synthetics'; -import { recordVideo } from '../helpers/record_video'; +import { recordVideo } from '@kbn/observability-synthetics-test-data'; import { UXDashboardDatePicker } from '../page_objects/date_picker'; import { byTestId, loginToKibana, waitForLoadingToFinish } from './utils'; diff --git a/x-pack/plugins/observability_solution/ux/e2e/journeys/ux_js_errors.journey.ts b/x-pack/plugins/observability_solution/ux/e2e/journeys/ux_js_errors.journey.ts index 9f573bf5e149c..4c685c4db4f42 100644 --- a/x-pack/plugins/observability_solution/ux/e2e/journeys/ux_js_errors.journey.ts +++ b/x-pack/plugins/observability_solution/ux/e2e/journeys/ux_js_errors.journey.ts @@ -6,7 +6,7 @@ */ import { journey, step, expect, before } from '@elastic/synthetics'; -import { recordVideo } from '../helpers/record_video'; +import { recordVideo } from '@kbn/observability-synthetics-test-data'; import { UXDashboardDatePicker } from '../page_objects/date_picker'; import { byTestId, loginToKibana, waitForLoadingToFinish } from './utils'; diff --git a/x-pack/plugins/observability_solution/ux/e2e/journeys/ux_long_task_metric_journey.ts b/x-pack/plugins/observability_solution/ux/e2e/journeys/ux_long_task_metric_journey.ts index eb9bad1c763d3..5e55610e87933 100644 --- a/x-pack/plugins/observability_solution/ux/e2e/journeys/ux_long_task_metric_journey.ts +++ b/x-pack/plugins/observability_solution/ux/e2e/journeys/ux_long_task_metric_journey.ts @@ -6,7 +6,7 @@ */ import { journey, step, before, expect } from '@elastic/synthetics'; -import { recordVideo } from '../helpers/record_video'; +import { recordVideo } from '@kbn/observability-synthetics-test-data'; import { UXDashboardDatePicker } from '../page_objects/date_picker'; import { byTestId, loginToKibana, waitForLoadingToFinish } from './utils'; diff --git a/x-pack/plugins/observability_solution/ux/e2e/journeys/ux_visitor_breakdown.journey.ts b/x-pack/plugins/observability_solution/ux/e2e/journeys/ux_visitor_breakdown.journey.ts index 86e804f947515..92e51d4c16c36 100644 --- a/x-pack/plugins/observability_solution/ux/e2e/journeys/ux_visitor_breakdown.journey.ts +++ b/x-pack/plugins/observability_solution/ux/e2e/journeys/ux_visitor_breakdown.journey.ts @@ -6,7 +6,7 @@ */ import { journey, step, before } from '@elastic/synthetics'; -import { recordVideo } from '../helpers/record_video'; +import { recordVideo } from '@kbn/observability-synthetics-test-data'; import { UXDashboardDatePicker } from '../page_objects/date_picker'; import { byLensTestId, loginToKibana, waitForLoadingToFinish } from './utils'; diff --git a/x-pack/plugins/observability_solution/ux/e2e/synthetics_run.ts b/x-pack/plugins/observability_solution/ux/e2e/synthetics_run.ts index 7c7581b10e6a6..84287949caa28 100644 --- a/x-pack/plugins/observability_solution/ux/e2e/synthetics_run.ts +++ b/x-pack/plugins/observability_solution/ux/e2e/synthetics_run.ts @@ -6,8 +6,7 @@ */ import { FtrConfigProviderContext } from '@kbn/test'; import path from 'path'; -import { argv } from './helpers/parse_args_params'; -import { SyntheticsRunner } from './helpers/synthetics_runner'; +import { SyntheticsRunner, argv } from '@kbn/observability-synthetics-test-data'; const { headless, grep, bail: pauseOnError } = argv; diff --git a/x-pack/plugins/observability_solution/ux/e2e/tasks/es_archiver.ts b/x-pack/plugins/observability_solution/ux/e2e/tasks/es_archiver.ts deleted file mode 100644 index 8415de3a385bd..0000000000000 --- a/x-pack/plugins/observability_solution/ux/e2e/tasks/es_archiver.ts +++ /dev/null @@ -1,37 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import Path from 'path'; -import { execSync } from 'child_process'; - -const ES_ARCHIVE_DIR = './fixtures/es_archiver'; - -// Otherwise execSync would inject NODE_TLS_REJECT_UNAUTHORIZED=0 and node would abort if used over https -const NODE_TLS_REJECT_UNAUTHORIZED = '1'; - -export const esArchiverLoad = (folder: string) => { - const path = Path.join(ES_ARCHIVE_DIR, folder); - execSync( - `node ../../../../../scripts/es_archiver load "${path}" --config ../../../../test/functional/config.base.js`, - { env: { ...process.env, NODE_TLS_REJECT_UNAUTHORIZED }, stdio: 'inherit' } - ); -}; - -export const esArchiverUnload = (folder: string) => { - const path = Path.join(ES_ARCHIVE_DIR, folder); - execSync( - `node ../../../../../scripts/es_archiver unload "${path}" --config ../../../../test/functional/config.base.js`, - { env: { ...process.env, NODE_TLS_REJECT_UNAUTHORIZED }, stdio: 'inherit' } - ); -}; - -export const esArchiverResetKibana = () => { - execSync( - `node ../../../../../scripts/es_archiver empty-kibana-index --config ../../../../test/functional/config.base.js`, - { env: { ...process.env, NODE_TLS_REJECT_UNAUTHORIZED }, stdio: 'inherit' } - ); -}; diff --git a/x-pack/plugins/observability_solution/ux/e2e/tsconfig.json b/x-pack/plugins/observability_solution/ux/e2e/tsconfig.json index 93a315a3e7a6b..93ddeb2fc4921 100644 --- a/x-pack/plugins/observability_solution/ux/e2e/tsconfig.json +++ b/x-pack/plugins/observability_solution/ux/e2e/tsconfig.json @@ -6,5 +6,8 @@ "outDir": "target/types", "types": ["node"] }, - "kbn_references": ["@kbn/test", "@kbn/apm-plugin", "@kbn/es-archiver"] + "kbn_references": [ + "@kbn/test", + "@kbn/observability-synthetics-test-data", + ] } From 748193d0a736c3bbb2993e77183081adcd017d16 Mon Sep 17 00:00:00 2001 From: Gerard Soldevila Date: Thu, 12 Dec 2024 11:10:50 +0100 Subject: [PATCH 05/52] Sustainable Kibana Architecture: Relocate script v2 (#203887) ## Summary Commits titles are self-explanatory --- packages/kbn-relocate/README.md | 2 ++ packages/kbn-relocate/relocate.ts | 2 +- packages/kbn-relocate/types.ts | 1 + packages/kbn-relocate/utils.git.ts | 25 ++++++++++++++++++++----- 4 files changed, 24 insertions(+), 6 deletions(-) diff --git a/packages/kbn-relocate/README.md b/packages/kbn-relocate/README.md index 2edba006f7944..3ceb2432c69d1 100644 --- a/packages/kbn-relocate/README.md +++ b/packages/kbn-relocate/README.md @@ -18,6 +18,8 @@ gh repo set-default elastic/kibana You must have `elastic/kibana` remote configured under the name `upstream`. +You must have a remote named `origin` pointing to your fork of the Kibana repo. + ## Usage First of all, you need to decide whether you want to contribute to an existing PR or to create a new one. Use the `--pr` flag to specify the PR you are trying to update: diff --git a/packages/kbn-relocate/relocate.ts b/packages/kbn-relocate/relocate.ts index 57d2d37b87ec7..646a3ba5bef0e 100644 --- a/packages/kbn-relocate/relocate.ts +++ b/packages/kbn-relocate/relocate.ts @@ -164,7 +164,7 @@ export const findAndRelocateModules = async (params: RelocateModulesParams) => { await safeExec(`git restore --staged .`); await safeExec(`git restore .`); await safeExec(`git clean -f -d`); - await safeExec(`git checkout ${baseBranch} && git pull upstream ${baseBranch} && git push`); + await safeExec(`git checkout ${baseBranch} && git pull upstream ${baseBranch}`); if (prNumber) { // checkout existing PR, reset all commits, rebase from baseBranch diff --git a/packages/kbn-relocate/types.ts b/packages/kbn-relocate/types.ts index 3826561f523e1..391cef336d639 100644 --- a/packages/kbn-relocate/types.ts +++ b/packages/kbn-relocate/types.ts @@ -21,4 +21,5 @@ export interface Commit { export interface PullRequest { number: string; commits: Commit[]; + headRefName: string; } diff --git a/packages/kbn-relocate/utils.git.ts b/packages/kbn-relocate/utils.git.ts index 7f3386bdc32f1..743e6522c585b 100644 --- a/packages/kbn-relocate/utils.git.ts +++ b/packages/kbn-relocate/utils.git.ts @@ -12,10 +12,8 @@ import type { Commit, PullRequest } from './types'; import { safeExec } from './utils.exec'; export const findPr = async (number: string): Promise => { - const commits = JSON.parse( - (await safeExec(`gh pr view ${number} --json commits`)).stdout - ).commits; - return { number, commits }; + const res = await safeExec(`gh pr view ${number} --json commits,headRefName`); + return { ...JSON.parse(res.stdout), number }; }; export function hasManualCommits(commits: Commit[]) { @@ -55,6 +53,20 @@ export async function localBranchExists(branchName: string): Promise { return branches.includes(branchName); } +async function deleteBranches(...branchNames: string[]) { + const res = await safeExec('git branch -l'); + const branches = res.stdout + .split('\n') + .filter(Boolean) + .map((branchName) => branchName.trim()); + + await Promise.all( + branchNames + .filter((toDelete) => branches.includes(toDelete)) + .map((toDelete) => safeExec(`git branch -D ${toDelete}`).catch(() => {})) + ); +} + export const checkoutResetPr = async (baseBranch: string, prNumber: string): Promise => { const pr = await findPr(prNumber); @@ -69,11 +81,14 @@ export const checkoutResetPr = async (baseBranch: string, prNumber: string): Pro } } - // previous cleanup TODO REMOVE + // previous cleanup on current branch await safeExec(`git restore --staged .`); await safeExec(`git restore .`); await safeExec(`git clean -f -d`); + // delete existing branch + await deleteBranches(pr.headRefName); + // checkout the PR branch await safeExec(`gh pr checkout ${prNumber}`); await resetAllCommits(pr.commits.length); From 881cdc142b3014f964a7b69fc8b29b85211fcbfa Mon Sep 17 00:00:00 2001 From: Milosz Marcinkowski <38698566+miloszmarcinkowski@users.noreply.github.com> Date: Thu, 12 Dec 2024 11:23:24 +0100 Subject: [PATCH 06/52] [Profiling] Preserve `kuery` filters when switching between Universal Profiling pages in new solution navigation (#203545) Closes #197401 ### Summary This PR adds ability to preserve `kuery` filters when switching between pages in Universal Profiling using `solution navigation`. The missing filters were considered regression in comparison to `classic navigation`. ### Testing Expected behavior with **classic navigation** for comparison: ![Screen Recording 2024-12-10 at 14 40 26](https://github.com/user-attachments/assets/db066c2e-3a47-4ac1-9860-f00364716c19) Before with **solution navigation**: ![Screen Recording 2024-12-10 at 14 50 21](https://github.com/user-attachments/assets/23481d63-37ee-4983-b8ef-5b3e6da2f55d) After with **solution navigation**: ![Screen Recording 2024-12-10 at 14 45 30](https://github.com/user-attachments/assets/216b6c8d-bfb4-4f32-b4f8-40cf17f5847d) --- .../profiling/public/{index.tsx => index.ts} | 0 .../public/{plugin.tsx => plugin.ts} | 60 ++++++++++++------- 2 files changed, 40 insertions(+), 20 deletions(-) rename x-pack/plugins/observability_solution/profiling/public/{index.tsx => index.ts} (100%) rename x-pack/plugins/observability_solution/profiling/public/{plugin.tsx => plugin.ts} (73%) diff --git a/x-pack/plugins/observability_solution/profiling/public/index.tsx b/x-pack/plugins/observability_solution/profiling/public/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/profiling/public/index.tsx rename to x-pack/plugins/observability_solution/profiling/public/index.ts diff --git a/x-pack/plugins/observability_solution/profiling/public/plugin.tsx b/x-pack/plugins/observability_solution/profiling/public/plugin.ts similarity index 73% rename from x-pack/plugins/observability_solution/profiling/public/plugin.tsx rename to x-pack/plugins/observability_solution/profiling/public/plugin.ts index fca4f8dcb4c6b..752b9c92a2195 100644 --- a/x-pack/plugins/observability_solution/profiling/public/plugin.tsx +++ b/x-pack/plugins/observability_solution/profiling/public/plugin.ts @@ -7,6 +7,7 @@ import { AppMountParameters, + AppUpdater, CoreSetup, CoreStart, DEFAULT_APP_CATEGORIES, @@ -15,7 +16,7 @@ import { import { i18n } from '@kbn/i18n'; import { NavigationSection } from '@kbn/observability-shared-plugin/public'; import type { Location } from 'history'; -import { BehaviorSubject, combineLatest, from, map } from 'rxjs'; +import { BehaviorSubject, combineLatest, from, map, take } from 'rxjs'; import { OBLT_PROFILING_APP_ID } from '@kbn/deeplinks-observability'; import { registerEmbeddables } from './embeddables/register_embeddables'; import { getServices } from './services'; @@ -64,29 +65,47 @@ export class ProfilingPlugin ]; const kuerySubject = new BehaviorSubject(''); + const appUpdater$ = new BehaviorSubject(() => ({})); const section$ = combineLatest([from(coreSetup.getStartServices()), kuerySubject]).pipe( map(([[coreStart], kuery]) => { if (coreStart.application.capabilities.profiling.show) { - const sections: NavigationSection[] = [ - { - label: i18n.translate('xpack.profiling.navigation.sectionLabel', { - defaultMessage: 'Universal Profiling', - }), - entries: links.map((link) => { - return { - app: OBLT_PROFILING_APP_ID, - label: link.title, - path: `${link.path}?kuery=${kuery ?? ''}`, - matchPath: (path) => { - return path.startsWith(link.path); - }, - }; - }), - sortKey: 700, - }, - ]; - return sections; + let isSidebarEnabled = true; + coreStart.chrome + .getChromeStyle$() + .pipe(take(1)) + .subscribe((style) => (isSidebarEnabled = style === 'classic')); + + if (isSidebarEnabled) { + // classic navigation + const sections: NavigationSection[] = [ + { + label: i18n.translate('xpack.profiling.navigation.sectionLabel', { + defaultMessage: 'Universal Profiling', + }), + entries: links.map((link) => { + return { + app: OBLT_PROFILING_APP_ID, + label: link.title, + path: kuery ? `${link.path}?kuery=${kuery}` : link.path, + matchPath: (path) => { + return path.startsWith(link.path); + }, + }; + }), + sortKey: 700, + }, + ]; + return sections; + } else { + // solution navigation + appUpdater$.next(() => ({ + deepLinks: links.map((link) => ({ + ...link, + path: kuery ? `${link.path}?kuery=${encodeURIComponent(kuery)}` : link.path, + })), + })); + } } return []; }) @@ -103,6 +122,7 @@ export class ProfilingPlugin appRoute: '/app/profiling', category: DEFAULT_APP_CATEGORIES.observability, deepLinks: links, + updater$: appUpdater$, async mount({ element, history, theme$, setHeaderActionMenu }: AppMountParameters) { const [coreStart, pluginsStart] = await coreSetup.getStartServices(); From 84b19ec3eae0f0b13ad4c08e2927db811d39a263 Mon Sep 17 00:00:00 2001 From: Gerard Soldevila Date: Thu, 12 Dec 2024 11:35:10 +0100 Subject: [PATCH 07/52] Sustainable Kibana Architecture: Move modules owned by `@elastic/obs-ai-assistant` (#202763) ## 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. #### 5 plugin(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/ai-assistant-management-plugin` | `src/platform/plugins/shared/ai_assistant_management/selection` | | `@kbn/data-usage-plugin` | `x-pack/platform/plugins/private/data_usage` | | `@kbn/observability-ai-assistant-app-plugin` | `x-pack/solutions/observability/plugins/observability_ai_assistant_app` | | `@kbn/observability-ai-assistant-management-plugin` | `x-pack/solutions/observability/plugins/observability_ai_assistant_management` | | `@kbn/observability-ai-assistant-plugin` | `x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant` | #### 2 packages(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/observability-ai-common` | `x-pack/solutions/observability/packages/observability_ai/observability_ai_common` | | `@kbn/observability-ai-server` | `x-pack/solutions/observability/packages/observability_ai/observability_ai_server` |
Updated references ``` ./.github/paths-labeller.yml ./.i18nrc.json ./docs/developer/plugin-list.asciidoc ./package.json ./packages/kbn-repo-packages/package-map.json ./packages/kbn-ts-projects/config-paths.json ./src/dev/storybook/aliases.ts ./src/platform/plugins/shared/ai_assistant_management/selection/jest.config.js ./src/platform/plugins/shared/discover/tsconfig.type_check.json ./tsconfig.base.json ./tsconfig.base.type_check.json ./tsconfig.refs.json ./x-pack/.i18nrc.json ./x-pack/platform/plugins/private/data_usage/jest.config.js ./x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/jest.config.js ./x-pack/plugins/enterprise_search/kibana.jsonc ./x-pack/plugins/observability_solution/observability_ai_assistant/server/functions/index.ts ./x-pack/plugins/observability_solution/observability_ai_assistant_app/tsconfig.type_check.json ./x-pack/plugins/search_connectors/kibana.jsonc ./x-pack/solutions/observability/packages/observability_ai/observability_ai_common/jest.config.js ./x-pack/solutions/observability/packages/observability_ai/observability_ai_server/jest.config.js ./x-pack/solutions/observability/plugins/observability_ai_assistant_app/jest.config.js ./x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/README.md ./x-pack/solutions/observability/plugins/observability_ai_assistant_management/jest.config.js ./x-pack/test/tsconfig.type_check.json ./x-pack/test_serverless/tsconfig.type_check.json ./yarn.lock ```
Updated relative paths ``` src/platform/plugins/shared/ai_assistant_management/selection/jest.config.js:12 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.json:2 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:18 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:2 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:21 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:24 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:27 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:30 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:33 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:36 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:39 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:42 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:45 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:48 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:51 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:54 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:57 x-pack/platform/plugins/private/data_usage/jest.config.js:10 x-pack/platform/plugins/private/data_usage/tsconfig.json:11 x-pack/platform/plugins/private/data_usage/tsconfig.json:2 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/jest.config.js:10 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.json:2 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.json:7 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:100 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:103 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:2 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:22 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:25 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:28 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:31 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:34 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:37 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:40 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:43 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:46 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:49 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:52 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:55 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:58 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:61 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:64 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:67 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:70 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:73 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:76 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:79 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:82 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:85 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:88 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:9 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:91 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:94 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:97 x-pack/solutions/observability/packages/observability_ai/observability_ai_common/jest.config.js:10 x-pack/solutions/observability/packages/observability_ai/observability_ai_common/tsconfig.json:2 x-pack/solutions/observability/packages/observability_ai/observability_ai_server/jest.config.js:10 x-pack/solutions/observability/packages/observability_ai/observability_ai_server/tsconfig.json:2 x-pack/solutions/observability/plugins/observability_ai_assistant_app/jest.config.js:10 x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/read_kibana_config.ts:16 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.json:2 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.json:7 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:100 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:103 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:106 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:109 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:112 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:118 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:121 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:124 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:127 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:130 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:133 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:136 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:139 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:142 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:145 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:148 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:151 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:154 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:157 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:160 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:163 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:166 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:169 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:172 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:175 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:178 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:181 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:184 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:190 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:193 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:2 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:22 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:28 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:31 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:34 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:37 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:40 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:43 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:46 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:49 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:52 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:55 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:58 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:61 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:64 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:67 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:70 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:73 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:76 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:79 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:82 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:85 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:88 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:9 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:91 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:94 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:97 x-pack/solutions/observability/plugins/observability_ai_assistant_management/jest.config.js:10 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.json:2 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:18 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:2 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:21 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:24 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:27 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:30 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:33 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:36 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:39 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:45 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:48 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:51 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:54 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:60 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:63 ```
--- .github/CODEOWNERS | 14 ++++----- .github/paths-labeller.yml | 2 +- .i18nrc.json | 2 +- docs/developer/plugin-list.asciidoc | 10 +++---- package.json | 14 ++++----- src/dev/storybook/aliases.ts | 4 +-- .../selection/README.md | 0 .../selection/common/ai_assistant_type.ts | 0 .../selection/common/ui_setting_keys.ts | 0 .../selection/jest.config.js | 8 ++--- .../selection/kibana.jsonc | 0 .../selection/public/app_context.tsx | 0 .../selection/public/index.ts | 0 .../management_section/mount_section.tsx | 0 .../selection/public/plugin.ts | 0 .../ai_assistant_selection_page.test.tsx | 0 .../ai_assistant_selection_page.tsx | 0 .../redirect_to_home_if_unauthorized.tsx | 0 .../selection/public/routes/config.tsx | 0 .../selection/public/types.ts | 0 .../selection/server/config.ts | 0 .../selection/server/index.ts | 0 .../selection/server/plugin.ts | 0 .../selection/server/types.ts | 0 .../selection/tsconfig.json | 2 +- tsconfig.base.json | 28 +++++++++--------- x-pack/.i18nrc.json | 8 ++--- .../plugins/private}/data_usage/README.md | 0 .../private}/data_usage/common/constants.ts | 0 .../common/experimental_features.ts | 0 .../private}/data_usage/common/index.ts | 0 .../data_usage/common/query_client.tsx | 0 .../common/rest_types/data_streams.ts | 0 .../data_usage/common/rest_types/index.ts | 0 .../common/rest_types/usage_metrics.test.ts | 0 .../common/rest_types/usage_metrics.ts | 0 .../data_usage/common/test_utils/index.ts | 0 .../common/test_utils/test_provider.tsx | 0 .../test_utils/test_query_client_options.ts | 0 .../private}/data_usage/common/utils.test.ts | 0 .../private}/data_usage/common/utils.ts | 0 .../private}/data_usage/jest.config.js | 7 +++-- .../plugins/private}/data_usage/kibana.jsonc | 0 ...on_product_no_results_magnifying_glass.svg | 0 .../public/app/components/chart_panel.tsx | 0 .../public/app/components/charts.tsx | 0 .../public/app/components/charts_loading.tsx | 0 .../components/data_usage_metrics.test.tsx | 0 .../app/components/data_usage_metrics.tsx | 0 .../app/components/dataset_quality_link.tsx | 0 .../app/components/filters/charts_filter.tsx | 0 .../filters/charts_filter_popover.tsx | 0 .../app/components/filters/charts_filters.tsx | 0 .../app/components/filters/date_picker.tsx | 0 .../components/filters/toggle_all_button.tsx | 0 .../public/app/components/legend_action.tsx | 0 .../app/components/legend_action_item.tsx | 0 .../public/app/components/no_data_callout.tsx | 0 .../data_usage/public/app/components/page.tsx | 0 .../public/app/data_usage_metrics_page.tsx | 0 .../data_usage/public/app/hooks/index.tsx | 0 .../public/app/hooks/use_charts_filter.tsx | 0 .../app/hooks/use_charts_url_params.test.tsx | 0 .../app/hooks/use_charts_url_params.tsx | 0 .../public/app/hooks/use_date_picker.tsx | 0 .../data_usage/public/application.tsx | 0 .../hooks/use_get_data_streams.test.tsx | 0 .../public/hooks/use_get_data_streams.ts | 0 .../hooks/use_get_usage_metrics.test.tsx | 0 .../public/hooks/use_get_usage_metrics.ts | 0 .../public/hooks/use_test_id_generator.ts | 0 .../data_usage/public/hooks/use_url_params.ts | 0 .../private}/data_usage/public/index.ts | 0 .../private}/data_usage/public/plugin.ts | 0 .../data_usage/public/translations.tsx | 0 .../private}/data_usage/public/types.ts | 0 .../public/utils/format_bytes.test.ts | 0 .../data_usage/public/utils/format_bytes.ts | 0 .../public/utils/use_breadcrumbs.tsx | 0 .../data_usage/public/utils/use_kibana.tsx | 0 .../data_usage/server/common/errors.ts | 0 .../private}/data_usage/server/config.ts | 0 .../private}/data_usage/server/errors.ts | 0 .../private}/data_usage/server/index.ts | 0 .../private}/data_usage/server/mocks/index.ts | 0 .../private}/data_usage/server/plugin.ts | 0 .../data_usage/server/routes/error_handler.ts | 0 .../data_usage/server/routes/index.tsx | 0 .../routes/internal/data_streams.test.ts | 0 .../server/routes/internal/data_streams.ts | 0 .../routes/internal/data_streams_handler.ts | 0 .../server/routes/internal/index.tsx | 0 .../routes/internal/usage_metrics.test.ts | 0 .../server/routes/internal/usage_metrics.ts | 0 .../routes/internal/usage_metrics_handler.ts | 0 .../data_usage/server/services/app_context.ts | 0 .../data_usage/server/services/autoops_api.ts | 0 .../data_usage/server/services/index.ts | 0 .../private}/data_usage/server/types/index.ts | 0 .../private}/data_usage/server/types/types.ts | 0 .../server/utils/custom_http_request_error.ts | 0 .../server/utils/get_metering_stats.ts | 0 .../private}/data_usage/server/utils/index.ts | 0 .../plugins/private}/data_usage/tsconfig.json | 4 +-- .../.storybook/jest_setup.js | 0 .../.storybook/main.js | 0 .../.storybook/preview.js | 0 .../observability_ai_assistant/README.md | 0 .../observability_ai_assistant/TRACING.md | 0 .../common/capabilities.ts | 0 .../common/connectors.ts | 0 .../common/conversation_complete.ts | 0 .../common/convert_messages_for_inference.ts | 0 .../common/feature.ts | 0 .../common/functions/function_visibility.ts | 0 .../common/functions/types.ts | 0 .../common/functions/visualize_esql.ts | 0 .../common/index.ts | 0 .../common/rule_connector.ts | 0 .../common/types.ts | 0 .../common/ui_settings/settings_keys.ts | 0 .../concatenate_chat_completion_chunks.ts | 0 .../utils/create_function_request_message.ts | 0 .../utils/create_function_response_message.ts | 0 .../utils/emit_with_concatenated_message.ts | 0 .../utils/filter_function_definitions.ts | 0 .../utils/get_bucket_size/calculate_auto.js | 0 .../utils/get_bucket_size/index.test.ts | 0 .../common/utils/get_bucket_size/index.ts | 0 .../utils/get_bucket_size/unit_to_seconds.ts | 0 .../common/utils/short_id_table.test.ts | 0 .../common/utils/short_id_table.ts | 0 ...throw_serialized_chat_completion_errors.ts | 0 .../common/utils/until_aborted.ts | 0 .../common/utils/with_token_budget.test.ts | 0 .../common/utils/with_token_budget.ts | 0 .../utils/without_token_count_events.ts | 0 .../observability_ai_assistant/jest.config.js | 25 ++++++++++++++++ .../observability_ai_assistant/kibana.jsonc | 0 .../public/analytics/index.ts | 0 .../public/analytics/schemas/chat_feedback.ts | 0 .../public/analytics/schemas/common.ts | 0 .../analytics/schemas/insight_feedback.ts | 0 .../analytics/schemas/insight_response.ts | 0 .../analytics/schemas/user_sent_prompt.ts | 0 .../public/analytics/telemetry_event_type.ts | 0 .../public/api/index.ts | 0 .../public/assets/elastic_ai_assistant.png | Bin .../public/assets/illustration.png | Bin .../public/assets/illustration.svg | 0 .../components/assistant_avatar.stories.tsx | 0 .../public/components/assistant_avatar.tsx | 0 .../components/buttons/feedback_buttons.tsx | 0 .../regenerate_response_button.stories.tsx | 0 .../buttons/regenerate_response_button.tsx | 0 .../buttons/start_chat_button.stories.tsx | 0 .../components/buttons/start_chat_button.tsx | 0 .../stop_generating_button.stories.tsx | 0 .../buttons/stop_generating_button.tsx | 0 .../components/chat/chat_item_controls.tsx | 0 .../public/components/chat/types.ts | 0 .../connector_selector_base.stories.tsx | 0 .../connector_selector_base.tsx | 0 .../components/insight/actions_menu.tsx | 0 .../public/components/insight/insight.tsx | 0 .../insight/insight_base.stories.tsx | 0 .../components/insight/insight_base.tsx | 0 .../components/insight/insight_error.tsx | 0 .../message_panel/esql_code_block.stories.tsx | 0 .../message_panel/esql_code_block.tsx | 0 .../message_panel/failed_to_load_response.tsx | 0 .../message_panel/message_panel.stories.tsx | 0 .../message_panel/message_panel.tsx | 0 .../components/message_panel/message_text.tsx | 0 .../missing_credentials_callout.tsx | 0 ...lity_ai_assistant_chat_service_context.tsx | 0 ..._ai_assistant_multipane_flyout_context.tsx | 0 .../observability_ai_assistant_provider.tsx | 0 .../public/hooks/use_abortable_async.ts | 0 .../public/hooks/use_chat.test.ts | 0 .../public/hooks/use_chat.ts | 0 .../public/hooks/use_flyout_state.ts | 0 .../public/hooks/use_genai_connectors.ts | 0 .../public/hooks/use_kibana.ts | 0 .../hooks/use_observability_ai_assistant.ts | 0 ...observability_ai_assistant_chat_service.ts | 0 .../public/hooks/use_once.ts | 0 .../public/index.ts | 0 .../public/mock.tsx | 0 .../public/plugin.tsx | 0 .../public/service/complete.test.ts | 0 .../public/service/complete.ts | 0 .../service/create_chat_service.test.ts | 0 .../public/service/create_chat_service.ts | 0 .../service/create_mock_chat_service.ts | 0 .../public/service/create_service.ts | 0 .../public/service/default_starter_prompts.ts | 0 .../public/storybook_mock.tsx | 0 .../public/types.ts | 0 .../public/utils/builders.ts | 0 .../utils/create_function_response_error.ts | 0 .../utils/create_screen_context_action.ts | 0 .../utils/get_connectors_management_href.ts | 0 .../utils/get_contextual_insight_messages.ts | 0 .../utils/get_models_management_href.ts | 0 .../readable_stream_reader_into_observable.ts | 0 .../public/utils/storybook_decorator.tsx | 0 .../server/analytics/recall_ranking.ts | 0 .../server/config.ts | 0 .../server/functions/context.ts | 0 .../server/functions/elasticsearch.ts | 0 .../server/functions/execute_connector.ts | 0 .../get_relevant_field_names.ts | 0 .../functions/get_dataset_info/index.ts | 0 .../server/functions/index.ts | 2 +- .../server/functions/kibana.ts | 0 .../server/functions/summarize.ts | 0 .../server/index.ts | 0 .../server/plugin.ts | 0 .../server/routes/chat/route.ts | 0 .../server/routes/connectors/route.ts | 0 .../server/routes/conversations/route.ts | 0 ...observability_ai_assistant_server_route.ts | 0 .../server/routes/functions/route.ts | 0 ...rvability_ai_assistant_route_repository.ts | 0 .../server/routes/knowledge_base/route.ts | 0 .../server/routes/register_routes.ts | 0 .../server/routes/runtime_types.ts | 0 .../server/routes/types.ts | 0 .../chat_function_client/index.test.ts | 0 .../service/chat_function_client/index.ts | 0 .../get_context_function_request_if_needed.ts | 0 .../server/service/client/index.test.ts | 0 .../server/service/client/index.ts | 0 .../get_langtrace_span_attributes.ts | 0 .../instrumentation/get_langtrace_tracer.ts | 0 .../client/instrumentation/init_langtrace.ts | 0 .../instrumentation/lang_tracer.test.ts | 0 .../client/instrumentation/lang_tracer.ts | 0 .../catch_function_not_found_error.ts | 0 .../client/operators/continue_conversation.ts | 0 ...rt_inference_events_to_streaming_events.ts | 0 .../server/service/client/operators/debug.ts | 0 .../client/operators/extract_messages.ts | 0 .../client/operators/extract_token_count.ts | 0 .../fail_on_non_existing_function_call.ts | 0 .../operators/get_generated_title.test.ts | 0 .../client/operators/get_generated_title.ts | 0 .../operators/hide_token_count_events.ts | 0 .../operators/instrument_and_count_tokens.ts | 0 .../conversation_component_template.ts | 0 .../server/service/index.ts | 0 .../server/service/inference_endpoint.ts | 0 .../server/service/kb_component_template.ts | 0 .../service/knowledge_base_service/index.ts | 0 .../recall_from_search_connectors.ts | 0 .../setup_conversation_and_kb_index_assets.ts | 0 ...ter_migrate_knowledge_base_entries_task.ts | 0 .../server/service/types.ts | 0 .../catch_function_limit_exceeded_error.ts | 0 ...ate_server_side_function_response_error.ts | 0 .../server/service/util/flush_buffer.ts | 0 .../server/service/util/get_access_query.ts | 0 .../server/service/util/get_category_query.ts | 0 ...t_system_message_from_instructions.test.ts | 0 .../get_system_message_from_instructions.ts | 0 .../util/observable_into_openai_stream.ts | 0 .../service/util/observable_into_stream.ts | 0 .../service/util/replace_system_message.ts | 0 .../service/util/stream_into_observable.ts | 0 .../service/util/with_assistant_span.ts | 0 .../server/types.ts | 0 .../recall/parse_suggestion_scores.test.ts | 0 .../utils/recall/parse_suggestion_scores.ts | 0 .../server/utils/recall/recall_and_score.ts | 0 .../server/utils/recall/score_suggestions.ts | 0 .../observability_ai_assistant/tsconfig.json | 4 +-- x-pack/plugins/enterprise_search/kibana.jsonc | 2 +- .../observability_ai_assistant/jest.config.js | 25 ---------------- .../jest.config.js | 25 ---------------- x-pack/plugins/search_connectors/kibana.jsonc | 2 +- .../observability_ai_common/jest.config.js | 6 ++-- .../observability_ai_common/kibana.jsonc | 0 .../observability_ai_common/package.json | 0 .../root_cause_analysis/index.ts | 0 .../root_cause_analysis/tool_names.ts | 0 .../observability_ai_common/tsconfig.json | 2 +- .../observability_ai_server/jest.config.js | 6 ++-- .../observability_ai_server/kibana.jsonc | 0 .../observability_ai_server/package.json | 0 .../call_end_rca_process_tool.ts | 0 .../call_investigate_entity_tool.ts | 0 .../root_cause_analysis/call_observe_tool.ts | 0 .../empty_assistant_message.ts | 0 .../root_cause_analysis/index.ts | 0 .../root_cause_analysis/prompts/index.ts | 0 .../run_root_cause_analysis.ts | 0 .../tasks/analyze_log_patterns/index.ts | 0 .../tasks/describe_entity/index.ts | 0 .../tasks/describe_log_patterns/index.ts | 0 .../analyze_fetched_related_entities.ts | 0 .../extract_related_entities.ts | 0 .../tasks/find_related_entities/index.ts | 0 ...e_keyword_searches_for_related_entities.ts | 0 .../tasks/generate_timeline/index.ts | 0 .../tasks/get_knowledge_base_entries/index.ts | 0 .../tasks/investigate_entity/index.ts | 0 .../tasks/investigate_entity/prompts.ts | 0 .../tasks/investigate_entity/types.ts | 0 .../observe_investigation_results/index.ts | 0 .../index.ts | 0 .../tasks/write_final_report/index.ts | 0 .../root_cause_analysis/tools.ts | 0 .../root_cause_analysis/types.ts | 0 .../root_cause_analysis/util/call_tools.ts | 0 .../util/chunk_output_calls.ts | 0 .../root_cause_analysis/util/format_entity.ts | 0 .../get_previously_investigated_entities.ts | 0 .../util/serialize_knowledge_base_entries.ts | 0 .../util/stringify_summaries.ts | 0 .../root_cause_analysis/util/to_blockquote.ts | 0 .../validate_investigate_entity_tool_call.ts | 0 .../observability_ai_server/tsconfig.json | 2 +- .../.storybook/jest_setup.js | 0 .../.storybook/main.js | 0 .../.storybook/preview.js | 0 .../.storybook/storybook_decorator.tsx | 0 .../observability_ai_assistant_app/README.md | 0 .../common/functions/changes/index.ts | 0 .../common/functions/lens.ts | 0 .../common/functions/visualize_esql.ts | 0 .../common/rule_connector.ts | 0 .../jest.config.js | 25 ++++++++++++++++ .../kibana.jsonc | 0 .../public/application.tsx | 0 .../public/assets/elastic_ai_assistant.png | Bin .../changes/change_list.stories.tsx | 0 .../public/components/changes/change_list.tsx | 0 .../public/components/charts/spark_plot.tsx | 0 .../public/components/nav_control/index.tsx | 0 .../nav_control/lazy_nav_control.tsx | 0 .../public/components/page_template.tsx | 0 .../components/rca/entity_badge/index.tsx | 0 .../mock/complete_root_cause_analysis.json | 0 .../public/components/rca/mock/index.ts | 0 .../rca/rca_callout/index.stories.tsx | 0 .../components/rca/rca_callout/index.tsx | 0 .../rca/rca_collapsible_panel/index.tsx | 0 .../rca/rca_container/index.stories.tsx | 0 .../components/rca/rca_container/index.tsx | 0 .../index.stories.tsx | 0 .../rca/rca_entity_investigation/index.tsx | 0 .../index.stories.tsx | 0 .../rca_entity_log_pattern_table/index.tsx | 0 .../rca_observation_panel/index.stories.tsx | 0 .../rca/rca_observation_panel/index.tsx | 0 .../public/components/rca/rca_panel/index.tsx | 0 .../rca/rca_report/index.stories.tsx | 0 .../components/rca/rca_report/index.tsx | 0 .../components/rca/rca_step/index.stories.tsx | 0 .../public/components/rca/rca_step/index.tsx | 0 .../components/rca/rca_stop_button/index.tsx | 0 .../rca/rca_task_step/index.stories.tsx | 0 .../components/rca/rca_task_step/index.tsx | 0 .../components/technical_preview_badge.tsx | 0 .../public/functions/changes/index.tsx | 0 .../public/functions/index.ts | 0 .../public/functions/lens.tsx | 0 .../public/functions/visualize_esql.test.tsx | 0 .../public/functions/visualize_esql.tsx | 0 .../hooks/__storybook_mocks__/use_kibana.ts | 0 .../hooks/__storybook_mocks__/use_license.ts | 0 .../use_observability_ai_assistant.ts | 0 ..._observability_ai_assistant_app_service.ts | 0 ...observability_ai_assistant_chat_service.ts | 0 .../use_observability_ai_assistant_router.ts | 0 .../public/hooks/is_nav_control_visible.tsx | 0 .../public/hooks/use_chart_theme.ts | 0 .../public/hooks/use_force_update.ts | 0 .../public/hooks/use_kibana.ts | 0 .../public/hooks/use_license.ts | 0 .../public/hooks/use_local_storage.test.ts | 0 .../public/hooks/use_local_storage.ts | 0 .../public/hooks/use_nav_control_scope.ts | 0 .../hooks/use_nav_control_screen_context.ts | 0 ...observability_ai_assistant_chat_service.ts | 0 .../use_observability_ai_assistant_params.ts | 0 .../use_observability_ai_assistant_router.ts | 0 .../public/hooks/use_theme.ts | 0 .../public/index.ts | 0 .../public/plugin.tsx | 0 .../public/routes/config.tsx | 0 .../conversation_view_with_props.tsx | 0 .../public/rule_connector/ai_assistant.tsx | 0 .../rule_connector/ai_assistant_params.tsx | 0 .../public/rule_connector/index.ts | 0 .../public/rule_connector/translations.ts | 0 .../public/rule_connector/types.ts | 0 .../public/types.ts | 0 .../public/utils/non_nullable.ts | 0 .../public/utils/safe_json_parse.ts | 0 .../public/utils/shared_providers.tsx | 0 .../scripts/evaluation/.eslintrc.json | 0 .../scripts/evaluation/README.md | 2 +- .../evaluation/alert_templates/templates.ts | 0 .../scripts/evaluation/cli.ts | 0 .../scripts/evaluation/evaluation.ts | 0 .../scripts/evaluation/get_service_urls.ts | 0 .../scripts/evaluation/index.js | 0 .../scripts/evaluation/kibana_client.ts | 0 .../scripts/evaluation/read_kibana_config.ts | 2 +- .../evaluation/scenarios/alerts/index.spec.ts | 0 .../evaluation/scenarios/apm/index.spec.ts | 0 .../scenarios/elasticsearch/index.spec.ts | 0 .../evaluation/scenarios/esql/index.spec.ts | 0 .../evaluation/scenarios/kb/index.spec.ts | 0 .../scripts/evaluation/select_connector.ts | 0 .../scripts/evaluation/services/index.ts | 0 .../scripts/evaluation/setup_synthtrace.ts | 0 .../scripts/evaluation/types.ts | 0 ...bservability_ai_assistant_app_es_client.ts | 0 .../server/clients/elasticsearch/index.ts | 0 .../server/config.ts | 0 .../server/functions/alerts.ts | 0 .../functions/changes/get_log_changes.ts | 0 .../functions/changes/get_metric_changes.ts | 0 .../server/functions/changes/index.ts | 0 .../server/functions/documentation.ts | 0 .../server/functions/index.ts | 0 .../server/functions/lens.ts | 0 .../query/correct_query_with_actions.test.ts | 0 .../query/correct_query_with_actions.ts | 0 .../query/get_errors_with_commands.test.ts | 0 .../query/get_errors_with_commands.ts | 0 .../server/functions/query/index.ts | 0 .../functions/query/validate_esql_query.ts | 0 .../server/functions/visualize_esql.ts | 0 .../server/index.ts | 0 .../server/plugin.ts | 0 .../convert_schema_to_open_api.ts | 0 .../server/rule_connector/index.test.ts | 0 .../server/rule_connector/index.ts | 0 .../server/types.ts | 0 .../server/util/get_log_sources.ts | 0 .../tsconfig.json | 4 +-- .../README.md | 0 .../common/ui_settings.ts | 0 .../jest.config.js | 6 ++-- .../kibana.jsonc | 0 .../public/app.tsx | 0 .../public/constants.ts | 0 .../public/context/app_context.tsx | 0 .../public/helpers/categorize_entries.ts | 0 .../public/helpers/test_helper.tsx | 0 .../public/hooks/use_app_context.tsx | 0 .../hooks/use_create_knowledge_base_entry.ts | 0 ..._create_knowledge_base_user_instruction.ts | 0 .../hooks/use_delete_knowledge_base_entry.ts | 0 .../hooks/use_get_knowledge_base_entries.ts | 0 .../hooks/use_get_product_doc_status.ts | 0 .../public/hooks/use_get_user_instructions.ts | 0 .../use_import_knowledge_base_entries.ts | 0 .../public/hooks/use_install_product_doc.ts | 0 .../public/hooks/use_kibana.tsx | 0 .../use_observability_management_params.ts | 0 .../use_observability_management_router.ts | 0 .../public/hooks/use_uninstall_product_doc.ts | 0 .../public/index.ts | 0 .../public/plugin.ts | 0 .../knowledge_base_bulk_import_flyout.tsx | 0 .../knowledge_base_category_flyout.tsx | 0 ...nowledge_base_edit_manual_entry_flyout.tsx | 0 ...edge_base_edit_user_instruction_flyout.tsx | 0 .../components/knowledge_base_tab.test.tsx | 0 .../routes/components/knowledge_base_tab.tsx | 0 .../redirect_to_home_if_unauthorized.tsx | 0 .../components/search_connector_tab.tsx | 0 .../routes/components/settings_page.test.tsx | 0 .../routes/components/settings_page.tsx | 0 .../settings_tab/product_doc_entry.tsx | 0 .../settings_tab/settings_tab.test.tsx | 0 .../components/settings_tab/settings_tab.tsx | 0 .../components/settings_tab/ui_settings.tsx | 0 .../public/routes/config.tsx | 0 .../server/config.ts | 0 .../server/index.ts | 0 .../server/plugin.ts | 0 .../tsconfig.json | 2 +- yarn.lock | 14 ++++----- 489 files changed, 131 insertions(+), 128 deletions(-) rename src/{plugins => platform/plugins/shared}/ai_assistant_management/selection/README.md (100%) rename src/{plugins => platform/plugins/shared}/ai_assistant_management/selection/common/ai_assistant_type.ts (100%) rename src/{plugins => platform/plugins/shared}/ai_assistant_management/selection/common/ui_setting_keys.ts (100%) rename src/{plugins => platform/plugins/shared}/ai_assistant_management/selection/jest.config.js (63%) rename src/{plugins => platform/plugins/shared}/ai_assistant_management/selection/kibana.jsonc (100%) rename src/{plugins => platform/plugins/shared}/ai_assistant_management/selection/public/app_context.tsx (100%) rename src/{plugins => platform/plugins/shared}/ai_assistant_management/selection/public/index.ts (100%) rename src/{plugins => platform/plugins/shared}/ai_assistant_management/selection/public/management_section/mount_section.tsx (100%) rename src/{plugins => platform/plugins/shared}/ai_assistant_management/selection/public/plugin.ts (100%) rename src/{plugins => platform/plugins/shared}/ai_assistant_management/selection/public/routes/components/ai_assistant_selection_page.test.tsx (100%) rename src/{plugins => platform/plugins/shared}/ai_assistant_management/selection/public/routes/components/ai_assistant_selection_page.tsx (100%) rename src/{plugins => platform/plugins/shared}/ai_assistant_management/selection/public/routes/components/redirect_to_home_if_unauthorized.tsx (100%) rename src/{plugins => platform/plugins/shared}/ai_assistant_management/selection/public/routes/config.tsx (100%) rename src/{plugins => platform/plugins/shared}/ai_assistant_management/selection/public/types.ts (100%) rename src/{plugins => platform/plugins/shared}/ai_assistant_management/selection/server/config.ts (100%) rename src/{plugins => platform/plugins/shared}/ai_assistant_management/selection/server/index.ts (100%) rename src/{plugins => platform/plugins/shared}/ai_assistant_management/selection/server/plugin.ts (100%) rename src/{plugins => platform/plugins/shared}/ai_assistant_management/selection/server/types.ts (100%) rename src/{plugins => platform/plugins/shared}/ai_assistant_management/selection/tsconfig.json (91%) rename x-pack/{plugins => platform/plugins/private}/data_usage/README.md (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/common/constants.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/common/experimental_features.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/common/index.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/common/query_client.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/common/rest_types/data_streams.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/common/rest_types/index.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/common/rest_types/usage_metrics.test.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/common/rest_types/usage_metrics.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/common/test_utils/index.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/common/test_utils/test_provider.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/common/test_utils/test_query_client_options.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/common/utils.test.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/common/utils.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/jest.config.js (67%) rename x-pack/{plugins => platform/plugins/private}/data_usage/kibana.jsonc (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/app/components/assets/illustration_product_no_results_magnifying_glass.svg (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/app/components/chart_panel.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/app/components/charts.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/app/components/charts_loading.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/app/components/data_usage_metrics.test.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/app/components/data_usage_metrics.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/app/components/dataset_quality_link.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/app/components/filters/charts_filter.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/app/components/filters/charts_filter_popover.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/app/components/filters/charts_filters.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/app/components/filters/date_picker.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/app/components/filters/toggle_all_button.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/app/components/legend_action.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/app/components/legend_action_item.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/app/components/no_data_callout.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/app/components/page.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/app/data_usage_metrics_page.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/app/hooks/index.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/app/hooks/use_charts_filter.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/app/hooks/use_charts_url_params.test.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/app/hooks/use_charts_url_params.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/app/hooks/use_date_picker.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/application.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/hooks/use_get_data_streams.test.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/hooks/use_get_data_streams.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/hooks/use_get_usage_metrics.test.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/hooks/use_get_usage_metrics.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/hooks/use_test_id_generator.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/hooks/use_url_params.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/index.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/plugin.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/translations.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/types.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/utils/format_bytes.test.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/utils/format_bytes.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/utils/use_breadcrumbs.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/public/utils/use_kibana.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/server/common/errors.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/server/config.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/server/errors.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/server/index.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/server/mocks/index.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/server/plugin.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/server/routes/error_handler.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/server/routes/index.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/server/routes/internal/data_streams.test.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/server/routes/internal/data_streams.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/server/routes/internal/data_streams_handler.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/server/routes/internal/index.tsx (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/server/routes/internal/usage_metrics.test.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/server/routes/internal/usage_metrics.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/server/routes/internal/usage_metrics_handler.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/server/services/app_context.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/server/services/autoops_api.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/server/services/index.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/server/types/index.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/server/types/types.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/server/utils/custom_http_request_error.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/server/utils/get_metering_stats.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/server/utils/index.ts (100%) rename x-pack/{plugins => platform/plugins/private}/data_usage/tsconfig.json (91%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/.storybook/jest_setup.js (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/.storybook/main.js (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/.storybook/preview.js (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/README.md (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/TRACING.md (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/capabilities.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/connectors.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/conversation_complete.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/convert_messages_for_inference.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/feature.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/functions/function_visibility.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/functions/types.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/functions/visualize_esql.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/index.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/rule_connector.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/types.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/ui_settings/settings_keys.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/utils/concatenate_chat_completion_chunks.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/utils/create_function_request_message.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/utils/create_function_response_message.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/utils/emit_with_concatenated_message.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/utils/filter_function_definitions.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/utils/get_bucket_size/calculate_auto.js (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/utils/get_bucket_size/index.test.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/utils/get_bucket_size/index.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/utils/get_bucket_size/unit_to_seconds.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/utils/short_id_table.test.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/utils/short_id_table.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/utils/throw_serialized_chat_completion_errors.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/utils/until_aborted.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/utils/with_token_budget.test.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/utils/with_token_budget.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/common/utils/without_token_count_events.ts (100%) create mode 100644 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/jest.config.js rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/kibana.jsonc (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/analytics/index.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/analytics/schemas/chat_feedback.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/analytics/schemas/common.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/analytics/schemas/insight_feedback.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/analytics/schemas/insight_response.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/analytics/schemas/user_sent_prompt.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/analytics/telemetry_event_type.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/api/index.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/assets/elastic_ai_assistant.png (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/assets/illustration.png (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/assets/illustration.svg (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/components/assistant_avatar.stories.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/components/assistant_avatar.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/components/buttons/feedback_buttons.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/components/buttons/regenerate_response_button.stories.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/components/buttons/regenerate_response_button.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/components/buttons/start_chat_button.stories.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/components/buttons/start_chat_button.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/components/buttons/stop_generating_button.stories.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/components/buttons/stop_generating_button.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/components/chat/chat_item_controls.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/components/chat/types.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/components/connector_selector/connector_selector_base.stories.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/components/connector_selector/connector_selector_base.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/components/insight/actions_menu.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/components/insight/insight.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/components/insight/insight_base.stories.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/components/insight/insight_base.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/components/insight/insight_error.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/components/message_panel/esql_code_block.stories.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/components/message_panel/esql_code_block.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/components/message_panel/failed_to_load_response.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/components/message_panel/message_panel.stories.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/components/message_panel/message_panel.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/components/message_panel/message_text.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/components/missing_credentials_callout.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/context/observability_ai_assistant_chat_service_context.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/context/observability_ai_assistant_multipane_flyout_context.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/context/observability_ai_assistant_provider.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/hooks/use_abortable_async.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/hooks/use_chat.test.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/hooks/use_chat.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/hooks/use_flyout_state.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/hooks/use_genai_connectors.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/hooks/use_kibana.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/hooks/use_observability_ai_assistant.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/hooks/use_observability_ai_assistant_chat_service.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/hooks/use_once.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/index.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/mock.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/plugin.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/service/complete.test.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/service/complete.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/service/create_chat_service.test.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/service/create_chat_service.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/service/create_mock_chat_service.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/service/create_service.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/service/default_starter_prompts.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/storybook_mock.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/types.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/utils/builders.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/utils/create_function_response_error.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/utils/create_screen_context_action.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/utils/get_connectors_management_href.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/utils/get_contextual_insight_messages.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/utils/get_models_management_href.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/utils/readable_stream_reader_into_observable.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/public/utils/storybook_decorator.tsx (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/analytics/recall_ranking.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/config.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/functions/context.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/functions/elasticsearch.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/functions/execute_connector.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/functions/get_dataset_info/get_relevant_field_names.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/functions/get_dataset_info/index.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/functions/index.ts (98%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/functions/kibana.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/functions/summarize.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/index.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/plugin.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/routes/chat/route.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/routes/connectors/route.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/routes/conversations/route.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/routes/create_observability_ai_assistant_server_route.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/routes/functions/route.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/routes/get_global_observability_ai_assistant_route_repository.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/routes/knowledge_base/route.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/routes/register_routes.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/routes/runtime_types.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/routes/types.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/chat_function_client/index.test.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/chat_function_client/index.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/client/get_context_function_request_if_needed.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/client/index.test.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/client/index.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/client/instrumentation/get_langtrace_span_attributes.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/client/instrumentation/get_langtrace_tracer.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/client/instrumentation/init_langtrace.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/client/instrumentation/lang_tracer.test.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/client/instrumentation/lang_tracer.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/client/operators/catch_function_not_found_error.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/client/operators/continue_conversation.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/client/operators/convert_inference_events_to_streaming_events.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/client/operators/debug.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/client/operators/extract_messages.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/client/operators/extract_token_count.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/client/operators/fail_on_non_existing_function_call.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/client/operators/get_generated_title.test.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/client/operators/get_generated_title.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/client/operators/hide_token_count_events.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/client/operators/instrument_and_count_tokens.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/conversation_component_template.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/index.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/inference_endpoint.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/kb_component_template.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/knowledge_base_service/index.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/knowledge_base_service/recall_from_search_connectors.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/setup_conversation_and_kb_index_assets.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/task_manager_definitions/register_migrate_knowledge_base_entries_task.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/types.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/util/catch_function_limit_exceeded_error.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/util/create_server_side_function_response_error.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/util/flush_buffer.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/util/get_access_query.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/util/get_category_query.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/util/get_system_message_from_instructions.test.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/util/get_system_message_from_instructions.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/util/observable_into_openai_stream.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/util/observable_into_stream.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/util/replace_system_message.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/util/stream_into_observable.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/service/util/with_assistant_span.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/types.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/utils/recall/parse_suggestion_scores.test.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/utils/recall/parse_suggestion_scores.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/utils/recall/recall_and_score.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/server/utils/recall/score_suggestions.ts (100%) rename x-pack/{plugins => platform/plugins/shared}/observability_solution/observability_ai_assistant/tsconfig.json (93%) delete mode 100644 x-pack/plugins/observability_solution/observability_ai_assistant/jest.config.js delete mode 100644 x-pack/plugins/observability_solution/observability_ai_assistant_app/jest.config.js rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_common/jest.config.js (58%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_common/kibana.jsonc (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_common/package.json (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_common/root_cause_analysis/index.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_common/root_cause_analysis/tool_names.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_common/tsconfig.json (81%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/jest.config.js (67%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/kibana.jsonc (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/package.json (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/call_end_rca_process_tool.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/call_investigate_entity_tool.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/call_observe_tool.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/empty_assistant_message.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/index.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/prompts/index.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/run_root_cause_analysis.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/tasks/analyze_log_patterns/index.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/tasks/describe_entity/index.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/tasks/describe_log_patterns/index.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/tasks/find_related_entities/analyze_fetched_related_entities.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/tasks/find_related_entities/extract_related_entities.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/tasks/find_related_entities/index.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/tasks/find_related_entities/write_keyword_searches_for_related_entities.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/tasks/generate_timeline/index.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/tasks/get_knowledge_base_entries/index.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/tasks/investigate_entity/index.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/tasks/investigate_entity/prompts.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/tasks/investigate_entity/types.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/tasks/observe_investigation_results/index.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/tasks/write_entity_investigation_report/index.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/tasks/write_final_report/index.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/tools.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/types.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/util/call_tools.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/util/chunk_output_calls.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/util/format_entity.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/util/get_previously_investigated_entities.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/util/serialize_knowledge_base_entries.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/util/stringify_summaries.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/util/to_blockquote.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/root_cause_analysis/util/validate_investigate_entity_tool_call.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/observability_ai/observability_ai_server/tsconfig.json (91%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/.storybook/jest_setup.js (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/.storybook/main.js (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/.storybook/preview.js (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/.storybook/storybook_decorator.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/README.md (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/common/functions/changes/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/common/functions/lens.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/common/functions/visualize_esql.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/common/rule_connector.ts (100%) create mode 100644 x-pack/solutions/observability/plugins/observability_ai_assistant_app/jest.config.js rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/kibana.jsonc (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/application.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/assets/elastic_ai_assistant.png (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/changes/change_list.stories.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/changes/change_list.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/charts/spark_plot.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/nav_control/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/nav_control/lazy_nav_control.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/page_template.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/rca/entity_badge/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/rca/mock/complete_root_cause_analysis.json (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/rca/mock/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/rca/rca_callout/index.stories.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/rca/rca_callout/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/rca/rca_collapsible_panel/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/rca/rca_container/index.stories.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/rca/rca_container/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/rca/rca_entity_investigation/index.stories.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/rca/rca_entity_investigation/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/rca/rca_entity_log_pattern_table/index.stories.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/rca/rca_entity_log_pattern_table/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/rca/rca_observation_panel/index.stories.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/rca/rca_observation_panel/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/rca/rca_panel/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/rca/rca_report/index.stories.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/rca/rca_report/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/rca/rca_step/index.stories.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/rca/rca_step/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/rca/rca_stop_button/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/rca/rca_task_step/index.stories.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/rca/rca_task_step/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/components/technical_preview_badge.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/functions/changes/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/functions/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/functions/lens.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/functions/visualize_esql.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/functions/visualize_esql.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_kibana.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_license.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_observability_ai_assistant.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_observability_ai_assistant_app_service.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_observability_ai_assistant_chat_service.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_observability_ai_assistant_router.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/hooks/is_nav_control_visible.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/hooks/use_chart_theme.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/hooks/use_force_update.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/hooks/use_kibana.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/hooks/use_license.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/hooks/use_local_storage.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/hooks/use_local_storage.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/hooks/use_nav_control_scope.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/hooks/use_nav_control_screen_context.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/hooks/use_observability_ai_assistant_chat_service.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/hooks/use_observability_ai_assistant_params.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/hooks/use_observability_ai_assistant_router.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/hooks/use_theme.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/plugin.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/routes/config.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/routes/conversations/conversation_view_with_props.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/rule_connector/ai_assistant.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/rule_connector/ai_assistant_params.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/rule_connector/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/rule_connector/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/rule_connector/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/utils/non_nullable.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/utils/safe_json_parse.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/public/utils/shared_providers.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/scripts/evaluation/.eslintrc.json (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/scripts/evaluation/README.md (93%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/scripts/evaluation/alert_templates/templates.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/scripts/evaluation/cli.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/scripts/evaluation/evaluation.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/scripts/evaluation/get_service_urls.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/scripts/evaluation/index.js (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/scripts/evaluation/kibana_client.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/scripts/evaluation/read_kibana_config.ts (98%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/scripts/evaluation/scenarios/alerts/index.spec.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/scripts/evaluation/scenarios/apm/index.spec.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/scripts/evaluation/scenarios/elasticsearch/index.spec.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/scripts/evaluation/scenarios/esql/index.spec.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/scripts/evaluation/scenarios/kb/index.spec.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/scripts/evaluation/select_connector.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/scripts/evaluation/services/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/scripts/evaluation/setup_synthtrace.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/scripts/evaluation/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/server/clients/create_observability_ai_assistant_app_es_client.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/server/clients/elasticsearch/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/server/config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/server/functions/alerts.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/server/functions/changes/get_log_changes.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/server/functions/changes/get_metric_changes.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/server/functions/changes/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/server/functions/documentation.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/server/functions/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/server/functions/lens.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/server/functions/query/correct_query_with_actions.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/server/functions/query/correct_query_with_actions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/server/functions/query/get_errors_with_commands.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/server/functions/query/get_errors_with_commands.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/server/functions/query/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/server/functions/query/validate_esql_query.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/server/functions/visualize_esql.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/server/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/server/plugin.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/server/rule_connector/convert_schema_to_open_api.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/server/rule_connector/index.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/server/rule_connector/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/server/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/server/util/get_log_sources.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_app/tsconfig.json (96%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/README.md (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/common/ui_settings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/jest.config.js (58%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/kibana.jsonc (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/app.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/constants.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/context/app_context.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/helpers/categorize_entries.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/helpers/test_helper.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/hooks/use_app_context.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/hooks/use_create_knowledge_base_entry.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/hooks/use_create_knowledge_base_user_instruction.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/hooks/use_delete_knowledge_base_entry.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/hooks/use_get_knowledge_base_entries.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/hooks/use_get_product_doc_status.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/hooks/use_get_user_instructions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/hooks/use_import_knowledge_base_entries.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/hooks/use_install_product_doc.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/hooks/use_kibana.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/hooks/use_observability_management_params.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/hooks/use_observability_management_router.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/hooks/use_uninstall_product_doc.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/plugin.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/routes/components/knowledge_base_bulk_import_flyout.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/routes/components/knowledge_base_category_flyout.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/routes/components/knowledge_base_edit_manual_entry_flyout.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/routes/components/knowledge_base_edit_user_instruction_flyout.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/routes/components/knowledge_base_tab.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/routes/components/knowledge_base_tab.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/routes/components/redirect_to_home_if_unauthorized.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/routes/components/search_connector_tab.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/routes/components/settings_page.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/routes/components/settings_page.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/routes/components/settings_tab/product_doc_entry.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/routes/components/settings_tab/settings_tab.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/routes/components/settings_tab/settings_tab.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/routes/components/settings_tab/ui_settings.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/public/routes/config.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/server/config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/server/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/server/plugin.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability_ai_assistant_management/tsconfig.json (94%) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 79b7d17b7b4a2..9d79890a1d718 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -628,10 +628,10 @@ src/platform/packages/shared/kbn-esql-ast @elastic/kibana-esql src/platform/packages/shared/kbn-esql-utils @elastic/kibana-esql src/platform/packages/shared/kbn-esql-validation-autocomplete @elastic/kibana-esql src/platform/packages/shared/kbn-osquery-io-ts-types @elastic/security-asset-management +src/platform/plugins/shared/ai_assistant_management/selection @elastic/obs-ai-assistant src/platform/plugins/shared/esql @elastic/kibana-esql src/platform/plugins/shared/esql_datagrid @elastic/kibana-esql src/plugins/advanced_settings @elastic/appex-sharedux @elastic/kibana-management -src/plugins/ai_assistant_management/selection @elastic/obs-ai-assistant src/plugins/bfetch @elastic/appex-sharedux src/plugins/chart_expressions/common @elastic/kibana-visualizations src/plugins/chart_expressions/expression_gauge @elastic/kibana-visualizations @@ -802,8 +802,6 @@ x-pack/packages/observability/alerting_rule_utils @elastic/obs-ux-management-tea x-pack/packages/observability/alerting_test_data @elastic/obs-ux-management-team x-pack/packages/observability/get_padded_alert_time_range_util @elastic/obs-ux-management-team x-pack/packages/observability/logs_overview @elastic/obs-ux-logs-team -x-pack/packages/observability/observability_ai/observability_ai_common @elastic/obs-ai-assistant -x-pack/packages/observability/observability_ai/observability_ai_server @elastic/obs-ai-assistant x-pack/packages/observability/observability_utils/observability_utils_browser @elastic/observability-ui x-pack/packages/observability/observability_utils/observability_utils_common @elastic/observability-ui x-pack/packages/observability/observability_utils/observability_utils_server @elastic/observability-ui @@ -871,6 +869,7 @@ x-pack/platform/packages/shared/ml/random_sampler_utils @elastic/ml-ui x-pack/platform/packages/shared/ml/response_stream @elastic/ml-ui x-pack/platform/packages/shared/ml/runtime_field_utils @elastic/ml-ui x-pack/platform/packages/shared/ml/trained_models_utils @elastic/ml-ui +x-pack/platform/plugins/private/data_usage @elastic/obs-ai-assistant @elastic/security-solution x-pack/platform/plugins/private/data_visualizer @elastic/ml-ui x-pack/platform/plugins/private/transform @elastic/ml-ui x-pack/platform/plugins/private/translations @elastic/kibana-localization @@ -880,6 +879,7 @@ x-pack/platform/plugins/shared/aiops @elastic/ml-ui x-pack/platform/plugins/shared/entity_manager @elastic/obs-entities x-pack/platform/plugins/shared/inference @elastic/appex-ai-infra x-pack/platform/plugins/shared/ml @elastic/ml-ui +x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant @elastic/obs-ai-assistant x-pack/plugins/actions @elastic/response-ops x-pack/plugins/alerting @elastic/response-ops x-pack/plugins/asset_inventory @elastic/kibana-cloud-security-posture @@ -898,7 +898,6 @@ x-pack/plugins/cross_cluster_replication @elastic/kibana-management x-pack/plugins/custom_branding @elastic/appex-sharedux x-pack/plugins/dashboard_enhanced @elastic/kibana-presentation x-pack/plugins/data_quality @elastic/obs-ux-logs-team -x-pack/plugins/data_usage @elastic/obs-ai-assistant @elastic/security-solution x-pack/plugins/discover_enhanced @elastic/kibana-data-discovery x-pack/plugins/drilldowns/url_drilldown @elastic/appex-sharedux x-pack/plugins/ecs_data_quality_dashboard @elastic/security-threat-hunting-explore @@ -946,9 +945,6 @@ x-pack/plugins/observability_solution/logs_explorer @elastic/obs-ux-logs-team x-pack/plugins/observability_solution/logs_shared @elastic/obs-ux-logs-team x-pack/plugins/observability_solution/metrics_data_access @elastic/obs-ux-infra_services-team x-pack/plugins/observability_solution/observability @elastic/obs-ux-management-team -x-pack/plugins/observability_solution/observability_ai_assistant @elastic/obs-ai-assistant -x-pack/plugins/observability_solution/observability_ai_assistant_app @elastic/obs-ai-assistant -x-pack/plugins/observability_solution/observability_ai_assistant_management @elastic/obs-ai-assistant x-pack/plugins/observability_solution/observability_logs_explorer @elastic/obs-ux-logs-team x-pack/plugins/observability_solution/observability_onboarding @elastic/obs-ux-logs-team @elastic/obs-ux-onboarding-team x-pack/plugins/observability_solution/observability_onboarding/e2e @elastic/obs-ux-logs-team @elastic/obs-ux-onboarding-team @@ -997,6 +993,10 @@ x-pack/plugins/timelines @elastic/security-threat-hunting-investigations x-pack/plugins/triggers_actions_ui @elastic/response-ops x-pack/plugins/upgrade_assistant @elastic/kibana-management x-pack/plugins/watcher @elastic/kibana-management +x-pack/solutions/observability/packages/observability_ai/observability_ai_common @elastic/obs-ai-assistant +x-pack/solutions/observability/packages/observability_ai/observability_ai_server @elastic/obs-ai-assistant +x-pack/solutions/observability/plugins/observability_ai_assistant_app @elastic/obs-ai-assistant +x-pack/solutions/observability/plugins/observability_ai_assistant_management @elastic/obs-ai-assistant x-pack/solutions/observability/plugins/observability_solution/entities_data_access @elastic/obs-entities x-pack/solutions/observability/plugins/observability_solution/entity_manager_app @elastic/obs-entities x-pack/solutions/observability/plugins/streams @elastic/streams-program-team diff --git a/.github/paths-labeller.yml b/.github/paths-labeller.yml index dbbefda24c9ac..dc7f4a126fb25 100644 --- a/.github/paths-labeller.yml +++ b/.github/paths-labeller.yml @@ -24,7 +24,7 @@ - 'x-pack/plugins/observability_solution/synthetics/**/*.*' - 'x-pack/plugins/observability_solution/exploratory_view/**/*.*' - 'Team:Obs AI Assistant': - - 'x-pack/plugins/observability_solution/observability_ai_assistant/**/*.*' + - 'x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/**/*.*' - 'x-pack/plugins/observability_solution/observability_ai_assistant_*/**/*.*' - 'x-pack/test/observability_ai_assistant_api_integration/**/*.*' - 'x-pack/test/observability_ai_assistant_functional/**/*.*' diff --git a/.i18nrc.json b/.i18nrc.json index c11b622291838..5ef65fc47ccb8 100644 --- a/.i18nrc.json +++ b/.i18nrc.json @@ -1,7 +1,7 @@ { "paths": { "advancedSettings": "src/plugins/advanced_settings", - "aiAssistantManagementSelection": "src/plugins/ai_assistant_management/selection", + "aiAssistantManagementSelection": "src/platform/plugins/shared/ai_assistant_management/selection", "alerts": "packages/kbn-alerts/src", "alertsUIShared": "packages/kbn-alerts-ui-shared/src", "alertingTypes": "packages/kbn-alerting-types", diff --git a/docs/developer/plugin-list.asciidoc b/docs/developer/plugin-list.asciidoc index 3266b5e836b27..c00d47d5515ef 100644 --- a/docs/developer/plugin-list.asciidoc +++ b/docs/developer/plugin-list.asciidoc @@ -28,7 +28,7 @@ allowing users to configure their advanced settings, also known as uiSettings within the code. -|{kib-repo}blob/{branch}/src/plugins/ai_assistant_management/selection/README.md[aiAssistantManagementSelection] +|{kib-repo}blob/{branch}/src/platform/plugins/shared/ai_assistant_management/selection/README.md[aiAssistantManagementSelection] |The aiAssistantManagementSelection plugin manages the Ai Assistant management section. @@ -541,7 +541,7 @@ Plugin server-side only. Plugin has three main functions: |In order to make ongoing maintenance of log collection easy we want to introduce the concept of data set quality, where users can easily get an overview on the data sets they have with information such as integration, size, last activity, among others. -|{kib-repo}blob/{branch}/x-pack/plugins/data_usage/README.md[dataUsage] +|{kib-repo}blob/{branch}/x-pack/platform/plugins/private/data_usage/README.md[dataUsage] |Serverless only plugin for users to view data usage @@ -747,15 +747,15 @@ Elastic. |This plugin provides shared components and services for use across observability solutions, as well as the observability landing page UI. -|{kib-repo}blob/{branch}/x-pack/plugins/observability_solution/observability_ai_assistant/README.md[observabilityAIAssistant] +|{kib-repo}blob/{branch}/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/README.md[observabilityAIAssistant] |This document gives an overview of the features of the Observability AI Assistant at the time of writing, and how to use them. At a high level, the Observability AI Assistant offers contextual insights, and a chat functionality that we enrich with function calling, allowing the LLM to hook into the user's data. We also allow the LLM to store things it considers new information as embeddings into Elasticsearch, and query this knowledge base when it decides it needs more information, using ELSER. -|{kib-repo}blob/{branch}/x-pack/plugins/observability_solution/observability_ai_assistant_app/README.md[observabilityAIAssistantApp] +|{kib-repo}blob/{branch}/x-pack/solutions/observability/plugins/observability_ai_assistant_app/README.md[observabilityAIAssistantApp] |This app registers defaults functions. It exists as a separate plugin to avoid cyclical dependencies. -|{kib-repo}blob/{branch}/x-pack/plugins/observability_solution/observability_ai_assistant_management/README.md[observabilityAiAssistantManagement] +|{kib-repo}blob/{branch}/x-pack/solutions/observability/plugins/observability_ai_assistant_management/README.md[observabilityAiAssistantManagement] |The observabilityAiAssistantManagement plugin manages the Ai Assistant for Observability and Search management section. diff --git a/package.json b/package.json index 36727d19bc200..75d9857f6c789 100644 --- a/package.json +++ b/package.json @@ -160,7 +160,7 @@ "@kbn/advanced-settings-plugin": "link:src/plugins/advanced_settings", "@kbn/ai-assistant": "link:x-pack/packages/kbn-ai-assistant", "@kbn/ai-assistant-common": "link:x-pack/packages/kbn-ai-assistant-common", - "@kbn/ai-assistant-management-plugin": "link:src/plugins/ai_assistant_management/selection", + "@kbn/ai-assistant-management-plugin": "link:src/platform/plugins/shared/ai_assistant_management/selection", "@kbn/aiops-change-point-detection": "link:x-pack/platform/packages/private/ml/aiops_change_point_detection", "@kbn/aiops-common": "link:x-pack/platform/packages/shared/ml/aiops_common", "@kbn/aiops-components": "link:x-pack/platform/packages/private/ml/aiops_components", @@ -429,7 +429,7 @@ "@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-usage-plugin": "link:x-pack/plugins/data_usage", + "@kbn/data-usage-plugin": "link:x-pack/platform/plugins/private/data_usage", "@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", @@ -692,11 +692,11 @@ "@kbn/notifications-plugin": "link:x-pack/plugins/notifications", "@kbn/object-versioning": "link:packages/kbn-object-versioning", "@kbn/object-versioning-utils": "link:packages/kbn-object-versioning-utils", - "@kbn/observability-ai-assistant-app-plugin": "link:x-pack/plugins/observability_solution/observability_ai_assistant_app", - "@kbn/observability-ai-assistant-management-plugin": "link:x-pack/plugins/observability_solution/observability_ai_assistant_management", - "@kbn/observability-ai-assistant-plugin": "link:x-pack/plugins/observability_solution/observability_ai_assistant", - "@kbn/observability-ai-common": "link:x-pack/packages/observability/observability_ai/observability_ai_common", - "@kbn/observability-ai-server": "link:x-pack/packages/observability/observability_ai/observability_ai_server", + "@kbn/observability-ai-assistant-app-plugin": "link:x-pack/solutions/observability/plugins/observability_ai_assistant_app", + "@kbn/observability-ai-assistant-management-plugin": "link:x-pack/solutions/observability/plugins/observability_ai_assistant_management", + "@kbn/observability-ai-assistant-plugin": "link:x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant", + "@kbn/observability-ai-common": "link:x-pack/solutions/observability/packages/observability_ai/observability_ai_common", + "@kbn/observability-ai-server": "link:x-pack/solutions/observability/packages/observability_ai/observability_ai_server", "@kbn/observability-alert-details": "link:x-pack/packages/observability/alert_details", "@kbn/observability-alerting-rule-utils": "link:x-pack/packages/observability/alerting_rule_utils", "@kbn/observability-alerting-test-data": "link:x-pack/packages/observability/alerting_test_data", diff --git a/src/dev/storybook/aliases.ts b/src/dev/storybook/aliases.ts index 1d3ec990948a9..e32512e73fc8f 100644 --- a/src/dev/storybook/aliases.ts +++ b/src/dev/storybook/aliases.ts @@ -53,9 +53,9 @@ export const storybookAliases = { management: 'packages/kbn-management/storybook/config', observability: 'x-pack/plugins/observability_solution/observability/.storybook', observability_ai_assistant: - 'x-pack/plugins/observability_solution/observability_ai_assistant/.storybook', + 'x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/.storybook', observability_ai_assistant_app: - 'x-pack/plugins/observability_solution/observability_ai_assistant_app/.storybook', + 'x-pack/solutions/observability/plugins/observability_ai_assistant_app/.storybook', observability_inventory: 'x-pack/plugins/observability_solution/inventory/.storybook', observability_shared: 'x-pack/plugins/observability_solution/observability_shared/.storybook', observability_slo: 'x-pack/plugins/observability_solution/slo/.storybook', diff --git a/src/plugins/ai_assistant_management/selection/README.md b/src/platform/plugins/shared/ai_assistant_management/selection/README.md similarity index 100% rename from src/plugins/ai_assistant_management/selection/README.md rename to src/platform/plugins/shared/ai_assistant_management/selection/README.md diff --git a/src/plugins/ai_assistant_management/selection/common/ai_assistant_type.ts b/src/platform/plugins/shared/ai_assistant_management/selection/common/ai_assistant_type.ts similarity index 100% rename from src/plugins/ai_assistant_management/selection/common/ai_assistant_type.ts rename to src/platform/plugins/shared/ai_assistant_management/selection/common/ai_assistant_type.ts diff --git a/src/plugins/ai_assistant_management/selection/common/ui_setting_keys.ts b/src/platform/plugins/shared/ai_assistant_management/selection/common/ui_setting_keys.ts similarity index 100% rename from src/plugins/ai_assistant_management/selection/common/ui_setting_keys.ts rename to src/platform/plugins/shared/ai_assistant_management/selection/common/ui_setting_keys.ts diff --git a/src/plugins/ai_assistant_management/selection/jest.config.js b/src/platform/plugins/shared/ai_assistant_management/selection/jest.config.js similarity index 63% rename from src/plugins/ai_assistant_management/selection/jest.config.js rename to src/platform/plugins/shared/ai_assistant_management/selection/jest.config.js index 9106de820a29d..7082a96250d33 100644 --- a/src/plugins/ai_assistant_management/selection/jest.config.js +++ b/src/platform/plugins/shared/ai_assistant_management/selection/jest.config.js @@ -9,12 +9,12 @@ module.exports = { preset: '@kbn/test', - rootDir: '../../../..', - roots: ['/src/plugins/ai_assistant_management/selection'], + rootDir: '../../../../../..', + roots: ['/src/platform/plugins/shared/ai_assistant_management/selection'], coverageDirectory: - '/target/kibana-coverage/jest/src/plugins/ai_assistant_management/selection', + '/target/kibana-coverage/jest/src/platform/plugins/shared/ai_assistant_management/selection', coverageReporters: ['text', 'html'], collectCoverageFrom: [ - '/src/plugins/ai_assistant_management/selection/{common,public,server}/**/*.{ts,tsx}', + '/src/platform/plugins/shared/ai_assistant_management/selection/{common,public,server}/**/*.{ts,tsx}', ], }; diff --git a/src/plugins/ai_assistant_management/selection/kibana.jsonc b/src/platform/plugins/shared/ai_assistant_management/selection/kibana.jsonc similarity index 100% rename from src/plugins/ai_assistant_management/selection/kibana.jsonc rename to src/platform/plugins/shared/ai_assistant_management/selection/kibana.jsonc diff --git a/src/plugins/ai_assistant_management/selection/public/app_context.tsx b/src/platform/plugins/shared/ai_assistant_management/selection/public/app_context.tsx similarity index 100% rename from src/plugins/ai_assistant_management/selection/public/app_context.tsx rename to src/platform/plugins/shared/ai_assistant_management/selection/public/app_context.tsx diff --git a/src/plugins/ai_assistant_management/selection/public/index.ts b/src/platform/plugins/shared/ai_assistant_management/selection/public/index.ts similarity index 100% rename from src/plugins/ai_assistant_management/selection/public/index.ts rename to src/platform/plugins/shared/ai_assistant_management/selection/public/index.ts diff --git a/src/plugins/ai_assistant_management/selection/public/management_section/mount_section.tsx b/src/platform/plugins/shared/ai_assistant_management/selection/public/management_section/mount_section.tsx similarity index 100% rename from src/plugins/ai_assistant_management/selection/public/management_section/mount_section.tsx rename to src/platform/plugins/shared/ai_assistant_management/selection/public/management_section/mount_section.tsx diff --git a/src/plugins/ai_assistant_management/selection/public/plugin.ts b/src/platform/plugins/shared/ai_assistant_management/selection/public/plugin.ts similarity index 100% rename from src/plugins/ai_assistant_management/selection/public/plugin.ts rename to src/platform/plugins/shared/ai_assistant_management/selection/public/plugin.ts diff --git a/src/plugins/ai_assistant_management/selection/public/routes/components/ai_assistant_selection_page.test.tsx b/src/platform/plugins/shared/ai_assistant_management/selection/public/routes/components/ai_assistant_selection_page.test.tsx similarity index 100% rename from src/plugins/ai_assistant_management/selection/public/routes/components/ai_assistant_selection_page.test.tsx rename to src/platform/plugins/shared/ai_assistant_management/selection/public/routes/components/ai_assistant_selection_page.test.tsx diff --git a/src/plugins/ai_assistant_management/selection/public/routes/components/ai_assistant_selection_page.tsx b/src/platform/plugins/shared/ai_assistant_management/selection/public/routes/components/ai_assistant_selection_page.tsx similarity index 100% rename from src/plugins/ai_assistant_management/selection/public/routes/components/ai_assistant_selection_page.tsx rename to src/platform/plugins/shared/ai_assistant_management/selection/public/routes/components/ai_assistant_selection_page.tsx diff --git a/src/plugins/ai_assistant_management/selection/public/routes/components/redirect_to_home_if_unauthorized.tsx b/src/platform/plugins/shared/ai_assistant_management/selection/public/routes/components/redirect_to_home_if_unauthorized.tsx similarity index 100% rename from src/plugins/ai_assistant_management/selection/public/routes/components/redirect_to_home_if_unauthorized.tsx rename to src/platform/plugins/shared/ai_assistant_management/selection/public/routes/components/redirect_to_home_if_unauthorized.tsx diff --git a/src/plugins/ai_assistant_management/selection/public/routes/config.tsx b/src/platform/plugins/shared/ai_assistant_management/selection/public/routes/config.tsx similarity index 100% rename from src/plugins/ai_assistant_management/selection/public/routes/config.tsx rename to src/platform/plugins/shared/ai_assistant_management/selection/public/routes/config.tsx diff --git a/src/plugins/ai_assistant_management/selection/public/types.ts b/src/platform/plugins/shared/ai_assistant_management/selection/public/types.ts similarity index 100% rename from src/plugins/ai_assistant_management/selection/public/types.ts rename to src/platform/plugins/shared/ai_assistant_management/selection/public/types.ts diff --git a/src/plugins/ai_assistant_management/selection/server/config.ts b/src/platform/plugins/shared/ai_assistant_management/selection/server/config.ts similarity index 100% rename from src/plugins/ai_assistant_management/selection/server/config.ts rename to src/platform/plugins/shared/ai_assistant_management/selection/server/config.ts diff --git a/src/plugins/ai_assistant_management/selection/server/index.ts b/src/platform/plugins/shared/ai_assistant_management/selection/server/index.ts similarity index 100% rename from src/plugins/ai_assistant_management/selection/server/index.ts rename to src/platform/plugins/shared/ai_assistant_management/selection/server/index.ts diff --git a/src/plugins/ai_assistant_management/selection/server/plugin.ts b/src/platform/plugins/shared/ai_assistant_management/selection/server/plugin.ts similarity index 100% rename from src/plugins/ai_assistant_management/selection/server/plugin.ts rename to src/platform/plugins/shared/ai_assistant_management/selection/server/plugin.ts diff --git a/src/plugins/ai_assistant_management/selection/server/types.ts b/src/platform/plugins/shared/ai_assistant_management/selection/server/types.ts similarity index 100% rename from src/plugins/ai_assistant_management/selection/server/types.ts rename to src/platform/plugins/shared/ai_assistant_management/selection/server/types.ts diff --git a/src/plugins/ai_assistant_management/selection/tsconfig.json b/src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.json similarity index 91% rename from src/plugins/ai_assistant_management/selection/tsconfig.json rename to src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.json index 6bd8efe0e80b8..0fc6cec454817 100644 --- a/src/plugins/ai_assistant_management/selection/tsconfig.json +++ b/src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../../tsconfig.base.json", + "extends": "../../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types" }, diff --git a/tsconfig.base.json b/tsconfig.base.json index 005dae5b423c4..5629ebb4a8513 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -18,8 +18,8 @@ "@kbn/ai-assistant/*": ["x-pack/packages/kbn-ai-assistant/*"], "@kbn/ai-assistant-common": ["x-pack/packages/kbn-ai-assistant-common"], "@kbn/ai-assistant-common/*": ["x-pack/packages/kbn-ai-assistant-common/*"], - "@kbn/ai-assistant-management-plugin": ["src/plugins/ai_assistant_management/selection"], - "@kbn/ai-assistant-management-plugin/*": ["src/plugins/ai_assistant_management/selection/*"], + "@kbn/ai-assistant-management-plugin": ["src/platform/plugins/shared/ai_assistant_management/selection"], + "@kbn/ai-assistant-management-plugin/*": ["src/platform/plugins/shared/ai_assistant_management/selection/*"], "@kbn/aiops-change-point-detection": ["x-pack/platform/packages/private/ml/aiops_change_point_detection"], "@kbn/aiops-change-point-detection/*": ["x-pack/platform/packages/private/ml/aiops_change_point_detection/*"], "@kbn/aiops-common": ["x-pack/platform/packages/shared/ml/aiops_common"], @@ -712,8 +712,8 @@ "@kbn/data-service/*": ["packages/kbn-data-service/*"], "@kbn/data-stream-adapter": ["packages/kbn-data-stream-adapter"], "@kbn/data-stream-adapter/*": ["packages/kbn-data-stream-adapter/*"], - "@kbn/data-usage-plugin": ["x-pack/plugins/data_usage"], - "@kbn/data-usage-plugin/*": ["x-pack/plugins/data_usage/*"], + "@kbn/data-usage-plugin": ["x-pack/platform/plugins/private/data_usage"], + "@kbn/data-usage-plugin/*": ["x-pack/platform/plugins/private/data_usage/*"], "@kbn/data-view-editor-plugin": ["src/plugins/data_view_editor"], "@kbn/data-view-editor-plugin/*": ["src/plugins/data_view_editor/*"], "@kbn/data-view-field-editor-example-plugin": ["examples/data_view_field_editor_example"], @@ -1316,16 +1316,16 @@ "@kbn/object-versioning/*": ["packages/kbn-object-versioning/*"], "@kbn/object-versioning-utils": ["packages/kbn-object-versioning-utils"], "@kbn/object-versioning-utils/*": ["packages/kbn-object-versioning-utils/*"], - "@kbn/observability-ai-assistant-app-plugin": ["x-pack/plugins/observability_solution/observability_ai_assistant_app"], - "@kbn/observability-ai-assistant-app-plugin/*": ["x-pack/plugins/observability_solution/observability_ai_assistant_app/*"], - "@kbn/observability-ai-assistant-management-plugin": ["x-pack/plugins/observability_solution/observability_ai_assistant_management"], - "@kbn/observability-ai-assistant-management-plugin/*": ["x-pack/plugins/observability_solution/observability_ai_assistant_management/*"], - "@kbn/observability-ai-assistant-plugin": ["x-pack/plugins/observability_solution/observability_ai_assistant"], - "@kbn/observability-ai-assistant-plugin/*": ["x-pack/plugins/observability_solution/observability_ai_assistant/*"], - "@kbn/observability-ai-common": ["x-pack/packages/observability/observability_ai/observability_ai_common"], - "@kbn/observability-ai-common/*": ["x-pack/packages/observability/observability_ai/observability_ai_common/*"], - "@kbn/observability-ai-server": ["x-pack/packages/observability/observability_ai/observability_ai_server"], - "@kbn/observability-ai-server/*": ["x-pack/packages/observability/observability_ai/observability_ai_server/*"], + "@kbn/observability-ai-assistant-app-plugin": ["x-pack/solutions/observability/plugins/observability_ai_assistant_app"], + "@kbn/observability-ai-assistant-app-plugin/*": ["x-pack/solutions/observability/plugins/observability_ai_assistant_app/*"], + "@kbn/observability-ai-assistant-management-plugin": ["x-pack/solutions/observability/plugins/observability_ai_assistant_management"], + "@kbn/observability-ai-assistant-management-plugin/*": ["x-pack/solutions/observability/plugins/observability_ai_assistant_management/*"], + "@kbn/observability-ai-assistant-plugin": ["x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant"], + "@kbn/observability-ai-assistant-plugin/*": ["x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/*"], + "@kbn/observability-ai-common": ["x-pack/solutions/observability/packages/observability_ai/observability_ai_common"], + "@kbn/observability-ai-common/*": ["x-pack/solutions/observability/packages/observability_ai/observability_ai_common/*"], + "@kbn/observability-ai-server": ["x-pack/solutions/observability/packages/observability_ai/observability_ai_server"], + "@kbn/observability-ai-server/*": ["x-pack/solutions/observability/packages/observability_ai/observability_ai_server/*"], "@kbn/observability-alert-details": ["x-pack/packages/observability/alert_details"], "@kbn/observability-alert-details/*": ["x-pack/packages/observability/alert_details/*"], "@kbn/observability-alerting-rule-utils": ["x-pack/packages/observability/alerting_rule_utils"], diff --git a/x-pack/.i18nrc.json b/x-pack/.i18nrc.json index c6eab5697fd29..9242957fd923c 100644 --- a/x-pack/.i18nrc.json +++ b/x-pack/.i18nrc.json @@ -32,7 +32,7 @@ "xpack.dashboard": "plugins/dashboard_enhanced", "xpack.dataQuality": "plugins/data_quality", "xpack.datasetQuality": "plugins/observability_solution/dataset_quality", - "xpack.dataUsage": "plugins/data_usage", + "xpack.dataUsage": "platform/plugins/private/data_usage", "xpack.discover": "plugins/discover_enhanced", "xpack.crossClusterReplication": "plugins/cross_cluster_replication", "xpack.elasticAssistant": "packages/kbn-elastic-assistant", @@ -102,10 +102,10 @@ ], "xpack.observability": "plugins/observability_solution/observability", "xpack.observabilityAiAssistant": [ - "plugins/observability_solution/observability_ai_assistant", - "plugins/observability_solution/observability_ai_assistant_app" + "platform/plugins/shared/observability_solution/observability_ai_assistant", + "solutions/observability/plugins/observability_ai_assistant_app" ], - "xpack.observabilityAiAssistantManagement": "plugins/observability_solution/observability_ai_assistant_management", + "xpack.observabilityAiAssistantManagement": "solutions/observability/plugins/observability_ai_assistant_management", "xpack.observabilityLogsExplorer": "plugins/observability_solution/observability_logs_explorer", "xpack.observability_onboarding": "plugins/observability_solution/observability_onboarding", "xpack.observabilityShared": "plugins/observability_solution/observability_shared", diff --git a/x-pack/plugins/data_usage/README.md b/x-pack/platform/plugins/private/data_usage/README.md similarity index 100% rename from x-pack/plugins/data_usage/README.md rename to x-pack/platform/plugins/private/data_usage/README.md diff --git a/x-pack/plugins/data_usage/common/constants.ts b/x-pack/platform/plugins/private/data_usage/common/constants.ts similarity index 100% rename from x-pack/plugins/data_usage/common/constants.ts rename to x-pack/platform/plugins/private/data_usage/common/constants.ts diff --git a/x-pack/plugins/data_usage/common/experimental_features.ts b/x-pack/platform/plugins/private/data_usage/common/experimental_features.ts similarity index 100% rename from x-pack/plugins/data_usage/common/experimental_features.ts rename to x-pack/platform/plugins/private/data_usage/common/experimental_features.ts diff --git a/x-pack/plugins/data_usage/common/index.ts b/x-pack/platform/plugins/private/data_usage/common/index.ts similarity index 100% rename from x-pack/plugins/data_usage/common/index.ts rename to x-pack/platform/plugins/private/data_usage/common/index.ts diff --git a/x-pack/plugins/data_usage/common/query_client.tsx b/x-pack/platform/plugins/private/data_usage/common/query_client.tsx similarity index 100% rename from x-pack/plugins/data_usage/common/query_client.tsx rename to x-pack/platform/plugins/private/data_usage/common/query_client.tsx diff --git a/x-pack/plugins/data_usage/common/rest_types/data_streams.ts b/x-pack/platform/plugins/private/data_usage/common/rest_types/data_streams.ts similarity index 100% rename from x-pack/plugins/data_usage/common/rest_types/data_streams.ts rename to x-pack/platform/plugins/private/data_usage/common/rest_types/data_streams.ts diff --git a/x-pack/plugins/data_usage/common/rest_types/index.ts b/x-pack/platform/plugins/private/data_usage/common/rest_types/index.ts similarity index 100% rename from x-pack/plugins/data_usage/common/rest_types/index.ts rename to x-pack/platform/plugins/private/data_usage/common/rest_types/index.ts diff --git a/x-pack/plugins/data_usage/common/rest_types/usage_metrics.test.ts b/x-pack/platform/plugins/private/data_usage/common/rest_types/usage_metrics.test.ts similarity index 100% rename from x-pack/plugins/data_usage/common/rest_types/usage_metrics.test.ts rename to x-pack/platform/plugins/private/data_usage/common/rest_types/usage_metrics.test.ts diff --git a/x-pack/plugins/data_usage/common/rest_types/usage_metrics.ts b/x-pack/platform/plugins/private/data_usage/common/rest_types/usage_metrics.ts similarity index 100% rename from x-pack/plugins/data_usage/common/rest_types/usage_metrics.ts rename to x-pack/platform/plugins/private/data_usage/common/rest_types/usage_metrics.ts diff --git a/x-pack/plugins/data_usage/common/test_utils/index.ts b/x-pack/platform/plugins/private/data_usage/common/test_utils/index.ts similarity index 100% rename from x-pack/plugins/data_usage/common/test_utils/index.ts rename to x-pack/platform/plugins/private/data_usage/common/test_utils/index.ts diff --git a/x-pack/plugins/data_usage/common/test_utils/test_provider.tsx b/x-pack/platform/plugins/private/data_usage/common/test_utils/test_provider.tsx similarity index 100% rename from x-pack/plugins/data_usage/common/test_utils/test_provider.tsx rename to x-pack/platform/plugins/private/data_usage/common/test_utils/test_provider.tsx diff --git a/x-pack/plugins/data_usage/common/test_utils/test_query_client_options.ts b/x-pack/platform/plugins/private/data_usage/common/test_utils/test_query_client_options.ts similarity index 100% rename from x-pack/plugins/data_usage/common/test_utils/test_query_client_options.ts rename to x-pack/platform/plugins/private/data_usage/common/test_utils/test_query_client_options.ts diff --git a/x-pack/plugins/data_usage/common/utils.test.ts b/x-pack/platform/plugins/private/data_usage/common/utils.test.ts similarity index 100% rename from x-pack/plugins/data_usage/common/utils.test.ts rename to x-pack/platform/plugins/private/data_usage/common/utils.test.ts diff --git a/x-pack/plugins/data_usage/common/utils.ts b/x-pack/platform/plugins/private/data_usage/common/utils.ts similarity index 100% rename from x-pack/plugins/data_usage/common/utils.ts rename to x-pack/platform/plugins/private/data_usage/common/utils.ts diff --git a/x-pack/plugins/data_usage/jest.config.js b/x-pack/platform/plugins/private/data_usage/jest.config.js similarity index 67% rename from x-pack/plugins/data_usage/jest.config.js rename to x-pack/platform/plugins/private/data_usage/jest.config.js index f73ddf7ec31ee..cc8bf9953aded 100644 --- a/x-pack/plugins/data_usage/jest.config.js +++ b/x-pack/platform/plugins/private/data_usage/jest.config.js @@ -7,9 +7,10 @@ module.exports = { preset: '@kbn/test', - rootDir: '../../..', - roots: ['/x-pack/plugins/data_usage'], - coverageDirectory: '/target/kibana-coverage/jest/x-pack/plugins/data_usage', + rootDir: '../../../../..', + roots: ['/x-pack/platform/plugins/private/data_usage'], + coverageDirectory: + '/target/kibana-coverage/jest/x-pack/platform/plugins/private/data_usage', coverageReporters: ['text', 'html'], collectCoverageFrom: ['/x-pack/plugins/datas_usage/{common,public}/**/*.{ts,tsx}'], }; diff --git a/x-pack/plugins/data_usage/kibana.jsonc b/x-pack/platform/plugins/private/data_usage/kibana.jsonc similarity index 100% rename from x-pack/plugins/data_usage/kibana.jsonc rename to x-pack/platform/plugins/private/data_usage/kibana.jsonc diff --git a/x-pack/plugins/data_usage/public/app/components/assets/illustration_product_no_results_magnifying_glass.svg b/x-pack/platform/plugins/private/data_usage/public/app/components/assets/illustration_product_no_results_magnifying_glass.svg similarity index 100% rename from x-pack/plugins/data_usage/public/app/components/assets/illustration_product_no_results_magnifying_glass.svg rename to x-pack/platform/plugins/private/data_usage/public/app/components/assets/illustration_product_no_results_magnifying_glass.svg diff --git a/x-pack/plugins/data_usage/public/app/components/chart_panel.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/chart_panel.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/app/components/chart_panel.tsx rename to x-pack/platform/plugins/private/data_usage/public/app/components/chart_panel.tsx diff --git a/x-pack/plugins/data_usage/public/app/components/charts.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/charts.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/app/components/charts.tsx rename to x-pack/platform/plugins/private/data_usage/public/app/components/charts.tsx diff --git a/x-pack/plugins/data_usage/public/app/components/charts_loading.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/charts_loading.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/app/components/charts_loading.tsx rename to x-pack/platform/plugins/private/data_usage/public/app/components/charts_loading.tsx diff --git a/x-pack/plugins/data_usage/public/app/components/data_usage_metrics.test.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/data_usage_metrics.test.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/app/components/data_usage_metrics.test.tsx rename to x-pack/platform/plugins/private/data_usage/public/app/components/data_usage_metrics.test.tsx diff --git a/x-pack/plugins/data_usage/public/app/components/data_usage_metrics.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/data_usage_metrics.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/app/components/data_usage_metrics.tsx rename to x-pack/platform/plugins/private/data_usage/public/app/components/data_usage_metrics.tsx diff --git a/x-pack/plugins/data_usage/public/app/components/dataset_quality_link.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/dataset_quality_link.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/app/components/dataset_quality_link.tsx rename to x-pack/platform/plugins/private/data_usage/public/app/components/dataset_quality_link.tsx diff --git a/x-pack/plugins/data_usage/public/app/components/filters/charts_filter.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/filters/charts_filter.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/app/components/filters/charts_filter.tsx rename to x-pack/platform/plugins/private/data_usage/public/app/components/filters/charts_filter.tsx diff --git a/x-pack/plugins/data_usage/public/app/components/filters/charts_filter_popover.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/filters/charts_filter_popover.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/app/components/filters/charts_filter_popover.tsx rename to x-pack/platform/plugins/private/data_usage/public/app/components/filters/charts_filter_popover.tsx diff --git a/x-pack/plugins/data_usage/public/app/components/filters/charts_filters.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/filters/charts_filters.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/app/components/filters/charts_filters.tsx rename to x-pack/platform/plugins/private/data_usage/public/app/components/filters/charts_filters.tsx diff --git a/x-pack/plugins/data_usage/public/app/components/filters/date_picker.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/filters/date_picker.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/app/components/filters/date_picker.tsx rename to x-pack/platform/plugins/private/data_usage/public/app/components/filters/date_picker.tsx diff --git a/x-pack/plugins/data_usage/public/app/components/filters/toggle_all_button.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/filters/toggle_all_button.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/app/components/filters/toggle_all_button.tsx rename to x-pack/platform/plugins/private/data_usage/public/app/components/filters/toggle_all_button.tsx diff --git a/x-pack/plugins/data_usage/public/app/components/legend_action.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/legend_action.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/app/components/legend_action.tsx rename to x-pack/platform/plugins/private/data_usage/public/app/components/legend_action.tsx diff --git a/x-pack/plugins/data_usage/public/app/components/legend_action_item.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/legend_action_item.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/app/components/legend_action_item.tsx rename to x-pack/platform/plugins/private/data_usage/public/app/components/legend_action_item.tsx diff --git a/x-pack/plugins/data_usage/public/app/components/no_data_callout.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/no_data_callout.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/app/components/no_data_callout.tsx rename to x-pack/platform/plugins/private/data_usage/public/app/components/no_data_callout.tsx diff --git a/x-pack/plugins/data_usage/public/app/components/page.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/page.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/app/components/page.tsx rename to x-pack/platform/plugins/private/data_usage/public/app/components/page.tsx diff --git a/x-pack/plugins/data_usage/public/app/data_usage_metrics_page.tsx b/x-pack/platform/plugins/private/data_usage/public/app/data_usage_metrics_page.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/app/data_usage_metrics_page.tsx rename to x-pack/platform/plugins/private/data_usage/public/app/data_usage_metrics_page.tsx diff --git a/x-pack/plugins/data_usage/public/app/hooks/index.tsx b/x-pack/platform/plugins/private/data_usage/public/app/hooks/index.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/app/hooks/index.tsx rename to x-pack/platform/plugins/private/data_usage/public/app/hooks/index.tsx diff --git a/x-pack/plugins/data_usage/public/app/hooks/use_charts_filter.tsx b/x-pack/platform/plugins/private/data_usage/public/app/hooks/use_charts_filter.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/app/hooks/use_charts_filter.tsx rename to x-pack/platform/plugins/private/data_usage/public/app/hooks/use_charts_filter.tsx diff --git a/x-pack/plugins/data_usage/public/app/hooks/use_charts_url_params.test.tsx b/x-pack/platform/plugins/private/data_usage/public/app/hooks/use_charts_url_params.test.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/app/hooks/use_charts_url_params.test.tsx rename to x-pack/platform/plugins/private/data_usage/public/app/hooks/use_charts_url_params.test.tsx diff --git a/x-pack/plugins/data_usage/public/app/hooks/use_charts_url_params.tsx b/x-pack/platform/plugins/private/data_usage/public/app/hooks/use_charts_url_params.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/app/hooks/use_charts_url_params.tsx rename to x-pack/platform/plugins/private/data_usage/public/app/hooks/use_charts_url_params.tsx diff --git a/x-pack/plugins/data_usage/public/app/hooks/use_date_picker.tsx b/x-pack/platform/plugins/private/data_usage/public/app/hooks/use_date_picker.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/app/hooks/use_date_picker.tsx rename to x-pack/platform/plugins/private/data_usage/public/app/hooks/use_date_picker.tsx diff --git a/x-pack/plugins/data_usage/public/application.tsx b/x-pack/platform/plugins/private/data_usage/public/application.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/application.tsx rename to x-pack/platform/plugins/private/data_usage/public/application.tsx diff --git a/x-pack/plugins/data_usage/public/hooks/use_get_data_streams.test.tsx b/x-pack/platform/plugins/private/data_usage/public/hooks/use_get_data_streams.test.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/hooks/use_get_data_streams.test.tsx rename to x-pack/platform/plugins/private/data_usage/public/hooks/use_get_data_streams.test.tsx diff --git a/x-pack/plugins/data_usage/public/hooks/use_get_data_streams.ts b/x-pack/platform/plugins/private/data_usage/public/hooks/use_get_data_streams.ts similarity index 100% rename from x-pack/plugins/data_usage/public/hooks/use_get_data_streams.ts rename to x-pack/platform/plugins/private/data_usage/public/hooks/use_get_data_streams.ts diff --git a/x-pack/plugins/data_usage/public/hooks/use_get_usage_metrics.test.tsx b/x-pack/platform/plugins/private/data_usage/public/hooks/use_get_usage_metrics.test.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/hooks/use_get_usage_metrics.test.tsx rename to x-pack/platform/plugins/private/data_usage/public/hooks/use_get_usage_metrics.test.tsx diff --git a/x-pack/plugins/data_usage/public/hooks/use_get_usage_metrics.ts b/x-pack/platform/plugins/private/data_usage/public/hooks/use_get_usage_metrics.ts similarity index 100% rename from x-pack/plugins/data_usage/public/hooks/use_get_usage_metrics.ts rename to x-pack/platform/plugins/private/data_usage/public/hooks/use_get_usage_metrics.ts diff --git a/x-pack/plugins/data_usage/public/hooks/use_test_id_generator.ts b/x-pack/platform/plugins/private/data_usage/public/hooks/use_test_id_generator.ts similarity index 100% rename from x-pack/plugins/data_usage/public/hooks/use_test_id_generator.ts rename to x-pack/platform/plugins/private/data_usage/public/hooks/use_test_id_generator.ts diff --git a/x-pack/plugins/data_usage/public/hooks/use_url_params.ts b/x-pack/platform/plugins/private/data_usage/public/hooks/use_url_params.ts similarity index 100% rename from x-pack/plugins/data_usage/public/hooks/use_url_params.ts rename to x-pack/platform/plugins/private/data_usage/public/hooks/use_url_params.ts diff --git a/x-pack/plugins/data_usage/public/index.ts b/x-pack/platform/plugins/private/data_usage/public/index.ts similarity index 100% rename from x-pack/plugins/data_usage/public/index.ts rename to x-pack/platform/plugins/private/data_usage/public/index.ts diff --git a/x-pack/plugins/data_usage/public/plugin.ts b/x-pack/platform/plugins/private/data_usage/public/plugin.ts similarity index 100% rename from x-pack/plugins/data_usage/public/plugin.ts rename to x-pack/platform/plugins/private/data_usage/public/plugin.ts diff --git a/x-pack/plugins/data_usage/public/translations.tsx b/x-pack/platform/plugins/private/data_usage/public/translations.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/translations.tsx rename to x-pack/platform/plugins/private/data_usage/public/translations.tsx diff --git a/x-pack/plugins/data_usage/public/types.ts b/x-pack/platform/plugins/private/data_usage/public/types.ts similarity index 100% rename from x-pack/plugins/data_usage/public/types.ts rename to x-pack/platform/plugins/private/data_usage/public/types.ts diff --git a/x-pack/plugins/data_usage/public/utils/format_bytes.test.ts b/x-pack/platform/plugins/private/data_usage/public/utils/format_bytes.test.ts similarity index 100% rename from x-pack/plugins/data_usage/public/utils/format_bytes.test.ts rename to x-pack/platform/plugins/private/data_usage/public/utils/format_bytes.test.ts diff --git a/x-pack/plugins/data_usage/public/utils/format_bytes.ts b/x-pack/platform/plugins/private/data_usage/public/utils/format_bytes.ts similarity index 100% rename from x-pack/plugins/data_usage/public/utils/format_bytes.ts rename to x-pack/platform/plugins/private/data_usage/public/utils/format_bytes.ts diff --git a/x-pack/plugins/data_usage/public/utils/use_breadcrumbs.tsx b/x-pack/platform/plugins/private/data_usage/public/utils/use_breadcrumbs.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/utils/use_breadcrumbs.tsx rename to x-pack/platform/plugins/private/data_usage/public/utils/use_breadcrumbs.tsx diff --git a/x-pack/plugins/data_usage/public/utils/use_kibana.tsx b/x-pack/platform/plugins/private/data_usage/public/utils/use_kibana.tsx similarity index 100% rename from x-pack/plugins/data_usage/public/utils/use_kibana.tsx rename to x-pack/platform/plugins/private/data_usage/public/utils/use_kibana.tsx diff --git a/x-pack/plugins/data_usage/server/common/errors.ts b/x-pack/platform/plugins/private/data_usage/server/common/errors.ts similarity index 100% rename from x-pack/plugins/data_usage/server/common/errors.ts rename to x-pack/platform/plugins/private/data_usage/server/common/errors.ts diff --git a/x-pack/plugins/data_usage/server/config.ts b/x-pack/platform/plugins/private/data_usage/server/config.ts similarity index 100% rename from x-pack/plugins/data_usage/server/config.ts rename to x-pack/platform/plugins/private/data_usage/server/config.ts diff --git a/x-pack/plugins/data_usage/server/errors.ts b/x-pack/platform/plugins/private/data_usage/server/errors.ts similarity index 100% rename from x-pack/plugins/data_usage/server/errors.ts rename to x-pack/platform/plugins/private/data_usage/server/errors.ts diff --git a/x-pack/plugins/data_usage/server/index.ts b/x-pack/platform/plugins/private/data_usage/server/index.ts similarity index 100% rename from x-pack/plugins/data_usage/server/index.ts rename to x-pack/platform/plugins/private/data_usage/server/index.ts diff --git a/x-pack/plugins/data_usage/server/mocks/index.ts b/x-pack/platform/plugins/private/data_usage/server/mocks/index.ts similarity index 100% rename from x-pack/plugins/data_usage/server/mocks/index.ts rename to x-pack/platform/plugins/private/data_usage/server/mocks/index.ts diff --git a/x-pack/plugins/data_usage/server/plugin.ts b/x-pack/platform/plugins/private/data_usage/server/plugin.ts similarity index 100% rename from x-pack/plugins/data_usage/server/plugin.ts rename to x-pack/platform/plugins/private/data_usage/server/plugin.ts diff --git a/x-pack/plugins/data_usage/server/routes/error_handler.ts b/x-pack/platform/plugins/private/data_usage/server/routes/error_handler.ts similarity index 100% rename from x-pack/plugins/data_usage/server/routes/error_handler.ts rename to x-pack/platform/plugins/private/data_usage/server/routes/error_handler.ts diff --git a/x-pack/plugins/data_usage/server/routes/index.tsx b/x-pack/platform/plugins/private/data_usage/server/routes/index.tsx similarity index 100% rename from x-pack/plugins/data_usage/server/routes/index.tsx rename to x-pack/platform/plugins/private/data_usage/server/routes/index.tsx diff --git a/x-pack/plugins/data_usage/server/routes/internal/data_streams.test.ts b/x-pack/platform/plugins/private/data_usage/server/routes/internal/data_streams.test.ts similarity index 100% rename from x-pack/plugins/data_usage/server/routes/internal/data_streams.test.ts rename to x-pack/platform/plugins/private/data_usage/server/routes/internal/data_streams.test.ts diff --git a/x-pack/plugins/data_usage/server/routes/internal/data_streams.ts b/x-pack/platform/plugins/private/data_usage/server/routes/internal/data_streams.ts similarity index 100% rename from x-pack/plugins/data_usage/server/routes/internal/data_streams.ts rename to x-pack/platform/plugins/private/data_usage/server/routes/internal/data_streams.ts diff --git a/x-pack/plugins/data_usage/server/routes/internal/data_streams_handler.ts b/x-pack/platform/plugins/private/data_usage/server/routes/internal/data_streams_handler.ts similarity index 100% rename from x-pack/plugins/data_usage/server/routes/internal/data_streams_handler.ts rename to x-pack/platform/plugins/private/data_usage/server/routes/internal/data_streams_handler.ts diff --git a/x-pack/plugins/data_usage/server/routes/internal/index.tsx b/x-pack/platform/plugins/private/data_usage/server/routes/internal/index.tsx similarity index 100% rename from x-pack/plugins/data_usage/server/routes/internal/index.tsx rename to x-pack/platform/plugins/private/data_usage/server/routes/internal/index.tsx diff --git a/x-pack/plugins/data_usage/server/routes/internal/usage_metrics.test.ts b/x-pack/platform/plugins/private/data_usage/server/routes/internal/usage_metrics.test.ts similarity index 100% rename from x-pack/plugins/data_usage/server/routes/internal/usage_metrics.test.ts rename to x-pack/platform/plugins/private/data_usage/server/routes/internal/usage_metrics.test.ts diff --git a/x-pack/plugins/data_usage/server/routes/internal/usage_metrics.ts b/x-pack/platform/plugins/private/data_usage/server/routes/internal/usage_metrics.ts similarity index 100% rename from x-pack/plugins/data_usage/server/routes/internal/usage_metrics.ts rename to x-pack/platform/plugins/private/data_usage/server/routes/internal/usage_metrics.ts diff --git a/x-pack/plugins/data_usage/server/routes/internal/usage_metrics_handler.ts b/x-pack/platform/plugins/private/data_usage/server/routes/internal/usage_metrics_handler.ts similarity index 100% rename from x-pack/plugins/data_usage/server/routes/internal/usage_metrics_handler.ts rename to x-pack/platform/plugins/private/data_usage/server/routes/internal/usage_metrics_handler.ts diff --git a/x-pack/plugins/data_usage/server/services/app_context.ts b/x-pack/platform/plugins/private/data_usage/server/services/app_context.ts similarity index 100% rename from x-pack/plugins/data_usage/server/services/app_context.ts rename to x-pack/platform/plugins/private/data_usage/server/services/app_context.ts diff --git a/x-pack/plugins/data_usage/server/services/autoops_api.ts b/x-pack/platform/plugins/private/data_usage/server/services/autoops_api.ts similarity index 100% rename from x-pack/plugins/data_usage/server/services/autoops_api.ts rename to x-pack/platform/plugins/private/data_usage/server/services/autoops_api.ts diff --git a/x-pack/plugins/data_usage/server/services/index.ts b/x-pack/platform/plugins/private/data_usage/server/services/index.ts similarity index 100% rename from x-pack/plugins/data_usage/server/services/index.ts rename to x-pack/platform/plugins/private/data_usage/server/services/index.ts diff --git a/x-pack/plugins/data_usage/server/types/index.ts b/x-pack/platform/plugins/private/data_usage/server/types/index.ts similarity index 100% rename from x-pack/plugins/data_usage/server/types/index.ts rename to x-pack/platform/plugins/private/data_usage/server/types/index.ts diff --git a/x-pack/plugins/data_usage/server/types/types.ts b/x-pack/platform/plugins/private/data_usage/server/types/types.ts similarity index 100% rename from x-pack/plugins/data_usage/server/types/types.ts rename to x-pack/platform/plugins/private/data_usage/server/types/types.ts diff --git a/x-pack/plugins/data_usage/server/utils/custom_http_request_error.ts b/x-pack/platform/plugins/private/data_usage/server/utils/custom_http_request_error.ts similarity index 100% rename from x-pack/plugins/data_usage/server/utils/custom_http_request_error.ts rename to x-pack/platform/plugins/private/data_usage/server/utils/custom_http_request_error.ts diff --git a/x-pack/plugins/data_usage/server/utils/get_metering_stats.ts b/x-pack/platform/plugins/private/data_usage/server/utils/get_metering_stats.ts similarity index 100% rename from x-pack/plugins/data_usage/server/utils/get_metering_stats.ts rename to x-pack/platform/plugins/private/data_usage/server/utils/get_metering_stats.ts diff --git a/x-pack/plugins/data_usage/server/utils/index.ts b/x-pack/platform/plugins/private/data_usage/server/utils/index.ts similarity index 100% rename from x-pack/plugins/data_usage/server/utils/index.ts rename to x-pack/platform/plugins/private/data_usage/server/utils/index.ts diff --git a/x-pack/plugins/data_usage/tsconfig.json b/x-pack/platform/plugins/private/data_usage/tsconfig.json similarity index 91% rename from x-pack/plugins/data_usage/tsconfig.json rename to x-pack/platform/plugins/private/data_usage/tsconfig.json index 8647f7957451a..6ebec73506c67 100644 --- a/x-pack/plugins/data_usage/tsconfig.json +++ b/x-pack/platform/plugins/private/data_usage/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../tsconfig.base.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types" }, @@ -8,7 +8,7 @@ "common/**/*", "public/**/*", "server/**/*", - "../../../typings/**/*" + "../../../../../typings/**/*" ], "kbn_references": [ "@kbn/core", diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/.storybook/jest_setup.js b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/.storybook/jest_setup.js similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/.storybook/jest_setup.js rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/.storybook/jest_setup.js diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/.storybook/main.js b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/.storybook/main.js similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/.storybook/main.js rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/.storybook/main.js diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/.storybook/preview.js b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/.storybook/preview.js similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/.storybook/preview.js rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/.storybook/preview.js diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/README.md b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/README.md similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/README.md rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/README.md diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/TRACING.md b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/TRACING.md similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/TRACING.md rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/TRACING.md diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/capabilities.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/capabilities.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/capabilities.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/capabilities.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/connectors.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/connectors.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/connectors.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/connectors.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/conversation_complete.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/conversation_complete.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/conversation_complete.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/conversation_complete.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/convert_messages_for_inference.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/convert_messages_for_inference.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/convert_messages_for_inference.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/convert_messages_for_inference.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/feature.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/feature.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/feature.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/feature.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/functions/function_visibility.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/functions/function_visibility.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/functions/function_visibility.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/functions/function_visibility.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/functions/types.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/functions/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/functions/types.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/functions/types.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/functions/visualize_esql.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/functions/visualize_esql.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/functions/visualize_esql.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/functions/visualize_esql.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/index.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/index.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/index.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/rule_connector.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/rule_connector.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/rule_connector.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/rule_connector.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/types.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/types.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/types.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/ui_settings/settings_keys.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/ui_settings/settings_keys.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/ui_settings/settings_keys.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/ui_settings/settings_keys.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/concatenate_chat_completion_chunks.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/concatenate_chat_completion_chunks.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/concatenate_chat_completion_chunks.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/concatenate_chat_completion_chunks.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/create_function_request_message.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/create_function_request_message.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/create_function_request_message.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/create_function_request_message.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/create_function_response_message.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/create_function_response_message.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/create_function_response_message.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/create_function_response_message.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/emit_with_concatenated_message.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/emit_with_concatenated_message.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/emit_with_concatenated_message.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/emit_with_concatenated_message.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/filter_function_definitions.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/filter_function_definitions.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/filter_function_definitions.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/filter_function_definitions.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/get_bucket_size/calculate_auto.js b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/get_bucket_size/calculate_auto.js similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/get_bucket_size/calculate_auto.js rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/get_bucket_size/calculate_auto.js diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/get_bucket_size/index.test.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/get_bucket_size/index.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/get_bucket_size/index.test.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/get_bucket_size/index.test.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/get_bucket_size/index.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/get_bucket_size/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/get_bucket_size/index.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/get_bucket_size/index.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/get_bucket_size/unit_to_seconds.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/get_bucket_size/unit_to_seconds.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/get_bucket_size/unit_to_seconds.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/get_bucket_size/unit_to_seconds.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/short_id_table.test.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/short_id_table.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/short_id_table.test.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/short_id_table.test.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/short_id_table.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/short_id_table.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/short_id_table.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/short_id_table.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/throw_serialized_chat_completion_errors.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/throw_serialized_chat_completion_errors.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/throw_serialized_chat_completion_errors.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/throw_serialized_chat_completion_errors.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/until_aborted.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/until_aborted.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/until_aborted.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/until_aborted.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/with_token_budget.test.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/with_token_budget.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/with_token_budget.test.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/with_token_budget.test.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/with_token_budget.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/with_token_budget.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/with_token_budget.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/with_token_budget.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/without_token_count_events.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/without_token_count_events.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/common/utils/without_token_count_events.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common/utils/without_token_count_events.ts diff --git a/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/jest.config.js b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/jest.config.js new file mode 100644 index 0000000000000..4ff20cb91d531 --- /dev/null +++ b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/jest.config.js @@ -0,0 +1,25 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../../../../../..', + roots: [ + '/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public', + '/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/common', + '/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server', + ], + setupFiles: [ + '/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/.storybook/jest_setup.js', + ], + collectCoverage: true, + collectCoverageFrom: [ + '/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/{common,public,server}/**/*.{js,ts,tsx}', + ], + + coverageReporters: ['html'], +}; diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/kibana.jsonc b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/kibana.jsonc similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/kibana.jsonc rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/kibana.jsonc diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/analytics/index.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/analytics/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/analytics/index.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/analytics/index.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/analytics/schemas/chat_feedback.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/analytics/schemas/chat_feedback.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/analytics/schemas/chat_feedback.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/analytics/schemas/chat_feedback.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/analytics/schemas/common.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/analytics/schemas/common.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/analytics/schemas/common.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/analytics/schemas/common.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/analytics/schemas/insight_feedback.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/analytics/schemas/insight_feedback.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/analytics/schemas/insight_feedback.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/analytics/schemas/insight_feedback.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/analytics/schemas/insight_response.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/analytics/schemas/insight_response.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/analytics/schemas/insight_response.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/analytics/schemas/insight_response.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/analytics/schemas/user_sent_prompt.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/analytics/schemas/user_sent_prompt.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/analytics/schemas/user_sent_prompt.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/analytics/schemas/user_sent_prompt.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/analytics/telemetry_event_type.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/analytics/telemetry_event_type.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/analytics/telemetry_event_type.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/analytics/telemetry_event_type.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/api/index.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/api/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/api/index.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/api/index.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/assets/elastic_ai_assistant.png b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/assets/elastic_ai_assistant.png similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/assets/elastic_ai_assistant.png rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/assets/elastic_ai_assistant.png diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/assets/illustration.png b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/assets/illustration.png similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/assets/illustration.png rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/assets/illustration.png diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/assets/illustration.svg b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/assets/illustration.svg similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/assets/illustration.svg rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/assets/illustration.svg diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/components/assistant_avatar.stories.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/assistant_avatar.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/components/assistant_avatar.stories.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/assistant_avatar.stories.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/components/assistant_avatar.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/assistant_avatar.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/components/assistant_avatar.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/assistant_avatar.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/components/buttons/feedback_buttons.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/buttons/feedback_buttons.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/components/buttons/feedback_buttons.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/buttons/feedback_buttons.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/components/buttons/regenerate_response_button.stories.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/buttons/regenerate_response_button.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/components/buttons/regenerate_response_button.stories.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/buttons/regenerate_response_button.stories.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/components/buttons/regenerate_response_button.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/buttons/regenerate_response_button.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/components/buttons/regenerate_response_button.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/buttons/regenerate_response_button.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/components/buttons/start_chat_button.stories.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/buttons/start_chat_button.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/components/buttons/start_chat_button.stories.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/buttons/start_chat_button.stories.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/components/buttons/start_chat_button.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/buttons/start_chat_button.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/components/buttons/start_chat_button.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/buttons/start_chat_button.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/components/buttons/stop_generating_button.stories.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/buttons/stop_generating_button.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/components/buttons/stop_generating_button.stories.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/buttons/stop_generating_button.stories.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/components/buttons/stop_generating_button.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/buttons/stop_generating_button.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/components/buttons/stop_generating_button.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/buttons/stop_generating_button.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/components/chat/chat_item_controls.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/chat/chat_item_controls.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/components/chat/chat_item_controls.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/chat/chat_item_controls.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/components/chat/types.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/chat/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/components/chat/types.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/chat/types.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/components/connector_selector/connector_selector_base.stories.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/connector_selector/connector_selector_base.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/components/connector_selector/connector_selector_base.stories.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/connector_selector/connector_selector_base.stories.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/components/connector_selector/connector_selector_base.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/connector_selector/connector_selector_base.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/components/connector_selector/connector_selector_base.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/connector_selector/connector_selector_base.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/components/insight/actions_menu.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/insight/actions_menu.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/components/insight/actions_menu.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/insight/actions_menu.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/components/insight/insight.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/insight/insight.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/components/insight/insight.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/insight/insight.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/components/insight/insight_base.stories.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/insight/insight_base.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/components/insight/insight_base.stories.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/insight/insight_base.stories.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/components/insight/insight_base.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/insight/insight_base.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/components/insight/insight_base.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/insight/insight_base.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/components/insight/insight_error.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/insight/insight_error.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/components/insight/insight_error.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/insight/insight_error.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/components/message_panel/esql_code_block.stories.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/message_panel/esql_code_block.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/components/message_panel/esql_code_block.stories.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/message_panel/esql_code_block.stories.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/components/message_panel/esql_code_block.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/message_panel/esql_code_block.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/components/message_panel/esql_code_block.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/message_panel/esql_code_block.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/components/message_panel/failed_to_load_response.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/message_panel/failed_to_load_response.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/components/message_panel/failed_to_load_response.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/message_panel/failed_to_load_response.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/components/message_panel/message_panel.stories.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/message_panel/message_panel.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/components/message_panel/message_panel.stories.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/message_panel/message_panel.stories.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/components/message_panel/message_panel.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/message_panel/message_panel.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/components/message_panel/message_panel.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/message_panel/message_panel.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/components/message_panel/message_text.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/message_panel/message_text.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/components/message_panel/message_text.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/message_panel/message_text.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/components/missing_credentials_callout.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/missing_credentials_callout.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/components/missing_credentials_callout.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/missing_credentials_callout.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/context/observability_ai_assistant_chat_service_context.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/context/observability_ai_assistant_chat_service_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/context/observability_ai_assistant_chat_service_context.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/context/observability_ai_assistant_chat_service_context.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/context/observability_ai_assistant_multipane_flyout_context.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/context/observability_ai_assistant_multipane_flyout_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/context/observability_ai_assistant_multipane_flyout_context.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/context/observability_ai_assistant_multipane_flyout_context.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/context/observability_ai_assistant_provider.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/context/observability_ai_assistant_provider.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/context/observability_ai_assistant_provider.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/context/observability_ai_assistant_provider.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/hooks/use_abortable_async.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/hooks/use_abortable_async.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/hooks/use_abortable_async.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/hooks/use_abortable_async.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/hooks/use_chat.test.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/hooks/use_chat.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/hooks/use_chat.test.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/hooks/use_chat.test.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/hooks/use_chat.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/hooks/use_chat.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/hooks/use_chat.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/hooks/use_chat.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/hooks/use_flyout_state.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/hooks/use_flyout_state.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/hooks/use_flyout_state.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/hooks/use_flyout_state.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/hooks/use_genai_connectors.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/hooks/use_genai_connectors.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/hooks/use_genai_connectors.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/hooks/use_genai_connectors.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/hooks/use_kibana.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/hooks/use_kibana.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/hooks/use_kibana.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/hooks/use_kibana.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/hooks/use_observability_ai_assistant.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/hooks/use_observability_ai_assistant.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/hooks/use_observability_ai_assistant.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/hooks/use_observability_ai_assistant.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/hooks/use_observability_ai_assistant_chat_service.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/hooks/use_observability_ai_assistant_chat_service.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/hooks/use_observability_ai_assistant_chat_service.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/hooks/use_observability_ai_assistant_chat_service.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/hooks/use_once.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/hooks/use_once.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/hooks/use_once.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/hooks/use_once.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/index.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/index.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/index.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/mock.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/mock.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/mock.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/mock.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/plugin.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/plugin.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/plugin.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/plugin.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/service/complete.test.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/service/complete.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/service/complete.test.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/service/complete.test.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/service/complete.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/service/complete.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/service/complete.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/service/complete.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/service/create_chat_service.test.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/service/create_chat_service.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/service/create_chat_service.test.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/service/create_chat_service.test.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/service/create_chat_service.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/service/create_chat_service.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/service/create_chat_service.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/service/create_chat_service.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/service/create_mock_chat_service.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/service/create_mock_chat_service.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/service/create_mock_chat_service.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/service/create_mock_chat_service.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/service/create_service.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/service/create_service.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/service/create_service.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/service/create_service.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/service/default_starter_prompts.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/service/default_starter_prompts.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/service/default_starter_prompts.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/service/default_starter_prompts.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/storybook_mock.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/storybook_mock.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/storybook_mock.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/storybook_mock.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/types.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/types.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/types.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/utils/builders.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/utils/builders.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/utils/builders.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/utils/builders.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/utils/create_function_response_error.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/utils/create_function_response_error.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/utils/create_function_response_error.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/utils/create_function_response_error.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/utils/create_screen_context_action.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/utils/create_screen_context_action.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/utils/create_screen_context_action.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/utils/create_screen_context_action.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/utils/get_connectors_management_href.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/utils/get_connectors_management_href.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/utils/get_connectors_management_href.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/utils/get_connectors_management_href.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/utils/get_contextual_insight_messages.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/utils/get_contextual_insight_messages.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/utils/get_contextual_insight_messages.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/utils/get_contextual_insight_messages.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/utils/get_models_management_href.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/utils/get_models_management_href.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/utils/get_models_management_href.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/utils/get_models_management_href.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/utils/readable_stream_reader_into_observable.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/utils/readable_stream_reader_into_observable.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/utils/readable_stream_reader_into_observable.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/utils/readable_stream_reader_into_observable.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/public/utils/storybook_decorator.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/utils/storybook_decorator.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/public/utils/storybook_decorator.tsx rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/utils/storybook_decorator.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/analytics/recall_ranking.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/analytics/recall_ranking.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/analytics/recall_ranking.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/analytics/recall_ranking.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/config.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/config.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/config.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/config.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/functions/context.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/functions/context.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/functions/context.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/functions/context.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/functions/elasticsearch.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/functions/elasticsearch.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/functions/elasticsearch.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/functions/elasticsearch.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/functions/execute_connector.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/functions/execute_connector.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/functions/execute_connector.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/functions/execute_connector.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/functions/get_dataset_info/get_relevant_field_names.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/functions/get_dataset_info/get_relevant_field_names.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/functions/get_dataset_info/get_relevant_field_names.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/functions/get_dataset_info/get_relevant_field_names.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/functions/get_dataset_info/index.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/functions/get_dataset_info/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/functions/get_dataset_info/index.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/functions/get_dataset_info/index.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/functions/index.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/functions/index.ts similarity index 98% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/functions/index.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/functions/index.ts index ce4c8e59fbae2..244c867e7f644 100644 --- a/x-pack/plugins/observability_solution/observability_ai_assistant/server/functions/index.ts +++ b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/functions/index.ts @@ -15,7 +15,7 @@ import { registerKibanaFunction } from './kibana'; import { registerExecuteConnectorFunction } from './execute_connector'; import { GET_DATA_ON_SCREEN_FUNCTION_NAME } from '../service/chat_function_client'; -// cannot be imported from x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/query/index.ts due to circular dependency +// cannot be imported from x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/query/index.ts due to circular dependency export const QUERY_FUNCTION_NAME = 'query'; export type FunctionRegistrationParameters = Omit< diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/functions/kibana.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/functions/kibana.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/functions/kibana.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/functions/kibana.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/functions/summarize.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/functions/summarize.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/functions/summarize.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/functions/summarize.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/index.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/index.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/index.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/plugin.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/plugin.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/plugin.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/plugin.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/routes/chat/route.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/routes/chat/route.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/routes/chat/route.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/routes/chat/route.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/routes/connectors/route.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/routes/connectors/route.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/routes/connectors/route.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/routes/connectors/route.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/routes/conversations/route.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/routes/conversations/route.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/routes/conversations/route.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/routes/conversations/route.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/routes/create_observability_ai_assistant_server_route.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/routes/create_observability_ai_assistant_server_route.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/routes/create_observability_ai_assistant_server_route.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/routes/create_observability_ai_assistant_server_route.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/routes/functions/route.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/routes/functions/route.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/routes/functions/route.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/routes/functions/route.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/routes/get_global_observability_ai_assistant_route_repository.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/routes/get_global_observability_ai_assistant_route_repository.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/routes/get_global_observability_ai_assistant_route_repository.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/routes/get_global_observability_ai_assistant_route_repository.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/routes/knowledge_base/route.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/routes/knowledge_base/route.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/routes/knowledge_base/route.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/routes/knowledge_base/route.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/routes/register_routes.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/routes/register_routes.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/routes/register_routes.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/routes/register_routes.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/routes/runtime_types.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/routes/runtime_types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/routes/runtime_types.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/routes/runtime_types.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/routes/types.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/routes/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/routes/types.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/routes/types.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/chat_function_client/index.test.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/chat_function_client/index.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/chat_function_client/index.test.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/chat_function_client/index.test.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/chat_function_client/index.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/chat_function_client/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/chat_function_client/index.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/chat_function_client/index.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/get_context_function_request_if_needed.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/get_context_function_request_if_needed.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/get_context_function_request_if_needed.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/get_context_function_request_if_needed.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/index.test.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/index.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/index.test.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/index.test.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/index.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/index.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/index.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/instrumentation/get_langtrace_span_attributes.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/instrumentation/get_langtrace_span_attributes.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/instrumentation/get_langtrace_span_attributes.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/instrumentation/get_langtrace_span_attributes.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/instrumentation/get_langtrace_tracer.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/instrumentation/get_langtrace_tracer.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/instrumentation/get_langtrace_tracer.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/instrumentation/get_langtrace_tracer.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/instrumentation/init_langtrace.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/instrumentation/init_langtrace.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/instrumentation/init_langtrace.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/instrumentation/init_langtrace.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/instrumentation/lang_tracer.test.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/instrumentation/lang_tracer.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/instrumentation/lang_tracer.test.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/instrumentation/lang_tracer.test.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/instrumentation/lang_tracer.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/instrumentation/lang_tracer.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/instrumentation/lang_tracer.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/instrumentation/lang_tracer.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/operators/catch_function_not_found_error.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/operators/catch_function_not_found_error.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/operators/catch_function_not_found_error.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/operators/catch_function_not_found_error.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/operators/continue_conversation.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/operators/continue_conversation.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/operators/continue_conversation.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/operators/continue_conversation.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/operators/convert_inference_events_to_streaming_events.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/operators/convert_inference_events_to_streaming_events.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/operators/convert_inference_events_to_streaming_events.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/operators/convert_inference_events_to_streaming_events.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/operators/debug.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/operators/debug.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/operators/debug.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/operators/debug.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/operators/extract_messages.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/operators/extract_messages.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/operators/extract_messages.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/operators/extract_messages.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/operators/extract_token_count.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/operators/extract_token_count.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/operators/extract_token_count.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/operators/extract_token_count.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/operators/fail_on_non_existing_function_call.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/operators/fail_on_non_existing_function_call.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/operators/fail_on_non_existing_function_call.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/operators/fail_on_non_existing_function_call.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/operators/get_generated_title.test.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/operators/get_generated_title.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/operators/get_generated_title.test.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/operators/get_generated_title.test.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/operators/get_generated_title.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/operators/get_generated_title.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/operators/get_generated_title.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/operators/get_generated_title.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/operators/hide_token_count_events.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/operators/hide_token_count_events.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/operators/hide_token_count_events.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/operators/hide_token_count_events.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/operators/instrument_and_count_tokens.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/operators/instrument_and_count_tokens.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/client/operators/instrument_and_count_tokens.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/operators/instrument_and_count_tokens.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/conversation_component_template.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/conversation_component_template.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/conversation_component_template.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/conversation_component_template.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/index.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/index.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/index.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/inference_endpoint.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/inference_endpoint.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/inference_endpoint.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/inference_endpoint.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/kb_component_template.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/kb_component_template.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/kb_component_template.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/kb_component_template.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/knowledge_base_service/index.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/knowledge_base_service/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/knowledge_base_service/index.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/knowledge_base_service/index.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/knowledge_base_service/recall_from_search_connectors.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/knowledge_base_service/recall_from_search_connectors.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/knowledge_base_service/recall_from_search_connectors.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/knowledge_base_service/recall_from_search_connectors.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/setup_conversation_and_kb_index_assets.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/setup_conversation_and_kb_index_assets.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/setup_conversation_and_kb_index_assets.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/setup_conversation_and_kb_index_assets.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/task_manager_definitions/register_migrate_knowledge_base_entries_task.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/task_manager_definitions/register_migrate_knowledge_base_entries_task.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/task_manager_definitions/register_migrate_knowledge_base_entries_task.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/task_manager_definitions/register_migrate_knowledge_base_entries_task.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/types.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/types.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/types.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/util/catch_function_limit_exceeded_error.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/util/catch_function_limit_exceeded_error.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/util/catch_function_limit_exceeded_error.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/util/catch_function_limit_exceeded_error.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/util/create_server_side_function_response_error.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/util/create_server_side_function_response_error.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/util/create_server_side_function_response_error.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/util/create_server_side_function_response_error.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/util/flush_buffer.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/util/flush_buffer.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/util/flush_buffer.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/util/flush_buffer.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/util/get_access_query.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/util/get_access_query.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/util/get_access_query.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/util/get_access_query.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/util/get_category_query.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/util/get_category_query.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/util/get_category_query.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/util/get_category_query.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/util/get_system_message_from_instructions.test.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/util/get_system_message_from_instructions.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/util/get_system_message_from_instructions.test.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/util/get_system_message_from_instructions.test.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/util/get_system_message_from_instructions.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/util/get_system_message_from_instructions.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/util/get_system_message_from_instructions.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/util/get_system_message_from_instructions.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/util/observable_into_openai_stream.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/util/observable_into_openai_stream.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/util/observable_into_openai_stream.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/util/observable_into_openai_stream.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/util/observable_into_stream.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/util/observable_into_stream.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/util/observable_into_stream.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/util/observable_into_stream.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/util/replace_system_message.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/util/replace_system_message.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/util/replace_system_message.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/util/replace_system_message.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/util/stream_into_observable.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/util/stream_into_observable.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/util/stream_into_observable.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/util/stream_into_observable.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/service/util/with_assistant_span.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/util/with_assistant_span.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/service/util/with_assistant_span.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/util/with_assistant_span.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/types.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/types.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/types.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/utils/recall/parse_suggestion_scores.test.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/utils/recall/parse_suggestion_scores.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/utils/recall/parse_suggestion_scores.test.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/utils/recall/parse_suggestion_scores.test.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/utils/recall/parse_suggestion_scores.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/utils/recall/parse_suggestion_scores.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/utils/recall/parse_suggestion_scores.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/utils/recall/parse_suggestion_scores.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/utils/recall/recall_and_score.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/utils/recall/recall_and_score.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/utils/recall/recall_and_score.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/utils/recall/recall_and_score.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/server/utils/recall/score_suggestions.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/utils/recall/score_suggestions.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant/server/utils/recall/score_suggestions.ts rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/utils/recall/score_suggestions.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/tsconfig.json b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.json similarity index 93% rename from x-pack/plugins/observability_solution/observability_ai_assistant/tsconfig.json rename to x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.json index a79df51d65af7..db9c1cddae90a 100644 --- a/x-pack/plugins/observability_solution/observability_ai_assistant/tsconfig.json +++ b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.json @@ -1,10 +1,10 @@ { - "extends": "../../../../tsconfig.base.json", + "extends": "../../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types" }, "include": [ - "../../../typings/**/*", + "../../../../../typings/**/*", "common/**/*", "public/**/*", "scripts/**/*", diff --git a/x-pack/plugins/enterprise_search/kibana.jsonc b/x-pack/plugins/enterprise_search/kibana.jsonc index 42e4db528a759..1d378a8e95d8d 100644 --- a/x-pack/plugins/enterprise_search/kibana.jsonc +++ b/x-pack/plugins/enterprise_search/kibana.jsonc @@ -3,7 +3,7 @@ "id": "@kbn/enterprise-search-plugin", "owner": "@elastic/search-kibana", // TODO this is currently used from Observability too, must be refactored before solution-specific builds - // see x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/search_connector_tab.tsx + // see x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/search_connector_tab.tsx // cc sphilipse "group": "search", "visibility": "private", diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant/jest.config.js b/x-pack/plugins/observability_solution/observability_ai_assistant/jest.config.js deleted file mode 100644 index b684a6126e537..0000000000000 --- a/x-pack/plugins/observability_solution/observability_ai_assistant/jest.config.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -module.exports = { - preset: '@kbn/test', - rootDir: '../../../..', - roots: [ - '/x-pack/plugins/observability_solution/observability_ai_assistant/public', - '/x-pack/plugins/observability_solution/observability_ai_assistant/common', - '/x-pack/plugins/observability_solution/observability_ai_assistant/server', - ], - setupFiles: [ - '/x-pack/plugins/observability_solution/observability_ai_assistant/.storybook/jest_setup.js', - ], - collectCoverage: true, - collectCoverageFrom: [ - '/x-pack/plugins/observability_solution/observability_ai_assistant/{common,public,server}/**/*.{js,ts,tsx}', - ], - - coverageReporters: ['html'], -}; diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/jest.config.js b/x-pack/plugins/observability_solution/observability_ai_assistant_app/jest.config.js deleted file mode 100644 index 7e3fb9e750448..0000000000000 --- a/x-pack/plugins/observability_solution/observability_ai_assistant_app/jest.config.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -module.exports = { - preset: '@kbn/test', - rootDir: '../../../..', - roots: [ - '/x-pack/plugins/observability_solution/observability_ai_assistant_app/public', - '/x-pack/plugins/observability_solution/observability_ai_assistant_app/common', - '/x-pack/plugins/observability_solution/observability_ai_assistant_app/server', - ], - setupFiles: [ - '/x-pack/plugins/observability_solution/observability_ai_assistant_app/.storybook/jest_setup.js', - ], - collectCoverage: true, - collectCoverageFrom: [ - '/x-pack/plugins/observability_solution/observability_ai_assistant_app/{common,public,server}/**/*.{js,ts,tsx}', - ], - - coverageReporters: ['html'], -}; diff --git a/x-pack/plugins/search_connectors/kibana.jsonc b/x-pack/plugins/search_connectors/kibana.jsonc index 6290b9692b384..45ae79ec2cb5c 100644 --- a/x-pack/plugins/search_connectors/kibana.jsonc +++ b/x-pack/plugins/search_connectors/kibana.jsonc @@ -3,7 +3,7 @@ "id": "@kbn/search-connectors-plugin", "owner": "@elastic/search-kibana", // TODO this is currently used from Observability too, must be refactored before solution-specific builds - // see x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/search_connector_tab.tsx + // see x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/search_connector_tab.tsx // cc sphilipse "group": "search", "visibility": "private", diff --git a/x-pack/packages/observability/observability_ai/observability_ai_common/jest.config.js b/x-pack/solutions/observability/packages/observability_ai/observability_ai_common/jest.config.js similarity index 58% rename from x-pack/packages/observability/observability_ai/observability_ai_common/jest.config.js rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_common/jest.config.js index d99760c04c1c0..3620ef5a1c254 100644 --- a/x-pack/packages/observability/observability_ai/observability_ai_common/jest.config.js +++ b/x-pack/solutions/observability/packages/observability_ai/observability_ai_common/jest.config.js @@ -7,9 +7,9 @@ module.exports = { preset: '@kbn/test', - rootDir: '../../../../..', + rootDir: '../../../../../..', roots: [ - '/x-pack/packages/observability/observability_ai/observability_ai_common', - '/x-pack/packages/observability/observability_ai/observability_ai_server', + '/x-pack/solutions/observability/packages/observability_ai/observability_ai_common', + '/x-pack/solutions/observability/packages/observability_ai/observability_ai_server', ], }; diff --git a/x-pack/packages/observability/observability_ai/observability_ai_common/kibana.jsonc b/x-pack/solutions/observability/packages/observability_ai/observability_ai_common/kibana.jsonc similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_common/kibana.jsonc rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_common/kibana.jsonc diff --git a/x-pack/packages/observability/observability_ai/observability_ai_common/package.json b/x-pack/solutions/observability/packages/observability_ai/observability_ai_common/package.json similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_common/package.json rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_common/package.json diff --git a/x-pack/packages/observability/observability_ai/observability_ai_common/root_cause_analysis/index.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_common/root_cause_analysis/index.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_common/root_cause_analysis/index.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_common/root_cause_analysis/index.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_common/root_cause_analysis/tool_names.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_common/root_cause_analysis/tool_names.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_common/root_cause_analysis/tool_names.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_common/root_cause_analysis/tool_names.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_common/tsconfig.json b/x-pack/solutions/observability/packages/observability_ai/observability_ai_common/tsconfig.json similarity index 81% rename from x-pack/packages/observability/observability_ai/observability_ai_common/tsconfig.json rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_common/tsconfig.json index bb7b89b5671a0..af23c916b5d13 100644 --- a/x-pack/packages/observability/observability_ai/observability_ai_common/tsconfig.json +++ b/x-pack/solutions/observability/packages/observability_ai/observability_ai_common/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../../../tsconfig.base.json", + "extends": "../../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types", "types": [ diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/jest.config.js b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/jest.config.js similarity index 67% rename from x-pack/packages/observability/observability_ai/observability_ai_server/jest.config.js rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/jest.config.js index f395d4bf3bb03..8aa1c2d673222 100644 --- a/x-pack/packages/observability/observability_ai/observability_ai_server/jest.config.js +++ b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/jest.config.js @@ -7,6 +7,8 @@ module.exports = { preset: '@kbn/test', - rootDir: '../../../../..', - roots: ['/x-pack/packages/observability/observability_ai/observability_ai_server'], + rootDir: '../../../../../..', + roots: [ + '/x-pack/solutions/observability/packages/observability_ai/observability_ai_server', + ], }; diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/kibana.jsonc b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/kibana.jsonc similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/kibana.jsonc rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/kibana.jsonc diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/package.json b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/package.json similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/package.json rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/package.json diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/call_end_rca_process_tool.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/call_end_rca_process_tool.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/call_end_rca_process_tool.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/call_end_rca_process_tool.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/call_investigate_entity_tool.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/call_investigate_entity_tool.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/call_investigate_entity_tool.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/call_investigate_entity_tool.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/call_observe_tool.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/call_observe_tool.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/call_observe_tool.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/call_observe_tool.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/empty_assistant_message.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/empty_assistant_message.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/empty_assistant_message.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/empty_assistant_message.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/index.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/index.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/index.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/index.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/prompts/index.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/prompts/index.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/prompts/index.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/prompts/index.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/run_root_cause_analysis.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/run_root_cause_analysis.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/run_root_cause_analysis.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/run_root_cause_analysis.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/analyze_log_patterns/index.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/analyze_log_patterns/index.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/analyze_log_patterns/index.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/analyze_log_patterns/index.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/describe_entity/index.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/describe_entity/index.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/describe_entity/index.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/describe_entity/index.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/describe_log_patterns/index.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/describe_log_patterns/index.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/describe_log_patterns/index.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/describe_log_patterns/index.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/find_related_entities/analyze_fetched_related_entities.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/find_related_entities/analyze_fetched_related_entities.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/find_related_entities/analyze_fetched_related_entities.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/find_related_entities/analyze_fetched_related_entities.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/find_related_entities/extract_related_entities.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/find_related_entities/extract_related_entities.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/find_related_entities/extract_related_entities.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/find_related_entities/extract_related_entities.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/find_related_entities/index.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/find_related_entities/index.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/find_related_entities/index.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/find_related_entities/index.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/find_related_entities/write_keyword_searches_for_related_entities.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/find_related_entities/write_keyword_searches_for_related_entities.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/find_related_entities/write_keyword_searches_for_related_entities.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/find_related_entities/write_keyword_searches_for_related_entities.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/generate_timeline/index.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/generate_timeline/index.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/generate_timeline/index.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/generate_timeline/index.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/get_knowledge_base_entries/index.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/get_knowledge_base_entries/index.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/get_knowledge_base_entries/index.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/get_knowledge_base_entries/index.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/investigate_entity/index.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/investigate_entity/index.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/investigate_entity/index.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/investigate_entity/index.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/investigate_entity/prompts.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/investigate_entity/prompts.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/investigate_entity/prompts.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/investigate_entity/prompts.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/investigate_entity/types.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/investigate_entity/types.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/investigate_entity/types.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/investigate_entity/types.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/observe_investigation_results/index.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/observe_investigation_results/index.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/observe_investigation_results/index.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/observe_investigation_results/index.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/write_entity_investigation_report/index.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/write_entity_investigation_report/index.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/write_entity_investigation_report/index.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/write_entity_investigation_report/index.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/write_final_report/index.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/write_final_report/index.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tasks/write_final_report/index.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tasks/write_final_report/index.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tools.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tools.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/tools.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/tools.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/types.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/types.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/types.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/types.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/util/call_tools.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/util/call_tools.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/util/call_tools.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/util/call_tools.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/util/chunk_output_calls.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/util/chunk_output_calls.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/util/chunk_output_calls.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/util/chunk_output_calls.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/util/format_entity.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/util/format_entity.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/util/format_entity.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/util/format_entity.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/util/get_previously_investigated_entities.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/util/get_previously_investigated_entities.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/util/get_previously_investigated_entities.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/util/get_previously_investigated_entities.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/util/serialize_knowledge_base_entries.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/util/serialize_knowledge_base_entries.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/util/serialize_knowledge_base_entries.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/util/serialize_knowledge_base_entries.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/util/stringify_summaries.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/util/stringify_summaries.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/util/stringify_summaries.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/util/stringify_summaries.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/util/to_blockquote.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/util/to_blockquote.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/util/to_blockquote.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/util/to_blockquote.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/util/validate_investigate_entity_tool_call.ts b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/util/validate_investigate_entity_tool_call.ts similarity index 100% rename from x-pack/packages/observability/observability_ai/observability_ai_server/root_cause_analysis/util/validate_investigate_entity_tool_call.ts rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/root_cause_analysis/util/validate_investigate_entity_tool_call.ts diff --git a/x-pack/packages/observability/observability_ai/observability_ai_server/tsconfig.json b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/tsconfig.json similarity index 91% rename from x-pack/packages/observability/observability_ai/observability_ai_server/tsconfig.json rename to x-pack/solutions/observability/packages/observability_ai/observability_ai_server/tsconfig.json index 06ded9c70b4ee..59f73df4273c8 100644 --- a/x-pack/packages/observability/observability_ai/observability_ai_server/tsconfig.json +++ b/x-pack/solutions/observability/packages/observability_ai/observability_ai_server/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../../../tsconfig.base.json", + "extends": "../../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types", "types": [ diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/.storybook/jest_setup.js b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/.storybook/jest_setup.js similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/.storybook/jest_setup.js rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/.storybook/jest_setup.js diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/.storybook/main.js b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/.storybook/main.js similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/.storybook/main.js rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/.storybook/main.js diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/.storybook/preview.js b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/.storybook/preview.js similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/.storybook/preview.js rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/.storybook/preview.js diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/.storybook/storybook_decorator.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/.storybook/storybook_decorator.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/.storybook/storybook_decorator.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/.storybook/storybook_decorator.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/README.md b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/README.md similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/README.md rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/README.md diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/common/functions/changes/index.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/common/functions/changes/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/common/functions/changes/index.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/common/functions/changes/index.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/common/functions/lens.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/common/functions/lens.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/common/functions/lens.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/common/functions/lens.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/common/functions/visualize_esql.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/common/functions/visualize_esql.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/common/functions/visualize_esql.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/common/functions/visualize_esql.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/common/rule_connector.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/common/rule_connector.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/common/rule_connector.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/common/rule_connector.ts diff --git a/x-pack/solutions/observability/plugins/observability_ai_assistant_app/jest.config.js b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/jest.config.js new file mode 100644 index 0000000000000..5238f7a7cd889 --- /dev/null +++ b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/jest.config.js @@ -0,0 +1,25 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../../../../..', + roots: [ + '/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public', + '/x-pack/solutions/observability/plugins/observability_ai_assistant_app/common', + '/x-pack/solutions/observability/plugins/observability_ai_assistant_app/server', + ], + setupFiles: [ + '/x-pack/solutions/observability/plugins/observability_ai_assistant_app/.storybook/jest_setup.js', + ], + collectCoverage: true, + collectCoverageFrom: [ + '/x-pack/solutions/observability/plugins/observability_ai_assistant_app/{common,public,server}/**/*.{js,ts,tsx}', + ], + + coverageReporters: ['html'], +}; diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/kibana.jsonc b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/kibana.jsonc similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/kibana.jsonc rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/kibana.jsonc diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/application.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/application.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/application.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/application.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/assets/elastic_ai_assistant.png b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/assets/elastic_ai_assistant.png similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/assets/elastic_ai_assistant.png rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/assets/elastic_ai_assistant.png diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/changes/change_list.stories.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/changes/change_list.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/changes/change_list.stories.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/changes/change_list.stories.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/changes/change_list.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/changes/change_list.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/changes/change_list.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/changes/change_list.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/charts/spark_plot.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/charts/spark_plot.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/charts/spark_plot.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/charts/spark_plot.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/nav_control/index.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/nav_control/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/nav_control/index.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/nav_control/index.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/nav_control/lazy_nav_control.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/nav_control/lazy_nav_control.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/nav_control/lazy_nav_control.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/nav_control/lazy_nav_control.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/page_template.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/page_template.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/page_template.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/page_template.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/entity_badge/index.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/entity_badge/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/entity_badge/index.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/entity_badge/index.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/mock/complete_root_cause_analysis.json b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/mock/complete_root_cause_analysis.json similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/mock/complete_root_cause_analysis.json rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/mock/complete_root_cause_analysis.json diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/mock/index.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/mock/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/mock/index.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/mock/index.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_callout/index.stories.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_callout/index.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_callout/index.stories.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_callout/index.stories.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_callout/index.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_callout/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_callout/index.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_callout/index.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_collapsible_panel/index.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_collapsible_panel/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_collapsible_panel/index.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_collapsible_panel/index.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_container/index.stories.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_container/index.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_container/index.stories.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_container/index.stories.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_container/index.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_container/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_container/index.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_container/index.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_entity_investigation/index.stories.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_entity_investigation/index.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_entity_investigation/index.stories.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_entity_investigation/index.stories.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_entity_investigation/index.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_entity_investigation/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_entity_investigation/index.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_entity_investigation/index.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_entity_log_pattern_table/index.stories.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_entity_log_pattern_table/index.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_entity_log_pattern_table/index.stories.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_entity_log_pattern_table/index.stories.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_entity_log_pattern_table/index.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_entity_log_pattern_table/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_entity_log_pattern_table/index.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_entity_log_pattern_table/index.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_observation_panel/index.stories.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_observation_panel/index.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_observation_panel/index.stories.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_observation_panel/index.stories.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_observation_panel/index.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_observation_panel/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_observation_panel/index.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_observation_panel/index.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_panel/index.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_panel/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_panel/index.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_panel/index.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_report/index.stories.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_report/index.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_report/index.stories.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_report/index.stories.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_report/index.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_report/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_report/index.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_report/index.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_step/index.stories.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_step/index.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_step/index.stories.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_step/index.stories.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_step/index.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_step/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_step/index.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_step/index.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_stop_button/index.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_stop_button/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_stop_button/index.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_stop_button/index.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_task_step/index.stories.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_task_step/index.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_task_step/index.stories.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_task_step/index.stories.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_task_step/index.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_task_step/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/rca/rca_task_step/index.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_task_step/index.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/technical_preview_badge.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/technical_preview_badge.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/components/technical_preview_badge.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/technical_preview_badge.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/functions/changes/index.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/functions/changes/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/functions/changes/index.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/functions/changes/index.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/functions/index.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/functions/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/functions/index.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/functions/index.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/functions/lens.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/functions/lens.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/functions/lens.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/functions/lens.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/functions/visualize_esql.test.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/functions/visualize_esql.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/functions/visualize_esql.test.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/functions/visualize_esql.test.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/functions/visualize_esql.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/functions/visualize_esql.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/functions/visualize_esql.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/functions/visualize_esql.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_kibana.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_kibana.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_kibana.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_kibana.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_license.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_license.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_license.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_license.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_observability_ai_assistant.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_observability_ai_assistant.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_observability_ai_assistant.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_observability_ai_assistant.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_observability_ai_assistant_app_service.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_observability_ai_assistant_app_service.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_observability_ai_assistant_app_service.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_observability_ai_assistant_app_service.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_observability_ai_assistant_chat_service.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_observability_ai_assistant_chat_service.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_observability_ai_assistant_chat_service.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_observability_ai_assistant_chat_service.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_observability_ai_assistant_router.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_observability_ai_assistant_router.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_observability_ai_assistant_router.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/__storybook_mocks__/use_observability_ai_assistant_router.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/is_nav_control_visible.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/is_nav_control_visible.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/is_nav_control_visible.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/is_nav_control_visible.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/use_chart_theme.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/use_chart_theme.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/use_chart_theme.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/use_chart_theme.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/use_force_update.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/use_force_update.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/use_force_update.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/use_force_update.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/use_kibana.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/use_kibana.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/use_kibana.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/use_kibana.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/use_license.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/use_license.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/use_license.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/use_license.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/use_local_storage.test.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/use_local_storage.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/use_local_storage.test.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/use_local_storage.test.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/use_local_storage.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/use_local_storage.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/use_local_storage.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/use_local_storage.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/use_nav_control_scope.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/use_nav_control_scope.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/use_nav_control_scope.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/use_nav_control_scope.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/use_nav_control_screen_context.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/use_nav_control_screen_context.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/use_nav_control_screen_context.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/use_nav_control_screen_context.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/use_observability_ai_assistant_chat_service.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/use_observability_ai_assistant_chat_service.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/use_observability_ai_assistant_chat_service.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/use_observability_ai_assistant_chat_service.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/use_observability_ai_assistant_params.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/use_observability_ai_assistant_params.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/use_observability_ai_assistant_params.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/use_observability_ai_assistant_params.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/use_observability_ai_assistant_router.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/use_observability_ai_assistant_router.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/use_observability_ai_assistant_router.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/use_observability_ai_assistant_router.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/use_theme.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/use_theme.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/hooks/use_theme.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/use_theme.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/index.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/index.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/index.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/plugin.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/plugin.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/plugin.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/plugin.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/routes/config.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/routes/config.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/routes/config.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/routes/config.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/routes/conversations/conversation_view_with_props.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/routes/conversations/conversation_view_with_props.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/routes/conversations/conversation_view_with_props.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/routes/conversations/conversation_view_with_props.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/rule_connector/ai_assistant.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/rule_connector/ai_assistant.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/rule_connector/ai_assistant.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/rule_connector/ai_assistant.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/rule_connector/ai_assistant_params.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/rule_connector/ai_assistant_params.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/rule_connector/ai_assistant_params.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/rule_connector/ai_assistant_params.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/rule_connector/index.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/rule_connector/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/rule_connector/index.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/rule_connector/index.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/rule_connector/translations.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/rule_connector/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/rule_connector/translations.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/rule_connector/translations.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/rule_connector/types.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/rule_connector/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/rule_connector/types.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/rule_connector/types.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/types.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/types.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/types.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/utils/non_nullable.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/utils/non_nullable.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/utils/non_nullable.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/utils/non_nullable.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/utils/safe_json_parse.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/utils/safe_json_parse.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/utils/safe_json_parse.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/utils/safe_json_parse.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/public/utils/shared_providers.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/utils/shared_providers.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/public/utils/shared_providers.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/utils/shared_providers.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/.eslintrc.json b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/.eslintrc.json similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/.eslintrc.json rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/.eslintrc.json diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/README.md b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/README.md similarity index 93% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/README.md rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/README.md index 0e5bc22fe7c75..f8d10c679e622 100644 --- a/x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/README.md +++ b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/README.md @@ -14,7 +14,7 @@ This tool is developed for our team working on the Elastic Observability platfor Run the tool using: -`$ node x-pack/plugins/observability_solution/observability_ai_assistant/scripts/evaluation/index.js` +`$ node x-pack/solutions/observability/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/index.js` This will evaluate all existing scenarios, and write the evaluation results to the terminal. diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/alert_templates/templates.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/alert_templates/templates.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/alert_templates/templates.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/alert_templates/templates.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/cli.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/cli.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/cli.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/cli.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/evaluation.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/evaluation.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/evaluation.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/evaluation.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/get_service_urls.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/get_service_urls.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/get_service_urls.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/get_service_urls.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/index.js b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/index.js similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/index.js rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/index.js diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/kibana_client.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/kibana_client.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/kibana_client.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/kibana_client.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/read_kibana_config.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/read_kibana_config.ts similarity index 98% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/read_kibana_config.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/read_kibana_config.ts index fca94a8d57d05..e6a44cbb4a549 100644 --- a/x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/read_kibana_config.ts +++ b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/read_kibana_config.ts @@ -13,7 +13,7 @@ import { identity, pickBy } from 'lodash'; export type KibanaConfig = ReturnType; export const readKibanaConfig = () => { - const kibanaConfigDir = path.join(__filename, '../../../../../../../config'); + const kibanaConfigDir = path.join(__filename, '../../../../../../../../config'); const kibanaDevConfig = path.join(kibanaConfigDir, 'kibana.dev.yml'); const kibanaConfig = path.join(kibanaConfigDir, 'kibana.yml'); diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/scenarios/alerts/index.spec.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/scenarios/alerts/index.spec.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/scenarios/alerts/index.spec.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/scenarios/alerts/index.spec.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/scenarios/apm/index.spec.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/scenarios/apm/index.spec.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/scenarios/apm/index.spec.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/scenarios/apm/index.spec.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/scenarios/elasticsearch/index.spec.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/scenarios/elasticsearch/index.spec.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/scenarios/elasticsearch/index.spec.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/scenarios/elasticsearch/index.spec.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/scenarios/esql/index.spec.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/scenarios/esql/index.spec.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/scenarios/esql/index.spec.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/scenarios/esql/index.spec.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/scenarios/kb/index.spec.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/scenarios/kb/index.spec.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/scenarios/kb/index.spec.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/scenarios/kb/index.spec.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/select_connector.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/select_connector.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/select_connector.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/select_connector.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/services/index.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/services/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/services/index.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/services/index.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/setup_synthtrace.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/setup_synthtrace.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/setup_synthtrace.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/setup_synthtrace.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/types.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/scripts/evaluation/types.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/types.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/server/clients/create_observability_ai_assistant_app_es_client.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/clients/create_observability_ai_assistant_app_es_client.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/server/clients/create_observability_ai_assistant_app_es_client.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/clients/create_observability_ai_assistant_app_es_client.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/server/clients/elasticsearch/index.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/clients/elasticsearch/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/server/clients/elasticsearch/index.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/clients/elasticsearch/index.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/server/config.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/config.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/server/config.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/config.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/alerts.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/alerts.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/alerts.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/alerts.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/changes/get_log_changes.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/changes/get_log_changes.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/changes/get_log_changes.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/changes/get_log_changes.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/changes/get_metric_changes.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/changes/get_metric_changes.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/changes/get_metric_changes.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/changes/get_metric_changes.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/changes/index.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/changes/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/changes/index.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/changes/index.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/documentation.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/documentation.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/documentation.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/documentation.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/index.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/index.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/index.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/lens.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/lens.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/lens.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/lens.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/query/correct_query_with_actions.test.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/query/correct_query_with_actions.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/query/correct_query_with_actions.test.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/query/correct_query_with_actions.test.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/query/correct_query_with_actions.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/query/correct_query_with_actions.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/query/correct_query_with_actions.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/query/correct_query_with_actions.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/query/get_errors_with_commands.test.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/query/get_errors_with_commands.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/query/get_errors_with_commands.test.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/query/get_errors_with_commands.test.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/query/get_errors_with_commands.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/query/get_errors_with_commands.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/query/get_errors_with_commands.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/query/get_errors_with_commands.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/query/index.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/query/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/query/index.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/query/index.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/query/validate_esql_query.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/query/validate_esql_query.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/query/validate_esql_query.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/query/validate_esql_query.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/visualize_esql.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/visualize_esql.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/server/functions/visualize_esql.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/functions/visualize_esql.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/server/index.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/server/index.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/index.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/server/plugin.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/plugin.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/server/plugin.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/plugin.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/server/rule_connector/convert_schema_to_open_api.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/rule_connector/convert_schema_to_open_api.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/server/rule_connector/convert_schema_to_open_api.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/rule_connector/convert_schema_to_open_api.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/server/rule_connector/index.test.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/rule_connector/index.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/server/rule_connector/index.test.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/rule_connector/index.test.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/server/rule_connector/index.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/rule_connector/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/server/rule_connector/index.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/rule_connector/index.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/server/types.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/server/types.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/types.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/server/util/get_log_sources.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/util/get_log_sources.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/server/util/get_log_sources.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/server/util/get_log_sources.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_app/tsconfig.json b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.json similarity index 96% rename from x-pack/plugins/observability_solution/observability_ai_assistant_app/tsconfig.json rename to x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.json index cc104cddc7288..7e3de7940f22b 100644 --- a/x-pack/plugins/observability_solution/observability_ai_assistant_app/tsconfig.json +++ b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.json @@ -1,10 +1,10 @@ { - "extends": "../../../../tsconfig.base.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types" }, "include": [ - "../../../typings/**/*", + "../../../../typings/**/*", "common/**/*", "public/**/*", "scripts/**/*", diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/README.md b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/README.md similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/README.md rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/README.md diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/common/ui_settings.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/common/ui_settings.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/common/ui_settings.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/common/ui_settings.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/jest.config.js b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/jest.config.js similarity index 58% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/jest.config.js rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/jest.config.js index bbe2bd0b6266e..99b1d23eb5bd4 100644 --- a/x-pack/plugins/observability_solution/observability_ai_assistant_management/jest.config.js +++ b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/jest.config.js @@ -7,10 +7,10 @@ module.exports = { preset: '@kbn/test', - rootDir: '../../../..', - roots: ['/x-pack/plugins/observability_solution/observability_ai_assistant_management'], + rootDir: '../../../../..', + roots: ['/x-pack/solutions/observability/plugins/observability_ai_assistant_management'], coverageReporters: ['text', 'html'], collectCoverageFrom: [ - '/x-pack/plugins/observability_solution/observability_ai_assistant_management/{common,public,server}/**/*.{js,ts,tsx}', + '/x-pack/solutions/observability/plugins/observability_ai_assistant_management/{common,public,server}/**/*.{js,ts,tsx}', ], }; diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/kibana.jsonc b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/kibana.jsonc similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/kibana.jsonc rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/kibana.jsonc diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/app.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/app.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/app.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/app.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/constants.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/constants.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/constants.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/constants.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/context/app_context.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/context/app_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/context/app_context.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/context/app_context.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/helpers/categorize_entries.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/helpers/categorize_entries.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/helpers/categorize_entries.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/helpers/categorize_entries.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/helpers/test_helper.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/helpers/test_helper.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/helpers/test_helper.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/helpers/test_helper.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/hooks/use_app_context.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_app_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/hooks/use_app_context.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_app_context.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/hooks/use_create_knowledge_base_entry.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_create_knowledge_base_entry.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/hooks/use_create_knowledge_base_entry.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_create_knowledge_base_entry.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/hooks/use_create_knowledge_base_user_instruction.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_create_knowledge_base_user_instruction.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/hooks/use_create_knowledge_base_user_instruction.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_create_knowledge_base_user_instruction.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/hooks/use_delete_knowledge_base_entry.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_delete_knowledge_base_entry.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/hooks/use_delete_knowledge_base_entry.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_delete_knowledge_base_entry.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/hooks/use_get_knowledge_base_entries.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_get_knowledge_base_entries.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/hooks/use_get_knowledge_base_entries.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_get_knowledge_base_entries.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/hooks/use_get_product_doc_status.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_get_product_doc_status.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/hooks/use_get_product_doc_status.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_get_product_doc_status.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/hooks/use_get_user_instructions.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_get_user_instructions.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/hooks/use_get_user_instructions.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_get_user_instructions.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/hooks/use_import_knowledge_base_entries.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_import_knowledge_base_entries.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/hooks/use_import_knowledge_base_entries.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_import_knowledge_base_entries.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/hooks/use_install_product_doc.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_install_product_doc.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/hooks/use_install_product_doc.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_install_product_doc.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/hooks/use_kibana.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_kibana.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/hooks/use_kibana.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_kibana.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/hooks/use_observability_management_params.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_observability_management_params.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/hooks/use_observability_management_params.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_observability_management_params.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/hooks/use_observability_management_router.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_observability_management_router.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/hooks/use_observability_management_router.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_observability_management_router.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/hooks/use_uninstall_product_doc.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_uninstall_product_doc.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/hooks/use_uninstall_product_doc.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_uninstall_product_doc.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/index.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/index.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/index.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/plugin.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/plugin.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/plugin.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/plugin.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/knowledge_base_bulk_import_flyout.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/knowledge_base_bulk_import_flyout.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/knowledge_base_bulk_import_flyout.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/knowledge_base_bulk_import_flyout.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/knowledge_base_category_flyout.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/knowledge_base_category_flyout.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/knowledge_base_category_flyout.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/knowledge_base_category_flyout.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/knowledge_base_edit_manual_entry_flyout.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/knowledge_base_edit_manual_entry_flyout.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/knowledge_base_edit_manual_entry_flyout.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/knowledge_base_edit_manual_entry_flyout.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/knowledge_base_edit_user_instruction_flyout.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/knowledge_base_edit_user_instruction_flyout.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/knowledge_base_edit_user_instruction_flyout.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/knowledge_base_edit_user_instruction_flyout.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/knowledge_base_tab.test.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/knowledge_base_tab.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/knowledge_base_tab.test.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/knowledge_base_tab.test.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/knowledge_base_tab.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/knowledge_base_tab.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/knowledge_base_tab.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/knowledge_base_tab.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/redirect_to_home_if_unauthorized.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/redirect_to_home_if_unauthorized.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/redirect_to_home_if_unauthorized.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/redirect_to_home_if_unauthorized.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/search_connector_tab.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/search_connector_tab.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/search_connector_tab.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/search_connector_tab.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/settings_page.test.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/settings_page.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/settings_page.test.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/settings_page.test.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/settings_page.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/settings_page.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/settings_page.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/settings_page.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/settings_tab/product_doc_entry.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/settings_tab/product_doc_entry.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/settings_tab/product_doc_entry.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/settings_tab/product_doc_entry.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/settings_tab/settings_tab.test.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/settings_tab/settings_tab.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/settings_tab/settings_tab.test.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/settings_tab/settings_tab.test.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/settings_tab/settings_tab.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/settings_tab/settings_tab.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/settings_tab/settings_tab.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/settings_tab/settings_tab.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/settings_tab/ui_settings.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/settings_tab/ui_settings.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/components/settings_tab/ui_settings.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/components/settings_tab/ui_settings.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/config.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/config.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/public/routes/config.tsx rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/routes/config.tsx diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/server/config.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/server/config.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/server/config.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/server/config.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/server/index.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/server/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/server/index.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/server/index.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/server/plugin.ts b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/server/plugin.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/server/plugin.ts rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/server/plugin.ts diff --git a/x-pack/plugins/observability_solution/observability_ai_assistant_management/tsconfig.json b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.json similarity index 94% rename from x-pack/plugins/observability_solution/observability_ai_assistant_management/tsconfig.json rename to x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.json index 7b78d52c64806..982fda386cc1e 100644 --- a/x-pack/plugins/observability_solution/observability_ai_assistant_management/tsconfig.json +++ b/x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../../tsconfig.base.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types" }, diff --git a/yarn.lock b/yarn.lock index 6fb2b63c27a5f..3e48eb0ae86f2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3848,7 +3848,7 @@ version "0.0.0" uid "" -"@kbn/ai-assistant-management-plugin@link:src/plugins/ai_assistant_management/selection": +"@kbn/ai-assistant-management-plugin@link:src/platform/plugins/shared/ai_assistant_management/selection": version "0.0.0" uid "" @@ -5240,7 +5240,7 @@ version "0.0.0" uid "" -"@kbn/data-usage-plugin@link:x-pack/plugins/data_usage": +"@kbn/data-usage-plugin@link:x-pack/platform/plugins/private/data_usage": version "0.0.0" uid "" @@ -6448,23 +6448,23 @@ version "0.0.0" uid "" -"@kbn/observability-ai-assistant-app-plugin@link:x-pack/plugins/observability_solution/observability_ai_assistant_app": +"@kbn/observability-ai-assistant-app-plugin@link:x-pack/solutions/observability/plugins/observability_ai_assistant_app": version "0.0.0" uid "" -"@kbn/observability-ai-assistant-management-plugin@link:x-pack/plugins/observability_solution/observability_ai_assistant_management": +"@kbn/observability-ai-assistant-management-plugin@link:x-pack/solutions/observability/plugins/observability_ai_assistant_management": version "0.0.0" uid "" -"@kbn/observability-ai-assistant-plugin@link:x-pack/plugins/observability_solution/observability_ai_assistant": +"@kbn/observability-ai-assistant-plugin@link:x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant": version "0.0.0" uid "" -"@kbn/observability-ai-common@link:x-pack/packages/observability/observability_ai/observability_ai_common": +"@kbn/observability-ai-common@link:x-pack/solutions/observability/packages/observability_ai/observability_ai_common": version "0.0.0" uid "" -"@kbn/observability-ai-server@link:x-pack/packages/observability/observability_ai/observability_ai_server": +"@kbn/observability-ai-server@link:x-pack/solutions/observability/packages/observability_ai/observability_ai_server": version "0.0.0" uid "" From 96573a40c1d9b2429dafd1f88abda3a9a9c0171a Mon Sep 17 00:00:00 2001 From: Julia Bardi <90178898+juliaElastic@users.noreply.github.com> Date: Thu, 12 Dec 2024 11:39:32 +0100 Subject: [PATCH 08/52] [Fleet] added tour component, removed search (#203741) ## Summary Closes https://github.com/elastic/ingest-dev/issues/4324 - Added tour component for Export CSV feature, it goes away on`Close tour` - Removed search in column selection - Tried a few ways to fix the search not to remove the existing selection (see in https://github.com/elastic/kibana/pull/203103), but doesn't seem possible with EuiTable. Removed for now as there aren't that many columns, and don't want to leave it in as is. image image --- .../components/agent_export_csv_tour.tsx | 68 +++++++++++++++++++ .../components/agents_selection_status.tsx | 4 +- .../agents/agent_list_page/index.test.tsx | 6 ++ .../agent_export_csv_modal/index.tsx | 9 +-- .../plugins/fleet/public/constants/index.ts | 1 + 5 files changed, 79 insertions(+), 9 deletions(-) create mode 100644 x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/agent_export_csv_tour.tsx diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/agent_export_csv_tour.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/agent_export_csv_tour.tsx new file mode 100644 index 0000000000000..c0e9e4f5427bb --- /dev/null +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/agent_export_csv_tour.tsx @@ -0,0 +1,68 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { EuiText, EuiTourStep } from '@elastic/eui'; +import React, { useState } from 'react'; +import { FormattedMessage } from '@kbn/i18n-react'; + +import type { TOUR_STORAGE_CONFIG } from '../../../../constants'; +import { TOUR_STORAGE_KEYS } from '../../../../constants'; +import { useStartServices } from '../../../../hooks'; + +export const AgentExportCSVTour: React.FC<{}> = () => { + const { storage, uiSettings } = useStartServices(); + + const [tourState, setTourState] = useState({ isOpen: true }); + + const isTourHidden = + uiSettings.get('hideAnnouncements', false) || + ( + storage.get(TOUR_STORAGE_KEYS.AGENT_EXPORT_CSV) as + | TOUR_STORAGE_CONFIG['AGENT_EXPORT_CSV'] + | undefined + )?.active === false; + + const setTourAsHidden = () => { + storage.set(TOUR_STORAGE_KEYS.AGENT_EXPORT_CSV, { + active: false, + } as TOUR_STORAGE_CONFIG['AGENT_EXPORT_CSV']); + }; + + const onFinish = () => { + setTourState({ isOpen: false }); + setTourAsHidden(); + }; + + return ( + <> + + + + } + isStepOpen={!isTourHidden && tourState.isOpen} + onFinish={onFinish} + minWidth={360} + maxWidth={360} + step={1} + stepsTotal={1} + title={ + + } + anchorPosition="upLeft" + anchor="#agentListSelectionText" + /> + + ); +}; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/agents_selection_status.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/agents_selection_status.tsx index 618a7a6b8e112..160e29737bf78 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/agents_selection_status.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/agents_selection_status.tsx @@ -14,6 +14,7 @@ import { SO_SEARCH_LIMIT } from '../../../../constants'; import type { Agent } from '../../../../types'; import type { SelectionMode } from './types'; +import { AgentExportCSVTour } from './agent_export_csv_tour'; const Divider = styled.div` width: 0; @@ -62,7 +63,7 @@ export const AgentsSelectionStatus: React.FunctionComponent<{ <> - + {totalAgents > SO_SEARCH_LIMIT ? ( )} + {showSelectionInfoAndOptions ? ( <> diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/index.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/index.test.tsx index 985e709ba22d0..319c2ee5455d8 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/index.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/index.test.tsx @@ -69,6 +69,12 @@ jest.mock('../../../hooks', () => ({ cloud: {}, data: { dataViews: { getFieldsForWildcard: jest.fn() } }, docLinks: { links: { kibana: { secureSavedObject: 'my-link' } } }, + uiSettings: { + get: jest.fn(), + }, + storage: { + get: jest.fn(), + }, }), useBreadcrumbs: jest.fn(), useLink: jest.fn().mockReturnValue({ getHref: jest.fn() }), diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_export_csv_modal/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_export_csv_modal/index.tsx index 901a90d5dea68..e289f660eb007 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_export_csv_modal/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_export_csv_modal/index.tsx @@ -6,7 +6,7 @@ */ import React, { useState } from 'react'; -import type { EuiBasicTableColumn, EuiSearchBarProps, EuiTableSelectionType } from '@elastic/eui'; +import type { EuiBasicTableColumn, EuiTableSelectionType } from '@elastic/eui'; import { EuiConfirmModal, EuiFlexGroup, @@ -67,12 +67,6 @@ export const AgentExportCSVModal: React.FunctionComponent = ({ initialSelected: INITIAL_AGENT_FIELDS_TO_EXPORT, }; - const search: EuiSearchBarProps = { - box: { - incremental: true, - }, - }; - return ( = ({ items={items} itemId="field" columns={columns} - search={search} selection={selectionValue} /> diff --git a/x-pack/plugins/fleet/public/constants/index.ts b/x-pack/plugins/fleet/public/constants/index.ts index 4fbe799aa7337..059bae6ea7bff 100644 --- a/x-pack/plugins/fleet/public/constants/index.ts +++ b/x-pack/plugins/fleet/public/constants/index.ts @@ -54,6 +54,7 @@ export const TOUR_STORAGE_KEYS = { ADD_AGENT_POPOVER: 'fleet.addAgentPopoverTour', INACTIVE_AGENTS: 'fleet.inactiveAgentsTour', GRANULAR_PRIVILEGES: 'fleet.granularPrivileges', + AGENT_EXPORT_CSV: 'fleet.agentExportCSVTour', }; export interface TourConfig { From 9edadfdc4637b2fccc925677f9977fde62849608 Mon Sep 17 00:00:00 2001 From: Stratoula Kalafateli Date: Thu, 12 Dec 2024 12:08:29 +0100 Subject: [PATCH 09/52] [ES|QL] Fixes the multiple comments bug (#203966) ## Summary ![meow](https://github.com/user-attachments/assets/aea64a3c-97de-417a-bd67-5434e70cf22a) Sometimes commenting multiple lines doesnt work as expected. This PR fixes it. The problem was that we were (un)commenting line by line and this apparently can be buggy. With this PR we gather the edits and apply all of them in one `executeEdits ` --- .../kbn-esql-editor/src/esql_editor.tsx | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/platform/packages/private/kbn-esql-editor/src/esql_editor.tsx b/src/platform/packages/private/kbn-esql-editor/src/esql_editor.tsx index eb3da01abd505..628bab839bdb9 100644 --- a/src/platform/packages/private/kbn-esql-editor/src/esql_editor.tsx +++ b/src/platform/packages/private/kbn-esql-editor/src/esql_editor.tsx @@ -169,25 +169,25 @@ export const ESQLEditor = memo(function ESQLEditor({ const currentSelection = editor1?.current?.getSelection(); const startLineNumber = currentSelection?.startLineNumber; const endLineNumber = currentSelection?.endLineNumber; + const edits = []; if (startLineNumber && endLineNumber) { for (let lineNumber = startLineNumber; lineNumber <= endLineNumber; lineNumber++) { const lineContent = editorModel.current?.getLineContent(lineNumber) ?? ''; const hasComment = lineContent?.startsWith('//'); const commentedLine = hasComment ? lineContent?.replace('//', '') : `//${lineContent}`; - // executeEdits allows to keep edit in history - editor1.current?.executeEdits('comment', [ - { - range: { - startLineNumber: lineNumber, - startColumn: 0, - endLineNumber: lineNumber, - endColumn: (lineContent?.length ?? 0) + 1, - }, - text: commentedLine, + edits.push({ + range: { + startLineNumber: lineNumber, + startColumn: 0, + endLineNumber: lineNumber, + endColumn: (lineContent?.length ?? 0) + 1, }, - ]); + text: commentedLine, + }); } + // executeEdits allows to keep edit in history + editor1.current?.executeEdits('comment', edits); } }, []); From 6921de34988b43614438f7ca318ed9f3f109b1d7 Mon Sep 17 00:00:00 2001 From: Stratoula Kalafateli Date: Thu, 12 Dec 2024 12:08:55 +0100 Subject: [PATCH 10/52] [ES|QL] Improves the comments color in dark mode (#203965) ## Summary Closes https://github.com/elastic/kibana/issues/202152 Fixes the comments color in dark mode image --- packages/kbn-monaco/src/esql/lib/esql_theme.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kbn-monaco/src/esql/lib/esql_theme.ts b/packages/kbn-monaco/src/esql/lib/esql_theme.ts index 67a4a518a0d63..b10c924992f05 100644 --- a/packages/kbn-monaco/src/esql/lib/esql_theme.ts +++ b/packages/kbn-monaco/src/esql/lib/esql_theme.ts @@ -156,7 +156,7 @@ export const buildESQLTheme = ({ 'closing_metrics_line_comment', 'closing_metrics_multiline_comment', ], - euiThemeVars.euiColorDisabled + euiThemeVars.euiTextSubduedColor ), // values From 50068fd9bae6791594bd9d25cfef1f07d2b5ceab Mon Sep 17 00:00:00 2001 From: Gerard Soldevila Date: Thu, 12 Dec 2024 12:18:10 +0100 Subject: [PATCH 11/52] Sustainable Kibana Architecture: Move modules under `x-pack/packages/security-solution` (#203522) ## Summary This PR aims at relocating some of the Kibana modules (plugins and packages) into a new folder structure, according to the _Sustainable Kibana Architecture_ initiative. > [!IMPORTANT] > * We kindly ask you to: > * Manually fix the errors in the error section below (if there are any). > * Search for the `packages[\/\\]` and `plugins[\/\\]` patterns in the source code (Babel and Eslint config files), and update them appropriately. > * Manually review `.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that any CI pipeline customizations continue to be correctly applied after the changed path names > * Review all of the updated files, specially the `.ts` and `.js` files listed in the sections below, as some of them contain relative paths that have been updated. > * Think of potential impact of the move, including tooling and configuration files that can be pointing to the relocated modules. E.g.: > * customised eslint rules > * docs pointing to source code > [!NOTE] > This PR has been auto-generated. > Do not attempt to push any changes unless you know what you are doing. > Please use [#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E) Slack channel for feedback. #### 7 package(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/ecs-data-quality-dashboard` | `x-pack/solutions/security/packages/ecs_data_quality_dashboard` | | `@kbn/security-solution-distribution-bar` | `x-pack/solutions/security/packages/distribution_bar` | | `@kbn/security-solution-features` | `x-pack/solutions/security/packages/features` | | `@kbn/security-solution-navigation` | `x-pack/solutions/security/packages/navigation` | | `@kbn/security-solution-side-nav` | `x-pack/solutions/security/packages/side_nav` | | `@kbn/security-solution-upselling` | `x-pack/solutions/security/packages/upselling` | | `@kbn/securitysolution-data-table` | `x-pack/solutions/security/packages/data_table` |
Updated references ``` ./.eslintrc.js ./package.json ./packages/kbn-repo-packages/package-map.json ./packages/kbn-ts-projects/config-paths.json ./tsconfig.base.json ./tsconfig.base.type_check.json ./tsconfig.refs.json ./x-pack/solutions/security/packages/data_table/jest.config.js ./x-pack/solutions/security/packages/distribution_bar/jest.config.js ./x-pack/solutions/security/packages/ecs_data_quality_dashboard/jest.config.js ./x-pack/solutions/security/packages/features/jest.config.js ./x-pack/solutions/security/packages/navigation/jest.config.js ./x-pack/solutions/security/packages/side_nav/jest.config.js ./x-pack/solutions/security/packages/upselling/jest.config.js ./x-pack/solutions/security/plugins/security_solution_serverless/tsconfig.type_check.json ./yarn.lock ```
Updated relative paths ``` x-pack/solutions/security/packages/data_table/jest.config.js:11 x-pack/solutions/security/packages/data_table/tsconfig.json:2 x-pack/solutions/security/packages/distribution_bar/jest.config.js:11 x-pack/solutions/security/packages/distribution_bar/tsconfig.json:2 x-pack/solutions/security/packages/ecs_data_quality_dashboard/jest.config.js:21 x-pack/solutions/security/packages/ecs_data_quality_dashboard/tsconfig.json:2 x-pack/solutions/security/packages/features/jest.config.js:10 x-pack/solutions/security/packages/features/tsconfig.json:2 x-pack/solutions/security/packages/navigation/jest.config.js:10 x-pack/solutions/security/packages/navigation/tsconfig.json:2 x-pack/solutions/security/packages/side_nav/jest.config.js:10 x-pack/solutions/security/packages/side_nav/src/solution_side_nav.stories.tsx:11 x-pack/solutions/security/packages/side_nav/tsconfig.json:2 x-pack/solutions/security/packages/upselling/jest.config.js:10 x-pack/solutions/security/packages/upselling/tsconfig.json:2 ```
Script errors ``` ```
--------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Angela Chuang Co-authored-by: Karen Grigoryan --- .eslintrc.js | 14 ++++---- .github/CODEOWNERS | 18 +++++----- .i18nrc.json | 2 +- package.json | 16 ++++----- .../styled_components_files.js | 2 +- src/dev/storybook/aliases.ts | 2 +- tsconfig.base.json | 32 +++++++++--------- x-pack/packages/security-solution/README.mdx | 10 ------ .../ecs_data_quality_dashboard/jest.config.js | 26 -------------- .../storybook/config/kibana.jsonc | 5 --- .../security/packages}/data_table/README.md | 0 .../common/types/data_table/index.ts | 0 .../data_table/common/types/detail_panel.ts | 0 .../common/types/header_actions/index.ts | 0 .../data_table/common/types/index.ts | 0 .../data_table/common/types/risk_scores.ts | 0 .../common/types/session_view/index.ts | 0 .../column_headers/default_headers.ts | 0 .../column_headers/helpers.test.tsx | 0 .../data_table/column_headers/helpers.tsx | 0 .../data_table/column_headers/translations.ts | 0 .../components/data_table/constants.ts | 0 .../data_table/data_table.stories.tsx | 0 .../components/data_table/helpers.test.tsx | 0 .../components/data_table/helpers.tsx | 0 .../components/data_table/index.test.tsx | 0 .../components/data_table/index.tsx | 0 .../components/data_table/pagination.ts | 0 .../data_table/components/data_table/types.ts | 0 .../data_table/components/data_table/utils.ts | 0 .../components/toolbar/bulk_actions/types.ts | 0 .../components/toolbar/unit/index.ts | 0 .../components/toolbar/unit/styles.tsx | 0 .../components/toolbar/unit/translations.ts | 0 .../data_table/hooks/use_selector.tsx | 0 .../security/packages}/data_table/index.ts | 0 .../packages/data_table}/jest.config.js | 4 +-- .../packages}/data_table/kibana.jsonc | 0 .../demo_data/endpoint/library_load_event.ts | 0 ...cess_execution_malware_prevention_alert.ts | 0 .../endpoint/registry_modification_event.ts | 0 .../data_table/mock/demo_data/timeline.ts | 0 .../packages}/data_table/mock/global_state.ts | 0 .../packages}/data_table/mock/header.ts | 0 .../data_table/mock/mock_local_storage.ts | 0 .../packages}/data_table/mock/mock_source.ts | 0 .../data_table/mock/mock_timeline_data.ts | 0 .../data_table/mock/test_providers.tsx | 0 .../packages}/data_table/package.json | 0 .../data_table/store/data_table/actions.ts | 0 .../data_table/store/data_table/defaults.ts | 0 .../store/data_table/helpers.test.tsx | 0 .../data_table/store/data_table/helpers.ts | 0 .../data_table/store/data_table/index.ts | 0 .../data_table/store/data_table/inputs.ts | 0 .../data_table/store/data_table/model.ts | 0 .../data_table/store/data_table/reducer.ts | 0 .../data_table/store/data_table/selectors.ts | 0 .../store/data_table/translations.ts | 0 .../data_table/store/data_table/types.ts | 0 .../packages}/data_table/tsconfig.json | 2 +- .../data_table/utils/use_mount_appended.ts | 0 .../packages}/distribution_bar/README.md | 0 .../packages}/distribution_bar/index.ts | 0 .../packages}/distribution_bar/jest.config.js | 4 +-- .../packages}/distribution_bar/kibana.jsonc | 0 .../packages}/distribution_bar/package.json | 0 .../src/distribution_bar.stories.tsx | 0 .../src/distribution_bar.test.tsx | 0 .../distribution_bar/src/distribution_bar.tsx | 0 .../packages}/distribution_bar/tsconfig.json | 2 +- .../ecs_data_quality_dashboard/README.md | 0 .../hooks/use_add_to_new_case/index.tsx | 0 .../hooks/use_add_to_new_case/translations.ts | 0 .../actions/add_to_new_case/index.test.tsx | 0 .../actions/add_to_new_case/index.tsx | 0 .../actions/chat/index.test.tsx | 0 .../data_quality_panel/actions/chat/index.tsx | 0 .../actions/chat/translations.ts | 0 .../actions/copy_to_clipboard/index.test.tsx | 0 .../actions/copy_to_clipboard/index.tsx | 0 .../data_quality_panel/actions/index.test.tsx | 0 .../impl/data_quality_panel/actions/index.tsx | 0 .../data_quality_panel/actions/styles.tsx | 0 .../impl/data_quality_panel/constants.ts | 0 .../contexts/indices_check_context/index.tsx | 0 .../contexts/results_rollup_context/index.tsx | 0 .../data_quality_context/index.test.tsx | 0 .../data_quality_context/index.tsx | 0 .../ilm_phases_empty_prompt/index.test.tsx | 0 .../ilm_phases_empty_prompt/index.tsx | 0 .../ilm_phases_empty_prompt/translations.ts | 0 .../data_quality_details/index.test.tsx | 0 .../data_quality_details/index.tsx | 0 .../indices_details/constants.ts | 0 .../index.tsx | 0 .../indices_details/index.test.tsx | 0 .../indices_details/index.tsx | 0 .../indices_details/pattern/constants.ts | 0 .../historical_results_context/index.tsx | 0 .../historical_results_context/types.ts | 0 .../pattern/error_empty_prompt/index.test.tsx | 0 .../pattern/error_empty_prompt/index.tsx | 0 .../historical_results_tour/index.test.tsx | 0 .../pattern/historical_results_tour/index.tsx | 0 .../historical_results_tour/translations.ts | 0 .../hooks/use_historical_results/constants.ts | 0 .../use_historical_results/index.test.tsx | 0 .../hooks/use_historical_results/index.tsx | 0 .../fetch_historical_results_reducer.test.ts | 0 .../fetch_historical_results_reducer.ts | 0 .../hooks/use_historical_results/types.ts | 0 .../utils/fetch_historical_results.test.ts | 0 .../utils/fetch_historical_results.ts | 0 .../hooks/use_ilm_explain/index.test.tsx | 0 .../pattern/hooks/use_ilm_explain/index.tsx | 0 .../pattern/hooks/use_stats/index.test.tsx | 0 .../pattern/hooks/use_stats/index.tsx | 0 .../indices_details/pattern/index.test.tsx | 0 .../indices_details/pattern/index.tsx | 0 .../check_fields_tabs/index.test.tsx | 0 .../check_fields_tabs/index.tsx | 0 .../check_fields_tabs/types.ts | 0 .../check_success_empty_prompt/index.test.tsx | 0 .../check_success_empty_prompt/index.tsx | 0 .../translations.ts | 0 .../compare_fields_table/index.test.tsx | 0 .../compare_fields_table/index.tsx | 0 .../pattern/index_check_flyout/constants.ts | 0 .../ecs_allowed_values/index.test.tsx | 0 .../ecs_allowed_values/index.tsx | 0 .../empty_prompt_body/index.test.tsx | 0 .../empty_prompt_body/index.tsx | 0 .../empty_prompt_title/index.test.tsx | 0 .../empty_prompt_title/index.tsx | 0 .../historical_results/constants.ts | 0 .../historical_check_fields/index.test.tsx | 0 .../historical_check_fields/index.tsx | 0 ...mily_fields_from_historical_result.test.ts | 0 ...me_family_fields_from_historical_result.ts | 0 .../historical_result/index.test.tsx | 0 .../historical_result/index.tsx | 0 .../index.test.tsx | 0 .../legacy_historical_check_fields/index.tsx | 0 .../translations.ts | 0 .../historical_result/styles.tsx | 0 .../is_non_legacy_historical_result.test.ts | 0 .../utils/is_non_legacy_historical_result.ts | 0 .../historical_results_list/index.test.tsx | 0 .../historical_results_list/index.tsx | 0 .../historical_results_list/styles.tsx | 0 .../historical_results_list/translations.ts | 0 .../index.tsx | 0 .../index.tsx | 0 .../index.tsx | 0 ...torical_results_pagination_reducer.test.ts | 0 .../historical_results_pagination_reducer.ts | 0 .../historical_results/index.test.tsx | 0 .../historical_results/index.tsx | 0 ...h_historical_results_query_reducer.test.ts | 0 .../fetch_historical_results_query_reducer.ts | 0 .../historical_results/styles.tsx | 0 .../historical_results/translations.ts | 0 .../historical_results/types.ts | 0 .../use_current_window_width/index.test.tsx | 0 .../hooks/use_current_window_width/index.tsx | 0 .../incompatible_callout/index.test.tsx | 0 .../incompatible_callout/index.tsx | 0 .../incompatible_tab/index.tsx | 0 .../get_incompatible_table_columns.test.tsx | 0 .../utils/get_incompatible_table_columns.tsx | 0 .../pattern/index_check_flyout/index.test.tsx | 0 .../pattern/index_check_flyout/index.tsx | 0 .../index_invalid_values/index.test.tsx | 0 .../index_invalid_values/index.tsx | 0 .../index_stats_panel/index.test.tsx | 0 .../index_stats_panel/index.tsx | 0 .../latest_results/index.test.tsx | 0 .../latest_results/index.tsx | 0 .../latest_check_fields/all_tab/index.tsx | 0 .../utils/get_all_table_columns.test.tsx | 0 .../all_tab/utils/get_all_table_columns.tsx | 0 .../custom_tab/custom_callout/index.test.tsx | 0 .../custom_tab/custom_callout/index.tsx | 0 .../latest_check_fields/custom_tab/index.tsx | 0 .../custom_tab/translations.ts | 0 .../utils/get_custom_table_columns.test.tsx | 0 .../utils/get_custom_table_columns.tsx | 0 .../custom_tab/utils/markdown.test.ts | 0 .../custom_tab/utils/markdown.ts | 0 .../ecs_compliant_tab/index.tsx | 0 .../ecs_compliant_tab/translations.ts | 0 .../get_ecs_compliant_table_columns.test.tsx | 0 .../utils/get_ecs_compliant_table_columns.tsx | 0 .../latest_check_fields/index.test.tsx | 0 .../latest_check_fields/index.tsx | 0 .../sticky_actions/index.tsx | 0 .../get_ecs_compliant_badge_color.test.ts | 0 .../utils/get_ecs_compliant_badge_color.ts | 0 .../utils/is_timestamp_field_missing.test.ts | 0 .../utils/is_timestamp_field_missing.ts | 0 .../same_family/index.test.tsx | 0 .../index_check_flyout/same_family/index.tsx | 0 .../same_family_callout/index.test.tsx | 0 .../same_family_callout/index.tsx | 0 .../same_family_tab/index.tsx | 0 .../get_same_family_table_columns.test.tsx | 0 .../utils/get_same_family_table_columns.tsx | 0 .../same_family_tab/utils/markdown.test.ts | 0 .../same_family_tab/utils/markdown.ts | 0 .../pattern/index_check_flyout/styles.tsx | 0 .../index_check_flyout/translations.ts | 0 .../pattern/index_check_flyout/types.ts | 0 .../utils/get_formatted_check_time.test.ts | 0 .../utils/get_formatted_check_time.ts | 0 .../pattern/index_result_badge/index.test.tsx | 0 .../pattern/index_result_badge/index.tsx | 0 .../pattern/loading_empty_prompt/index.tsx | 0 .../pattern/pattern_summary/index.tsx | 0 .../ilm_phase_counts/index.test.tsx | 0 .../pattern_label/ilm_phase_counts/index.tsx | 0 .../ilm_phase_counts/translations.ts | 0 .../get_pattern_ilm_phase_description.test.ts | 0 .../get_pattern_ilm_phase_description.ts | 0 .../pattern_summary/pattern_label/index.tsx | 0 .../pattern_label/translations.ts | 0 .../utils/get_pattern_result_tooltip.test.ts | 0 .../utils/get_pattern_result_tooltip.ts | 0 .../pattern_label/utils/show_result.test.ts | 0 .../pattern_label/utils/show_result.ts | 0 .../pattern/pattern_summary/translations.ts | 0 .../remote_clusters_callout/index.test.tsx | 0 .../pattern/remote_clusters_callout/index.tsx | 0 .../remote_clusters_callout/translations.ts | 0 .../indices_details/pattern/styles.tsx | 0 .../pattern/summary_table/index.test.tsx | 0 .../pattern/summary_table/index.tsx | 0 .../pattern/summary_table/translations.ts | 0 .../summary_table/utils/columns.test.tsx | 0 .../pattern/summary_table/utils/columns.tsx | 0 .../utils/get_show_pagination.test.ts | 0 .../utils/get_show_pagination.ts | 0 .../indices_details/pattern/translations.ts | 0 .../utils/get_check_text_color.test.ts | 0 .../pattern/utils/get_check_text_color.ts | 0 .../utils/get_index_result_tooltip.test.ts | 0 .../pattern/utils/get_index_result_tooltip.ts | 0 .../pattern/utils/get_page_index.test.ts | 0 .../pattern/utils/get_page_index.ts | 0 .../pattern/utils/ilm_explain.test.ts | 0 .../pattern/utils/ilm_explain.ts | 0 .../utils/should_create_index_names.test.ts | 0 .../utils/should_create_index_names.ts | 0 .../should_create_pattern_rollup.test.ts | 0 .../utils/should_create_pattern_rollup.ts | 0 .../pattern/utils/stats.test.ts | 0 .../indices_details/pattern/utils/stats.ts | 0 .../storage_details/index.test.tsx | 0 .../storage_details/index.tsx | 0 .../chart_legend_item/index.tsx | 0 .../storage_treemap/constants.ts | 0 .../storage_treemap/index.test.tsx | 0 .../storage_details/storage_treemap/index.tsx | 0 .../storage_treemap/no_data/index.test.tsx | 0 .../storage_treemap/no_data/index.tsx | 0 .../storage_treemap/translations.ts | 0 .../utils/get_fill_color.test.ts | 0 .../storage_treemap/utils/get_fill_color.ts | 0 .../get_layers_multi_dimensional.test.ts | 0 .../utils/get_layers_multi_dimensional.ts | 0 .../utils/get_legend_items.test.ts | 0 .../storage_treemap/utils/get_legend_items.ts | 0 .../get_path_to_flattened_bucket_map.test.ts | 0 .../utils/get_path_to_flattened_bucket_map.ts | 0 .../storage_treemap/utils/stats.test.ts | 0 .../storage_treemap/utils/stats.ts | 0 .../storage_details/translations.ts | 0 .../storage_details/types.ts | 0 .../utils/get_flattened_buckets.test.ts | 0 .../utils/get_flattened_buckets.ts | 0 .../ilm_phase_filter/index.test.tsx | 0 .../ilm_phase_filter/index.tsx | 0 .../ilm_phase_filter/styles.tsx | 0 .../data_quality_summary/index.test.tsx | 0 .../data_quality_summary/index.tsx | 0 .../summary_actions/check_all/index.test.tsx | 0 .../summary_actions/check_all/index.tsx | 0 .../utils/get_all_indices_to_check.test.ts | 0 .../utils/get_all_indices_to_check.ts | 0 .../errors_viewer/helpers.test.tsx | 0 .../errors_popover/errors_viewer/helpers.tsx | 0 .../errors_viewer/index.test.tsx | 0 .../errors_popover/errors_viewer/index.tsx | 0 .../errors_popover/index.test.tsx | 0 .../check_status/errors_popover/index.tsx | 0 .../errors_popover/translations.ts | 0 .../check_status/index.test.tsx | 0 .../summary_actions/check_status/index.tsx | 0 .../summary_actions/index.test.tsx | 0 .../summary_actions/index.tsx | 0 .../summary_actions/translations.ts | 0 .../utils/get_error_summaries.test.ts | 0 .../utils/get_error_summaries.ts | 0 .../summary_actions/utils/markdown.test.ts | 0 .../summary_actions/utils/markdown.ts | 0 .../use_abort_controller_ref/index.test.tsx | 0 .../hooks/use_abort_controller_ref/index.tsx | 0 .../hooks/use_indices_check/index.test.tsx | 0 .../hooks/use_indices_check/index.tsx | 0 .../hooks/use_indices_check/reducer.ts | 0 .../hooks/use_indices_check/types.ts | 0 .../hooks/use_is_mounted_ref/index.test.tsx | 0 .../hooks/use_is_mounted_ref/index.tsx | 0 .../hooks/use_results_rollup/constants.ts | 0 .../use_stored_pattern_results/index.test.tsx | 0 .../use_stored_pattern_results/index.tsx | 0 .../hooks/use_results_rollup/index.test.tsx | 0 .../hooks/use_results_rollup/index.tsx | 0 .../hooks/use_results_rollup/types.ts | 0 ...n_rollups_with_latest_check_result.test.ts | 0 ...attern_rollups_with_latest_check_result.ts | 0 .../use_results_rollup/utils/metadata.test.ts | 0 .../use_results_rollup/utils/metadata.ts | 0 .../use_results_rollup/utils/stats.test.ts | 0 .../hooks/use_results_rollup/utils/stats.ts | 0 .../use_results_rollup/utils/storage.test.ts | 0 .../hooks/use_results_rollup/utils/storage.ts | 0 .../impl/data_quality_panel/index.test.tsx | 0 .../impl/data_quality_panel/index.tsx | 0 .../allowed_values/mock_allowed_values.ts | 0 .../data_quality_check_result/mock_index.tsx | 0 .../mock_enriched_field_metadata.ts | 0 .../mock_historical_results_response.ts | 0 .../mock/ilm_explain/mock_ilm_explain.ts | 0 ...ndices_get_mapping_index_mapping_record.ts | 0 .../mock_mappings_properties.ts | 0 .../mock_mappings_response.ts | 0 .../mock_partitioned_field_metadata.tsx | 0 ...itioned_field_metadata_with_same_family.ts | 0 .../mock_alerts_pattern_rollup.ts | 0 .../mock_auditbeat_pattern_rollup.ts | 0 .../mock_packetbeat_pattern_rollup.ts | 0 .../mock/stats/mock_stats.tsx | 0 .../mock/stats/mock_stats_auditbeat_index.ts | 0 .../mock/stats/mock_stats_packetbeat_index.ts | 0 .../mock/test_providers/test_providers.tsx | 0 .../mock/test_providers/utils/format.ts | 0 .../get_merged_data_quality_context_props.ts | 0 .../get_merged_indices_check_context_props.ts | 0 ...get_merged_results_rollup_context_props.ts | 0 .../unallowed_values/mock_unallowed_values.ts | 0 .../mock_use_results_rollup.ts | 0 .../data_quality_panel/stat/index.test.tsx | 0 .../impl/data_quality_panel/stat/index.tsx | 0 .../stat_label/translations.ts | 0 .../stats_rollup/index.test.tsx | 0 .../data_quality_panel/stats_rollup/index.tsx | 0 .../generate_historical_results_stub/index.ts | 0 .../stub/get_check_state_stub/index.ts | 0 .../stub/get_historical_result_stub/index.ts | 0 .../stub/get_pattern_rollup_stub/index.ts | 0 .../impl/data_quality_panel/styles.tsx | 0 .../impl/data_quality_panel/translations.ts | 0 .../impl/data_quality_panel/types.ts | 0 .../utils/check_index.test.ts | 0 .../data_quality_panel/utils/check_index.ts | 0 .../utils/fetch_mappings.test.ts | 0 .../utils/fetch_mappings.ts | 0 .../utils/fetch_unallowed_values.test.ts | 0 .../utils/fetch_unallowed_values.ts | 0 .../utils/get_ilm_phase.test.ts | 0 .../data_quality_panel/utils/get_ilm_phase.ts | 0 .../utils/get_ilm_phase_description.test.ts | 0 .../utils/get_ilm_phase_description.ts | 0 .../get_incompatible_stat_badge_color.test.ts | 0 .../get_incompatible_stat_badge_color.ts | 0 .../utils/get_summary_table_items.test.ts | 0 .../utils/get_summary_table_items.ts | 0 .../get_unallowed_value_request_items.tsx | 0 ...et_unallowed_values_request_items.test.tsx | 0 .../data_quality_panel/utils/markdown.test.ts | 0 .../impl/data_quality_panel/utils/markdown.ts | 0 .../data_quality_panel/utils/metadata.test.ts | 0 .../impl/data_quality_panel/utils/metadata.ts | 0 .../data_quality_panel/utils/stats.test.ts | 0 .../impl/data_quality_panel/utils/stats.ts | 0 .../ecs_data_quality_dashboard/index.ts | 0 .../ecs_data_quality_dashboard/jest.config.js | 26 ++++++++++++++ .../ecs_data_quality_dashboard/kibana.jsonc | 0 .../ecs_data_quality_dashboard/package.json | 0 .../ecs_data_quality_dashboard/setup_tests.ts | 0 .../ecs_data_quality_dashboard/tsconfig.json | 2 +- .../security/packages}/features/README.mdx | 0 .../security/packages}/features/config.ts | 0 .../security/packages}/features/index.ts | 0 .../packages/features}/jest.config.js | 4 +-- .../security/packages}/features/keys.ts | 0 .../security/packages}/features/kibana.jsonc | 0 .../security/packages}/features/package.json | 0 .../security/packages}/features/privileges.ts | 0 .../packages}/features/product_features.ts | 0 .../packages}/features/src/assistant/index.ts | 0 .../features/src/assistant/kibana_features.ts | 0 .../src/assistant/kibana_sub_features.ts | 0 .../src/assistant/product_feature_config.ts | 0 .../features/src/attack_discovery/index.ts | 0 .../src/attack_discovery/kibana_features.ts | 0 .../product_feature_config.ts | 0 .../packages}/features/src/cases/index.ts | 0 .../src/cases/product_feature_config.ts | 0 .../packages}/features/src/cases/types.ts | 0 .../src/cases/v1_features/kibana_features.ts | 0 .../cases/v1_features/kibana_sub_features.ts | 0 .../features/src/cases/v1_features/types.ts | 0 .../src/cases/v2_features/kibana_features.ts | 0 .../cases/v2_features/kibana_sub_features.ts | 0 .../packages}/features/src/constants.ts | 0 .../packages}/features/src/helpers.ts | 0 .../features/src/product_features_keys.ts | 0 .../src/product_features_privileges.ts | 0 .../packages}/features/src/security/index.ts | 0 .../features/src/security/kibana_features.ts | 0 .../src/security/kibana_sub_features.ts | 0 .../src/security/product_feature_config.ts | 0 .../packages}/features/src/security/types.ts | 0 .../security/packages}/features/src/types.ts | 0 .../security/packages}/features/tsconfig.json | 2 +- .../security/packages}/navigation/README.mdx | 0 .../security/packages}/navigation/index.ts | 0 .../packages/navigation}/jest.config.js | 4 +-- .../packages}/navigation/kibana.jsonc | 0 .../packages}/navigation/landing_links.ts | 0 .../security/packages}/navigation/links.ts | 0 .../packages}/navigation/mocks/context.ts | 0 .../packages}/navigation/mocks/navigation.ts | 0 .../packages}/navigation/package.json | 0 .../navigation/src/__mocks__/context.tsx | 0 .../navigation/src/__mocks__/navigation.ts | 0 .../packages}/navigation/src/constants.ts | 0 .../packages}/navigation/src/context.tsx | 0 .../src/landing_links/beta_badge.tsx | 0 .../navigation/src/landing_links/index.ts | 0 .../src/landing_links/landing_links.test.tsx | 0 .../src/landing_links/landing_links.tsx | 0 .../landing_links_icons.stories.tsx | 0 .../landing_links_icons.test.tsx | 0 .../src/landing_links/landing_links_icons.tsx | 0 ...landing_links_icons_categories.stories.tsx | 0 .../landing_links_icons_categories.test.tsx | 0 .../landing_links_icons_categories.tsx | 0 ...ding_links_icons_categories_goups.test.tsx | 0 ..._links_icons_categories_groups.stories.tsx | 0 .../landing_links_icons_categories_groups.tsx | 0 .../landing_links_icons_groups.stories.tsx | 0 .../landing_links_icons_groups.test.tsx | 0 .../landing_links_icons_groups.tsx | 0 .../landing_links_image_card.stories.tsx | 0 .../landing_links_image_card.test.tsx | 0 .../landing_links_image_card.tsx | 0 .../landing_links_images.stories.tsx | 0 .../landing_links_images.test.tsx | 0 .../landing_links/landing_links_images.tsx | 0 .../landing_links_images_cards.stories.tsx | 0 .../landing_links_images_cards.test.tsx | 0 .../landing_links_images_cards.tsx | 0 .../navigation/src/landing_links/lazy.tsx | 0 .../src/landing_links/translations.ts | 0 .../src/landing_links/utils.test.ts | 0 .../navigation/src/landing_links/utils.ts | 0 .../packages}/navigation/src/links.test.tsx | 0 .../packages}/navigation/src/links.tsx | 0 .../navigation/src/navigation.test.ts | 0 .../packages}/navigation/src/navigation.ts | 0 .../packages}/navigation/src/types.ts | 0 .../packages}/navigation/tsconfig.json | 2 +- .../security/packages}/side_nav/README.mdx | 0 .../security/packages}/side_nav/index.ts | 0 .../packages/side_nav}/jest.config.js | 4 +-- .../security/packages}/side_nav/kibana.jsonc | 0 .../security/packages}/side_nav/package.json | 0 .../security/packages}/side_nav/panel.ts | 0 .../packages}/side_nav/src/beta_badge.tsx | 0 .../security/packages}/side_nav/src/index.tsx | 0 .../src/solution_side_nav.stories.tsx | 2 +- .../side_nav/src/solution_side_nav.styles.ts | 0 .../side_nav/src/solution_side_nav.test.tsx | 0 .../side_nav/src/solution_side_nav.tsx | 0 .../src/solution_side_nav_panel.styles.ts | 0 .../src/solution_side_nav_panel.test.tsx | 0 .../side_nav/src/solution_side_nav_panel.tsx | 0 .../packages}/side_nav/src/telemetry/const.ts | 0 .../src/telemetry/telemetry_context.tsx | 0 .../security/packages}/side_nav/src/types.ts | 0 .../security/packages}/side_nav/tsconfig.json | 2 +- .../packages}/storybook/config/README.mdx | 0 .../packages}/storybook/config/constants.ts | 0 .../packages}/storybook/config/index.ts | 0 .../packages/storybook/config/kibana.jsonc | 7 ++++ .../packages}/storybook/config/main.ts | 2 +- .../packages}/storybook/config/manager.ts | 0 .../packages}/storybook/config/package.json | 0 .../packages}/storybook/config/preview.ts | 0 .../packages}/storybook/config/tsconfig.json | 2 +- .../security/packages}/upselling/README.mdx | 0 .../packages}/upselling/helpers/index.tsx | 0 .../upselling/images/entity_paywall.png | Bin .../packages/upselling}/jest.config.js | 4 +-- .../security/packages}/upselling/kibana.jsonc | 0 .../packages}/upselling/messages/index.tsx | 0 .../security/packages}/upselling/package.json | 0 .../pages/attack_discovery/index.test.tsx | 0 .../pages/attack_discovery/index.tsx | 0 .../page_title/index.test.tsx | 0 .../attack_discovery/page_title/index.tsx | 0 .../page_title/translations.ts | 0 .../upselling/pages/entity_analytics.test.tsx | 0 .../upselling/pages/entity_analytics.tsx | 0 .../packages}/upselling/pages/translations.ts | 0 .../assistant_avatar/assistant_avatar.tsx | 0 .../sections/attack_discovery/index.test.tsx | 0 .../sections/attack_discovery/index.tsx | 0 .../sections/attack_discovery/translations.ts | 0 .../upselling/sections/entity_analytics.tsx | 0 .../packages}/upselling/service/index.ts | 0 .../packages}/upselling/service/types.ts | 0 .../service/upselling_service.test.tsx | 0 .../upselling/service/upselling_service.ts | 0 .../packages}/upselling/tsconfig.json | 2 +- yarn.lock | 16 ++++----- 529 files changed, 106 insertions(+), 114 deletions(-) delete mode 100644 x-pack/packages/security-solution/README.mdx delete mode 100644 x-pack/packages/security-solution/ecs_data_quality_dashboard/jest.config.js delete mode 100644 x-pack/packages/security-solution/storybook/config/kibana.jsonc rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/README.md (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/common/types/data_table/index.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/common/types/detail_panel.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/common/types/header_actions/index.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/common/types/index.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/common/types/risk_scores.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/common/types/session_view/index.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/components/data_table/column_headers/default_headers.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/components/data_table/column_headers/helpers.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/components/data_table/column_headers/helpers.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/components/data_table/column_headers/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/components/data_table/constants.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/components/data_table/data_table.stories.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/components/data_table/helpers.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/components/data_table/helpers.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/components/data_table/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/components/data_table/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/components/data_table/pagination.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/components/data_table/types.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/components/data_table/utils.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/components/toolbar/bulk_actions/types.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/components/toolbar/unit/index.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/components/toolbar/unit/styles.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/components/toolbar/unit/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/hooks/use_selector.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/index.ts (100%) rename x-pack/{packages/security-solution/features => solutions/security/packages/data_table}/jest.config.js (75%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/kibana.jsonc (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/mock/demo_data/endpoint/library_load_event.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/mock/demo_data/endpoint/process_execution_malware_prevention_alert.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/mock/demo_data/endpoint/registry_modification_event.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/mock/demo_data/timeline.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/mock/global_state.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/mock/header.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/mock/mock_local_storage.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/mock/mock_source.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/mock/mock_timeline_data.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/mock/test_providers.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/package.json (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/store/data_table/actions.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/store/data_table/defaults.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/store/data_table/helpers.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/store/data_table/helpers.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/store/data_table/index.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/store/data_table/inputs.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/store/data_table/model.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/store/data_table/reducer.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/store/data_table/selectors.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/store/data_table/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/store/data_table/types.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/tsconfig.json (92%) rename x-pack/{packages/security-solution => solutions/security/packages}/data_table/utils/use_mount_appended.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/distribution_bar/README.md (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/distribution_bar/index.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/distribution_bar/jest.config.js (74%) rename x-pack/{packages/security-solution => solutions/security/packages}/distribution_bar/kibana.jsonc (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/distribution_bar/package.json (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/distribution_bar/src/distribution_bar.stories.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/distribution_bar/src/distribution_bar.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/distribution_bar/src/distribution_bar.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/distribution_bar/tsconfig.json (87%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/README.md (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/actions/add_to_new_case/hooks/use_add_to_new_case/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/actions/add_to_new_case/hooks/use_add_to_new_case/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/actions/add_to_new_case/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/actions/add_to_new_case/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/actions/chat/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/actions/chat/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/actions/chat/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/actions/copy_to_clipboard/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/actions/copy_to_clipboard/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/actions/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/actions/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/actions/styles.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/constants.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/contexts/indices_check_context/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/contexts/results_rollup_context/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_context/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_context/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/ilm_phases_empty_prompt/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/ilm_phases_empty_prompt/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/ilm_phases_empty_prompt/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/constants.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/hooks/use_is_historical_results_tour_active/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/constants.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/contexts/historical_results_context/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/contexts/historical_results_context/types.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/error_empty_prompt/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/error_empty_prompt/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/historical_results_tour/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/historical_results_tour/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/historical_results_tour/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/constants.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/reducers/fetch_historical_results_reducer.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/reducers/fetch_historical_results_reducer.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/types.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/utils/fetch_historical_results.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/utils/fetch_historical_results.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_ilm_explain/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_ilm_explain/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_stats/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_stats/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_fields_tabs/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_fields_tabs/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_fields_tabs/types.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_success_empty_prompt/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_success_empty_prompt/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_success_empty_prompt/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/compare_fields_table/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/compare_fields_table/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/constants.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/ecs_allowed_values/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/ecs_allowed_values/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/empty_prompt_body/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/empty_prompt_body/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/empty_prompt_title/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/empty_prompt_title/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/constants.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/historical_check_fields/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/historical_check_fields/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/historical_check_fields/utils/get_incompatible_and_same_family_fields_from_historical_result.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/historical_check_fields/utils/get_incompatible_and_same_family_fields_from_historical_result.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/legacy_historical_check_fields/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/legacy_historical_check_fields/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/legacy_historical_check_fields/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/styles.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/utils/is_non_legacy_historical_result.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/utils/is_non_legacy_historical_result.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/styles.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/hooks/use_historical_results_date_picker/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/hooks/use_historical_results_outcome_filter/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/hooks/use_historical_results_pagination/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/hooks/use_historical_results_pagination/reducers/historical_results_pagination_reducer.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/hooks/use_historical_results_pagination/reducers/historical_results_pagination_reducer.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/reducers/fetch_historical_results_query_reducer.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/reducers/fetch_historical_results_query_reducer.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/styles.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/types.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/hooks/use_current_window_width/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/hooks/use_current_window_width/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/incompatible_callout/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/incompatible_callout/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/incompatible_tab/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/incompatible_tab/utils/get_incompatible_table_columns.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/incompatible_tab/utils/get_incompatible_table_columns.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index_invalid_values/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index_invalid_values/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index_stats_panel/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index_stats_panel/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/all_tab/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/all_tab/utils/get_all_table_columns.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/all_tab/utils/get_all_table_columns.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/custom_callout/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/custom_callout/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/utils/get_custom_table_columns.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/utils/get_custom_table_columns.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/utils/markdown.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/utils/markdown.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/ecs_compliant_tab/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/ecs_compliant_tab/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/ecs_compliant_tab/utils/get_ecs_compliant_table_columns.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/ecs_compliant_tab/utils/get_ecs_compliant_table_columns.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/sticky_actions/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/utils/get_ecs_compliant_badge_color.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/utils/get_ecs_compliant_badge_color.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/utils/is_timestamp_field_missing.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/utils/is_timestamp_field_missing.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_callout/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_callout/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_tab/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_tab/utils/get_same_family_table_columns.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_tab/utils/get_same_family_table_columns.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_tab/utils/markdown.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_tab/utils/markdown.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/styles.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/types.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/utils/get_formatted_check_time.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/utils/get_formatted_check_time.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_result_badge/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_result_badge/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/loading_empty_prompt/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/ilm_phase_counts/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/ilm_phase_counts/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/ilm_phase_counts/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/ilm_phase_counts/utils/get_pattern_ilm_phase_description.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/ilm_phase_counts/utils/get_pattern_ilm_phase_description.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/utils/get_pattern_result_tooltip.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/utils/get_pattern_result_tooltip.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/utils/show_result.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/utils/show_result.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/remote_clusters_callout/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/remote_clusters_callout/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/remote_clusters_callout/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/styles.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/utils/columns.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/utils/columns.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/utils/get_show_pagination.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/utils/get_show_pagination.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_check_text_color.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_check_text_color.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_index_result_tooltip.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_index_result_tooltip.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_page_index.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_page_index.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/ilm_explain.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/ilm_explain.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/should_create_index_names.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/should_create_index_names.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/should_create_pattern_rollup.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/should_create_pattern_rollup.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/stats.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/stats.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/chart_legend_item/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/constants.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/no_data/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/no_data/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_fill_color.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_fill_color.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_layers_multi_dimensional.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_layers_multi_dimensional.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_legend_items.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_legend_items.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_path_to_flattened_bucket_map.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_path_to_flattened_bucket_map.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/stats.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/stats.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/types.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/utils/get_flattened_buckets.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/utils/get_flattened_buckets.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/ilm_phase_filter/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/ilm_phase_filter/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/ilm_phase_filter/styles.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_all/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_all/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_all/utils/get_all_indices_to_check.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_all/utils/get_all_indices_to_check.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/errors_viewer/helpers.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/errors_viewer/helpers.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/errors_viewer/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/errors_viewer/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/utils/get_error_summaries.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/utils/get_error_summaries.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/utils/markdown.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/utils/markdown.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_abort_controller_ref/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_abort_controller_ref/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_indices_check/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_indices_check/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_indices_check/reducer.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_indices_check/types.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_is_mounted_ref/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_is_mounted_ref/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/constants.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/hooks/use_stored_pattern_results/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/hooks/use_stored_pattern_results/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/types.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/get_pattern_rollups_with_latest_check_result.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/get_pattern_rollups_with_latest_check_result.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/metadata.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/metadata.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/stats.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/stats.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/storage.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/storage.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/mock/allowed_values/mock_allowed_values.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/mock/data_quality_check_result/mock_index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/mock/enriched_field_metadata/mock_enriched_field_metadata.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/mock/historical_results/mock_historical_results_response.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/mock/ilm_explain/mock_ilm_explain.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/mock/indices_get_mapping_index_mapping_record/mock_indices_get_mapping_index_mapping_record.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/mock/mappings_properties/mock_mappings_properties.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/mock/mappings_response/mock_mappings_response.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/mock/partitioned_field_metadata/mock_partitioned_field_metadata.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/mock/partitioned_field_metadata/mock_partitioned_field_metadata_with_same_family.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/mock/pattern_rollup/mock_alerts_pattern_rollup.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/mock/pattern_rollup/mock_auditbeat_pattern_rollup.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/mock/pattern_rollup/mock_packetbeat_pattern_rollup.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/mock/stats/mock_stats.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/mock/stats/mock_stats_auditbeat_index.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/mock/stats/mock_stats_packetbeat_index.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/mock/test_providers/test_providers.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/mock/test_providers/utils/format.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/mock/test_providers/utils/get_merged_data_quality_context_props.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/mock/test_providers/utils/get_merged_indices_check_context_props.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/mock/test_providers/utils/get_merged_results_rollup_context_props.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/mock/unallowed_values/mock_unallowed_values.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/mock/use_results_rollup/mock_use_results_rollup.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/stat/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/stat/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/stat_label/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/stats_rollup/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/stats_rollup/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/stub/generate_historical_results_stub/index.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/stub/get_check_state_stub/index.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/stub/get_historical_result_stub/index.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/stub/get_pattern_rollup_stub/index.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/styles.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/types.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/utils/check_index.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/utils/check_index.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/utils/fetch_mappings.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/utils/fetch_mappings.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/utils/fetch_unallowed_values.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/utils/fetch_unallowed_values.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_ilm_phase.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_ilm_phase.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_ilm_phase_description.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_ilm_phase_description.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_incompatible_stat_badge_color.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_incompatible_stat_badge_color.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_summary_table_items.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_summary_table_items.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_unallowed_value_request_items.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_unallowed_values_request_items.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/utils/markdown.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/utils/markdown.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/utils/metadata.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/utils/metadata.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/utils/stats.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/impl/data_quality_panel/utils/stats.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/index.ts (100%) create mode 100644 x-pack/solutions/security/packages/ecs_data_quality_dashboard/jest.config.js rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/kibana.jsonc (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/package.json (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/setup_tests.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/ecs_data_quality_dashboard/tsconfig.json (91%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/README.mdx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/config.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/index.ts (100%) rename x-pack/{packages/security-solution/upselling => solutions/security/packages/features}/jest.config.js (76%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/keys.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/kibana.jsonc (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/package.json (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/privileges.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/product_features.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/src/assistant/index.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/src/assistant/kibana_features.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/src/assistant/kibana_sub_features.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/src/assistant/product_feature_config.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/src/attack_discovery/index.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/src/attack_discovery/kibana_features.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/src/attack_discovery/product_feature_config.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/src/cases/index.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/src/cases/product_feature_config.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/src/cases/types.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/src/cases/v1_features/kibana_features.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/src/cases/v1_features/kibana_sub_features.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/src/cases/v1_features/types.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/src/cases/v2_features/kibana_features.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/src/cases/v2_features/kibana_sub_features.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/src/constants.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/src/helpers.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/src/product_features_keys.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/src/product_features_privileges.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/src/security/index.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/src/security/kibana_features.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/src/security/kibana_sub_features.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/src/security/product_feature_config.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/src/security/types.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/src/types.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/features/tsconfig.json (89%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/README.mdx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/index.ts (100%) rename x-pack/{packages/security-solution/side_nav => solutions/security/packages/navigation}/jest.config.js (75%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/kibana.jsonc (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/landing_links.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/links.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/mocks/context.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/mocks/navigation.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/package.json (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/__mocks__/context.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/__mocks__/navigation.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/constants.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/context.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/beta_badge.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/index.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/landing_links.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/landing_links.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/landing_links_icons.stories.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/landing_links_icons.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/landing_links_icons.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/landing_links_icons_categories.stories.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/landing_links_icons_categories.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/landing_links_icons_categories.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/landing_links_icons_categories_goups.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/landing_links_icons_categories_groups.stories.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/landing_links_icons_categories_groups.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/landing_links_icons_groups.stories.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/landing_links_icons_groups.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/landing_links_icons_groups.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/landing_links_image_card.stories.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/landing_links_image_card.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/landing_links_image_card.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/landing_links_images.stories.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/landing_links_images.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/landing_links_images.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/landing_links_images_cards.stories.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/landing_links_images_cards.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/landing_links_images_cards.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/lazy.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/utils.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/landing_links/utils.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/links.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/links.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/navigation.test.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/navigation.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/src/types.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/navigation/tsconfig.json (88%) rename x-pack/{packages/security-solution => solutions/security/packages}/side_nav/README.mdx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/side_nav/index.ts (100%) rename x-pack/{packages/security-solution/data_table => solutions/security/packages/side_nav}/jest.config.js (75%) rename x-pack/{packages/security-solution => solutions/security/packages}/side_nav/kibana.jsonc (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/side_nav/package.json (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/side_nav/panel.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/side_nav/src/beta_badge.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/side_nav/src/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/side_nav/src/solution_side_nav.stories.tsx (99%) rename x-pack/{packages/security-solution => solutions/security/packages}/side_nav/src/solution_side_nav.styles.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/side_nav/src/solution_side_nav.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/side_nav/src/solution_side_nav.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/side_nav/src/solution_side_nav_panel.styles.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/side_nav/src/solution_side_nav_panel.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/side_nav/src/solution_side_nav_panel.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/side_nav/src/telemetry/const.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/side_nav/src/telemetry/telemetry_context.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/side_nav/src/types.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/side_nav/tsconfig.json (90%) rename x-pack/{packages/security-solution => solutions/security/packages}/storybook/config/README.mdx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/storybook/config/constants.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/storybook/config/index.ts (100%) create mode 100644 x-pack/solutions/security/packages/storybook/config/kibana.jsonc rename x-pack/{packages/security-solution => solutions/security/packages}/storybook/config/main.ts (88%) rename x-pack/{packages/security-solution => solutions/security/packages}/storybook/config/manager.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/storybook/config/package.json (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/storybook/config/preview.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/storybook/config/tsconfig.json (83%) rename x-pack/{packages/security-solution => solutions/security/packages}/upselling/README.mdx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/upselling/helpers/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/upselling/images/entity_paywall.png (100%) rename x-pack/{packages/security-solution/navigation => solutions/security/packages/upselling}/jest.config.js (75%) rename x-pack/{packages/security-solution => solutions/security/packages}/upselling/kibana.jsonc (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/upselling/messages/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/upselling/package.json (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/upselling/pages/attack_discovery/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/upselling/pages/attack_discovery/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/upselling/pages/attack_discovery/page_title/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/upselling/pages/attack_discovery/page_title/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/upselling/pages/attack_discovery/page_title/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/upselling/pages/entity_analytics.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/upselling/pages/entity_analytics.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/upselling/pages/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/upselling/sections/attack_discovery/assistant_avatar/assistant_avatar.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/upselling/sections/attack_discovery/index.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/upselling/sections/attack_discovery/index.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/upselling/sections/attack_discovery/translations.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/upselling/sections/entity_analytics.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/upselling/service/index.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/upselling/service/types.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/upselling/service/upselling_service.test.tsx (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/upselling/service/upselling_service.ts (100%) rename x-pack/{packages/security-solution => solutions/security/packages}/upselling/tsconfig.json (90%) diff --git a/.eslintrc.js b/.eslintrc.js index 2bdcaf9901474..afbc2a1353b52 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1102,7 +1102,7 @@ module.exports = { 'x-pack/plugins/elastic_assistant/common/**/*.{js,mjs,ts,tsx}', 'x-pack/packages/kbn-elastic-assistant/**/*.{js,mjs,ts,tsx}', 'x-pack/packages/kbn-elastic-assistant-common/**/*.{js,mjs,ts,tsx}', - 'x-pack/packages/security-solution/**/*.{js,mjs,ts,tsx}', + 'x-pack/solutions/security/packages/**/*.{js,mjs,ts,tsx}', 'x-pack/plugins/security_solution/public/**/*.{js,mjs,ts,tsx}', 'x-pack/plugins/security_solution_ess/public/**/*.{js,mjs,ts,tsx}', 'x-pack/plugins/security_solution_serverless/public/**/*.{js,mjs,ts,tsx}', @@ -1140,7 +1140,7 @@ module.exports = { 'x-pack/packages/kbn-elastic-assistant/**/*.{ts,tsx}', 'x-pack/packages/kbn-elastic-assistant-common/**/*.{ts,tsx}', 'x-pack/packages/kbn-langchain/**/*.{ts,tsx}', - 'x-pack/packages/security-solution/**/*.{ts,tsx}', + 'x-pack/solutions/security/packages/**/*.{ts,tsx}', 'x-pack/plugins/security_solution/**/*.{ts,tsx}', 'x-pack/plugins/security_solution_ess/**/*.{ts,tsx}', 'x-pack/plugins/security_solution_serverless/**/*.{ts,tsx}', @@ -1155,7 +1155,7 @@ module.exports = { 'x-pack/packages/kbn-elastic-assistant/**/*.{test,mock,test_helper}.{ts,tsx}', 'x-pack/packages/kbn-elastic-assistant-common/**/*.{test,mock,test_helper}.{ts,tsx}', 'x-pack/packages/kbn-langchain/**/*.{test,mock,test_helper}.{ts,tsx}', - 'x-pack/packages/security-solution/**/*.{test,mock,test_helper}.{ts,tsx}', + 'x-pack/solutions/security/packages/**/*.{test,mock,test_helper}.{ts,tsx}', 'x-pack/plugins/security_solution/**/*.{test,mock,test_helper}.{ts,tsx}', 'x-pack/plugins/security_solution_ess/**/*.{test,mock,test_helper}.{ts,tsx}', 'x-pack/plugins/security_solution_serverless/**/*.{test,mock,test_helper}.{ts,tsx}', @@ -1176,7 +1176,7 @@ module.exports = { 'x-pack/packages/kbn-elastic-assistant/**/*.{ts,tsx}', 'x-pack/packages/kbn-elastic-assistant-common/**/*.{ts,tsx}', 'x-pack/packages/kbn-langchain/**/*.{ts,tsx}', - 'x-pack/packages/security-solution/**/*.{ts,tsx}', + 'x-pack/solutions/security/packages/**/*.{ts,tsx}', 'x-pack/plugins/security_solution/**/*.{ts,tsx}', 'x-pack/plugins/security_solution_ess/**/*.{ts,tsx}', 'x-pack/plugins/security_solution_serverless/**/*.{ts,tsx}', @@ -1210,7 +1210,7 @@ module.exports = { 'x-pack/packages/kbn-elastic-assistant/**/*.{js,mjs,ts,tsx}', 'x-pack/packages/kbn-elastic-assistant-common/**/*.{js,mjs,ts,tsx}', 'x-pack/packages/kbn-langchain/**/*.{js,mjs,ts,tsx}', - 'x-pack/packages/security-solution/**/*.{js,mjs,ts,tsx}', + 'x-pack/solutions/security/packages/**/*.{js,mjs,ts,tsx}', 'x-pack/plugins/security_solution/**/*.{js,mjs,ts,tsx}', 'x-pack/plugins/security_solution_ess/**/*.{js,mjs,ts,tsx}', 'x-pack/plugins/security_solution_serverless/**/*.{js,mjs,ts,tsx}', @@ -1309,8 +1309,8 @@ module.exports = { overrides: [ { files: [ - 'x-pack/packages/security-solution/features/**/*.{js,mjs,ts,tsx}', - 'x-pack/packages/security-solution/navigation/**/*.{js,mjs,ts,tsx}', + 'x-pack/solutions/security/packages/features/**/*.{js,mjs,ts,tsx}', + 'x-pack/solutions/security/packages/navigation/**/*.{js,mjs,ts,tsx}', 'x-pack/plugins/security_solution/**/*.{js,mjs,ts,tsx}', 'x-pack/plugins/security_solution_ess/**/*.{js,mjs,ts,tsx}', 'x-pack/plugins/security_solution_serverless/**/*.{js,mjs,ts,tsx}', diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 9d79890a1d718..2c75f30a64222 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -808,14 +808,6 @@ x-pack/packages/observability/observability_utils/observability_utils_server @el x-pack/packages/observability/synthetics_test_data @elastic/obs-ux-management-team x-pack/packages/rollup @elastic/kibana-management x-pack/packages/search/shared_ui @elastic/search-kibana -x-pack/packages/security-solution/data_table @elastic/security-threat-hunting-investigations -x-pack/packages/security-solution/distribution_bar @elastic/kibana-cloud-security-posture -x-pack/packages/security-solution/ecs_data_quality_dashboard @elastic/security-threat-hunting-explore -x-pack/packages/security-solution/features @elastic/security-threat-hunting-explore -x-pack/packages/security-solution/navigation @elastic/security-threat-hunting-explore -x-pack/packages/security-solution/side_nav @elastic/security-threat-hunting-explore -x-pack/packages/security-solution/storybook/config @elastic/security-threat-hunting-explore -x-pack/packages/security-solution/upselling @elastic/security-threat-hunting-explore x-pack/packages/security/api_key_management @elastic/kibana-security x-pack/packages/security/authorization_core @elastic/kibana-security x-pack/packages/security/authorization_core_common @elastic/kibana-security @@ -1001,6 +993,14 @@ x-pack/solutions/observability/plugins/observability_solution/entities_data_acce x-pack/solutions/observability/plugins/observability_solution/entity_manager_app @elastic/obs-entities x-pack/solutions/observability/plugins/streams @elastic/streams-program-team x-pack/solutions/observability/plugins/streams_app @elastic/streams-program-team +x-pack/solutions/security/packages/data_table @elastic/security-threat-hunting-investigations +x-pack/solutions/security/packages/distribution_bar @elastic/kibana-cloud-security-posture +x-pack/solutions/security/packages/ecs_data_quality_dashboard @elastic/security-threat-hunting-explore +x-pack/solutions/security/packages/features @elastic/security-threat-hunting-explore +x-pack/solutions/security/packages/navigation @elastic/security-threat-hunting-explore +x-pack/solutions/security/packages/side_nav @elastic/security-threat-hunting-explore +x-pack/solutions/security/packages/storybook/config @elastic/security-threat-hunting-explore +x-pack/solutions/security/packages/upselling @elastic/security-threat-hunting-explore x-pack/test x-pack/test_serverless x-pack/test/alerting_api_integration/common/plugins/aad @elastic/response-ops @@ -2490,7 +2490,7 @@ x-pack/test/automatic_import_api_integration @elastic/security-scalability ## Packages x-pack/packages/kbn-cloud-security-posture @elastic/kibana-cloud-security-posture -x-pack/packages/security-solution/distribution_bar @elastic/kibana-cloud-security-posture +x-pack/solutions/security/packages/distribution_bar @elastic/kibana-cloud-security-posture ## Plugins x-pack/plugins/cloud_defend @elastic/kibana-cloud-security-posture x-pack/plugins/cloud_security_posture @elastic/kibana-cloud-security-posture diff --git a/.i18nrc.json b/.i18nrc.json index 5ef65fc47ccb8..dc8ff02da6465 100644 --- a/.i18nrc.json +++ b/.i18nrc.json @@ -118,7 +118,7 @@ "searchIndexDocuments": "packages/kbn-search-index-documents", "searchResponseWarnings": "packages/kbn-search-response-warnings", "searchTypes": "packages/kbn-search-types", - "securitySolutionPackages": "x-pack/packages/security-solution", + "securitySolutionPackages": "x-pack/solutions/security/packages", "serverlessPackages": "packages/serverless", "sse": ["packages/kbn-sse-utils"], "coloring": "packages/kbn-coloring/src", diff --git a/package.json b/package.json index 75d9857f6c789..ca7c719092f4b 100644 --- a/package.json +++ b/package.json @@ -463,7 +463,7 @@ "@kbn/doc-links": "link:src/platform/packages/shared/kbn-doc-links", "@kbn/dom-drag-drop": "link:packages/kbn-dom-drag-drop", "@kbn/ebt-tools": "link:packages/kbn-ebt-tools", - "@kbn/ecs-data-quality-dashboard": "link:x-pack/packages/security-solution/ecs_data_quality_dashboard", + "@kbn/ecs-data-quality-dashboard": "link:x-pack/solutions/security/packages/ecs_data_quality_dashboard", "@kbn/ecs-data-quality-dashboard-plugin": "link:x-pack/plugins/ecs_data_quality_dashboard", "@kbn/elastic-agent-utils": "link:packages/kbn-elastic-agent-utils", "@kbn/elastic-assistant": "link:x-pack/packages/kbn-elastic-assistant", @@ -827,20 +827,20 @@ "@kbn/security-plugin-types-public": "link:x-pack/packages/security/plugin_types_public", "@kbn/security-plugin-types-server": "link:x-pack/packages/security/plugin_types_server", "@kbn/security-role-management-model": "link:x-pack/packages/security/role_management_model", - "@kbn/security-solution-distribution-bar": "link:x-pack/packages/security-solution/distribution_bar", + "@kbn/security-solution-distribution-bar": "link:x-pack/solutions/security/packages/distribution_bar", "@kbn/security-solution-ess": "link:x-pack/plugins/security_solution_ess", - "@kbn/security-solution-features": "link:x-pack/packages/security-solution/features", + "@kbn/security-solution-features": "link:x-pack/solutions/security/packages/features", "@kbn/security-solution-fixtures-plugin": "link:x-pack/test/cases_api_integration/common/plugins/security_solution", - "@kbn/security-solution-navigation": "link:x-pack/packages/security-solution/navigation", + "@kbn/security-solution-navigation": "link:x-pack/solutions/security/packages/navigation", "@kbn/security-solution-plugin": "link:x-pack/plugins/security_solution", "@kbn/security-solution-serverless": "link:x-pack/plugins/security_solution_serverless", - "@kbn/security-solution-side-nav": "link:x-pack/packages/security-solution/side_nav", - "@kbn/security-solution-storybook-config": "link:x-pack/packages/security-solution/storybook/config", - "@kbn/security-solution-upselling": "link:x-pack/packages/security-solution/upselling", + "@kbn/security-solution-side-nav": "link:x-pack/solutions/security/packages/side_nav", + "@kbn/security-solution-storybook-config": "link:x-pack/solutions/security/packages/storybook/config", + "@kbn/security-solution-upselling": "link:x-pack/solutions/security/packages/upselling", "@kbn/security-test-endpoints-plugin": "link:x-pack/test/security_functional/plugins/test_endpoints", "@kbn/security-ui-components": "link:x-pack/packages/security/ui_components", "@kbn/securitysolution-autocomplete": "link:packages/kbn-securitysolution-autocomplete", - "@kbn/securitysolution-data-table": "link:x-pack/packages/security-solution/data_table", + "@kbn/securitysolution-data-table": "link:x-pack/solutions/security/packages/data_table", "@kbn/securitysolution-ecs": "link:packages/kbn-securitysolution-ecs", "@kbn/securitysolution-endpoint-exceptions-common": "link:packages/kbn-securitysolution-endpoint-exceptions-common", "@kbn/securitysolution-es-utils": "link:packages/kbn-securitysolution-es-utils", diff --git a/packages/kbn-babel-preset/styled_components_files.js b/packages/kbn-babel-preset/styled_components_files.js index 89b71c06d9e84..20bbaa3172cba 100644 --- a/packages/kbn-babel-preset/styled_components_files.js +++ b/packages/kbn-babel-preset/styled_components_files.js @@ -18,6 +18,6 @@ module.exports = { /x-pack[\/\\]plugins[\/\\](observability_solution\/apm|beats_management|fleet|observability_solution\/infra|lists|observability_solution\/observability|observability_solution\/observability_shared|observability_solution\/exploratory_view|security_solution|timelines|observability_solution\/synthetics|observability_solution\/ux|observability_solution\/uptime)[\/\\]/, /x-pack[\/\\]test[\/\\]plugin_functional[\/\\]plugins[\/\\]resolver_test[\/\\]/, /x-pack[\/\\]packages[\/\\]elastic_assistant[\/\\]/, - /x-pack[\/\\]packages[\/\\]security-solution[\/\\]ecs_data_quality_dashboard[\/\\]/, + /x-pack[\/\\]solutions[\/\\]security[\/\\]packages[\/\\]ecs_data_quality_dashboard[\/\\]/, ], }; diff --git a/src/dev/storybook/aliases.ts b/src/dev/storybook/aliases.ts index e32512e73fc8f..e70d2e703048e 100644 --- a/src/dev/storybook/aliases.ts +++ b/src/dev/storybook/aliases.ts @@ -63,7 +63,7 @@ export const storybookAliases = { random_sampling: 'x-pack/packages/kbn-random-sampling/.storybook', esql_editor: 'src/platform/packages/private/kbn-esql-editor/.storybook', security_solution: 'x-pack/plugins/security_solution/.storybook', - security_solution_packages: 'x-pack/packages/security-solution/storybook/config', + security_solution_packages: 'x-pack/solutions/security/packages/storybook/config', serverless: 'packages/serverless/storybook/config', shared_ux: 'packages/shared-ux/storybook/config', slo: 'x-pack/plugins/observability_solution/slo/.storybook', diff --git a/tsconfig.base.json b/tsconfig.base.json index 5629ebb4a8513..965f6eeb8cf70 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -794,8 +794,8 @@ "@kbn/dom-drag-drop/*": ["packages/kbn-dom-drag-drop/*"], "@kbn/ebt-tools": ["packages/kbn-ebt-tools"], "@kbn/ebt-tools/*": ["packages/kbn-ebt-tools/*"], - "@kbn/ecs-data-quality-dashboard": ["x-pack/packages/security-solution/ecs_data_quality_dashboard"], - "@kbn/ecs-data-quality-dashboard/*": ["x-pack/packages/security-solution/ecs_data_quality_dashboard/*"], + "@kbn/ecs-data-quality-dashboard": ["x-pack/solutions/security/packages/ecs_data_quality_dashboard"], + "@kbn/ecs-data-quality-dashboard/*": ["x-pack/solutions/security/packages/ecs_data_quality_dashboard/*"], "@kbn/ecs-data-quality-dashboard-plugin": ["x-pack/plugins/ecs_data_quality_dashboard"], "@kbn/ecs-data-quality-dashboard-plugin/*": ["x-pack/plugins/ecs_data_quality_dashboard/*"], "@kbn/elastic-agent-utils": ["packages/kbn-elastic-agent-utils"], @@ -1630,34 +1630,34 @@ "@kbn/security-plugin-types-server/*": ["x-pack/packages/security/plugin_types_server/*"], "@kbn/security-role-management-model": ["x-pack/packages/security/role_management_model"], "@kbn/security-role-management-model/*": ["x-pack/packages/security/role_management_model/*"], - "@kbn/security-solution-distribution-bar": ["x-pack/packages/security-solution/distribution_bar"], - "@kbn/security-solution-distribution-bar/*": ["x-pack/packages/security-solution/distribution_bar/*"], + "@kbn/security-solution-distribution-bar": ["x-pack/solutions/security/packages/distribution_bar"], + "@kbn/security-solution-distribution-bar/*": ["x-pack/solutions/security/packages/distribution_bar/*"], "@kbn/security-solution-ess": ["x-pack/plugins/security_solution_ess"], "@kbn/security-solution-ess/*": ["x-pack/plugins/security_solution_ess/*"], - "@kbn/security-solution-features": ["x-pack/packages/security-solution/features"], - "@kbn/security-solution-features/*": ["x-pack/packages/security-solution/features/*"], + "@kbn/security-solution-features": ["x-pack/solutions/security/packages/features"], + "@kbn/security-solution-features/*": ["x-pack/solutions/security/packages/features/*"], "@kbn/security-solution-fixtures-plugin": ["x-pack/test/cases_api_integration/common/plugins/security_solution"], "@kbn/security-solution-fixtures-plugin/*": ["x-pack/test/cases_api_integration/common/plugins/security_solution/*"], - "@kbn/security-solution-navigation": ["x-pack/packages/security-solution/navigation"], - "@kbn/security-solution-navigation/*": ["x-pack/packages/security-solution/navigation/*"], + "@kbn/security-solution-navigation": ["x-pack/solutions/security/packages/navigation"], + "@kbn/security-solution-navigation/*": ["x-pack/solutions/security/packages/navigation/*"], "@kbn/security-solution-plugin": ["x-pack/plugins/security_solution"], "@kbn/security-solution-plugin/*": ["x-pack/plugins/security_solution/*"], "@kbn/security-solution-serverless": ["x-pack/plugins/security_solution_serverless"], "@kbn/security-solution-serverless/*": ["x-pack/plugins/security_solution_serverless/*"], - "@kbn/security-solution-side-nav": ["x-pack/packages/security-solution/side_nav"], - "@kbn/security-solution-side-nav/*": ["x-pack/packages/security-solution/side_nav/*"], - "@kbn/security-solution-storybook-config": ["x-pack/packages/security-solution/storybook/config"], - "@kbn/security-solution-storybook-config/*": ["x-pack/packages/security-solution/storybook/config/*"], - "@kbn/security-solution-upselling": ["x-pack/packages/security-solution/upselling"], - "@kbn/security-solution-upselling/*": ["x-pack/packages/security-solution/upselling/*"], + "@kbn/security-solution-side-nav": ["x-pack/solutions/security/packages/side_nav"], + "@kbn/security-solution-side-nav/*": ["x-pack/solutions/security/packages/side_nav/*"], + "@kbn/security-solution-storybook-config": ["x-pack/solutions/security/packages/storybook/config"], + "@kbn/security-solution-storybook-config/*": ["x-pack/solutions/security/packages/storybook/config/*"], + "@kbn/security-solution-upselling": ["x-pack/solutions/security/packages/upselling"], + "@kbn/security-solution-upselling/*": ["x-pack/solutions/security/packages/upselling/*"], "@kbn/security-test-endpoints-plugin": ["x-pack/test/security_functional/plugins/test_endpoints"], "@kbn/security-test-endpoints-plugin/*": ["x-pack/test/security_functional/plugins/test_endpoints/*"], "@kbn/security-ui-components": ["x-pack/packages/security/ui_components"], "@kbn/security-ui-components/*": ["x-pack/packages/security/ui_components/*"], "@kbn/securitysolution-autocomplete": ["packages/kbn-securitysolution-autocomplete"], "@kbn/securitysolution-autocomplete/*": ["packages/kbn-securitysolution-autocomplete/*"], - "@kbn/securitysolution-data-table": ["x-pack/packages/security-solution/data_table"], - "@kbn/securitysolution-data-table/*": ["x-pack/packages/security-solution/data_table/*"], + "@kbn/securitysolution-data-table": ["x-pack/solutions/security/packages/data_table"], + "@kbn/securitysolution-data-table/*": ["x-pack/solutions/security/packages/data_table/*"], "@kbn/securitysolution-ecs": ["packages/kbn-securitysolution-ecs"], "@kbn/securitysolution-ecs/*": ["packages/kbn-securitysolution-ecs/*"], "@kbn/securitysolution-endpoint-exceptions-common": ["packages/kbn-securitysolution-endpoint-exceptions-common"], diff --git a/x-pack/packages/security-solution/README.mdx b/x-pack/packages/security-solution/README.mdx deleted file mode 100644 index 8f46e37529f9d..0000000000000 --- a/x-pack/packages/security-solution/README.mdx +++ /dev/null @@ -1,10 +0,0 @@ -## Security Solution package - -This package compiles components used by Security Solution - -### Lazy by default - -All components are exported to be lazily-loaded with a default `React.Suspense` default most appropriate to its nature. - -If a page needs to alter the `React.Suspense` behavior, (e.g. a different "loading" component), one can import the `Lazy[ComponentName]` version and surround it with a custom `React.Suspense` component. - diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/jest.config.js b/x-pack/packages/security-solution/ecs_data_quality_dashboard/jest.config.js deleted file mode 100644 index 5f6f7ab9bce1f..0000000000000 --- a/x-pack/packages/security-solution/ecs_data_quality_dashboard/jest.config.js +++ /dev/null @@ -1,26 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -module.exports = { - coverageDirectory: - '/target/kibana-coverage/jest/x-pack/packages/security-solution/ecs_data_quality_dashboard_impl', - coverageReporters: ['text', 'html'], - collectCoverageFrom: [ - '/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/**/*.{ts,tsx}', - '!/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/**/{__test__,__snapshots__,__examples__,*mock*,stub,tests,test_helpers,integration_tests,types}/**/*', - '!/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/**/*mock*.{ts,tsx}', - '!/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/**/*.test.{ts,tsx}', - '!/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/**/*.d.ts', - '!/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/**/*.config.ts', - ], - preset: '@kbn/test', - rootDir: '../../../..', - roots: ['/x-pack/packages/security-solution/ecs_data_quality_dashboard'], - setupFilesAfterEnv: [ - '/x-pack/packages/security-solution/ecs_data_quality_dashboard/setup_tests.ts', - ], -}; diff --git a/x-pack/packages/security-solution/storybook/config/kibana.jsonc b/x-pack/packages/security-solution/storybook/config/kibana.jsonc deleted file mode 100644 index cc52a3074f250..0000000000000 --- a/x-pack/packages/security-solution/storybook/config/kibana.jsonc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "type": "shared-common", - "id": "@kbn/security-solution-storybook-config", - "owner": "@elastic/security-threat-hunting-explore" -} diff --git a/x-pack/packages/security-solution/data_table/README.md b/x-pack/solutions/security/packages/data_table/README.md similarity index 100% rename from x-pack/packages/security-solution/data_table/README.md rename to x-pack/solutions/security/packages/data_table/README.md diff --git a/x-pack/packages/security-solution/data_table/common/types/data_table/index.ts b/x-pack/solutions/security/packages/data_table/common/types/data_table/index.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/common/types/data_table/index.ts rename to x-pack/solutions/security/packages/data_table/common/types/data_table/index.ts diff --git a/x-pack/packages/security-solution/data_table/common/types/detail_panel.ts b/x-pack/solutions/security/packages/data_table/common/types/detail_panel.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/common/types/detail_panel.ts rename to x-pack/solutions/security/packages/data_table/common/types/detail_panel.ts diff --git a/x-pack/packages/security-solution/data_table/common/types/header_actions/index.ts b/x-pack/solutions/security/packages/data_table/common/types/header_actions/index.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/common/types/header_actions/index.ts rename to x-pack/solutions/security/packages/data_table/common/types/header_actions/index.ts diff --git a/x-pack/packages/security-solution/data_table/common/types/index.ts b/x-pack/solutions/security/packages/data_table/common/types/index.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/common/types/index.ts rename to x-pack/solutions/security/packages/data_table/common/types/index.ts diff --git a/x-pack/packages/security-solution/data_table/common/types/risk_scores.ts b/x-pack/solutions/security/packages/data_table/common/types/risk_scores.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/common/types/risk_scores.ts rename to x-pack/solutions/security/packages/data_table/common/types/risk_scores.ts diff --git a/x-pack/packages/security-solution/data_table/common/types/session_view/index.ts b/x-pack/solutions/security/packages/data_table/common/types/session_view/index.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/common/types/session_view/index.ts rename to x-pack/solutions/security/packages/data_table/common/types/session_view/index.ts diff --git a/x-pack/packages/security-solution/data_table/components/data_table/column_headers/default_headers.ts b/x-pack/solutions/security/packages/data_table/components/data_table/column_headers/default_headers.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/components/data_table/column_headers/default_headers.ts rename to x-pack/solutions/security/packages/data_table/components/data_table/column_headers/default_headers.ts diff --git a/x-pack/packages/security-solution/data_table/components/data_table/column_headers/helpers.test.tsx b/x-pack/solutions/security/packages/data_table/components/data_table/column_headers/helpers.test.tsx similarity index 100% rename from x-pack/packages/security-solution/data_table/components/data_table/column_headers/helpers.test.tsx rename to x-pack/solutions/security/packages/data_table/components/data_table/column_headers/helpers.test.tsx diff --git a/x-pack/packages/security-solution/data_table/components/data_table/column_headers/helpers.tsx b/x-pack/solutions/security/packages/data_table/components/data_table/column_headers/helpers.tsx similarity index 100% rename from x-pack/packages/security-solution/data_table/components/data_table/column_headers/helpers.tsx rename to x-pack/solutions/security/packages/data_table/components/data_table/column_headers/helpers.tsx diff --git a/x-pack/packages/security-solution/data_table/components/data_table/column_headers/translations.ts b/x-pack/solutions/security/packages/data_table/components/data_table/column_headers/translations.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/components/data_table/column_headers/translations.ts rename to x-pack/solutions/security/packages/data_table/components/data_table/column_headers/translations.ts diff --git a/x-pack/packages/security-solution/data_table/components/data_table/constants.ts b/x-pack/solutions/security/packages/data_table/components/data_table/constants.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/components/data_table/constants.ts rename to x-pack/solutions/security/packages/data_table/components/data_table/constants.ts diff --git a/x-pack/packages/security-solution/data_table/components/data_table/data_table.stories.tsx b/x-pack/solutions/security/packages/data_table/components/data_table/data_table.stories.tsx similarity index 100% rename from x-pack/packages/security-solution/data_table/components/data_table/data_table.stories.tsx rename to x-pack/solutions/security/packages/data_table/components/data_table/data_table.stories.tsx diff --git a/x-pack/packages/security-solution/data_table/components/data_table/helpers.test.tsx b/x-pack/solutions/security/packages/data_table/components/data_table/helpers.test.tsx similarity index 100% rename from x-pack/packages/security-solution/data_table/components/data_table/helpers.test.tsx rename to x-pack/solutions/security/packages/data_table/components/data_table/helpers.test.tsx diff --git a/x-pack/packages/security-solution/data_table/components/data_table/helpers.tsx b/x-pack/solutions/security/packages/data_table/components/data_table/helpers.tsx similarity index 100% rename from x-pack/packages/security-solution/data_table/components/data_table/helpers.tsx rename to x-pack/solutions/security/packages/data_table/components/data_table/helpers.tsx diff --git a/x-pack/packages/security-solution/data_table/components/data_table/index.test.tsx b/x-pack/solutions/security/packages/data_table/components/data_table/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/data_table/components/data_table/index.test.tsx rename to x-pack/solutions/security/packages/data_table/components/data_table/index.test.tsx diff --git a/x-pack/packages/security-solution/data_table/components/data_table/index.tsx b/x-pack/solutions/security/packages/data_table/components/data_table/index.tsx similarity index 100% rename from x-pack/packages/security-solution/data_table/components/data_table/index.tsx rename to x-pack/solutions/security/packages/data_table/components/data_table/index.tsx diff --git a/x-pack/packages/security-solution/data_table/components/data_table/pagination.ts b/x-pack/solutions/security/packages/data_table/components/data_table/pagination.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/components/data_table/pagination.ts rename to x-pack/solutions/security/packages/data_table/components/data_table/pagination.ts diff --git a/x-pack/packages/security-solution/data_table/components/data_table/types.ts b/x-pack/solutions/security/packages/data_table/components/data_table/types.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/components/data_table/types.ts rename to x-pack/solutions/security/packages/data_table/components/data_table/types.ts diff --git a/x-pack/packages/security-solution/data_table/components/data_table/utils.ts b/x-pack/solutions/security/packages/data_table/components/data_table/utils.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/components/data_table/utils.ts rename to x-pack/solutions/security/packages/data_table/components/data_table/utils.ts diff --git a/x-pack/packages/security-solution/data_table/components/toolbar/bulk_actions/types.ts b/x-pack/solutions/security/packages/data_table/components/toolbar/bulk_actions/types.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/components/toolbar/bulk_actions/types.ts rename to x-pack/solutions/security/packages/data_table/components/toolbar/bulk_actions/types.ts diff --git a/x-pack/packages/security-solution/data_table/components/toolbar/unit/index.ts b/x-pack/solutions/security/packages/data_table/components/toolbar/unit/index.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/components/toolbar/unit/index.ts rename to x-pack/solutions/security/packages/data_table/components/toolbar/unit/index.ts diff --git a/x-pack/packages/security-solution/data_table/components/toolbar/unit/styles.tsx b/x-pack/solutions/security/packages/data_table/components/toolbar/unit/styles.tsx similarity index 100% rename from x-pack/packages/security-solution/data_table/components/toolbar/unit/styles.tsx rename to x-pack/solutions/security/packages/data_table/components/toolbar/unit/styles.tsx diff --git a/x-pack/packages/security-solution/data_table/components/toolbar/unit/translations.ts b/x-pack/solutions/security/packages/data_table/components/toolbar/unit/translations.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/components/toolbar/unit/translations.ts rename to x-pack/solutions/security/packages/data_table/components/toolbar/unit/translations.ts diff --git a/x-pack/packages/security-solution/data_table/hooks/use_selector.tsx b/x-pack/solutions/security/packages/data_table/hooks/use_selector.tsx similarity index 100% rename from x-pack/packages/security-solution/data_table/hooks/use_selector.tsx rename to x-pack/solutions/security/packages/data_table/hooks/use_selector.tsx diff --git a/x-pack/packages/security-solution/data_table/index.ts b/x-pack/solutions/security/packages/data_table/index.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/index.ts rename to x-pack/solutions/security/packages/data_table/index.ts diff --git a/x-pack/packages/security-solution/features/jest.config.js b/x-pack/solutions/security/packages/data_table/jest.config.js similarity index 75% rename from x-pack/packages/security-solution/features/jest.config.js rename to x-pack/solutions/security/packages/data_table/jest.config.js index 47da21e7adff0..5b21976680c68 100644 --- a/x-pack/packages/security-solution/features/jest.config.js +++ b/x-pack/solutions/security/packages/data_table/jest.config.js @@ -7,6 +7,6 @@ module.exports = { preset: '@kbn/test', - rootDir: '../../../..', - roots: ['/x-pack/packages/security-solution/features'], + roots: ['/x-pack/solutions/security/packages/data_table'], + rootDir: '../../../../..', }; diff --git a/x-pack/packages/security-solution/data_table/kibana.jsonc b/x-pack/solutions/security/packages/data_table/kibana.jsonc similarity index 100% rename from x-pack/packages/security-solution/data_table/kibana.jsonc rename to x-pack/solutions/security/packages/data_table/kibana.jsonc diff --git a/x-pack/packages/security-solution/data_table/mock/demo_data/endpoint/library_load_event.ts b/x-pack/solutions/security/packages/data_table/mock/demo_data/endpoint/library_load_event.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/mock/demo_data/endpoint/library_load_event.ts rename to x-pack/solutions/security/packages/data_table/mock/demo_data/endpoint/library_load_event.ts diff --git a/x-pack/packages/security-solution/data_table/mock/demo_data/endpoint/process_execution_malware_prevention_alert.ts b/x-pack/solutions/security/packages/data_table/mock/demo_data/endpoint/process_execution_malware_prevention_alert.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/mock/demo_data/endpoint/process_execution_malware_prevention_alert.ts rename to x-pack/solutions/security/packages/data_table/mock/demo_data/endpoint/process_execution_malware_prevention_alert.ts diff --git a/x-pack/packages/security-solution/data_table/mock/demo_data/endpoint/registry_modification_event.ts b/x-pack/solutions/security/packages/data_table/mock/demo_data/endpoint/registry_modification_event.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/mock/demo_data/endpoint/registry_modification_event.ts rename to x-pack/solutions/security/packages/data_table/mock/demo_data/endpoint/registry_modification_event.ts diff --git a/x-pack/packages/security-solution/data_table/mock/demo_data/timeline.ts b/x-pack/solutions/security/packages/data_table/mock/demo_data/timeline.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/mock/demo_data/timeline.ts rename to x-pack/solutions/security/packages/data_table/mock/demo_data/timeline.ts diff --git a/x-pack/packages/security-solution/data_table/mock/global_state.ts b/x-pack/solutions/security/packages/data_table/mock/global_state.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/mock/global_state.ts rename to x-pack/solutions/security/packages/data_table/mock/global_state.ts diff --git a/x-pack/packages/security-solution/data_table/mock/header.ts b/x-pack/solutions/security/packages/data_table/mock/header.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/mock/header.ts rename to x-pack/solutions/security/packages/data_table/mock/header.ts diff --git a/x-pack/packages/security-solution/data_table/mock/mock_local_storage.ts b/x-pack/solutions/security/packages/data_table/mock/mock_local_storage.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/mock/mock_local_storage.ts rename to x-pack/solutions/security/packages/data_table/mock/mock_local_storage.ts diff --git a/x-pack/packages/security-solution/data_table/mock/mock_source.ts b/x-pack/solutions/security/packages/data_table/mock/mock_source.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/mock/mock_source.ts rename to x-pack/solutions/security/packages/data_table/mock/mock_source.ts diff --git a/x-pack/packages/security-solution/data_table/mock/mock_timeline_data.ts b/x-pack/solutions/security/packages/data_table/mock/mock_timeline_data.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/mock/mock_timeline_data.ts rename to x-pack/solutions/security/packages/data_table/mock/mock_timeline_data.ts diff --git a/x-pack/packages/security-solution/data_table/mock/test_providers.tsx b/x-pack/solutions/security/packages/data_table/mock/test_providers.tsx similarity index 100% rename from x-pack/packages/security-solution/data_table/mock/test_providers.tsx rename to x-pack/solutions/security/packages/data_table/mock/test_providers.tsx diff --git a/x-pack/packages/security-solution/data_table/package.json b/x-pack/solutions/security/packages/data_table/package.json similarity index 100% rename from x-pack/packages/security-solution/data_table/package.json rename to x-pack/solutions/security/packages/data_table/package.json diff --git a/x-pack/packages/security-solution/data_table/store/data_table/actions.ts b/x-pack/solutions/security/packages/data_table/store/data_table/actions.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/store/data_table/actions.ts rename to x-pack/solutions/security/packages/data_table/store/data_table/actions.ts diff --git a/x-pack/packages/security-solution/data_table/store/data_table/defaults.ts b/x-pack/solutions/security/packages/data_table/store/data_table/defaults.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/store/data_table/defaults.ts rename to x-pack/solutions/security/packages/data_table/store/data_table/defaults.ts diff --git a/x-pack/packages/security-solution/data_table/store/data_table/helpers.test.tsx b/x-pack/solutions/security/packages/data_table/store/data_table/helpers.test.tsx similarity index 100% rename from x-pack/packages/security-solution/data_table/store/data_table/helpers.test.tsx rename to x-pack/solutions/security/packages/data_table/store/data_table/helpers.test.tsx diff --git a/x-pack/packages/security-solution/data_table/store/data_table/helpers.ts b/x-pack/solutions/security/packages/data_table/store/data_table/helpers.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/store/data_table/helpers.ts rename to x-pack/solutions/security/packages/data_table/store/data_table/helpers.ts diff --git a/x-pack/packages/security-solution/data_table/store/data_table/index.ts b/x-pack/solutions/security/packages/data_table/store/data_table/index.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/store/data_table/index.ts rename to x-pack/solutions/security/packages/data_table/store/data_table/index.ts diff --git a/x-pack/packages/security-solution/data_table/store/data_table/inputs.ts b/x-pack/solutions/security/packages/data_table/store/data_table/inputs.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/store/data_table/inputs.ts rename to x-pack/solutions/security/packages/data_table/store/data_table/inputs.ts diff --git a/x-pack/packages/security-solution/data_table/store/data_table/model.ts b/x-pack/solutions/security/packages/data_table/store/data_table/model.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/store/data_table/model.ts rename to x-pack/solutions/security/packages/data_table/store/data_table/model.ts diff --git a/x-pack/packages/security-solution/data_table/store/data_table/reducer.ts b/x-pack/solutions/security/packages/data_table/store/data_table/reducer.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/store/data_table/reducer.ts rename to x-pack/solutions/security/packages/data_table/store/data_table/reducer.ts diff --git a/x-pack/packages/security-solution/data_table/store/data_table/selectors.ts b/x-pack/solutions/security/packages/data_table/store/data_table/selectors.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/store/data_table/selectors.ts rename to x-pack/solutions/security/packages/data_table/store/data_table/selectors.ts diff --git a/x-pack/packages/security-solution/data_table/store/data_table/translations.ts b/x-pack/solutions/security/packages/data_table/store/data_table/translations.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/store/data_table/translations.ts rename to x-pack/solutions/security/packages/data_table/store/data_table/translations.ts diff --git a/x-pack/packages/security-solution/data_table/store/data_table/types.ts b/x-pack/solutions/security/packages/data_table/store/data_table/types.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/store/data_table/types.ts rename to x-pack/solutions/security/packages/data_table/store/data_table/types.ts diff --git a/x-pack/packages/security-solution/data_table/tsconfig.json b/x-pack/solutions/security/packages/data_table/tsconfig.json similarity index 92% rename from x-pack/packages/security-solution/data_table/tsconfig.json rename to x-pack/solutions/security/packages/data_table/tsconfig.json index 9fab7f29b9aab..d44a419c3ba4e 100644 --- a/x-pack/packages/security-solution/data_table/tsconfig.json +++ b/x-pack/solutions/security/packages/data_table/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../../tsconfig.base.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types", "types": ["jest", "node", "react"] diff --git a/x-pack/packages/security-solution/data_table/utils/use_mount_appended.ts b/x-pack/solutions/security/packages/data_table/utils/use_mount_appended.ts similarity index 100% rename from x-pack/packages/security-solution/data_table/utils/use_mount_appended.ts rename to x-pack/solutions/security/packages/data_table/utils/use_mount_appended.ts diff --git a/x-pack/packages/security-solution/distribution_bar/README.md b/x-pack/solutions/security/packages/distribution_bar/README.md similarity index 100% rename from x-pack/packages/security-solution/distribution_bar/README.md rename to x-pack/solutions/security/packages/distribution_bar/README.md diff --git a/x-pack/packages/security-solution/distribution_bar/index.ts b/x-pack/solutions/security/packages/distribution_bar/index.ts similarity index 100% rename from x-pack/packages/security-solution/distribution_bar/index.ts rename to x-pack/solutions/security/packages/distribution_bar/index.ts diff --git a/x-pack/packages/security-solution/distribution_bar/jest.config.js b/x-pack/solutions/security/packages/distribution_bar/jest.config.js similarity index 74% rename from x-pack/packages/security-solution/distribution_bar/jest.config.js rename to x-pack/solutions/security/packages/distribution_bar/jest.config.js index efe091d25afdd..296ff5369079c 100644 --- a/x-pack/packages/security-solution/distribution_bar/jest.config.js +++ b/x-pack/solutions/security/packages/distribution_bar/jest.config.js @@ -7,6 +7,6 @@ module.exports = { preset: '@kbn/test', - roots: ['/x-pack/packages/security-solution/distribution_bar'], - rootDir: '../../../..', + roots: ['/x-pack/solutions/security/packages/distribution_bar'], + rootDir: '../../../../..', }; diff --git a/x-pack/packages/security-solution/distribution_bar/kibana.jsonc b/x-pack/solutions/security/packages/distribution_bar/kibana.jsonc similarity index 100% rename from x-pack/packages/security-solution/distribution_bar/kibana.jsonc rename to x-pack/solutions/security/packages/distribution_bar/kibana.jsonc diff --git a/x-pack/packages/security-solution/distribution_bar/package.json b/x-pack/solutions/security/packages/distribution_bar/package.json similarity index 100% rename from x-pack/packages/security-solution/distribution_bar/package.json rename to x-pack/solutions/security/packages/distribution_bar/package.json diff --git a/x-pack/packages/security-solution/distribution_bar/src/distribution_bar.stories.tsx b/x-pack/solutions/security/packages/distribution_bar/src/distribution_bar.stories.tsx similarity index 100% rename from x-pack/packages/security-solution/distribution_bar/src/distribution_bar.stories.tsx rename to x-pack/solutions/security/packages/distribution_bar/src/distribution_bar.stories.tsx diff --git a/x-pack/packages/security-solution/distribution_bar/src/distribution_bar.test.tsx b/x-pack/solutions/security/packages/distribution_bar/src/distribution_bar.test.tsx similarity index 100% rename from x-pack/packages/security-solution/distribution_bar/src/distribution_bar.test.tsx rename to x-pack/solutions/security/packages/distribution_bar/src/distribution_bar.test.tsx diff --git a/x-pack/packages/security-solution/distribution_bar/src/distribution_bar.tsx b/x-pack/solutions/security/packages/distribution_bar/src/distribution_bar.tsx similarity index 100% rename from x-pack/packages/security-solution/distribution_bar/src/distribution_bar.tsx rename to x-pack/solutions/security/packages/distribution_bar/src/distribution_bar.tsx diff --git a/x-pack/packages/security-solution/distribution_bar/tsconfig.json b/x-pack/solutions/security/packages/distribution_bar/tsconfig.json similarity index 87% rename from x-pack/packages/security-solution/distribution_bar/tsconfig.json rename to x-pack/solutions/security/packages/distribution_bar/tsconfig.json index b87424ce11016..277fe500caa48 100644 --- a/x-pack/packages/security-solution/distribution_bar/tsconfig.json +++ b/x-pack/solutions/security/packages/distribution_bar/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../../tsconfig.base.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types", "types": [ diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/README.md b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/README.md similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/README.md rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/README.md diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/actions/add_to_new_case/hooks/use_add_to_new_case/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/actions/add_to_new_case/hooks/use_add_to_new_case/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/actions/add_to_new_case/hooks/use_add_to_new_case/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/actions/add_to_new_case/hooks/use_add_to_new_case/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/actions/add_to_new_case/hooks/use_add_to_new_case/translations.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/actions/add_to_new_case/hooks/use_add_to_new_case/translations.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/actions/add_to_new_case/hooks/use_add_to_new_case/translations.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/actions/add_to_new_case/hooks/use_add_to_new_case/translations.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/actions/add_to_new_case/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/actions/add_to_new_case/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/actions/add_to_new_case/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/actions/add_to_new_case/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/actions/add_to_new_case/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/actions/add_to_new_case/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/actions/add_to_new_case/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/actions/add_to_new_case/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/actions/chat/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/actions/chat/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/actions/chat/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/actions/chat/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/actions/chat/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/actions/chat/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/actions/chat/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/actions/chat/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/actions/chat/translations.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/actions/chat/translations.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/actions/chat/translations.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/actions/chat/translations.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/actions/copy_to_clipboard/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/actions/copy_to_clipboard/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/actions/copy_to_clipboard/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/actions/copy_to_clipboard/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/actions/copy_to_clipboard/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/actions/copy_to_clipboard/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/actions/copy_to_clipboard/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/actions/copy_to_clipboard/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/actions/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/actions/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/actions/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/actions/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/actions/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/actions/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/actions/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/actions/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/actions/styles.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/actions/styles.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/actions/styles.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/actions/styles.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/constants.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/constants.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/constants.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/constants.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/contexts/indices_check_context/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/contexts/indices_check_context/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/contexts/indices_check_context/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/contexts/indices_check_context/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/contexts/results_rollup_context/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/contexts/results_rollup_context/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/contexts/results_rollup_context/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/contexts/results_rollup_context/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_context/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_context/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_context/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_context/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_context/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_context/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_context/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_context/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/ilm_phases_empty_prompt/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/ilm_phases_empty_prompt/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/ilm_phases_empty_prompt/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/ilm_phases_empty_prompt/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/ilm_phases_empty_prompt/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/ilm_phases_empty_prompt/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/ilm_phases_empty_prompt/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/ilm_phases_empty_prompt/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/ilm_phases_empty_prompt/translations.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/ilm_phases_empty_prompt/translations.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/ilm_phases_empty_prompt/translations.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/ilm_phases_empty_prompt/translations.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/constants.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/constants.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/constants.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/constants.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/hooks/use_is_historical_results_tour_active/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/hooks/use_is_historical_results_tour_active/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/hooks/use_is_historical_results_tour_active/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/hooks/use_is_historical_results_tour_active/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/constants.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/constants.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/constants.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/constants.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/contexts/historical_results_context/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/contexts/historical_results_context/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/contexts/historical_results_context/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/contexts/historical_results_context/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/contexts/historical_results_context/types.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/contexts/historical_results_context/types.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/contexts/historical_results_context/types.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/contexts/historical_results_context/types.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/error_empty_prompt/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/error_empty_prompt/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/error_empty_prompt/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/error_empty_prompt/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/error_empty_prompt/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/error_empty_prompt/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/error_empty_prompt/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/error_empty_prompt/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/historical_results_tour/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/historical_results_tour/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/historical_results_tour/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/historical_results_tour/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/historical_results_tour/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/historical_results_tour/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/historical_results_tour/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/historical_results_tour/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/historical_results_tour/translations.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/historical_results_tour/translations.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/historical_results_tour/translations.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/historical_results_tour/translations.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/constants.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/constants.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/constants.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/constants.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/reducers/fetch_historical_results_reducer.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/reducers/fetch_historical_results_reducer.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/reducers/fetch_historical_results_reducer.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/reducers/fetch_historical_results_reducer.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/reducers/fetch_historical_results_reducer.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/reducers/fetch_historical_results_reducer.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/reducers/fetch_historical_results_reducer.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/reducers/fetch_historical_results_reducer.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/types.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/types.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/types.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/types.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/utils/fetch_historical_results.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/utils/fetch_historical_results.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/utils/fetch_historical_results.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/utils/fetch_historical_results.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/utils/fetch_historical_results.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/utils/fetch_historical_results.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/utils/fetch_historical_results.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_historical_results/utils/fetch_historical_results.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_ilm_explain/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_ilm_explain/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_ilm_explain/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_ilm_explain/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_ilm_explain/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_ilm_explain/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_ilm_explain/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_ilm_explain/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_stats/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_stats/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_stats/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_stats/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_stats/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_stats/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_stats/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/hooks/use_stats/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_fields_tabs/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_fields_tabs/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_fields_tabs/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_fields_tabs/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_fields_tabs/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_fields_tabs/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_fields_tabs/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_fields_tabs/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_fields_tabs/types.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_fields_tabs/types.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_fields_tabs/types.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_fields_tabs/types.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_success_empty_prompt/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_success_empty_prompt/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_success_empty_prompt/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_success_empty_prompt/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_success_empty_prompt/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_success_empty_prompt/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_success_empty_prompt/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_success_empty_prompt/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_success_empty_prompt/translations.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_success_empty_prompt/translations.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_success_empty_prompt/translations.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/check_success_empty_prompt/translations.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/compare_fields_table/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/compare_fields_table/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/compare_fields_table/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/compare_fields_table/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/compare_fields_table/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/compare_fields_table/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/compare_fields_table/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/compare_fields_table/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/constants.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/constants.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/constants.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/constants.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/ecs_allowed_values/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/ecs_allowed_values/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/ecs_allowed_values/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/ecs_allowed_values/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/ecs_allowed_values/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/ecs_allowed_values/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/ecs_allowed_values/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/ecs_allowed_values/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/empty_prompt_body/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/empty_prompt_body/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/empty_prompt_body/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/empty_prompt_body/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/empty_prompt_body/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/empty_prompt_body/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/empty_prompt_body/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/empty_prompt_body/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/empty_prompt_title/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/empty_prompt_title/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/empty_prompt_title/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/empty_prompt_title/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/empty_prompt_title/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/empty_prompt_title/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/empty_prompt_title/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/empty_prompt_title/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/constants.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/constants.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/constants.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/constants.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/historical_check_fields/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/historical_check_fields/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/historical_check_fields/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/historical_check_fields/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/historical_check_fields/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/historical_check_fields/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/historical_check_fields/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/historical_check_fields/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/historical_check_fields/utils/get_incompatible_and_same_family_fields_from_historical_result.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/historical_check_fields/utils/get_incompatible_and_same_family_fields_from_historical_result.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/historical_check_fields/utils/get_incompatible_and_same_family_fields_from_historical_result.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/historical_check_fields/utils/get_incompatible_and_same_family_fields_from_historical_result.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/historical_check_fields/utils/get_incompatible_and_same_family_fields_from_historical_result.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/historical_check_fields/utils/get_incompatible_and_same_family_fields_from_historical_result.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/historical_check_fields/utils/get_incompatible_and_same_family_fields_from_historical_result.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/historical_check_fields/utils/get_incompatible_and_same_family_fields_from_historical_result.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/legacy_historical_check_fields/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/legacy_historical_check_fields/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/legacy_historical_check_fields/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/legacy_historical_check_fields/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/legacy_historical_check_fields/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/legacy_historical_check_fields/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/legacy_historical_check_fields/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/legacy_historical_check_fields/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/legacy_historical_check_fields/translations.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/legacy_historical_check_fields/translations.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/legacy_historical_check_fields/translations.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/legacy_historical_check_fields/translations.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/styles.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/styles.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/styles.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/styles.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/utils/is_non_legacy_historical_result.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/utils/is_non_legacy_historical_result.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/utils/is_non_legacy_historical_result.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/utils/is_non_legacy_historical_result.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/utils/is_non_legacy_historical_result.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/utils/is_non_legacy_historical_result.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/utils/is_non_legacy_historical_result.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/historical_result/utils/is_non_legacy_historical_result.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/styles.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/styles.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/styles.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/styles.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/translations.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/translations.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/translations.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/historical_results_list/translations.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/hooks/use_historical_results_date_picker/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/hooks/use_historical_results_date_picker/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/hooks/use_historical_results_date_picker/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/hooks/use_historical_results_date_picker/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/hooks/use_historical_results_outcome_filter/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/hooks/use_historical_results_outcome_filter/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/hooks/use_historical_results_outcome_filter/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/hooks/use_historical_results_outcome_filter/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/hooks/use_historical_results_pagination/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/hooks/use_historical_results_pagination/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/hooks/use_historical_results_pagination/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/hooks/use_historical_results_pagination/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/hooks/use_historical_results_pagination/reducers/historical_results_pagination_reducer.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/hooks/use_historical_results_pagination/reducers/historical_results_pagination_reducer.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/hooks/use_historical_results_pagination/reducers/historical_results_pagination_reducer.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/hooks/use_historical_results_pagination/reducers/historical_results_pagination_reducer.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/hooks/use_historical_results_pagination/reducers/historical_results_pagination_reducer.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/hooks/use_historical_results_pagination/reducers/historical_results_pagination_reducer.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/hooks/use_historical_results_pagination/reducers/historical_results_pagination_reducer.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/hooks/use_historical_results_pagination/reducers/historical_results_pagination_reducer.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/reducers/fetch_historical_results_query_reducer.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/reducers/fetch_historical_results_query_reducer.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/reducers/fetch_historical_results_query_reducer.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/reducers/fetch_historical_results_query_reducer.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/reducers/fetch_historical_results_query_reducer.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/reducers/fetch_historical_results_query_reducer.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/reducers/fetch_historical_results_query_reducer.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/reducers/fetch_historical_results_query_reducer.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/styles.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/styles.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/styles.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/styles.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/translations.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/translations.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/translations.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/translations.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/types.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/types.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/types.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/historical_results/types.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/hooks/use_current_window_width/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/hooks/use_current_window_width/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/hooks/use_current_window_width/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/hooks/use_current_window_width/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/hooks/use_current_window_width/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/hooks/use_current_window_width/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/hooks/use_current_window_width/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/hooks/use_current_window_width/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/incompatible_callout/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/incompatible_callout/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/incompatible_callout/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/incompatible_callout/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/incompatible_callout/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/incompatible_callout/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/incompatible_callout/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/incompatible_callout/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/incompatible_tab/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/incompatible_tab/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/incompatible_tab/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/incompatible_tab/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/incompatible_tab/utils/get_incompatible_table_columns.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/incompatible_tab/utils/get_incompatible_table_columns.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/incompatible_tab/utils/get_incompatible_table_columns.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/incompatible_tab/utils/get_incompatible_table_columns.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/incompatible_tab/utils/get_incompatible_table_columns.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/incompatible_tab/utils/get_incompatible_table_columns.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/incompatible_tab/utils/get_incompatible_table_columns.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/incompatible_tab/utils/get_incompatible_table_columns.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index_invalid_values/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index_invalid_values/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index_invalid_values/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index_invalid_values/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index_invalid_values/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index_invalid_values/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index_invalid_values/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index_invalid_values/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index_stats_panel/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index_stats_panel/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index_stats_panel/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index_stats_panel/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index_stats_panel/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index_stats_panel/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index_stats_panel/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/index_stats_panel/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/all_tab/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/all_tab/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/all_tab/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/all_tab/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/all_tab/utils/get_all_table_columns.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/all_tab/utils/get_all_table_columns.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/all_tab/utils/get_all_table_columns.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/all_tab/utils/get_all_table_columns.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/all_tab/utils/get_all_table_columns.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/all_tab/utils/get_all_table_columns.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/all_tab/utils/get_all_table_columns.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/all_tab/utils/get_all_table_columns.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/custom_callout/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/custom_callout/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/custom_callout/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/custom_callout/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/custom_callout/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/custom_callout/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/custom_callout/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/custom_callout/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/translations.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/translations.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/translations.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/translations.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/utils/get_custom_table_columns.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/utils/get_custom_table_columns.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/utils/get_custom_table_columns.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/utils/get_custom_table_columns.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/utils/get_custom_table_columns.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/utils/get_custom_table_columns.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/utils/get_custom_table_columns.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/utils/get_custom_table_columns.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/utils/markdown.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/utils/markdown.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/utils/markdown.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/utils/markdown.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/utils/markdown.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/utils/markdown.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/utils/markdown.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/custom_tab/utils/markdown.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/ecs_compliant_tab/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/ecs_compliant_tab/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/ecs_compliant_tab/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/ecs_compliant_tab/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/ecs_compliant_tab/translations.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/ecs_compliant_tab/translations.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/ecs_compliant_tab/translations.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/ecs_compliant_tab/translations.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/ecs_compliant_tab/utils/get_ecs_compliant_table_columns.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/ecs_compliant_tab/utils/get_ecs_compliant_table_columns.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/ecs_compliant_tab/utils/get_ecs_compliant_table_columns.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/ecs_compliant_tab/utils/get_ecs_compliant_table_columns.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/ecs_compliant_tab/utils/get_ecs_compliant_table_columns.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/ecs_compliant_tab/utils/get_ecs_compliant_table_columns.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/ecs_compliant_tab/utils/get_ecs_compliant_table_columns.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/ecs_compliant_tab/utils/get_ecs_compliant_table_columns.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/sticky_actions/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/sticky_actions/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/sticky_actions/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/sticky_actions/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/utils/get_ecs_compliant_badge_color.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/utils/get_ecs_compliant_badge_color.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/utils/get_ecs_compliant_badge_color.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/utils/get_ecs_compliant_badge_color.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/utils/get_ecs_compliant_badge_color.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/utils/get_ecs_compliant_badge_color.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/utils/get_ecs_compliant_badge_color.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/utils/get_ecs_compliant_badge_color.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/utils/is_timestamp_field_missing.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/utils/is_timestamp_field_missing.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/utils/is_timestamp_field_missing.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/utils/is_timestamp_field_missing.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/utils/is_timestamp_field_missing.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/utils/is_timestamp_field_missing.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/utils/is_timestamp_field_missing.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/latest_results/latest_check_fields/utils/is_timestamp_field_missing.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_callout/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_callout/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_callout/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_callout/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_callout/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_callout/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_callout/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_callout/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_tab/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_tab/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_tab/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_tab/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_tab/utils/get_same_family_table_columns.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_tab/utils/get_same_family_table_columns.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_tab/utils/get_same_family_table_columns.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_tab/utils/get_same_family_table_columns.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_tab/utils/get_same_family_table_columns.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_tab/utils/get_same_family_table_columns.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_tab/utils/get_same_family_table_columns.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_tab/utils/get_same_family_table_columns.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_tab/utils/markdown.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_tab/utils/markdown.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_tab/utils/markdown.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_tab/utils/markdown.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_tab/utils/markdown.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_tab/utils/markdown.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_tab/utils/markdown.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/same_family_tab/utils/markdown.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/styles.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/styles.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/styles.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/styles.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/translations.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/translations.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/translations.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/translations.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/types.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/types.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/types.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/types.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/utils/get_formatted_check_time.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/utils/get_formatted_check_time.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/utils/get_formatted_check_time.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/utils/get_formatted_check_time.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/utils/get_formatted_check_time.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/utils/get_formatted_check_time.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/utils/get_formatted_check_time.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_check_flyout/utils/get_formatted_check_time.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_result_badge/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_result_badge/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_result_badge/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_result_badge/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_result_badge/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_result_badge/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_result_badge/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/index_result_badge/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/loading_empty_prompt/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/loading_empty_prompt/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/loading_empty_prompt/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/loading_empty_prompt/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/ilm_phase_counts/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/ilm_phase_counts/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/ilm_phase_counts/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/ilm_phase_counts/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/ilm_phase_counts/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/ilm_phase_counts/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/ilm_phase_counts/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/ilm_phase_counts/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/ilm_phase_counts/translations.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/ilm_phase_counts/translations.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/ilm_phase_counts/translations.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/ilm_phase_counts/translations.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/ilm_phase_counts/utils/get_pattern_ilm_phase_description.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/ilm_phase_counts/utils/get_pattern_ilm_phase_description.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/ilm_phase_counts/utils/get_pattern_ilm_phase_description.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/ilm_phase_counts/utils/get_pattern_ilm_phase_description.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/ilm_phase_counts/utils/get_pattern_ilm_phase_description.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/ilm_phase_counts/utils/get_pattern_ilm_phase_description.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/ilm_phase_counts/utils/get_pattern_ilm_phase_description.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/ilm_phase_counts/utils/get_pattern_ilm_phase_description.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/translations.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/translations.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/translations.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/translations.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/utils/get_pattern_result_tooltip.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/utils/get_pattern_result_tooltip.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/utils/get_pattern_result_tooltip.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/utils/get_pattern_result_tooltip.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/utils/get_pattern_result_tooltip.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/utils/get_pattern_result_tooltip.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/utils/get_pattern_result_tooltip.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/utils/get_pattern_result_tooltip.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/utils/show_result.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/utils/show_result.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/utils/show_result.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/utils/show_result.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/utils/show_result.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/utils/show_result.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/utils/show_result.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/pattern_label/utils/show_result.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/translations.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/translations.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/translations.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/pattern_summary/translations.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/remote_clusters_callout/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/remote_clusters_callout/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/remote_clusters_callout/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/remote_clusters_callout/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/remote_clusters_callout/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/remote_clusters_callout/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/remote_clusters_callout/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/remote_clusters_callout/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/remote_clusters_callout/translations.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/remote_clusters_callout/translations.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/remote_clusters_callout/translations.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/remote_clusters_callout/translations.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/styles.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/styles.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/styles.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/styles.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/translations.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/translations.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/translations.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/translations.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/utils/columns.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/utils/columns.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/utils/columns.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/utils/columns.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/utils/columns.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/utils/columns.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/utils/columns.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/utils/columns.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/utils/get_show_pagination.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/utils/get_show_pagination.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/utils/get_show_pagination.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/utils/get_show_pagination.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/utils/get_show_pagination.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/utils/get_show_pagination.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/utils/get_show_pagination.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/summary_table/utils/get_show_pagination.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/translations.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/translations.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/translations.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/translations.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_check_text_color.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_check_text_color.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_check_text_color.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_check_text_color.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_check_text_color.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_check_text_color.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_check_text_color.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_check_text_color.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_index_result_tooltip.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_index_result_tooltip.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_index_result_tooltip.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_index_result_tooltip.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_index_result_tooltip.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_index_result_tooltip.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_index_result_tooltip.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_index_result_tooltip.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_page_index.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_page_index.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_page_index.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_page_index.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_page_index.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_page_index.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_page_index.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/get_page_index.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/ilm_explain.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/ilm_explain.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/ilm_explain.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/ilm_explain.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/ilm_explain.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/ilm_explain.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/ilm_explain.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/ilm_explain.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/should_create_index_names.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/should_create_index_names.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/should_create_index_names.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/should_create_index_names.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/should_create_index_names.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/should_create_index_names.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/should_create_index_names.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/should_create_index_names.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/should_create_pattern_rollup.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/should_create_pattern_rollup.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/should_create_pattern_rollup.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/should_create_pattern_rollup.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/should_create_pattern_rollup.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/should_create_pattern_rollup.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/should_create_pattern_rollup.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/should_create_pattern_rollup.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/stats.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/stats.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/stats.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/stats.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/stats.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/stats.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/stats.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/indices_details/pattern/utils/stats.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/chart_legend_item/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/chart_legend_item/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/chart_legend_item/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/chart_legend_item/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/constants.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/constants.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/constants.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/constants.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/no_data/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/no_data/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/no_data/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/no_data/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/no_data/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/no_data/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/no_data/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/no_data/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/translations.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/translations.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/translations.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/translations.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_fill_color.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_fill_color.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_fill_color.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_fill_color.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_fill_color.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_fill_color.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_fill_color.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_fill_color.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_layers_multi_dimensional.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_layers_multi_dimensional.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_layers_multi_dimensional.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_layers_multi_dimensional.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_layers_multi_dimensional.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_layers_multi_dimensional.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_layers_multi_dimensional.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_layers_multi_dimensional.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_legend_items.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_legend_items.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_legend_items.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_legend_items.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_legend_items.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_legend_items.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_legend_items.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_legend_items.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_path_to_flattened_bucket_map.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_path_to_flattened_bucket_map.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_path_to_flattened_bucket_map.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_path_to_flattened_bucket_map.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_path_to_flattened_bucket_map.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_path_to_flattened_bucket_map.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_path_to_flattened_bucket_map.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/get_path_to_flattened_bucket_map.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/stats.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/stats.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/stats.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/stats.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/stats.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/stats.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/stats.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/storage_treemap/utils/stats.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/translations.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/translations.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/translations.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/translations.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/types.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/types.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/types.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/types.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/utils/get_flattened_buckets.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/utils/get_flattened_buckets.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/utils/get_flattened_buckets.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/utils/get_flattened_buckets.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/utils/get_flattened_buckets.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/utils/get_flattened_buckets.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/utils/get_flattened_buckets.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_details/storage_details/utils/get_flattened_buckets.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/ilm_phase_filter/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/ilm_phase_filter/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/ilm_phase_filter/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/ilm_phase_filter/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/ilm_phase_filter/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/ilm_phase_filter/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/ilm_phase_filter/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/ilm_phase_filter/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/ilm_phase_filter/styles.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/ilm_phase_filter/styles.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/ilm_phase_filter/styles.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/ilm_phase_filter/styles.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_all/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_all/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_all/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_all/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_all/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_all/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_all/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_all/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_all/utils/get_all_indices_to_check.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_all/utils/get_all_indices_to_check.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_all/utils/get_all_indices_to_check.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_all/utils/get_all_indices_to_check.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_all/utils/get_all_indices_to_check.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_all/utils/get_all_indices_to_check.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_all/utils/get_all_indices_to_check.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_all/utils/get_all_indices_to_check.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/errors_viewer/helpers.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/errors_viewer/helpers.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/errors_viewer/helpers.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/errors_viewer/helpers.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/errors_viewer/helpers.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/errors_viewer/helpers.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/errors_viewer/helpers.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/errors_viewer/helpers.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/errors_viewer/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/errors_viewer/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/errors_viewer/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/errors_viewer/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/errors_viewer/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/errors_viewer/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/errors_viewer/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/errors_viewer/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/translations.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/translations.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/translations.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/errors_popover/translations.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/check_status/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/translations.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/translations.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/translations.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/translations.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/utils/get_error_summaries.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/utils/get_error_summaries.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/utils/get_error_summaries.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/utils/get_error_summaries.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/utils/get_error_summaries.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/utils/get_error_summaries.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/utils/get_error_summaries.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/utils/get_error_summaries.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/utils/markdown.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/utils/markdown.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/utils/markdown.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/utils/markdown.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/utils/markdown.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/utils/markdown.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/utils/markdown.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/data_quality_summary/summary_actions/utils/markdown.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_abort_controller_ref/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_abort_controller_ref/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_abort_controller_ref/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_abort_controller_ref/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_abort_controller_ref/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_abort_controller_ref/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_abort_controller_ref/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_abort_controller_ref/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_indices_check/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_indices_check/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_indices_check/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_indices_check/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_indices_check/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_indices_check/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_indices_check/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_indices_check/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_indices_check/reducer.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_indices_check/reducer.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_indices_check/reducer.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_indices_check/reducer.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_indices_check/types.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_indices_check/types.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_indices_check/types.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_indices_check/types.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_is_mounted_ref/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_is_mounted_ref/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_is_mounted_ref/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_is_mounted_ref/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_is_mounted_ref/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_is_mounted_ref/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_is_mounted_ref/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_is_mounted_ref/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/constants.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/constants.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/constants.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/constants.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/hooks/use_stored_pattern_results/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/hooks/use_stored_pattern_results/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/hooks/use_stored_pattern_results/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/hooks/use_stored_pattern_results/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/hooks/use_stored_pattern_results/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/hooks/use_stored_pattern_results/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/hooks/use_stored_pattern_results/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/hooks/use_stored_pattern_results/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/types.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/types.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/types.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/types.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/get_pattern_rollups_with_latest_check_result.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/get_pattern_rollups_with_latest_check_result.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/get_pattern_rollups_with_latest_check_result.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/get_pattern_rollups_with_latest_check_result.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/get_pattern_rollups_with_latest_check_result.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/get_pattern_rollups_with_latest_check_result.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/get_pattern_rollups_with_latest_check_result.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/get_pattern_rollups_with_latest_check_result.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/metadata.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/metadata.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/metadata.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/metadata.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/metadata.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/metadata.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/metadata.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/metadata.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/stats.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/stats.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/stats.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/stats.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/stats.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/stats.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/stats.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/stats.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/storage.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/storage.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/storage.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/storage.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/storage.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/storage.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/storage.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/hooks/use_results_rollup/utils/storage.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/allowed_values/mock_allowed_values.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/allowed_values/mock_allowed_values.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/allowed_values/mock_allowed_values.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/allowed_values/mock_allowed_values.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/data_quality_check_result/mock_index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/data_quality_check_result/mock_index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/data_quality_check_result/mock_index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/data_quality_check_result/mock_index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/enriched_field_metadata/mock_enriched_field_metadata.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/enriched_field_metadata/mock_enriched_field_metadata.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/enriched_field_metadata/mock_enriched_field_metadata.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/enriched_field_metadata/mock_enriched_field_metadata.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/historical_results/mock_historical_results_response.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/historical_results/mock_historical_results_response.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/historical_results/mock_historical_results_response.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/historical_results/mock_historical_results_response.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/ilm_explain/mock_ilm_explain.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/ilm_explain/mock_ilm_explain.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/ilm_explain/mock_ilm_explain.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/ilm_explain/mock_ilm_explain.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/indices_get_mapping_index_mapping_record/mock_indices_get_mapping_index_mapping_record.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/indices_get_mapping_index_mapping_record/mock_indices_get_mapping_index_mapping_record.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/indices_get_mapping_index_mapping_record/mock_indices_get_mapping_index_mapping_record.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/indices_get_mapping_index_mapping_record/mock_indices_get_mapping_index_mapping_record.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/mappings_properties/mock_mappings_properties.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/mappings_properties/mock_mappings_properties.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/mappings_properties/mock_mappings_properties.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/mappings_properties/mock_mappings_properties.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/mappings_response/mock_mappings_response.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/mappings_response/mock_mappings_response.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/mappings_response/mock_mappings_response.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/mappings_response/mock_mappings_response.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/partitioned_field_metadata/mock_partitioned_field_metadata.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/partitioned_field_metadata/mock_partitioned_field_metadata.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/partitioned_field_metadata/mock_partitioned_field_metadata.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/partitioned_field_metadata/mock_partitioned_field_metadata.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/partitioned_field_metadata/mock_partitioned_field_metadata_with_same_family.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/partitioned_field_metadata/mock_partitioned_field_metadata_with_same_family.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/partitioned_field_metadata/mock_partitioned_field_metadata_with_same_family.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/partitioned_field_metadata/mock_partitioned_field_metadata_with_same_family.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/pattern_rollup/mock_alerts_pattern_rollup.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/pattern_rollup/mock_alerts_pattern_rollup.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/pattern_rollup/mock_alerts_pattern_rollup.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/pattern_rollup/mock_alerts_pattern_rollup.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/pattern_rollup/mock_auditbeat_pattern_rollup.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/pattern_rollup/mock_auditbeat_pattern_rollup.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/pattern_rollup/mock_auditbeat_pattern_rollup.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/pattern_rollup/mock_auditbeat_pattern_rollup.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/pattern_rollup/mock_packetbeat_pattern_rollup.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/pattern_rollup/mock_packetbeat_pattern_rollup.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/pattern_rollup/mock_packetbeat_pattern_rollup.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/pattern_rollup/mock_packetbeat_pattern_rollup.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/stats/mock_stats.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/stats/mock_stats.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/stats/mock_stats.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/stats/mock_stats.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/stats/mock_stats_auditbeat_index.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/stats/mock_stats_auditbeat_index.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/stats/mock_stats_auditbeat_index.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/stats/mock_stats_auditbeat_index.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/stats/mock_stats_packetbeat_index.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/stats/mock_stats_packetbeat_index.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/stats/mock_stats_packetbeat_index.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/stats/mock_stats_packetbeat_index.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/test_providers/test_providers.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/test_providers/test_providers.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/test_providers/test_providers.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/test_providers/test_providers.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/test_providers/utils/format.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/test_providers/utils/format.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/test_providers/utils/format.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/test_providers/utils/format.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/test_providers/utils/get_merged_data_quality_context_props.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/test_providers/utils/get_merged_data_quality_context_props.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/test_providers/utils/get_merged_data_quality_context_props.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/test_providers/utils/get_merged_data_quality_context_props.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/test_providers/utils/get_merged_indices_check_context_props.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/test_providers/utils/get_merged_indices_check_context_props.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/test_providers/utils/get_merged_indices_check_context_props.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/test_providers/utils/get_merged_indices_check_context_props.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/test_providers/utils/get_merged_results_rollup_context_props.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/test_providers/utils/get_merged_results_rollup_context_props.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/test_providers/utils/get_merged_results_rollup_context_props.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/test_providers/utils/get_merged_results_rollup_context_props.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/unallowed_values/mock_unallowed_values.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/unallowed_values/mock_unallowed_values.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/unallowed_values/mock_unallowed_values.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/unallowed_values/mock_unallowed_values.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/use_results_rollup/mock_use_results_rollup.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/use_results_rollup/mock_use_results_rollup.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/mock/use_results_rollup/mock_use_results_rollup.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/mock/use_results_rollup/mock_use_results_rollup.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/stat/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/stat/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/stat/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/stat/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/stat/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/stat/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/stat/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/stat/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/stat_label/translations.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/stat_label/translations.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/stat_label/translations.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/stat_label/translations.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/stats_rollup/index.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/stats_rollup/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/stats_rollup/index.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/stats_rollup/index.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/stats_rollup/index.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/stats_rollup/index.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/stats_rollup/index.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/stats_rollup/index.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/stub/generate_historical_results_stub/index.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/stub/generate_historical_results_stub/index.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/stub/generate_historical_results_stub/index.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/stub/generate_historical_results_stub/index.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/stub/get_check_state_stub/index.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/stub/get_check_state_stub/index.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/stub/get_check_state_stub/index.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/stub/get_check_state_stub/index.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/stub/get_historical_result_stub/index.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/stub/get_historical_result_stub/index.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/stub/get_historical_result_stub/index.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/stub/get_historical_result_stub/index.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/stub/get_pattern_rollup_stub/index.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/stub/get_pattern_rollup_stub/index.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/stub/get_pattern_rollup_stub/index.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/stub/get_pattern_rollup_stub/index.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/styles.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/styles.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/styles.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/styles.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/translations.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/translations.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/translations.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/translations.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/types.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/types.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/types.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/types.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/check_index.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/check_index.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/check_index.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/check_index.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/check_index.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/check_index.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/check_index.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/check_index.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/fetch_mappings.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/fetch_mappings.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/fetch_mappings.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/fetch_mappings.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/fetch_mappings.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/fetch_mappings.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/fetch_mappings.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/fetch_mappings.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/fetch_unallowed_values.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/fetch_unallowed_values.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/fetch_unallowed_values.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/fetch_unallowed_values.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/fetch_unallowed_values.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/fetch_unallowed_values.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/fetch_unallowed_values.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/fetch_unallowed_values.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_ilm_phase.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_ilm_phase.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_ilm_phase.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_ilm_phase.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_ilm_phase.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_ilm_phase.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_ilm_phase.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_ilm_phase.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_ilm_phase_description.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_ilm_phase_description.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_ilm_phase_description.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_ilm_phase_description.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_ilm_phase_description.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_ilm_phase_description.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_ilm_phase_description.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_ilm_phase_description.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_incompatible_stat_badge_color.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_incompatible_stat_badge_color.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_incompatible_stat_badge_color.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_incompatible_stat_badge_color.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_incompatible_stat_badge_color.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_incompatible_stat_badge_color.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_incompatible_stat_badge_color.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_incompatible_stat_badge_color.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_summary_table_items.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_summary_table_items.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_summary_table_items.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_summary_table_items.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_summary_table_items.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_summary_table_items.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_summary_table_items.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_summary_table_items.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_unallowed_value_request_items.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_unallowed_value_request_items.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_unallowed_value_request_items.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_unallowed_value_request_items.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_unallowed_values_request_items.test.tsx b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_unallowed_values_request_items.test.tsx similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_unallowed_values_request_items.test.tsx rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/get_unallowed_values_request_items.test.tsx diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/markdown.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/markdown.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/markdown.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/markdown.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/markdown.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/markdown.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/markdown.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/markdown.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/metadata.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/metadata.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/metadata.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/metadata.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/metadata.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/metadata.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/metadata.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/metadata.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/stats.test.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/stats.test.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/stats.test.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/stats.test.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/stats.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/stats.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality_panel/utils/stats.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/data_quality_panel/utils/stats.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/index.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/index.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/index.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/index.ts diff --git a/x-pack/solutions/security/packages/ecs_data_quality_dashboard/jest.config.js b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/jest.config.js new file mode 100644 index 0000000000000..773d813a166b9 --- /dev/null +++ b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/jest.config.js @@ -0,0 +1,26 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +module.exports = { + coverageDirectory: + '/target/kibana-coverage/jest/x-pack/solutions/security/packages/ecs_data_quality_dashboard_impl', + coverageReporters: ['text', 'html'], + collectCoverageFrom: [ + '/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/**/*.{ts,tsx}', + '!/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/**/{__test__,__snapshots__,__examples__,*mock*,stub,tests,test_helpers,integration_tests,types}/**/*', + '!/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/**/*mock*.{ts,tsx}', + '!/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/**/*.test.{ts,tsx}', + '!/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/**/*.d.ts', + '!/x-pack/solutions/security/packages/ecs_data_quality_dashboard/impl/**/*.config.ts', + ], + preset: '@kbn/test', + rootDir: '../../../../..', + roots: ['/x-pack/solutions/security/packages/ecs_data_quality_dashboard'], + setupFilesAfterEnv: [ + '/x-pack/solutions/security/packages/ecs_data_quality_dashboard/setup_tests.ts', + ], +}; diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/kibana.jsonc b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/kibana.jsonc similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/kibana.jsonc rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/kibana.jsonc diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/package.json b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/package.json similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/package.json rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/package.json diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/setup_tests.ts b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/setup_tests.ts similarity index 100% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/setup_tests.ts rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/setup_tests.ts diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/tsconfig.json b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/tsconfig.json similarity index 91% rename from x-pack/packages/security-solution/ecs_data_quality_dashboard/tsconfig.json rename to x-pack/solutions/security/packages/ecs_data_quality_dashboard/tsconfig.json index e42a916396971..2d76e9b8b0b4b 100644 --- a/x-pack/packages/security-solution/ecs_data_quality_dashboard/tsconfig.json +++ b/x-pack/solutions/security/packages/ecs_data_quality_dashboard/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../../tsconfig.base.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types", "types": [ diff --git a/x-pack/packages/security-solution/features/README.mdx b/x-pack/solutions/security/packages/features/README.mdx similarity index 100% rename from x-pack/packages/security-solution/features/README.mdx rename to x-pack/solutions/security/packages/features/README.mdx diff --git a/x-pack/packages/security-solution/features/config.ts b/x-pack/solutions/security/packages/features/config.ts similarity index 100% rename from x-pack/packages/security-solution/features/config.ts rename to x-pack/solutions/security/packages/features/config.ts diff --git a/x-pack/packages/security-solution/features/index.ts b/x-pack/solutions/security/packages/features/index.ts similarity index 100% rename from x-pack/packages/security-solution/features/index.ts rename to x-pack/solutions/security/packages/features/index.ts diff --git a/x-pack/packages/security-solution/upselling/jest.config.js b/x-pack/solutions/security/packages/features/jest.config.js similarity index 76% rename from x-pack/packages/security-solution/upselling/jest.config.js rename to x-pack/solutions/security/packages/features/jest.config.js index 014db69e5a69d..8179ac021e815 100644 --- a/x-pack/packages/security-solution/upselling/jest.config.js +++ b/x-pack/solutions/security/packages/features/jest.config.js @@ -7,6 +7,6 @@ module.exports = { preset: '@kbn/test', - rootDir: '../../../..', - roots: ['/x-pack/packages/security-solution/upselling'], + rootDir: '../../../../..', + roots: ['/x-pack/solutions/security/packages/features'], }; diff --git a/x-pack/packages/security-solution/features/keys.ts b/x-pack/solutions/security/packages/features/keys.ts similarity index 100% rename from x-pack/packages/security-solution/features/keys.ts rename to x-pack/solutions/security/packages/features/keys.ts diff --git a/x-pack/packages/security-solution/features/kibana.jsonc b/x-pack/solutions/security/packages/features/kibana.jsonc similarity index 100% rename from x-pack/packages/security-solution/features/kibana.jsonc rename to x-pack/solutions/security/packages/features/kibana.jsonc diff --git a/x-pack/packages/security-solution/features/package.json b/x-pack/solutions/security/packages/features/package.json similarity index 100% rename from x-pack/packages/security-solution/features/package.json rename to x-pack/solutions/security/packages/features/package.json diff --git a/x-pack/packages/security-solution/features/privileges.ts b/x-pack/solutions/security/packages/features/privileges.ts similarity index 100% rename from x-pack/packages/security-solution/features/privileges.ts rename to x-pack/solutions/security/packages/features/privileges.ts diff --git a/x-pack/packages/security-solution/features/product_features.ts b/x-pack/solutions/security/packages/features/product_features.ts similarity index 100% rename from x-pack/packages/security-solution/features/product_features.ts rename to x-pack/solutions/security/packages/features/product_features.ts diff --git a/x-pack/packages/security-solution/features/src/assistant/index.ts b/x-pack/solutions/security/packages/features/src/assistant/index.ts similarity index 100% rename from x-pack/packages/security-solution/features/src/assistant/index.ts rename to x-pack/solutions/security/packages/features/src/assistant/index.ts diff --git a/x-pack/packages/security-solution/features/src/assistant/kibana_features.ts b/x-pack/solutions/security/packages/features/src/assistant/kibana_features.ts similarity index 100% rename from x-pack/packages/security-solution/features/src/assistant/kibana_features.ts rename to x-pack/solutions/security/packages/features/src/assistant/kibana_features.ts diff --git a/x-pack/packages/security-solution/features/src/assistant/kibana_sub_features.ts b/x-pack/solutions/security/packages/features/src/assistant/kibana_sub_features.ts similarity index 100% rename from x-pack/packages/security-solution/features/src/assistant/kibana_sub_features.ts rename to x-pack/solutions/security/packages/features/src/assistant/kibana_sub_features.ts diff --git a/x-pack/packages/security-solution/features/src/assistant/product_feature_config.ts b/x-pack/solutions/security/packages/features/src/assistant/product_feature_config.ts similarity index 100% rename from x-pack/packages/security-solution/features/src/assistant/product_feature_config.ts rename to x-pack/solutions/security/packages/features/src/assistant/product_feature_config.ts diff --git a/x-pack/packages/security-solution/features/src/attack_discovery/index.ts b/x-pack/solutions/security/packages/features/src/attack_discovery/index.ts similarity index 100% rename from x-pack/packages/security-solution/features/src/attack_discovery/index.ts rename to x-pack/solutions/security/packages/features/src/attack_discovery/index.ts diff --git a/x-pack/packages/security-solution/features/src/attack_discovery/kibana_features.ts b/x-pack/solutions/security/packages/features/src/attack_discovery/kibana_features.ts similarity index 100% rename from x-pack/packages/security-solution/features/src/attack_discovery/kibana_features.ts rename to x-pack/solutions/security/packages/features/src/attack_discovery/kibana_features.ts diff --git a/x-pack/packages/security-solution/features/src/attack_discovery/product_feature_config.ts b/x-pack/solutions/security/packages/features/src/attack_discovery/product_feature_config.ts similarity index 100% rename from x-pack/packages/security-solution/features/src/attack_discovery/product_feature_config.ts rename to x-pack/solutions/security/packages/features/src/attack_discovery/product_feature_config.ts diff --git a/x-pack/packages/security-solution/features/src/cases/index.ts b/x-pack/solutions/security/packages/features/src/cases/index.ts similarity index 100% rename from x-pack/packages/security-solution/features/src/cases/index.ts rename to x-pack/solutions/security/packages/features/src/cases/index.ts diff --git a/x-pack/packages/security-solution/features/src/cases/product_feature_config.ts b/x-pack/solutions/security/packages/features/src/cases/product_feature_config.ts similarity index 100% rename from x-pack/packages/security-solution/features/src/cases/product_feature_config.ts rename to x-pack/solutions/security/packages/features/src/cases/product_feature_config.ts diff --git a/x-pack/packages/security-solution/features/src/cases/types.ts b/x-pack/solutions/security/packages/features/src/cases/types.ts similarity index 100% rename from x-pack/packages/security-solution/features/src/cases/types.ts rename to x-pack/solutions/security/packages/features/src/cases/types.ts diff --git a/x-pack/packages/security-solution/features/src/cases/v1_features/kibana_features.ts b/x-pack/solutions/security/packages/features/src/cases/v1_features/kibana_features.ts similarity index 100% rename from x-pack/packages/security-solution/features/src/cases/v1_features/kibana_features.ts rename to x-pack/solutions/security/packages/features/src/cases/v1_features/kibana_features.ts diff --git a/x-pack/packages/security-solution/features/src/cases/v1_features/kibana_sub_features.ts b/x-pack/solutions/security/packages/features/src/cases/v1_features/kibana_sub_features.ts similarity index 100% rename from x-pack/packages/security-solution/features/src/cases/v1_features/kibana_sub_features.ts rename to x-pack/solutions/security/packages/features/src/cases/v1_features/kibana_sub_features.ts diff --git a/x-pack/packages/security-solution/features/src/cases/v1_features/types.ts b/x-pack/solutions/security/packages/features/src/cases/v1_features/types.ts similarity index 100% rename from x-pack/packages/security-solution/features/src/cases/v1_features/types.ts rename to x-pack/solutions/security/packages/features/src/cases/v1_features/types.ts diff --git a/x-pack/packages/security-solution/features/src/cases/v2_features/kibana_features.ts b/x-pack/solutions/security/packages/features/src/cases/v2_features/kibana_features.ts similarity index 100% rename from x-pack/packages/security-solution/features/src/cases/v2_features/kibana_features.ts rename to x-pack/solutions/security/packages/features/src/cases/v2_features/kibana_features.ts diff --git a/x-pack/packages/security-solution/features/src/cases/v2_features/kibana_sub_features.ts b/x-pack/solutions/security/packages/features/src/cases/v2_features/kibana_sub_features.ts similarity index 100% rename from x-pack/packages/security-solution/features/src/cases/v2_features/kibana_sub_features.ts rename to x-pack/solutions/security/packages/features/src/cases/v2_features/kibana_sub_features.ts diff --git a/x-pack/packages/security-solution/features/src/constants.ts b/x-pack/solutions/security/packages/features/src/constants.ts similarity index 100% rename from x-pack/packages/security-solution/features/src/constants.ts rename to x-pack/solutions/security/packages/features/src/constants.ts diff --git a/x-pack/packages/security-solution/features/src/helpers.ts b/x-pack/solutions/security/packages/features/src/helpers.ts similarity index 100% rename from x-pack/packages/security-solution/features/src/helpers.ts rename to x-pack/solutions/security/packages/features/src/helpers.ts diff --git a/x-pack/packages/security-solution/features/src/product_features_keys.ts b/x-pack/solutions/security/packages/features/src/product_features_keys.ts similarity index 100% rename from x-pack/packages/security-solution/features/src/product_features_keys.ts rename to x-pack/solutions/security/packages/features/src/product_features_keys.ts diff --git a/x-pack/packages/security-solution/features/src/product_features_privileges.ts b/x-pack/solutions/security/packages/features/src/product_features_privileges.ts similarity index 100% rename from x-pack/packages/security-solution/features/src/product_features_privileges.ts rename to x-pack/solutions/security/packages/features/src/product_features_privileges.ts diff --git a/x-pack/packages/security-solution/features/src/security/index.ts b/x-pack/solutions/security/packages/features/src/security/index.ts similarity index 100% rename from x-pack/packages/security-solution/features/src/security/index.ts rename to x-pack/solutions/security/packages/features/src/security/index.ts diff --git a/x-pack/packages/security-solution/features/src/security/kibana_features.ts b/x-pack/solutions/security/packages/features/src/security/kibana_features.ts similarity index 100% rename from x-pack/packages/security-solution/features/src/security/kibana_features.ts rename to x-pack/solutions/security/packages/features/src/security/kibana_features.ts diff --git a/x-pack/packages/security-solution/features/src/security/kibana_sub_features.ts b/x-pack/solutions/security/packages/features/src/security/kibana_sub_features.ts similarity index 100% rename from x-pack/packages/security-solution/features/src/security/kibana_sub_features.ts rename to x-pack/solutions/security/packages/features/src/security/kibana_sub_features.ts diff --git a/x-pack/packages/security-solution/features/src/security/product_feature_config.ts b/x-pack/solutions/security/packages/features/src/security/product_feature_config.ts similarity index 100% rename from x-pack/packages/security-solution/features/src/security/product_feature_config.ts rename to x-pack/solutions/security/packages/features/src/security/product_feature_config.ts diff --git a/x-pack/packages/security-solution/features/src/security/types.ts b/x-pack/solutions/security/packages/features/src/security/types.ts similarity index 100% rename from x-pack/packages/security-solution/features/src/security/types.ts rename to x-pack/solutions/security/packages/features/src/security/types.ts diff --git a/x-pack/packages/security-solution/features/src/types.ts b/x-pack/solutions/security/packages/features/src/types.ts similarity index 100% rename from x-pack/packages/security-solution/features/src/types.ts rename to x-pack/solutions/security/packages/features/src/types.ts diff --git a/x-pack/packages/security-solution/features/tsconfig.json b/x-pack/solutions/security/packages/features/tsconfig.json similarity index 89% rename from x-pack/packages/security-solution/features/tsconfig.json rename to x-pack/solutions/security/packages/features/tsconfig.json index 2c153f831721d..bc415fbae622b 100644 --- a/x-pack/packages/security-solution/features/tsconfig.json +++ b/x-pack/solutions/security/packages/features/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../../tsconfig.base.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types", "types": [ diff --git a/x-pack/packages/security-solution/navigation/README.mdx b/x-pack/solutions/security/packages/navigation/README.mdx similarity index 100% rename from x-pack/packages/security-solution/navigation/README.mdx rename to x-pack/solutions/security/packages/navigation/README.mdx diff --git a/x-pack/packages/security-solution/navigation/index.ts b/x-pack/solutions/security/packages/navigation/index.ts similarity index 100% rename from x-pack/packages/security-solution/navigation/index.ts rename to x-pack/solutions/security/packages/navigation/index.ts diff --git a/x-pack/packages/security-solution/side_nav/jest.config.js b/x-pack/solutions/security/packages/navigation/jest.config.js similarity index 75% rename from x-pack/packages/security-solution/side_nav/jest.config.js rename to x-pack/solutions/security/packages/navigation/jest.config.js index 89a16e7fff05e..e452a9a064f1c 100644 --- a/x-pack/packages/security-solution/side_nav/jest.config.js +++ b/x-pack/solutions/security/packages/navigation/jest.config.js @@ -7,6 +7,6 @@ module.exports = { preset: '@kbn/test', - rootDir: '../../../..', - roots: ['/x-pack/packages/security-solution/side_nav'], + rootDir: '../../../../..', + roots: ['/x-pack/solutions/security/packages/navigation'], }; diff --git a/x-pack/packages/security-solution/navigation/kibana.jsonc b/x-pack/solutions/security/packages/navigation/kibana.jsonc similarity index 100% rename from x-pack/packages/security-solution/navigation/kibana.jsonc rename to x-pack/solutions/security/packages/navigation/kibana.jsonc diff --git a/x-pack/packages/security-solution/navigation/landing_links.ts b/x-pack/solutions/security/packages/navigation/landing_links.ts similarity index 100% rename from x-pack/packages/security-solution/navigation/landing_links.ts rename to x-pack/solutions/security/packages/navigation/landing_links.ts diff --git a/x-pack/packages/security-solution/navigation/links.ts b/x-pack/solutions/security/packages/navigation/links.ts similarity index 100% rename from x-pack/packages/security-solution/navigation/links.ts rename to x-pack/solutions/security/packages/navigation/links.ts diff --git a/x-pack/packages/security-solution/navigation/mocks/context.ts b/x-pack/solutions/security/packages/navigation/mocks/context.ts similarity index 100% rename from x-pack/packages/security-solution/navigation/mocks/context.ts rename to x-pack/solutions/security/packages/navigation/mocks/context.ts diff --git a/x-pack/packages/security-solution/navigation/mocks/navigation.ts b/x-pack/solutions/security/packages/navigation/mocks/navigation.ts similarity index 100% rename from x-pack/packages/security-solution/navigation/mocks/navigation.ts rename to x-pack/solutions/security/packages/navigation/mocks/navigation.ts diff --git a/x-pack/packages/security-solution/navigation/package.json b/x-pack/solutions/security/packages/navigation/package.json similarity index 100% rename from x-pack/packages/security-solution/navigation/package.json rename to x-pack/solutions/security/packages/navigation/package.json diff --git a/x-pack/packages/security-solution/navigation/src/__mocks__/context.tsx b/x-pack/solutions/security/packages/navigation/src/__mocks__/context.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/__mocks__/context.tsx rename to x-pack/solutions/security/packages/navigation/src/__mocks__/context.tsx diff --git a/x-pack/packages/security-solution/navigation/src/__mocks__/navigation.ts b/x-pack/solutions/security/packages/navigation/src/__mocks__/navigation.ts similarity index 100% rename from x-pack/packages/security-solution/navigation/src/__mocks__/navigation.ts rename to x-pack/solutions/security/packages/navigation/src/__mocks__/navigation.ts diff --git a/x-pack/packages/security-solution/navigation/src/constants.ts b/x-pack/solutions/security/packages/navigation/src/constants.ts similarity index 100% rename from x-pack/packages/security-solution/navigation/src/constants.ts rename to x-pack/solutions/security/packages/navigation/src/constants.ts diff --git a/x-pack/packages/security-solution/navigation/src/context.tsx b/x-pack/solutions/security/packages/navigation/src/context.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/context.tsx rename to x-pack/solutions/security/packages/navigation/src/context.tsx diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/beta_badge.tsx b/x-pack/solutions/security/packages/navigation/src/landing_links/beta_badge.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/beta_badge.tsx rename to x-pack/solutions/security/packages/navigation/src/landing_links/beta_badge.tsx diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/index.ts b/x-pack/solutions/security/packages/navigation/src/landing_links/index.ts similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/index.ts rename to x-pack/solutions/security/packages/navigation/src/landing_links/index.ts diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/landing_links.test.tsx b/x-pack/solutions/security/packages/navigation/src/landing_links/landing_links.test.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/landing_links.test.tsx rename to x-pack/solutions/security/packages/navigation/src/landing_links/landing_links.test.tsx diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/landing_links.tsx b/x-pack/solutions/security/packages/navigation/src/landing_links/landing_links.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/landing_links.tsx rename to x-pack/solutions/security/packages/navigation/src/landing_links/landing_links.tsx diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/landing_links_icons.stories.tsx b/x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_icons.stories.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/landing_links_icons.stories.tsx rename to x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_icons.stories.tsx diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/landing_links_icons.test.tsx b/x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_icons.test.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/landing_links_icons.test.tsx rename to x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_icons.test.tsx diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/landing_links_icons.tsx b/x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_icons.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/landing_links_icons.tsx rename to x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_icons.tsx diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/landing_links_icons_categories.stories.tsx b/x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_icons_categories.stories.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/landing_links_icons_categories.stories.tsx rename to x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_icons_categories.stories.tsx diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/landing_links_icons_categories.test.tsx b/x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_icons_categories.test.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/landing_links_icons_categories.test.tsx rename to x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_icons_categories.test.tsx diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/landing_links_icons_categories.tsx b/x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_icons_categories.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/landing_links_icons_categories.tsx rename to x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_icons_categories.tsx diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/landing_links_icons_categories_goups.test.tsx b/x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_icons_categories_goups.test.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/landing_links_icons_categories_goups.test.tsx rename to x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_icons_categories_goups.test.tsx diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/landing_links_icons_categories_groups.stories.tsx b/x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_icons_categories_groups.stories.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/landing_links_icons_categories_groups.stories.tsx rename to x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_icons_categories_groups.stories.tsx diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/landing_links_icons_categories_groups.tsx b/x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_icons_categories_groups.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/landing_links_icons_categories_groups.tsx rename to x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_icons_categories_groups.tsx diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/landing_links_icons_groups.stories.tsx b/x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_icons_groups.stories.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/landing_links_icons_groups.stories.tsx rename to x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_icons_groups.stories.tsx diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/landing_links_icons_groups.test.tsx b/x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_icons_groups.test.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/landing_links_icons_groups.test.tsx rename to x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_icons_groups.test.tsx diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/landing_links_icons_groups.tsx b/x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_icons_groups.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/landing_links_icons_groups.tsx rename to x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_icons_groups.tsx diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/landing_links_image_card.stories.tsx b/x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_image_card.stories.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/landing_links_image_card.stories.tsx rename to x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_image_card.stories.tsx diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/landing_links_image_card.test.tsx b/x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_image_card.test.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/landing_links_image_card.test.tsx rename to x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_image_card.test.tsx diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/landing_links_image_card.tsx b/x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_image_card.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/landing_links_image_card.tsx rename to x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_image_card.tsx diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/landing_links_images.stories.tsx b/x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_images.stories.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/landing_links_images.stories.tsx rename to x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_images.stories.tsx diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/landing_links_images.test.tsx b/x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_images.test.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/landing_links_images.test.tsx rename to x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_images.test.tsx diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/landing_links_images.tsx b/x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_images.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/landing_links_images.tsx rename to x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_images.tsx diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/landing_links_images_cards.stories.tsx b/x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_images_cards.stories.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/landing_links_images_cards.stories.tsx rename to x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_images_cards.stories.tsx diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/landing_links_images_cards.test.tsx b/x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_images_cards.test.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/landing_links_images_cards.test.tsx rename to x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_images_cards.test.tsx diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/landing_links_images_cards.tsx b/x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_images_cards.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/landing_links_images_cards.tsx rename to x-pack/solutions/security/packages/navigation/src/landing_links/landing_links_images_cards.tsx diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/lazy.tsx b/x-pack/solutions/security/packages/navigation/src/landing_links/lazy.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/lazy.tsx rename to x-pack/solutions/security/packages/navigation/src/landing_links/lazy.tsx diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/translations.ts b/x-pack/solutions/security/packages/navigation/src/landing_links/translations.ts similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/translations.ts rename to x-pack/solutions/security/packages/navigation/src/landing_links/translations.ts diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/utils.test.ts b/x-pack/solutions/security/packages/navigation/src/landing_links/utils.test.ts similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/utils.test.ts rename to x-pack/solutions/security/packages/navigation/src/landing_links/utils.test.ts diff --git a/x-pack/packages/security-solution/navigation/src/landing_links/utils.ts b/x-pack/solutions/security/packages/navigation/src/landing_links/utils.ts similarity index 100% rename from x-pack/packages/security-solution/navigation/src/landing_links/utils.ts rename to x-pack/solutions/security/packages/navigation/src/landing_links/utils.ts diff --git a/x-pack/packages/security-solution/navigation/src/links.test.tsx b/x-pack/solutions/security/packages/navigation/src/links.test.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/links.test.tsx rename to x-pack/solutions/security/packages/navigation/src/links.test.tsx diff --git a/x-pack/packages/security-solution/navigation/src/links.tsx b/x-pack/solutions/security/packages/navigation/src/links.tsx similarity index 100% rename from x-pack/packages/security-solution/navigation/src/links.tsx rename to x-pack/solutions/security/packages/navigation/src/links.tsx diff --git a/x-pack/packages/security-solution/navigation/src/navigation.test.ts b/x-pack/solutions/security/packages/navigation/src/navigation.test.ts similarity index 100% rename from x-pack/packages/security-solution/navigation/src/navigation.test.ts rename to x-pack/solutions/security/packages/navigation/src/navigation.test.ts diff --git a/x-pack/packages/security-solution/navigation/src/navigation.ts b/x-pack/solutions/security/packages/navigation/src/navigation.ts similarity index 100% rename from x-pack/packages/security-solution/navigation/src/navigation.ts rename to x-pack/solutions/security/packages/navigation/src/navigation.ts diff --git a/x-pack/packages/security-solution/navigation/src/types.ts b/x-pack/solutions/security/packages/navigation/src/types.ts similarity index 100% rename from x-pack/packages/security-solution/navigation/src/types.ts rename to x-pack/solutions/security/packages/navigation/src/types.ts diff --git a/x-pack/packages/security-solution/navigation/tsconfig.json b/x-pack/solutions/security/packages/navigation/tsconfig.json similarity index 88% rename from x-pack/packages/security-solution/navigation/tsconfig.json rename to x-pack/solutions/security/packages/navigation/tsconfig.json index a0ba8fb180bfb..41296e15768c5 100644 --- a/x-pack/packages/security-solution/navigation/tsconfig.json +++ b/x-pack/solutions/security/packages/navigation/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../../tsconfig.base.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types", "types": [ diff --git a/x-pack/packages/security-solution/side_nav/README.mdx b/x-pack/solutions/security/packages/side_nav/README.mdx similarity index 100% rename from x-pack/packages/security-solution/side_nav/README.mdx rename to x-pack/solutions/security/packages/side_nav/README.mdx diff --git a/x-pack/packages/security-solution/side_nav/index.ts b/x-pack/solutions/security/packages/side_nav/index.ts similarity index 100% rename from x-pack/packages/security-solution/side_nav/index.ts rename to x-pack/solutions/security/packages/side_nav/index.ts diff --git a/x-pack/packages/security-solution/data_table/jest.config.js b/x-pack/solutions/security/packages/side_nav/jest.config.js similarity index 75% rename from x-pack/packages/security-solution/data_table/jest.config.js rename to x-pack/solutions/security/packages/side_nav/jest.config.js index 38f769e20277c..11d774a650450 100644 --- a/x-pack/packages/security-solution/data_table/jest.config.js +++ b/x-pack/solutions/security/packages/side_nav/jest.config.js @@ -7,6 +7,6 @@ module.exports = { preset: '@kbn/test', - roots: ['/x-pack/packages/security-solution/data_table'], - rootDir: '../../../..', + rootDir: '../../../../..', + roots: ['/x-pack/solutions/security/packages/side_nav'], }; diff --git a/x-pack/packages/security-solution/side_nav/kibana.jsonc b/x-pack/solutions/security/packages/side_nav/kibana.jsonc similarity index 100% rename from x-pack/packages/security-solution/side_nav/kibana.jsonc rename to x-pack/solutions/security/packages/side_nav/kibana.jsonc diff --git a/x-pack/packages/security-solution/side_nav/package.json b/x-pack/solutions/security/packages/side_nav/package.json similarity index 100% rename from x-pack/packages/security-solution/side_nav/package.json rename to x-pack/solutions/security/packages/side_nav/package.json diff --git a/x-pack/packages/security-solution/side_nav/panel.ts b/x-pack/solutions/security/packages/side_nav/panel.ts similarity index 100% rename from x-pack/packages/security-solution/side_nav/panel.ts rename to x-pack/solutions/security/packages/side_nav/panel.ts diff --git a/x-pack/packages/security-solution/side_nav/src/beta_badge.tsx b/x-pack/solutions/security/packages/side_nav/src/beta_badge.tsx similarity index 100% rename from x-pack/packages/security-solution/side_nav/src/beta_badge.tsx rename to x-pack/solutions/security/packages/side_nav/src/beta_badge.tsx diff --git a/x-pack/packages/security-solution/side_nav/src/index.tsx b/x-pack/solutions/security/packages/side_nav/src/index.tsx similarity index 100% rename from x-pack/packages/security-solution/side_nav/src/index.tsx rename to x-pack/solutions/security/packages/side_nav/src/index.tsx diff --git a/x-pack/packages/security-solution/side_nav/src/solution_side_nav.stories.tsx b/x-pack/solutions/security/packages/side_nav/src/solution_side_nav.stories.tsx similarity index 99% rename from x-pack/packages/security-solution/side_nav/src/solution_side_nav.stories.tsx rename to x-pack/solutions/security/packages/side_nav/src/solution_side_nav.stories.tsx index 4ac035f717c83..d67e36949ae98 100644 --- a/x-pack/packages/security-solution/side_nav/src/solution_side_nav.stories.tsx +++ b/x-pack/solutions/security/packages/side_nav/src/solution_side_nav.stories.tsx @@ -8,7 +8,7 @@ import React from 'react'; import { SolutionNav } from '@kbn/shared-ux-page-solution-nav'; import { LinkCategoryType } from '@kbn/security-solution-navigation'; -import readme from '../../README.mdx'; +import readme from '../README.mdx'; import { SolutionSideNav as SolutionSideNavComponent, type SolutionSideNavProps, diff --git a/x-pack/packages/security-solution/side_nav/src/solution_side_nav.styles.ts b/x-pack/solutions/security/packages/side_nav/src/solution_side_nav.styles.ts similarity index 100% rename from x-pack/packages/security-solution/side_nav/src/solution_side_nav.styles.ts rename to x-pack/solutions/security/packages/side_nav/src/solution_side_nav.styles.ts diff --git a/x-pack/packages/security-solution/side_nav/src/solution_side_nav.test.tsx b/x-pack/solutions/security/packages/side_nav/src/solution_side_nav.test.tsx similarity index 100% rename from x-pack/packages/security-solution/side_nav/src/solution_side_nav.test.tsx rename to x-pack/solutions/security/packages/side_nav/src/solution_side_nav.test.tsx diff --git a/x-pack/packages/security-solution/side_nav/src/solution_side_nav.tsx b/x-pack/solutions/security/packages/side_nav/src/solution_side_nav.tsx similarity index 100% rename from x-pack/packages/security-solution/side_nav/src/solution_side_nav.tsx rename to x-pack/solutions/security/packages/side_nav/src/solution_side_nav.tsx diff --git a/x-pack/packages/security-solution/side_nav/src/solution_side_nav_panel.styles.ts b/x-pack/solutions/security/packages/side_nav/src/solution_side_nav_panel.styles.ts similarity index 100% rename from x-pack/packages/security-solution/side_nav/src/solution_side_nav_panel.styles.ts rename to x-pack/solutions/security/packages/side_nav/src/solution_side_nav_panel.styles.ts diff --git a/x-pack/packages/security-solution/side_nav/src/solution_side_nav_panel.test.tsx b/x-pack/solutions/security/packages/side_nav/src/solution_side_nav_panel.test.tsx similarity index 100% rename from x-pack/packages/security-solution/side_nav/src/solution_side_nav_panel.test.tsx rename to x-pack/solutions/security/packages/side_nav/src/solution_side_nav_panel.test.tsx diff --git a/x-pack/packages/security-solution/side_nav/src/solution_side_nav_panel.tsx b/x-pack/solutions/security/packages/side_nav/src/solution_side_nav_panel.tsx similarity index 100% rename from x-pack/packages/security-solution/side_nav/src/solution_side_nav_panel.tsx rename to x-pack/solutions/security/packages/side_nav/src/solution_side_nav_panel.tsx diff --git a/x-pack/packages/security-solution/side_nav/src/telemetry/const.ts b/x-pack/solutions/security/packages/side_nav/src/telemetry/const.ts similarity index 100% rename from x-pack/packages/security-solution/side_nav/src/telemetry/const.ts rename to x-pack/solutions/security/packages/side_nav/src/telemetry/const.ts diff --git a/x-pack/packages/security-solution/side_nav/src/telemetry/telemetry_context.tsx b/x-pack/solutions/security/packages/side_nav/src/telemetry/telemetry_context.tsx similarity index 100% rename from x-pack/packages/security-solution/side_nav/src/telemetry/telemetry_context.tsx rename to x-pack/solutions/security/packages/side_nav/src/telemetry/telemetry_context.tsx diff --git a/x-pack/packages/security-solution/side_nav/src/types.ts b/x-pack/solutions/security/packages/side_nav/src/types.ts similarity index 100% rename from x-pack/packages/security-solution/side_nav/src/types.ts rename to x-pack/solutions/security/packages/side_nav/src/types.ts diff --git a/x-pack/packages/security-solution/side_nav/tsconfig.json b/x-pack/solutions/security/packages/side_nav/tsconfig.json similarity index 90% rename from x-pack/packages/security-solution/side_nav/tsconfig.json rename to x-pack/solutions/security/packages/side_nav/tsconfig.json index 4468c671f4351..12c35d948e0d0 100644 --- a/x-pack/packages/security-solution/side_nav/tsconfig.json +++ b/x-pack/solutions/security/packages/side_nav/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../../tsconfig.base.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types", "types": [ diff --git a/x-pack/packages/security-solution/storybook/config/README.mdx b/x-pack/solutions/security/packages/storybook/config/README.mdx similarity index 100% rename from x-pack/packages/security-solution/storybook/config/README.mdx rename to x-pack/solutions/security/packages/storybook/config/README.mdx diff --git a/x-pack/packages/security-solution/storybook/config/constants.ts b/x-pack/solutions/security/packages/storybook/config/constants.ts similarity index 100% rename from x-pack/packages/security-solution/storybook/config/constants.ts rename to x-pack/solutions/security/packages/storybook/config/constants.ts diff --git a/x-pack/packages/security-solution/storybook/config/index.ts b/x-pack/solutions/security/packages/storybook/config/index.ts similarity index 100% rename from x-pack/packages/security-solution/storybook/config/index.ts rename to x-pack/solutions/security/packages/storybook/config/index.ts diff --git a/x-pack/solutions/security/packages/storybook/config/kibana.jsonc b/x-pack/solutions/security/packages/storybook/config/kibana.jsonc new file mode 100644 index 0000000000000..141b69563ed37 --- /dev/null +++ b/x-pack/solutions/security/packages/storybook/config/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/security-solution-storybook-config", + "owner": "@elastic/security-threat-hunting-explore", + "group": "security", + "visibility": "private" +} diff --git a/x-pack/packages/security-solution/storybook/config/main.ts b/x-pack/solutions/security/packages/storybook/config/main.ts similarity index 88% rename from x-pack/packages/security-solution/storybook/config/main.ts rename to x-pack/solutions/security/packages/storybook/config/main.ts index 4e7fca030c2f6..8fd00f77083a8 100644 --- a/x-pack/packages/security-solution/storybook/config/main.ts +++ b/x-pack/solutions/security/packages/storybook/config/main.ts @@ -9,7 +9,7 @@ import { defaultConfig } from '@kbn/storybook'; module.exports = { ...defaultConfig, - stories: ['../../**/*.stories.+(tsx|mdx)'], + stories: ['../../../**/*.stories.+(tsx|mdx)'], reactOptions: { strictMode: true, }, diff --git a/x-pack/packages/security-solution/storybook/config/manager.ts b/x-pack/solutions/security/packages/storybook/config/manager.ts similarity index 100% rename from x-pack/packages/security-solution/storybook/config/manager.ts rename to x-pack/solutions/security/packages/storybook/config/manager.ts diff --git a/x-pack/packages/security-solution/storybook/config/package.json b/x-pack/solutions/security/packages/storybook/config/package.json similarity index 100% rename from x-pack/packages/security-solution/storybook/config/package.json rename to x-pack/solutions/security/packages/storybook/config/package.json diff --git a/x-pack/packages/security-solution/storybook/config/preview.ts b/x-pack/solutions/security/packages/storybook/config/preview.ts similarity index 100% rename from x-pack/packages/security-solution/storybook/config/preview.ts rename to x-pack/solutions/security/packages/storybook/config/preview.ts diff --git a/x-pack/packages/security-solution/storybook/config/tsconfig.json b/x-pack/solutions/security/packages/storybook/config/tsconfig.json similarity index 83% rename from x-pack/packages/security-solution/storybook/config/tsconfig.json rename to x-pack/solutions/security/packages/storybook/config/tsconfig.json index 1f8b2275f5191..8ef38ac430bcc 100644 --- a/x-pack/packages/security-solution/storybook/config/tsconfig.json +++ b/x-pack/solutions/security/packages/storybook/config/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../../../tsconfig.base.json", + "extends": "../../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types", "types": [ diff --git a/x-pack/packages/security-solution/upselling/README.mdx b/x-pack/solutions/security/packages/upselling/README.mdx similarity index 100% rename from x-pack/packages/security-solution/upselling/README.mdx rename to x-pack/solutions/security/packages/upselling/README.mdx diff --git a/x-pack/packages/security-solution/upselling/helpers/index.tsx b/x-pack/solutions/security/packages/upselling/helpers/index.tsx similarity index 100% rename from x-pack/packages/security-solution/upselling/helpers/index.tsx rename to x-pack/solutions/security/packages/upselling/helpers/index.tsx diff --git a/x-pack/packages/security-solution/upselling/images/entity_paywall.png b/x-pack/solutions/security/packages/upselling/images/entity_paywall.png similarity index 100% rename from x-pack/packages/security-solution/upselling/images/entity_paywall.png rename to x-pack/solutions/security/packages/upselling/images/entity_paywall.png diff --git a/x-pack/packages/security-solution/navigation/jest.config.js b/x-pack/solutions/security/packages/upselling/jest.config.js similarity index 75% rename from x-pack/packages/security-solution/navigation/jest.config.js rename to x-pack/solutions/security/packages/upselling/jest.config.js index a150e2a7b4c9c..d64e79c15976c 100644 --- a/x-pack/packages/security-solution/navigation/jest.config.js +++ b/x-pack/solutions/security/packages/upselling/jest.config.js @@ -7,6 +7,6 @@ module.exports = { preset: '@kbn/test', - rootDir: '../../../..', - roots: ['/x-pack/packages/security-solution/navigation'], + rootDir: '../../../../..', + roots: ['/x-pack/solutions/security/packages/upselling'], }; diff --git a/x-pack/packages/security-solution/upselling/kibana.jsonc b/x-pack/solutions/security/packages/upselling/kibana.jsonc similarity index 100% rename from x-pack/packages/security-solution/upselling/kibana.jsonc rename to x-pack/solutions/security/packages/upselling/kibana.jsonc diff --git a/x-pack/packages/security-solution/upselling/messages/index.tsx b/x-pack/solutions/security/packages/upselling/messages/index.tsx similarity index 100% rename from x-pack/packages/security-solution/upselling/messages/index.tsx rename to x-pack/solutions/security/packages/upselling/messages/index.tsx diff --git a/x-pack/packages/security-solution/upselling/package.json b/x-pack/solutions/security/packages/upselling/package.json similarity index 100% rename from x-pack/packages/security-solution/upselling/package.json rename to x-pack/solutions/security/packages/upselling/package.json diff --git a/x-pack/packages/security-solution/upselling/pages/attack_discovery/index.test.tsx b/x-pack/solutions/security/packages/upselling/pages/attack_discovery/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/upselling/pages/attack_discovery/index.test.tsx rename to x-pack/solutions/security/packages/upselling/pages/attack_discovery/index.test.tsx diff --git a/x-pack/packages/security-solution/upselling/pages/attack_discovery/index.tsx b/x-pack/solutions/security/packages/upselling/pages/attack_discovery/index.tsx similarity index 100% rename from x-pack/packages/security-solution/upselling/pages/attack_discovery/index.tsx rename to x-pack/solutions/security/packages/upselling/pages/attack_discovery/index.tsx diff --git a/x-pack/packages/security-solution/upselling/pages/attack_discovery/page_title/index.test.tsx b/x-pack/solutions/security/packages/upselling/pages/attack_discovery/page_title/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/upselling/pages/attack_discovery/page_title/index.test.tsx rename to x-pack/solutions/security/packages/upselling/pages/attack_discovery/page_title/index.test.tsx diff --git a/x-pack/packages/security-solution/upselling/pages/attack_discovery/page_title/index.tsx b/x-pack/solutions/security/packages/upselling/pages/attack_discovery/page_title/index.tsx similarity index 100% rename from x-pack/packages/security-solution/upselling/pages/attack_discovery/page_title/index.tsx rename to x-pack/solutions/security/packages/upselling/pages/attack_discovery/page_title/index.tsx diff --git a/x-pack/packages/security-solution/upselling/pages/attack_discovery/page_title/translations.ts b/x-pack/solutions/security/packages/upselling/pages/attack_discovery/page_title/translations.ts similarity index 100% rename from x-pack/packages/security-solution/upselling/pages/attack_discovery/page_title/translations.ts rename to x-pack/solutions/security/packages/upselling/pages/attack_discovery/page_title/translations.ts diff --git a/x-pack/packages/security-solution/upselling/pages/entity_analytics.test.tsx b/x-pack/solutions/security/packages/upselling/pages/entity_analytics.test.tsx similarity index 100% rename from x-pack/packages/security-solution/upselling/pages/entity_analytics.test.tsx rename to x-pack/solutions/security/packages/upselling/pages/entity_analytics.test.tsx diff --git a/x-pack/packages/security-solution/upselling/pages/entity_analytics.tsx b/x-pack/solutions/security/packages/upselling/pages/entity_analytics.tsx similarity index 100% rename from x-pack/packages/security-solution/upselling/pages/entity_analytics.tsx rename to x-pack/solutions/security/packages/upselling/pages/entity_analytics.tsx diff --git a/x-pack/packages/security-solution/upselling/pages/translations.ts b/x-pack/solutions/security/packages/upselling/pages/translations.ts similarity index 100% rename from x-pack/packages/security-solution/upselling/pages/translations.ts rename to x-pack/solutions/security/packages/upselling/pages/translations.ts diff --git a/x-pack/packages/security-solution/upselling/sections/attack_discovery/assistant_avatar/assistant_avatar.tsx b/x-pack/solutions/security/packages/upselling/sections/attack_discovery/assistant_avatar/assistant_avatar.tsx similarity index 100% rename from x-pack/packages/security-solution/upselling/sections/attack_discovery/assistant_avatar/assistant_avatar.tsx rename to x-pack/solutions/security/packages/upselling/sections/attack_discovery/assistant_avatar/assistant_avatar.tsx diff --git a/x-pack/packages/security-solution/upselling/sections/attack_discovery/index.test.tsx b/x-pack/solutions/security/packages/upselling/sections/attack_discovery/index.test.tsx similarity index 100% rename from x-pack/packages/security-solution/upselling/sections/attack_discovery/index.test.tsx rename to x-pack/solutions/security/packages/upselling/sections/attack_discovery/index.test.tsx diff --git a/x-pack/packages/security-solution/upselling/sections/attack_discovery/index.tsx b/x-pack/solutions/security/packages/upselling/sections/attack_discovery/index.tsx similarity index 100% rename from x-pack/packages/security-solution/upselling/sections/attack_discovery/index.tsx rename to x-pack/solutions/security/packages/upselling/sections/attack_discovery/index.tsx diff --git a/x-pack/packages/security-solution/upselling/sections/attack_discovery/translations.ts b/x-pack/solutions/security/packages/upselling/sections/attack_discovery/translations.ts similarity index 100% rename from x-pack/packages/security-solution/upselling/sections/attack_discovery/translations.ts rename to x-pack/solutions/security/packages/upselling/sections/attack_discovery/translations.ts diff --git a/x-pack/packages/security-solution/upselling/sections/entity_analytics.tsx b/x-pack/solutions/security/packages/upselling/sections/entity_analytics.tsx similarity index 100% rename from x-pack/packages/security-solution/upselling/sections/entity_analytics.tsx rename to x-pack/solutions/security/packages/upselling/sections/entity_analytics.tsx diff --git a/x-pack/packages/security-solution/upselling/service/index.ts b/x-pack/solutions/security/packages/upselling/service/index.ts similarity index 100% rename from x-pack/packages/security-solution/upselling/service/index.ts rename to x-pack/solutions/security/packages/upselling/service/index.ts diff --git a/x-pack/packages/security-solution/upselling/service/types.ts b/x-pack/solutions/security/packages/upselling/service/types.ts similarity index 100% rename from x-pack/packages/security-solution/upselling/service/types.ts rename to x-pack/solutions/security/packages/upselling/service/types.ts diff --git a/x-pack/packages/security-solution/upselling/service/upselling_service.test.tsx b/x-pack/solutions/security/packages/upselling/service/upselling_service.test.tsx similarity index 100% rename from x-pack/packages/security-solution/upselling/service/upselling_service.test.tsx rename to x-pack/solutions/security/packages/upselling/service/upselling_service.test.tsx diff --git a/x-pack/packages/security-solution/upselling/service/upselling_service.ts b/x-pack/solutions/security/packages/upselling/service/upselling_service.ts similarity index 100% rename from x-pack/packages/security-solution/upselling/service/upselling_service.ts rename to x-pack/solutions/security/packages/upselling/service/upselling_service.ts diff --git a/x-pack/packages/security-solution/upselling/tsconfig.json b/x-pack/solutions/security/packages/upselling/tsconfig.json similarity index 90% rename from x-pack/packages/security-solution/upselling/tsconfig.json rename to x-pack/solutions/security/packages/upselling/tsconfig.json index 70b145ed91b7d..653738495ed81 100644 --- a/x-pack/packages/security-solution/upselling/tsconfig.json +++ b/x-pack/solutions/security/packages/upselling/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../../tsconfig.base.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types", "types": [ diff --git a/yarn.lock b/yarn.lock index 3e48eb0ae86f2..c8054baf36e9c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5408,7 +5408,7 @@ version "0.0.0" uid "" -"@kbn/ecs-data-quality-dashboard@link:x-pack/packages/security-solution/ecs_data_quality_dashboard": +"@kbn/ecs-data-quality-dashboard@link:x-pack/solutions/security/packages/ecs_data_quality_dashboard": version "0.0.0" uid "" @@ -7076,7 +7076,7 @@ version "0.0.0" uid "" -"@kbn/security-solution-distribution-bar@link:x-pack/packages/security-solution/distribution_bar": +"@kbn/security-solution-distribution-bar@link:x-pack/solutions/security/packages/distribution_bar": version "0.0.0" uid "" @@ -7084,7 +7084,7 @@ version "0.0.0" uid "" -"@kbn/security-solution-features@link:x-pack/packages/security-solution/features": +"@kbn/security-solution-features@link:x-pack/solutions/security/packages/features": version "0.0.0" uid "" @@ -7092,7 +7092,7 @@ version "0.0.0" uid "" -"@kbn/security-solution-navigation@link:x-pack/packages/security-solution/navigation": +"@kbn/security-solution-navigation@link:x-pack/solutions/security/packages/navigation": version "0.0.0" uid "" @@ -7104,15 +7104,15 @@ version "0.0.0" uid "" -"@kbn/security-solution-side-nav@link:x-pack/packages/security-solution/side_nav": +"@kbn/security-solution-side-nav@link:x-pack/solutions/security/packages/side_nav": version "0.0.0" uid "" -"@kbn/security-solution-storybook-config@link:x-pack/packages/security-solution/storybook/config": +"@kbn/security-solution-storybook-config@link:x-pack/solutions/security/packages/storybook/config": version "0.0.0" uid "" -"@kbn/security-solution-upselling@link:x-pack/packages/security-solution/upselling": +"@kbn/security-solution-upselling@link:x-pack/solutions/security/packages/upselling": version "0.0.0" uid "" @@ -7128,7 +7128,7 @@ version "0.0.0" uid "" -"@kbn/securitysolution-data-table@link:x-pack/packages/security-solution/data_table": +"@kbn/securitysolution-data-table@link:x-pack/solutions/security/packages/data_table": version "0.0.0" uid "" From 43205c712ce7f42bb9b60f641040c13b35df5b39 Mon Sep 17 00:00:00 2001 From: Marco Antonio Ghiani Date: Thu, 12 Dec 2024 13:04:55 +0100 Subject: [PATCH 12/52] [Observability Onboarding] Remove legacy team ownership (#203808) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 📓 Summary The @elastic/obs-ux-onboarding-team is a subset of the wider @elastic/obs-ux-logs-team, which share the same ownership of the onboarding plugins. To reduce the noise and limitations around required team reviews and pings, we'll remove the onboarding team and leave the logs team as the unique owner of the onboarding, where these same engineers will cover its maintenance. Co-authored-by: Marco Antonio Ghiani --- .github/CODEOWNERS | 4 ++-- .../observability_onboarding/e2e/kibana.jsonc | 5 +---- .../observability_onboarding/kibana.jsonc | 5 +---- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 2c75f30a64222..201a8cd664bc2 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -938,8 +938,8 @@ x-pack/plugins/observability_solution/logs_shared @elastic/obs-ux-logs-team x-pack/plugins/observability_solution/metrics_data_access @elastic/obs-ux-infra_services-team x-pack/plugins/observability_solution/observability @elastic/obs-ux-management-team x-pack/plugins/observability_solution/observability_logs_explorer @elastic/obs-ux-logs-team -x-pack/plugins/observability_solution/observability_onboarding @elastic/obs-ux-logs-team @elastic/obs-ux-onboarding-team -x-pack/plugins/observability_solution/observability_onboarding/e2e @elastic/obs-ux-logs-team @elastic/obs-ux-onboarding-team +x-pack/plugins/observability_solution/observability_onboarding @elastic/obs-ux-logs-team +x-pack/plugins/observability_solution/observability_onboarding/e2e @elastic/obs-ux-logs-team x-pack/plugins/observability_solution/observability_shared @elastic/observability-ui x-pack/plugins/observability_solution/profiling @elastic/obs-ux-infra_services-team x-pack/plugins/observability_solution/profiling_data_access @elastic/obs-ux-infra_services-team diff --git a/x-pack/plugins/observability_solution/observability_onboarding/e2e/kibana.jsonc b/x-pack/plugins/observability_solution/observability_onboarding/e2e/kibana.jsonc index 655ccc396d3fe..033d72a02427f 100644 --- a/x-pack/plugins/observability_solution/observability_onboarding/e2e/kibana.jsonc +++ b/x-pack/plugins/observability_solution/observability_onboarding/e2e/kibana.jsonc @@ -1,10 +1,7 @@ { "type": "test-helper", "id": "@kbn/observability-onboarding-e2e", - "owner": [ - "@elastic/obs-ux-logs-team", - "@elastic/obs-ux-onboarding-team" - ], + "owner": ["@elastic/obs-ux-logs-team"], "group": "observability", "visibility": "private", "devOnly": true diff --git a/x-pack/plugins/observability_solution/observability_onboarding/kibana.jsonc b/x-pack/plugins/observability_solution/observability_onboarding/kibana.jsonc index 8c24f5376a4bb..b1c3856839f99 100644 --- a/x-pack/plugins/observability_solution/observability_onboarding/kibana.jsonc +++ b/x-pack/plugins/observability_solution/observability_onboarding/kibana.jsonc @@ -1,10 +1,7 @@ { "type": "plugin", "id": "@kbn/observability-onboarding-plugin", - "owner": [ - "@elastic/obs-ux-logs-team", - "@elastic/obs-ux-onboarding-team" - ], + "owner": ["@elastic/obs-ux-logs-team"], "group": "observability", "visibility": "private", "plugin": { From 2188013e1a62c10ef7ba7d26d24e019b5a59ba1d Mon Sep 17 00:00:00 2001 From: Jatin Kathuria Date: Thu, 12 Dec 2024 13:53:21 +0100 Subject: [PATCH 13/52] [Security Solution] Disable O11y features in Security Serverless project (#203990) ## Summary Fixes - https://github.com/elastic/kibana/issues/202532 `Observability` feature `Inventory` should not appear in `Security` serverless project |Before|After| |--|--| |![image](https://github.com/user-attachments/assets/90c35b55-d217-4afe-a7f4-78324c4e62c4)|![image](https://github.com/user-attachments/assets/9c659fa8-1e23-4696-b4ee-27d9c61ffafc)| --- config/serverless.security.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/serverless.security.yml b/config/serverless.security.yml index b9190df608540..47a67c293565a 100644 --- a/config/serverless.security.yml +++ b/config/serverless.security.yml @@ -10,6 +10,7 @@ xpack.observabilityAIAssistant.enabled: false xpack.search.notebooks.enabled: false xpack.searchPlayground.enabled: false xpack.searchInferenceEndpoints.enabled: false +xpack.inventory.enabled: false ## Fine-tune the security solution feature privileges. Also, refer to `serverless.yml` for the project-agnostic overrides. xpack.features.overrides: From c75ae635fc6e81c719676b2fc11ce3262847a25f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Fern=C3=A1ndez=20Haro?= Date: Thu, 12 Dec 2024 14:06:26 +0100 Subject: [PATCH 14/52] Flaky #199782 (#203978) --- .../upgrade_assistant/api_deprecations.ts | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/x-pack/test/upgrade_assistant_integration/upgrade_assistant/api_deprecations.ts b/x-pack/test/upgrade_assistant_integration/upgrade_assistant/api_deprecations.ts index 74c3064f9341d..6a0f8aad4686e 100644 --- a/x-pack/test/upgrade_assistant_integration/upgrade_assistant/api_deprecations.ts +++ b/x-pack/test/upgrade_assistant_integration/upgrade_assistant/api_deprecations.ts @@ -17,9 +17,15 @@ import type { import { FtrProviderContext } from '../../common/ftr_provider_context'; const getApiDeprecations = (allDeprecations: DomainDeprecationDetails[]) => { - return allDeprecations.filter( - (deprecation) => deprecation.deprecationType === 'api' - ) as unknown as Array>; + return ( + allDeprecations + .filter( + (deprecation): deprecation is DomainDeprecationDetails => + deprecation.deprecationType === 'api' + ) + // Ensure consistent sorting + .sort((a, b) => a.title.localeCompare(b.title)) + ); }; export default function ({ getService }: FtrProviderContext) { @@ -28,8 +34,7 @@ export default function ({ getService }: FtrProviderContext) { const retry = getService('retry'); const es = getService('es'); - // FLAKY: https://github.com/elastic/kibana/issues/199782 - describe.skip('Kibana API Deprecations', function () { + describe('Kibana API Deprecations', function () { // bail on first error in this suite since cases sequentially depend on each other this.bail(true); From ba945c98510dc6de460b297beaa55e980456fc30 Mon Sep 17 00:00:00 2001 From: Sandra G Date: Thu, 12 Dec 2024 08:08:08 -0500 Subject: [PATCH 15/52] [Data Usage] functional tests (#203166) ## Summary Functional tests for data usage UI. - `data_streams` route is intercepted, due to filtering out zero size data streams which will happen because metering api needs time to aggregate data - `autoops_api` is using the mock server as there will be no data for it to return - tests will only run in local serverless and not MKI due to using the autoops mock server that won't return data for created data streams - adds `interceptRequest` functionality to FTR `browser` service ## Tests - data stream filter dropdown renders with created data streams of `data_streams` response and are checked - data stream filter dropdown renders badge with correct number of selected data streams - charts render from `data_streams` route response - chart legends render with correct items - popover renders for legend items - links in popovers correctly navigate and update navigation between different data stream items --- .github/CODEOWNERS | 1 + .../index.ts | 2 +- .../services/browser.ts | 61 +++++- .../public/app/components/chart_panel.tsx | 2 +- .../app/components/dataset_quality_link.tsx | 6 +- .../public/app/components/legend_action.tsx | 4 + .../app/components/legend_action_item.tsx | 12 +- .../common/data_usage/mock_data.ts | 16 ++ .../common/data_usage/tests/metrics.ts | 2 +- .../functional/page_objects/index.ts | 2 + .../functional/page_objects/svl_data_usage.ts | 55 ++++++ .../test_suites/common/data_usage/main.ts | 178 +++++++++++++++++- 12 files changed, 329 insertions(+), 12 deletions(-) create mode 100644 x-pack/test_serverless/functional/page_objects/svl_data_usage.ts diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 201a8cd664bc2..4d0a628baab7d 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -2128,6 +2128,7 @@ x-pack/test_serverless/functional/test_suites/security/index.mki_only.ts @elasti /x-pack/test/functional/es_archives/auditbeat/default @elastic/security-solution /x-pack/test/functional/es_archives/auditbeat/hosts @elastic/security-solution /x-pack/test_serverless/functional/page_objects/svl_management_page.ts @elastic/security-solution +/x-pack/test_serverless/functional/page_objects/svl_data_usage.ts @elastic/security-solution @elastic/obs-ai-assistant /x-pack/test_serverless/api_integration/test_suites/security @elastic/security-solution /x-pack/test_serverless/functional/test_suites/security/index.feature_flags.ts @elastic/security-solution diff --git a/packages/kbn-ftr-common-functional-ui-services/index.ts b/packages/kbn-ftr-common-functional-ui-services/index.ts index 1355d112ffaf8..c316ecf7db60e 100644 --- a/packages/kbn-ftr-common-functional-ui-services/index.ts +++ b/packages/kbn-ftr-common-functional-ui-services/index.ts @@ -15,7 +15,7 @@ export type { CustomCheerioStatic, } from './services/web_element_wrapper/custom_cheerio_api'; export { Browsers } from './services/remote/browsers'; -export { type Browser } from './services/browser'; +export { type Browser, type InterceptResponseFactory } from './services/browser'; export { NETWORK_PROFILES, type NetworkOptions, diff --git a/packages/kbn-ftr-common-functional-ui-services/services/browser.ts b/packages/kbn-ftr-common-functional-ui-services/services/browser.ts index 56888b0a8087c..7a3885d7e3f9a 100644 --- a/packages/kbn-ftr-common-functional-ui-services/services/browser.ts +++ b/packages/kbn-ftr-common-functional-ui-services/services/browser.ts @@ -13,6 +13,7 @@ import { Key, Origin, type WebDriver } from 'selenium-webdriver'; import { Driver as ChromiumWebDriver } from 'selenium-webdriver/chrome'; import { setTimeout as setTimeoutAsync } from 'timers/promises'; import Url from 'url'; +import { Protocol } from 'devtools-protocol'; import { NoSuchSessionError } from 'selenium-webdriver/lib/error'; import sharp from 'sharp'; @@ -26,7 +27,12 @@ import { import { FtrService, type FtrProviderContext } from './ftr_provider_context'; export type Browser = BrowserService; - +export interface InterceptResponseFactory { + fail: () => ['Fetch.failRequest', Protocol.Fetch.FailRequestRequest]; + fulfill: ( + responseOptions: Omit + ) => ['Fetch.fulfillRequest', Protocol.Fetch.FulfillRequestRequest]; +} class BrowserService extends FtrService { /** * Keyboard events @@ -837,6 +843,59 @@ class BrowserService extends FtrService { throw new Error(message); } } + + /** + * Intercept network requests using the Chrome DevTools Protocol (CDP). + * @param pattern - URL pattern to match intercepted requests. + * @param onIntercept - Callback defining how to handle intercepted requests. + * @param cb - Callback to trigger actions that make requests. + */ + + public async interceptRequest( + pattern: string, + onIntercept: (responseFactory: InterceptResponseFactory) => [string, Record], + cb: () => Promise + ): Promise { + const connection = await this.driver.createCDPConnection('page'); + + return new Promise((resolve, reject) => { + connection._wsConnection.on('message', async (data: Buffer) => { + try { + const parsed = JSON.parse(data.toString()); + this.log.debug(`CDP Event: ${parsed.method} ${parsed.params?.request?.url}`); + + if (parsed.method === 'Fetch.requestPaused') { + const requestId = parsed.params.requestId; + + const [method, params] = onIntercept({ + fail: () => ['Fetch.failRequest', { requestId, errorReason: 'Failed' }], + fulfill: (responseOptions) => [ + 'Fetch.fulfillRequest', + { requestId, ...responseOptions }, + ], + }); + + connection.execute(method, params, () => { + this.log.debug(`Executed command: ${method}`); + }); + } + } catch (error) { + this.log.error(`Error in Fetch.requestPaused handler: ${error.message}`); + } + }); + + connection.execute('Fetch.enable', { patterns: [{ urlPattern: pattern }] }, (result: any) => { + this.log.debug('Fetch.enable result:', result); + + cb() + .then(resolve) + .catch((error) => { + this.log.error(`Error in callback: ${error.message}`); + reject(error); + }); + }); + }); + } } export async function BrowserProvider(ctx: FtrProviderContext) { diff --git a/x-pack/platform/plugins/private/data_usage/public/app/components/chart_panel.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/chart_panel.tsx index 208b1e576c0d7..9a7700a5de828 100644 --- a/x-pack/platform/plugins/private/data_usage/public/app/components/chart_panel.tsx +++ b/x-pack/platform/plugins/private/data_usage/public/app/components/chart_panel.tsx @@ -91,7 +91,7 @@ export const ChartPanel: React.FC = ({ return ( - +
{chartKeyToTitleMap[metricType as ChartKey] || metricType}
diff --git a/x-pack/platform/plugins/private/data_usage/public/app/components/dataset_quality_link.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/dataset_quality_link.tsx index 8e81e6091156b..3b481565ae27c 100644 --- a/x-pack/platform/plugins/private/data_usage/public/app/components/dataset_quality_link.tsx +++ b/x-pack/platform/plugins/private/data_usage/public/app/components/dataset_quality_link.tsx @@ -41,7 +41,11 @@ export const DatasetQualityLink: React.FC = React.memo( } }; return ( - + ); } ); diff --git a/x-pack/platform/plugins/private/data_usage/public/app/components/legend_action.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/legend_action.tsx index b748b77163245..1282bd43e863a 100644 --- a/x-pack/platform/plugins/private/data_usage/public/app/components/legend_action.tsx +++ b/x-pack/platform/plugins/private/data_usage/public/app/components/legend_action.tsx @@ -52,6 +52,7 @@ export const LegendAction: React.FC = React.memo( return ( @@ -59,6 +60,7 @@ export const LegendAction: React.FC = React.memo( iconType="boxesHorizontal" aria-label={UX_LABELS.dataQualityPopup.open} onClick={() => togglePopover(uniqueStreamName)} + data-test-subj="legendActionButton" /> @@ -71,11 +73,13 @@ export const LegendAction: React.FC = React.memo( {hasIndexManagementFeature && ( )} {hasDataSetQualityFeature && } diff --git a/x-pack/platform/plugins/private/data_usage/public/app/components/legend_action_item.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/legend_action_item.tsx index 3b4f0d9f698f7..542fff6902fb9 100644 --- a/x-pack/platform/plugins/private/data_usage/public/app/components/legend_action_item.tsx +++ b/x-pack/platform/plugins/private/data_usage/public/app/components/legend_action_item.tsx @@ -9,9 +9,15 @@ import React, { memo } from 'react'; import { EuiListGroupItem } from '@elastic/eui'; export const LegendActionItem = memo( - ({ label, onClick }: { label: string; onClick: () => Promise | void }) => ( - - ) + ({ + label, + onClick, + dataTestSubj, + }: { + label: string; + onClick: () => Promise | void; + dataTestSubj: string; + }) => ); LegendActionItem.displayName = 'LegendActionItem'; diff --git a/x-pack/test_serverless/api_integration/test_suites/common/data_usage/mock_data.ts b/x-pack/test_serverless/api_integration/test_suites/common/data_usage/mock_data.ts index 7bd4b7f3e7a22..e0f6c5d43e788 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/data_usage/mock_data.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/data_usage/mock_data.ts @@ -15,6 +15,14 @@ export const mockAutoOpsResponse = { [1726862130000, 14657904], ], }, + { + name: 'metrics-system.core.total.pct-default', + error: null, + data: [ + [1726858530000, 13756849], + [1726862130000, 14657904], + ], + }, { name: 'logs-nginx.access-default', error: null, @@ -33,6 +41,14 @@ export const mockAutoOpsResponse = { [1726862130000, 13956423], ], }, + { + name: 'metrics-system.core.total.pct-default', + error: null, + data: [ + [1726858530000, 13756849], + [1726862130000, 14657904], + ], + }, { name: 'logs-nginx.access-default', error: null, diff --git a/x-pack/test_serverless/api_integration/test_suites/common/data_usage/tests/metrics.ts b/x-pack/test_serverless/api_integration/test_suites/common/data_usage/tests/metrics.ts index 5460b750a5b21..6a0774ea2e8f4 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/data_usage/tests/metrics.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/data_usage/tests/metrics.ts @@ -29,7 +29,7 @@ export default function ({ getService }: FtrProviderContext) { const mockAutoopsApiService = setupMockServer(); describe('Metrics', function () { let mockApiServer: http.Server; - // due to the plugin depending on yml config (xpack.dataUsage.enabled), we cannot test in MKI until it is on by default + // MKI has a different config in the QA environment and will ignore the mock service this.tags(['skipMKI']); before(async () => { diff --git a/x-pack/test_serverless/functional/page_objects/index.ts b/x-pack/test_serverless/functional/page_objects/index.ts index e10e98529b8bf..5c00c95b73a1d 100644 --- a/x-pack/test_serverless/functional/page_objects/index.ts +++ b/x-pack/test_serverless/functional/page_objects/index.ts @@ -26,6 +26,7 @@ import { SvlSearchElasticsearchStartPageProvider } from './svl_search_elasticsea import { SvlApiKeysProvider } from './svl_api_keys'; import { SvlSearchCreateIndexPageProvider } from './svl_search_create_index_page'; import { SvlSearchInferenceManagementPageProvider } from './svl_search_inference_management_page'; +import { SvlDataUsagePageProvider } from './svl_data_usage'; export const pageObjects = { ...xpackFunctionalPageObjects, @@ -49,4 +50,5 @@ export const pageObjects = { svlApiKeys: SvlApiKeysProvider, svlSearchCreateIndexPage: SvlSearchCreateIndexPageProvider, svlSearchInferenceManagementPage: SvlSearchInferenceManagementPageProvider, + svlDataUsagePage: SvlDataUsagePageProvider, }; diff --git a/x-pack/test_serverless/functional/page_objects/svl_data_usage.ts b/x-pack/test_serverless/functional/page_objects/svl_data_usage.ts new file mode 100644 index 0000000000000..0f684c24fcae0 --- /dev/null +++ b/x-pack/test_serverless/functional/page_objects/svl_data_usage.ts @@ -0,0 +1,55 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; +import { FtrProviderContext } from '../ftr_provider_context'; + +export function SvlDataUsagePageProvider({ getService }: FtrProviderContext) { + const testSubjects = getService('testSubjects'); + + return { + async assertDataUsagePageExists(): Promise { + return await testSubjects.exists('DataUsagePage'); + }, + async clickDatastreamsDropdown() { + await testSubjects.click('data-usage-metrics-filter-dataStreams-popoverButton'); + }, + async findDatastreamsDropdownOptions() { + return await testSubjects.findAll('dataStreams-filter-option'); + }, + async findDatastreamsDropdownFilterButton() { + return await testSubjects.find('data-usage-metrics-filter-dataStreams-popoverButton'); + }, + async findIngestRateChart() { + return await testSubjects.find('ingest_rate-chart'); + }, + async storageRetainedChart() { + return await testSubjects.find('storage_retained-chart'); + }, + async findLegendItemsInChart(chartElement: WebElementWrapper) { + return await chartElement.findAllByCssSelector('li.echLegendItem'); + }, + async findLegendActionButton(legendItemElement: WebElementWrapper) { + return legendItemElement.findByTestSubject('legendActionButton'); + }, + async clickLegendActionButtonAtIndex(chartElement: WebElementWrapper, index: number) { + const legendItems = await this.findLegendItemsInChart(chartElement); + if (index < 0 || index >= legendItems.length) { + throw new Error( + `Invalid legend item index: ${index}. There are only ${legendItems.length} legend items.` + ); + } + const legendItem = legendItems[index]; + const actionButton = await this.findLegendActionButton(legendItem); + await actionButton.click(); + }, + + async assertLegendActionPopoverExists() { + await testSubjects.existOrFail('legendActionPopover'); + }, + }; +} diff --git a/x-pack/test_serverless/functional/test_suites/common/data_usage/main.ts b/x-pack/test_serverless/functional/test_suites/common/data_usage/main.ts index 0b59557229cd4..438bf5ab7ee84 100644 --- a/x-pack/test_serverless/functional/test_suites/common/data_usage/main.ts +++ b/x-pack/test_serverless/functional/test_suites/common/data_usage/main.ts @@ -4,30 +4,200 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ - +import expect from '@kbn/expect'; +import http from 'http'; +import { InterceptResponseFactory } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../../../ftr_provider_context'; +import { setupMockServer } from '../../../../api_integration/test_suites/common/data_usage/mock_api'; export default ({ getPageObjects, getService }: FtrProviderContext) => { - const pageObjects = getPageObjects(['svlCommonPage', 'svlManagementPage', 'common']); + const pageObjects = getPageObjects([ + 'svlDataUsagePage', + 'svlCommonPage', + 'svlManagementPage', + 'common', + ]); const testSubjects = getService('testSubjects'); const retry = getService('retry'); + const mockAutoopsApiService = setupMockServer(); + const es = getService('es'); + const browser = getService('browser'); + let mockApiServer: http.Server; + const dataStreamsMockResponse = [ + { + name: 'metrics-system.cpu-default', + storageSizeBytes: 6197, + }, + { + name: 'metrics-system.core.total.pct-default', + storageSizeBytes: 5197, + }, + { + name: 'logs-nginx.access-default', + storageSizeBytes: 1938, + }, + ]; describe('Main page', function () { this.tags(['skipMKI']); before(async () => { + // create test data streams from the mock data streams response + // so the metrics api can verify they exist + for (const { name } of dataStreamsMockResponse) { + await es.indices.putIndexTemplate({ + name, + body: { + index_patterns: [name], + data_stream: {}, + priority: 200, + }, + }); + await es.indices.createDataStream({ name }); + } await pageObjects.svlCommonPage.loginAsAdmin(); await pageObjects.common.navigateToApp('management'); await retry.waitFor('page to be visible', async () => { return await testSubjects.exists('cards-navigation-page'); }); await pageObjects.svlManagementPage.assertDataUsageManagementCardExists(); - await pageObjects.svlManagementPage.clickDataUsageManagementCard(); + + // mock external API request to autoops + mockApiServer = mockAutoopsApiService.listen(9000); + + // intercept the data_streams request to bypass waiting for the metering api to aggregate a response + // otherwise storage sizes get filtered out if they are 0 + await browser.interceptRequest( + '*data_streams*', + (responseFactory: InterceptResponseFactory) => { + return responseFactory.fulfill({ + responseCode: 200, + responseHeaders: [{ name: 'Content-Type', value: 'application/json' }], + body: Buffer.from(JSON.stringify(dataStreamsMockResponse)).toString('base64'), + }); + }, + async () => { + await pageObjects.svlManagementPage.clickDataUsageManagementCard(); + } + ); + }); + after(async () => { + mockApiServer.close(); + for (const { name } of dataStreamsMockResponse) { + await es.indices.deleteDataStream({ name }); + } }); it('renders data usage page', async () => { await retry.waitFor('page to be visible', async () => { - return await testSubjects.exists('DataUsagePage'); + return await pageObjects.svlDataUsagePage.assertDataUsagePageExists(); + }); + }); + it('shows 3 data streams in the filter dropdown', async () => { + // Click the dropdown button to show the options + await pageObjects.svlDataUsagePage.clickDatastreamsDropdown(); + + const options = await pageObjects.svlDataUsagePage.findDatastreamsDropdownOptions(); + + // Assert that exactly 3 elements are present + expect(options.length).to.eql(3); + + // Assert that each option is checked + for (const option of options) { + const ariaChecked = await option.getAttribute('aria-checked'); + expect(ariaChecked).to.be('true'); + } + + // Locate the filter button using its data-test-subj + const datastreamsDropdownFilterButton = + await pageObjects.svlDataUsagePage.findDatastreamsDropdownFilterButton(); + + // Find the badge element within the button (using its CSS class) + const notificationBadge = await datastreamsDropdownFilterButton.findByCssSelector( + '.euiNotificationBadge' + ); + + // Retrieve the text content of the badge + const activeFiltersCount = await notificationBadge.getVisibleText(); + + // Assert the badge displays the expected count + expect(activeFiltersCount).to.be('3'); + }); + it('renders charts', async () => { + // Data is coming from the mocked autoops API + const chartContainer = await testSubjects.find('data-usage-metrics'); + await testSubjects.existOrFail('data-usage-metrics'); + + // Check 2 charts rendered + await retry.waitFor('chart to render', async () => { + const chartStatus = await chartContainer.findAllByCssSelector( + '.echChartStatus[data-ech-render-complete="true"]' + ); + return chartStatus.length === 2; + }); + }); + it('renders legend', async () => { + const ingestRateChart = await pageObjects.svlDataUsagePage.findIngestRateChart(); + const storageRetainedChart = await pageObjects.svlDataUsagePage.storageRetainedChart(); + + const ingestLegendItems = await pageObjects.svlDataUsagePage.findLegendItemsInChart( + ingestRateChart + ); + + expect(ingestLegendItems.length).to.eql(4); // 3 data streams + 1 Total line series + + const storageLegendItems = await pageObjects.svlDataUsagePage.findLegendItemsInChart( + storageRetainedChart + ); + expect(storageLegendItems.length).to.eql(4); // same number of data streams + total line series + }); + it('renders actions popover with correct links', async () => { + // Open the first legend item actions popover + const ingestRateChart = await pageObjects.svlDataUsagePage.findIngestRateChart(); + await pageObjects.svlDataUsagePage.clickLegendActionButtonAtIndex(ingestRateChart, 0); + await pageObjects.svlDataUsagePage.assertLegendActionPopoverExists(); + // Check for links + await testSubjects.existOrFail('copyDataStreamNameAction'); + await testSubjects.existOrFail('manageDataStreamAction'); + await testSubjects.existOrFail('DatasetQualityAction'); + + const manageLink = await testSubjects.find('manageDataStreamAction'); + await manageLink.click(); + + // Wait for navigation to the data stream details page + await retry.waitFor('URL to update (index management)', async () => { + const currentUrl = await browser.getCurrentUrl(); + return currentUrl.includes( + `/app/management/data/index_management/data_streams/${dataStreamsMockResponse[0].name}` + ); + }); + await browser.goBack(); + // test second link to ensure state changed + await pageObjects.svlDataUsagePage.clickLegendActionButtonAtIndex(ingestRateChart, 1); + await pageObjects.svlDataUsagePage.assertLegendActionPopoverExists(); + + await manageLink.click(); + + // Wait for navigation to the data stream details page + await retry.waitFor('URL to update (index management)', async () => { + const currentUrl = await browser.getCurrentUrl(); + return currentUrl.includes( + `/app/management/data/index_management/data_streams/${dataStreamsMockResponse[1].name}` + ); + }); + await browser.goBack(); + + // Test navigation for the data quality link + await pageObjects.svlDataUsagePage.clickLegendActionButtonAtIndex(ingestRateChart, 0); + await pageObjects.svlDataUsagePage.assertLegendActionPopoverExists(); + const dataQualityLink = await testSubjects.find('DatasetQualityAction'); + await dataQualityLink.click(); + + // Wait for navigation to the data quality details page + await retry.waitFor('URL to update (data quality)', async () => { + const currentUrl = await browser.getCurrentUrl(); + return currentUrl.includes('/app/management/data/data_quality/details'); }); + await browser.goBack(); }); }); }; From bffd4e14e7da4eea5095cbebb42266b20d0c03ff Mon Sep 17 00:00:00 2001 From: Sid Date: Thu, 12 Dec 2024 14:22:18 +0100 Subject: [PATCH 16/52] [Security team] Update components for EUI visual refresh (#201795) Closes https://github.com/elastic/kibana/issues/200005 ## Summary Integrate changes from the Borealis theme to components owned by @elastic/kibana-security team. ### Notes There are no visual changes in this PR. However: - Switch from using `success` to `accentSecondary` where needed - Switched from 'colors.disabled` to `colors.textDisabled` ### Screenshots There isn't much to add but adding a few before/after screenshots of the changes made | Usage | Before | After | |--------|--------|--------| | API Key token field | image | image | | User profile page | image | image | | Copy SO to space counter | image | image | | Space listing | image | ![image](https://github.com/user-attachments/assets/5798590a-f65a-4fbe-b6b8-feb10dd62562) | ### How to test 1. Start ES and KIB as: ``` yarn es snapshot --license trial KBN_OPTIMIZER_THEMES=experimental yarn start --no-base-path ``` 2. Navigate to `Stack Management > Advance Setting` and change the theme to Borealis. 3. Verify the different screens as seen in the screenshots to see if they render correctly with no visual regression ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - [ ] The PR description includes the appropriate Release Notes section, and the correct `release_note:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) --------- Co-authored-by: Elastic Machine --- examples/user_profile_examples/public/avatar_demo.tsx | 5 +++-- examples/user_profile_examples/public/tooltip_demo.tsx | 5 +++-- .../api_key_management/src/components/token_field.tsx | 2 +- .../public/account_management/user_profile/user_profile.tsx | 2 +- .../components/copy_status_summary_indicator.tsx | 2 +- .../spaces/public/space_list/space_list_internal.tsx | 6 ++++-- 6 files changed, 13 insertions(+), 9 deletions(-) diff --git a/examples/user_profile_examples/public/avatar_demo.tsx b/examples/user_profile_examples/public/avatar_demo.tsx index fe6f2ce4b0786..c9d636a52adf1 100644 --- a/examples/user_profile_examples/public/avatar_demo.tsx +++ b/examples/user_profile_examples/public/avatar_demo.tsx @@ -8,12 +8,13 @@ */ import React, { FunctionComponent } from 'react'; -import { EuiTitle, EuiSpacer } from '@elastic/eui'; +import { EuiTitle, EuiSpacer, useEuiTheme } from '@elastic/eui'; import { UserAvatar } from '@kbn/user-profile-components'; import type { UserProfile, UserProfileAvatarData } from '@kbn/user-profile-components'; import { PanelWithCodeBlock } from './panel_with_code_block'; export const AvatarDemo: FunctionComponent = () => { + const { euiTheme } = useEuiTheme(); const userProfile: UserProfile<{ avatar: UserProfileAvatarData }> = { uid: 'u_J41Oh6L9ki-Vo2tOogS8WRTENzhHurGtRc87NgEAlkc_0', enabled: true, @@ -24,7 +25,7 @@ export const AvatarDemo: FunctionComponent = () => { }, data: { avatar: { - color: '#09e8ca', + color: euiTheme.colors.vis.euiColorVis1, initials: 'DN', imageUrl: 'https://source.unsplash.com/64x64/?cat', }, diff --git a/examples/user_profile_examples/public/tooltip_demo.tsx b/examples/user_profile_examples/public/tooltip_demo.tsx index 1c356be4df20d..bb99bfa5bb525 100644 --- a/examples/user_profile_examples/public/tooltip_demo.tsx +++ b/examples/user_profile_examples/public/tooltip_demo.tsx @@ -10,10 +10,11 @@ import React, { FunctionComponent } from 'react'; import { UserAvatarTip, UserToolTip } from '@kbn/user-profile-components'; import type { UserProfile, UserProfileAvatarData } from '@kbn/user-profile-components'; -import { EuiCommentList, EuiComment } from '@elastic/eui'; +import { EuiCommentList, EuiComment, useEuiTheme } from '@elastic/eui'; import { PanelWithCodeBlock } from './panel_with_code_block'; export const ToolTipDemo: FunctionComponent = () => { + const { euiTheme } = useEuiTheme(); const userProfile: UserProfile<{ avatar: UserProfileAvatarData }> = { uid: 'u_9xDEQqUqoYCnFnPPLq5mIRHKL8gBTo_NiKgOnd5gGk0_0', enabled: true, @@ -24,7 +25,7 @@ export const ToolTipDemo: FunctionComponent = () => { }, data: { avatar: { - color: '#09e8ca', + color: euiTheme.colors.vis.euiColorVis1, initials: 'WD', imageUrl: 'https://source.unsplash.com/64x64/?dingo', }, diff --git a/x-pack/packages/security/api_key_management/src/components/token_field.tsx b/x-pack/packages/security/api_key_management/src/components/token_field.tsx index ccda03a2315c2..fa3454bfae0bf 100644 --- a/x-pack/packages/security/api_key_management/src/components/token_field.tsx +++ b/x-pack/packages/security/api_key_management/src/components/token_field.tsx @@ -52,7 +52,7 @@ export const TokenField: FunctionComponent = ({ value, ...props defaultMessage: 'Copy to clipboard', })} iconType="copyClipboard" - color="success" + color="accentSecondary" style={{ backgroundColor: 'transparent' }} onClick={copyText} /> diff --git a/x-pack/plugins/security/public/account_management/user_profile/user_profile.tsx b/x-pack/plugins/security/public/account_management/user_profile/user_profile.tsx index 30102964b3438..3cfd01f5d8089 100644 --- a/x-pack/plugins/security/public/account_management/user_profile/user_profile.tsx +++ b/x-pack/plugins/security/public/account_management/user_profile/user_profile.tsx @@ -805,7 +805,7 @@ export const UserProfile: FunctionComponent = ({ user, data }) description: ( {item.description || ( - + { return ( {renderIcon(props)} - + {summarizedCopyResult.objects.length} diff --git a/x-pack/plugins/spaces/public/space_list/space_list_internal.tsx b/x-pack/plugins/spaces/public/space_list/space_list_internal.tsx index 37f3032a85e5f..24373455dc830 100644 --- a/x-pack/plugins/spaces/public/space_list/space_list_internal.tsx +++ b/x-pack/plugins/spaces/public/space_list/space_list_internal.tsx @@ -12,6 +12,7 @@ import { EuiFlexItem, EuiLoadingSpinner, EuiToolTip, + useEuiTheme, } from '@elastic/eui'; import type { ReactNode } from 'react'; import React, { lazy, Suspense, useEffect, useState } from 'react'; @@ -47,6 +48,7 @@ export const SpaceListInternal = ({ cursorStyle, }: SpaceListProps) => { const { spacesDataPromise } = useSpaces(); + const { euiTheme } = useEuiTheme(); const [isExpanded, setIsExpanded] = useState(false); const [shareToSpacesData, setShareToSpacesData] = useState(); @@ -76,7 +78,7 @@ export const SpaceListInternal = ({ defaultMessage: `* All spaces`, }), initials: '*', - color: '#D3DAE6', + color: euiTheme.colors.vis.euiColorVisGrey0, }, ]; } else { @@ -145,7 +147,7 @@ export const SpaceListInternal = ({ /> } > - +{unauthorizedSpacesCount} + +{unauthorizedSpacesCount}
) : null; From 8d5cd4f2d752a8d47c37225c91561af3763464d3 Mon Sep 17 00:00:00 2001 From: Nicolas Chaulet Date: Thu, 12 Dec 2024 08:23:50 -0500 Subject: [PATCH 17/52] [Fleet] Fix changing space for agent actions (#203683) --- .../services/spaces/agent_policy.test.ts | 6 ++ .../server/services/spaces/agent_policy.ts | 60 ++++++++++++++++++- .../change_space_agent_policies.ts | 52 ++++++++++++++++ .../apis/space_awareness/helpers.ts | 6 ++ 4 files changed, 121 insertions(+), 3 deletions(-) diff --git a/x-pack/plugins/fleet/server/services/spaces/agent_policy.test.ts b/x-pack/plugins/fleet/server/services/spaces/agent_policy.test.ts index 079148a6ae041..6b2c63aae9126 100644 --- a/x-pack/plugins/fleet/server/services/spaces/agent_policy.test.ts +++ b/x-pack/plugins/fleet/server/services/spaces/agent_policy.test.ts @@ -7,6 +7,7 @@ import { createAppContextStartContractMock } from '../../mocks'; import { agentPolicyService } from '../agent_policy'; +import { getAgentsByKuery } from '../agents'; import { appContextService } from '../app_context'; import { packagePolicyService } from '../package_policy'; @@ -16,6 +17,7 @@ import { isSpaceAwarenessEnabled } from './helpers'; jest.mock('./helpers'); jest.mock('../agent_policy'); jest.mock('../package_policy'); +jest.mock('../agents'); describe('updateAgentPolicySpaces', () => { beforeEach(() => { @@ -55,6 +57,10 @@ describe('updateAgentPolicySpaces', () => { } as any, ], }); + + jest.mocked(getAgentsByKuery).mockResolvedValue({ + agents: [], + } as any); }); it('does nothings if agent policy already in correct space', async () => { diff --git a/x-pack/plugins/fleet/server/services/spaces/agent_policy.ts b/x-pack/plugins/fleet/server/services/spaces/agent_policy.ts index 50f20443c3262..dce40f4cc3ff4 100644 --- a/x-pack/plugins/fleet/server/services/spaces/agent_policy.ts +++ b/x-pack/plugins/fleet/server/services/spaces/agent_policy.ts @@ -6,27 +6,29 @@ */ import deepEqual from 'fast-deep-equal'; - import { DEFAULT_SPACE_ID } from '@kbn/spaces-plugin/common'; +import type { SortResults } from '@elastic/elasticsearch/lib/api/types'; import { AGENTS_INDEX, + AGENT_ACTIONS_INDEX, AGENT_POLICY_SAVED_OBJECT_TYPE, PACKAGE_POLICY_SAVED_OBJECT_TYPE, SO_SEARCH_LIMIT, UNINSTALL_TOKENS_SAVED_OBJECT_TYPE, } from '../../../common/constants'; - import { appContextService } from '../app_context'; import { agentPolicyService } from '../agent_policy'; import { ENROLLMENT_API_KEYS_INDEX } from '../../constants'; import { packagePolicyService } from '../package_policy'; import { FleetError, HostedAgentPolicyRestrictionRelatedError } from '../../errors'; - import type { UninstallTokenSOAttributes } from '../security/uninstall_token_service'; +import { closePointInTime, getAgentsByKuery, openPointInTime } from '../agents'; import { isSpaceAwarenessEnabled } from './helpers'; +const UPDATE_AGENT_BATCH_SIZE = 1000; + export async function updateAgentPolicySpaces({ agentPolicyId, currentSpaceId, @@ -49,6 +51,7 @@ export async function updateAgentPolicySpaces({ const soClient = appContextService.getInternalUserSOClientWithoutSpaceExtension(); const currentSpaceSoClient = appContextService.getInternalUserSOClientForSpaceId(currentSpaceId); + const newSpaceSoClient = appContextService.getInternalUserSOClientForSpaceId(newSpaceIds[0]); const existingPolicy = await agentPolicyService.get(currentSpaceSoClient, agentPolicyId); const existingPackagePolicies = await packagePolicyService.findAllForAgentPolicy( @@ -166,4 +169,55 @@ export async function updateAgentPolicySpaces({ ignore_unavailable: true, refresh: true, }); + + const agentIndexExists = await esClient.indices.exists({ + index: AGENTS_INDEX, + }); + + // Update agent actions + if (agentIndexExists) { + const pitId = await openPointInTime(esClient); + + try { + let hasMore = true; + let searchAfter: SortResults | undefined; + while (hasMore) { + const { agents } = await getAgentsByKuery(esClient, newSpaceSoClient, { + kuery: `policy_id:"${agentPolicyId}"`, + showInactive: true, + perPage: UPDATE_AGENT_BATCH_SIZE, + pitId, + searchAfter, + }); + + if (agents.length === 0) { + hasMore = false; + break; + } + + const lastAgent = agents[agents.length - 1]; + searchAfter = lastAgent.sort; + + await esClient.updateByQuery({ + index: AGENT_ACTIONS_INDEX, + query: { + bool: { + must: { + terms: { + agents: agents.map(({ id }) => id), + }, + }, + }, + }, + script: `ctx._source.namespaces = [${newSpaceIds + .map((spaceId) => `"${spaceId}"`) + .join(',')}]`, + ignore_unavailable: true, + refresh: true, + }); + } + } finally { + await closePointInTime(esClient, pitId); + } + } } diff --git a/x-pack/test/fleet_api_integration/apis/space_awareness/change_space_agent_policies.ts b/x-pack/test/fleet_api_integration/apis/space_awareness/change_space_agent_policies.ts index df3aa6f8f257b..519ae1109e511 100644 --- a/x-pack/test/fleet_api_integration/apis/space_awareness/change_space_agent_policies.ts +++ b/x-pack/test/fleet_api_integration/apis/space_awareness/change_space_agent_policies.ts @@ -6,7 +6,10 @@ */ import expect from '@kbn/expect'; +import { v4 as uuidV4 } from 'uuid'; +import { Client } from '@elastic/elasticsearch'; import { CreateAgentPolicyResponse, GetOnePackagePolicyResponse } from '@kbn/fleet-plugin/common'; +import { FleetServerAgentAction } from '@kbn/fleet-plugin/common/types'; import { FtrProviderContext } from '../../../api_integration/ftr_provider_context'; import { skipIfNoDockerRegistry } from '../../helpers'; import { SpaceTestApiClient } from './api_helper'; @@ -19,6 +22,33 @@ import { } from './helpers'; import { testUsers, setupTestUsers } from '../test_users'; +export async function createFleetAction(esClient: Client, agentId: string, spaceId?: string) { + const actionResponse = await esClient.index({ + index: '.fleet-actions', + refresh: 'wait_for', + body: { + '@timestamp': new Date().toISOString(), + expiration: new Date().toISOString(), + agents: [agentId], + action_id: uuidV4(), + data: {}, + type: 'UPGRADE', + namespaces: spaceId ? [spaceId] : undefined, + }, + }); + + return actionResponse._id; +} + +async function getFleetActionDoc(esClient: Client, actionId: string) { + const actionResponse = await esClient.get({ + index: '.fleet-actions', + id: actionId, + }); + + return actionResponse; +} + export default function (providerContext: FtrProviderContext) { const { getService } = providerContext; const supertest = getService('supertest'); @@ -39,6 +69,9 @@ export default function (providerContext: FtrProviderContext) { let policy1AgentId: string; let policy2AgentId: string; + let agent1ActionId: string; + let agent2ActionId: string; + before(async () => { TEST_SPACE_1 = spaces.getDefaultTestSpace(); await setupTestUsers(getService('security'), true); @@ -63,6 +96,9 @@ export default function (providerContext: FtrProviderContext) { policy1AgentId = await createFleetAgent(esClient, defaultSpacePolicy1.item.id); policy2AgentId = await createFleetAgent(esClient, defaultSpacePolicy2.item.id); + agent1ActionId = await createFleetAction(esClient, policy1AgentId, 'default'); + agent2ActionId = await createFleetAction(esClient, policy2AgentId, 'default'); + const packagePolicyRes = await apiClient.createPackagePolicy(undefined, { policy_ids: [defaultSpacePolicy1.item.id], name: `test-nginx-${Date.now()}`, @@ -172,6 +208,15 @@ export default function (providerContext: FtrProviderContext) { } } + async function assertActionSpaces(actionId: string, expectedSpaces: string[]) { + const actionDoc = await getFleetActionDoc(esClient, actionId); + if (expectedSpaces.length === 1 && expectedSpaces[0] === 'default') { + expect(actionDoc._source?.namespaces ?? ['default']).to.eql(expectedSpaces); + } else { + expect(actionDoc._source?.namespaces).to.eql(expectedSpaces); + } + } + it('should allow set policy in multiple space', async () => { await apiClient.putAgentPolicy(defaultSpacePolicy1.item.id, { name: 'tata', @@ -189,6 +234,9 @@ export default function (providerContext: FtrProviderContext) { await assertAgentSpaces(policy1AgentId, ['default', TEST_SPACE_1]); await assertAgentSpaces(policy2AgentId, ['default']); + await assertActionSpaces(agent1ActionId, ['default', TEST_SPACE_1]); + await assertActionSpaces(agent2ActionId, ['default']); + await assertEnrollemntApiKeysForSpace('default', [ defaultSpacePolicy1.item.id, defaultSpacePolicy2.item.id, @@ -213,6 +261,10 @@ export default function (providerContext: FtrProviderContext) { await assertPackagePolicyNotAvailableInSpace(); await assertAgentSpaces(policy1AgentId, [TEST_SPACE_1]); await assertAgentSpaces(policy2AgentId, ['default']); + + await assertActionSpaces(agent1ActionId, [TEST_SPACE_1]); + await assertActionSpaces(agent2ActionId, ['default']); + await assertEnrollemntApiKeysForSpace('default', [defaultSpacePolicy2.item.id]); await assertEnrollemntApiKeysForSpace(TEST_SPACE_1, [defaultSpacePolicy1.item.id]); // Ensure no side effect on other policies diff --git a/x-pack/test/fleet_api_integration/apis/space_awareness/helpers.ts b/x-pack/test/fleet_api_integration/apis/space_awareness/helpers.ts index 92f4e3a387678..e4e5ff2563cc1 100644 --- a/x-pack/test/fleet_api_integration/apis/space_awareness/helpers.ts +++ b/x-pack/test/fleet_api_integration/apis/space_awareness/helpers.ts @@ -49,6 +49,12 @@ export async function cleanFleetIndices(esClient: Client) { ignore_unavailable: true, refresh: true, }), + esClient.deleteByQuery({ + index: AGENT_ACTIONS_INDEX, + q: '*', + ignore_unavailable: true, + refresh: true, + }), ]); } From fe67c9536bb1a65b5aa0c9dbc8d5169728d9310e Mon Sep 17 00:00:00 2001 From: jennypavlova Date: Thu, 12 Dec 2024 14:42:47 +0100 Subject: [PATCH 18/52] Revert "[ECO][Inventory v2] Ad hoc data view: Add get entities definition endpoint using sources (#203424) (#204012) This reverts commit 5bacf1fe50ae373f5951d227ef487a6714aeb541. Reverting because it's blocked by https://github.com/elastic/kibana/issues/202296 --- .../components/entity_actions/index.tsx | 9 ++-- .../public/hooks/use_discover_redirect.ts | 15 +++---- .../hooks/use_fetch_entity_definition.ts | 27 ++++++++++++ ..._fetch_entity_definition_index_patterns.ts | 34 --------------- .../get_entity_definitions.ts | 41 ------------------- .../get_global_inventory_route_repository.ts | 2 - 6 files changed, 39 insertions(+), 89 deletions(-) create mode 100644 x-pack/plugins/observability_solution/inventory/public/hooks/use_fetch_entity_definition.ts delete mode 100644 x-pack/plugins/observability_solution/inventory/public/hooks/use_fetch_entity_definition_index_patterns.ts delete mode 100644 x-pack/plugins/observability_solution/inventory/server/routes/entity_definition/get_entity_definitions.ts diff --git a/x-pack/plugins/observability_solution/inventory/public/components/entity_actions/index.tsx b/x-pack/plugins/observability_solution/inventory/public/components/entity_actions/index.tsx index 6b31f877f10af..691ba4388ac63 100644 --- a/x-pack/plugins/observability_solution/inventory/public/components/entity_actions/index.tsx +++ b/x-pack/plugins/observability_solution/inventory/public/components/entity_actions/index.tsx @@ -24,18 +24,17 @@ export const EntityActions = ({ entity, setShowActions }: Props) => { ? `inventoryEntityActionsButton-${entity.entityDisplayName}` : 'inventoryEntityActionsButton'; - const { getDiscoverEntitiesRedirectUrl, isEntityDefinitionIndexPatternsLoading } = - useDiscoverRedirect(entity); + const { getDiscoverEntitiesRedirectUrl, isEntityDefinitionLoading } = useDiscoverRedirect(entity); const discoverUrl = getDiscoverEntitiesRedirectUrl(); const actions: React.ReactElement[] = []; - if (!discoverUrl && !isEntityDefinitionIndexPatternsLoading) { + if (!discoverUrl && !isEntityDefinitionLoading) { setShowActions(false); return null; } - if (!isEntityDefinitionIndexPatternsLoading) { + if (!isEntityDefinitionLoading) { actions.push( { iconType="boxesHorizontal" color="text" onClick={togglePopover} - isLoading={isEntityDefinitionIndexPatternsLoading} + isLoading={isEntityDefinitionLoading} /> } closePopover={closePopover} diff --git a/x-pack/plugins/observability_solution/inventory/public/hooks/use_discover_redirect.ts b/x-pack/plugins/observability_solution/inventory/public/hooks/use_discover_redirect.ts index 2855df8e4dd3f..dc9f5bf4a4740 100644 --- a/x-pack/plugins/observability_solution/inventory/public/hooks/use_discover_redirect.ts +++ b/x-pack/plugins/observability_solution/inventory/public/hooks/use_discover_redirect.ts @@ -7,22 +7,23 @@ import { useCallback, useMemo } from 'react'; import type { InventoryEntity } from '../../common/entities'; import { useAdHocDataView } from './use_adhoc_data_view'; -import { useFetchEntityDefinitionIndexPattern } from './use_fetch_entity_definition_index_patterns'; +import { useFetchEntityDefinition } from './use_fetch_entity_definition'; import { useKibana } from './use_kibana'; export const useDiscoverRedirect = (entity: InventoryEntity) => { const { services: { share, application, entityManager }, } = useKibana(); - const { entityDefinitionIndexPatterns, isEntityDefinitionIndexPatternsLoading } = - useFetchEntityDefinitionIndexPattern(entity.entityType); + const { entityDefinitions, isEntityDefinitionLoading } = useFetchEntityDefinition( + entity.entityDefinitionId + ); const title = useMemo( () => - !isEntityDefinitionIndexPatternsLoading && (entityDefinitionIndexPatterns ?? []).length > 0 - ? entityDefinitionIndexPatterns[0].join() + !isEntityDefinitionLoading && entityDefinitions && entityDefinitions?.length > 0 + ? entityDefinitions[0]?.indexPatterns?.join(',') : '', - [entityDefinitionIndexPatterns, isEntityDefinitionIndexPatternsLoading] + [entityDefinitions, isEntityDefinitionLoading] ); const { dataView } = useAdHocDataView(title); @@ -53,5 +54,5 @@ export const useDiscoverRedirect = (entity: InventoryEntity) => { entityManager.entityClient, ]); - return { getDiscoverEntitiesRedirectUrl, isEntityDefinitionIndexPatternsLoading }; + return { getDiscoverEntitiesRedirectUrl, isEntityDefinitionLoading }; }; diff --git a/x-pack/plugins/observability_solution/inventory/public/hooks/use_fetch_entity_definition.ts b/x-pack/plugins/observability_solution/inventory/public/hooks/use_fetch_entity_definition.ts new file mode 100644 index 0000000000000..9f6a0232891b2 --- /dev/null +++ b/x-pack/plugins/observability_solution/inventory/public/hooks/use_fetch_entity_definition.ts @@ -0,0 +1,27 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { useAbortableAsync } from '@kbn/observability-utils-browser/hooks/use_abortable_async'; +import { useKibana } from './use_kibana'; + +export const useFetchEntityDefinition = (id: string) => { + const { + services: { entityManager }, + } = useKibana(); + + const { value, loading } = useAbortableAsync( + ({ signal }) => { + return entityManager.entityClient.getEntityDefinition(id); + }, + [entityManager.entityClient, id] + ); + + return { + entityDefinitions: value?.definitions, + isEntityDefinitionLoading: loading, + }; +}; diff --git a/x-pack/plugins/observability_solution/inventory/public/hooks/use_fetch_entity_definition_index_patterns.ts b/x-pack/plugins/observability_solution/inventory/public/hooks/use_fetch_entity_definition_index_patterns.ts deleted file mode 100644 index 127c95b532749..0000000000000 --- a/x-pack/plugins/observability_solution/inventory/public/hooks/use_fetch_entity_definition_index_patterns.ts +++ /dev/null @@ -1,34 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { useInventoryAbortableAsync } from './use_inventory_abortable_async'; -import { useKibana } from './use_kibana'; - -export const useFetchEntityDefinitionIndexPattern = (type: string) => { - const { - services: { inventoryAPIClient }, - } = useKibana(); - - const { value = { definitionIndexPatterns: [] }, loading } = useInventoryAbortableAsync( - ({ signal }) => { - return inventoryAPIClient.fetch('GET /internal/inventory/entity/definitions/sources', { - params: { - query: { - type, - }, - }, - signal, - }); - }, - [inventoryAPIClient] - ); - - return { - entityDefinitionIndexPatterns: value?.definitionIndexPatterns, - isEntityDefinitionIndexPatternsLoading: loading, - }; -}; diff --git a/x-pack/plugins/observability_solution/inventory/server/routes/entity_definition/get_entity_definitions.ts b/x-pack/plugins/observability_solution/inventory/server/routes/entity_definition/get_entity_definitions.ts deleted file mode 100644 index 7db85de7c460b..0000000000000 --- a/x-pack/plugins/observability_solution/inventory/server/routes/entity_definition/get_entity_definitions.ts +++ /dev/null @@ -1,41 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ -import * as t from 'io-ts'; -import { createInventoryServerRoute } from '../create_inventory_server_route'; - -export const getEntityDefinitionSourceIndexPatternsByType = createInventoryServerRoute({ - endpoint: 'GET /internal/inventory/entity/definitions/sources', - params: t.type({ - query: t.type({ - type: t.string, - }), - }), - options: { - tags: ['access:inventory'], - }, - async handler({ context, params, request, plugins }) { - const [_coreContext, entityManagerStart] = await Promise.all([ - context.core, - plugins.entityManager.start(), - ]); - const { type } = params.query; - const entityManagerClient = await entityManagerStart.getScopedClient({ request }); - - const entityDefinitionsSource = await entityManagerClient.v2.readSourceDefinitions({ type }); - - return { - definitionIndexPatterns: entityDefinitionsSource.map( - (definition) => definition.index_patterns, - [] - ), - }; - }, -}); - -export const entityDefinitionsRoutes = { - ...getEntityDefinitionSourceIndexPatternsByType, -}; diff --git a/x-pack/plugins/observability_solution/inventory/server/routes/get_global_inventory_route_repository.ts b/x-pack/plugins/observability_solution/inventory/server/routes/get_global_inventory_route_repository.ts index 5a808ea9cc2cb..598b69db90e5a 100644 --- a/x-pack/plugins/observability_solution/inventory/server/routes/get_global_inventory_route_repository.ts +++ b/x-pack/plugins/observability_solution/inventory/server/routes/get_global_inventory_route_repository.ts @@ -6,13 +6,11 @@ */ import { entitiesRoutes } from './entities/route'; -import { entityDefinitionsRoutes } from './entity_definition/get_entity_definitions'; import { hasDataRoutes } from './has_data/route'; export function getGlobalInventoryServerRouteRepository() { return { ...entitiesRoutes, - ...entityDefinitionsRoutes, ...hasDataRoutes, }; } From cdea0e4de8473ce04022c7d281a0da785347d792 Mon Sep 17 00:00:00 2001 From: Milton Hultgren Date: Thu, 12 Dec 2024 14:43:45 +0100 Subject: [PATCH 19/52] [EEM] Add auto expand replicas setting (#204011) To allow single node clusters to still reach a green state. --- .../server/lib/v2/definitions/setup_entity_definitions_index.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/definitions/setup_entity_definitions_index.ts b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/definitions/setup_entity_definitions_index.ts index 4c43d68a4e116..05d7b2de7cb97 100644 --- a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/definitions/setup_entity_definitions_index.ts +++ b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/definitions/setup_entity_definitions_index.ts @@ -22,6 +22,8 @@ const definitionsIndexTemplate = { template: { settings: { hidden: true, + number_of_shards: 1, + auto_expand_replicas: '0-1', }, aliases: { [DEFINITIONS_ALIAS]: { From 4455087bd3ff74faf4b503cd8b8d2e4d8455e2f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arturo=20Lidue=C3=B1a?= Date: Thu, 12 Dec 2024 14:58:07 +0100 Subject: [PATCH 20/52] [Observability AI Assistant] fix: Improve tool choice handling in Observability AI Assistant client (#203928) Error: https://github.com/user-attachments/assets/3ada87df-9c60-4916-aa5a-7f95fb2dc275 logs: ``` bash [2024-12-11T11:03:19.666-05:00][WARN ][plugins.actions.gen-ai] action execution failure: .gen-ai:azure-gpt4: GPT-4 Azure: an error occurred while running the action: Status code: 400. Message: API Error: #model_error - [] should be non-empty - 'tools'; retry: true [2024-12-11T11:03:19.669-05:00][ERROR][plugins.observabilityAIAssistant.service] Error: Unexpected error at createInferenceInternalError (/Users/viduni/Workspace/Elastic/kibana/x-pack/packages/ai-infra/inference-common/src/errors.ts:49:10 ``` --------- Co-authored-by: Viduni Wickramarachchi --- .../server/service/client/index.test.ts | 6 ++-- .../server/service/client/index.ts | 31 ++++++++++++------- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/index.test.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/index.test.ts index 2456499b2d66f..199a6d8f1cbca 100644 --- a/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/index.test.ts +++ b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/index.test.ts @@ -329,8 +329,8 @@ describe('Observability AI Assistant client', () => { { role: 'user', content: 'How many alerts do I have?' }, ]), functionCalling: 'native', - toolChoice: 'auto', - tools: {}, + toolChoice: undefined, + tools: undefined, }, ]); }); @@ -1373,7 +1373,7 @@ describe('Observability AI Assistant client', () => { expect(Object.keys(firstBody.tools ?? {}).length).toEqual(1); - expect(body.tools).toEqual({}); + expect(body.tools).toEqual(undefined); }); }); diff --git a/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/index.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/index.ts index c03f7d6333825..8d1ee6138e54f 100644 --- a/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/index.ts +++ b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/server/service/client/index.ts @@ -481,13 +481,24 @@ export class ObservabilityAIAssistantClient { tracer: LangTracer; } ): Observable => { - const tools = functions?.reduce((acc, fn) => { - acc[fn.name] = { - description: fn.description, - schema: fn.parameters, - }; - return acc; - }, {} as Record); + let tools: Record | undefined; + let toolChoice: ToolChoiceType | { function: string } | undefined; + + if (functions?.length) { + tools = functions.reduce((acc, fn) => { + acc[fn.name] = { + description: fn.description, + schema: fn.parameters, + }; + return acc; + }, {} as Record); + + toolChoice = functionCall + ? { + function: functionCall, + } + : ToolChoiceType.auto; + } const chatComplete$ = defer(() => this.dependencies.inferenceClient.chatComplete({ @@ -497,11 +508,7 @@ export class ObservabilityAIAssistantClient { messages.filter((message) => message.message.role !== MessageRole.System) ), functionCalling: simulateFunctionCalling ? 'simulated' : 'native', - toolChoice: functionCall - ? { - function: functionCall, - } - : ToolChoiceType.auto, + toolChoice, tools, }) ).pipe( From 359ac089de749c792fb1910229e94d5155d67921 Mon Sep 17 00:00:00 2001 From: Alexey Antonov Date: Thu, 12 Dec 2024 16:10:06 +0200 Subject: [PATCH 21/52] fix: [Search:AppSearch:Engines page]Data from page disappears after clicking on Last updated date (#201768) Closes: #200545 Closes: [#8911](https://github.com/elastic/search-team/issues/8911) ## Description When user clicks date button it should activate correct action, or open the new page. In this case, all data disappears from the page which is unexpected. Found while testing for accessibility, but applicable to all users. ## What was changed?: 1. Since LogsStream still uses `euiStyled`, and we use it in multiple places, we need to set up `EuiThemeProvider` and `CellActionsProvider`. ## Screen: image --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- x-pack/plugins/enterprise_search/kibana.jsonc | 1 + .../public/applications/index.test.tsx | 2 + .../public/applications/index.tsx | 58 +++++++++++-------- .../enterprise_search/public/plugin.ts | 4 +- .../plugins/enterprise_search/tsconfig.json | 2 + 5 files changed, 42 insertions(+), 25 deletions(-) diff --git a/x-pack/plugins/enterprise_search/kibana.jsonc b/x-pack/plugins/enterprise_search/kibana.jsonc index 1d378a8e95d8d..a484cf625c0ae 100644 --- a/x-pack/plugins/enterprise_search/kibana.jsonc +++ b/x-pack/plugins/enterprise_search/kibana.jsonc @@ -21,6 +21,7 @@ "logsDataAccess", "esUiShared", "navigation", + "uiActions" ], "optionalPlugins": [ "customIntegrations", diff --git a/x-pack/plugins/enterprise_search/public/applications/index.test.tsx b/x-pack/plugins/enterprise_search/public/applications/index.test.tsx index 1866d568af62f..81827172acc6d 100644 --- a/x-pack/plugins/enterprise_search/public/applications/index.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/index.test.tsx @@ -26,6 +26,7 @@ import { mlPluginMock } from '@kbn/ml-plugin/public/mocks'; import { navigationPluginMock } from '@kbn/navigation-plugin/public/mocks'; import { securityMock } from '@kbn/security-plugin/public/mocks'; import { sharePluginMock } from '@kbn/share-plugin/public/mocks'; +import { uiActionsPluginMock } from '@kbn/ui-actions-plugin/public/mocks'; import { AppSearch } from './app_search'; import { EnterpriseSearchOverview } from './enterprise_search_overview'; @@ -52,6 +53,7 @@ describe('renderApp', () => { security: securityMock.createStart(), share: sharePluginMock.createStartContract(), ml: mlPluginMock.createStartContract(), + uiActions: uiActionsPluginMock.createStartContract(), user: {}, }, updateSideNavDefinition: jest.fn(), diff --git a/x-pack/plugins/enterprise_search/public/applications/index.tsx b/x-pack/plugins/enterprise_search/public/applications/index.tsx index d934932dd163f..273bf1726cc51 100644 --- a/x-pack/plugins/enterprise_search/public/applications/index.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/index.tsx @@ -14,8 +14,11 @@ import { Store } from 'redux'; import { of } from 'rxjs'; +import { CellActionsProvider } from '@kbn/cell-actions'; + import { AppMountParameters, CoreStart } from '@kbn/core/public'; import { I18nProvider } from '@kbn/i18n-react'; +import { EuiThemeProvider } from '@kbn/kibana-react-plugin/common'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import { KibanaThemeProvider } from '@kbn/react-kibana-context-theme'; @@ -146,34 +149,41 @@ export const renderApp = ( http, readOnlyMode, }); + const unmountFlashMessagesLogic = mountFlashMessagesLogic({ notifications }); ReactDOM.render( - - - - - - - - - + + + + + + + + + + + + + , params.element diff --git a/x-pack/plugins/enterprise_search/public/plugin.ts b/x-pack/plugins/enterprise_search/public/plugin.ts index b80af39c40da7..0f90f60d29749 100644 --- a/x-pack/plugins/enterprise_search/public/plugin.ts +++ b/x-pack/plugins/enterprise_search/public/plugin.ts @@ -23,7 +23,6 @@ import { AppStatus, } from '@kbn/core/public'; import { DataPublicPluginStart } from '@kbn/data-plugin/public'; - import { GuidedOnboardingPluginStart } from '@kbn/guided-onboarding-plugin/public'; import type { HomePublicPluginSetup } from '@kbn/home-plugin/public'; import { i18n } from '@kbn/i18n'; @@ -38,6 +37,7 @@ import type { SearchNavigationPluginStart } from '@kbn/search-navigation/public' import { SearchPlaygroundPluginStart } from '@kbn/search-playground/public'; import { SecurityPluginSetup, SecurityPluginStart } from '@kbn/security-plugin/public'; import { SharePluginSetup, SharePluginStart } from '@kbn/share-plugin/public'; +import { UiActionsSetup, UiActionsStart } from '@kbn/ui-actions-plugin/public'; import { ANALYTICS_PLUGIN, @@ -82,6 +82,7 @@ interface PluginsSetup { licensing: LicensingPluginStart; security?: SecurityPluginSetup; share?: SharePluginSetup; + uiActions: UiActionsSetup; } export interface PluginsStart { @@ -100,6 +101,7 @@ export interface PluginsStart { searchPlayground?: SearchPlaygroundPluginStart; security?: SecurityPluginStart; share?: SharePluginStart; + uiActions: UiActionsStart; } export interface ESConfig { diff --git a/x-pack/plugins/enterprise_search/tsconfig.json b/x-pack/plugins/enterprise_search/tsconfig.json index bd716c8ac169f..f06262024ce68 100644 --- a/x-pack/plugins/enterprise_search/tsconfig.json +++ b/x-pack/plugins/enterprise_search/tsconfig.json @@ -84,5 +84,7 @@ "@kbn/core-security-server-mocks", "@kbn/unsaved-changes-prompt", "@kbn/search-navigation", + "@kbn/cell-actions", + "@kbn/ui-actions-plugin", ] } From b525d00fde535645d7d60d3d98cd1f5f8cb0d4ad Mon Sep 17 00:00:00 2001 From: Jean-Louis Leysens Date: Thu, 12 Dec 2024 15:13:49 +0100 Subject: [PATCH 22/52] [UA] Remove 7->8 multitype check (#203995) ## Summary Removes the 7->8.x logic for detecting and warning users about custom types. Specifically, we had a `GET index` call with `include_type_name` that is no longer supported and would return mappings in the following, deprecated, multitype form: ```jsonc { "mappings": { "": { "properties": { /* properties */ } } } } ``` Now you can only get: ```jsonc { "mappings": { "properties": { /* properties */ } } ``` ...including `include_type_name` is causing a 400 response from ES, blocking UA's ability to reindex. Existing code already handles both of these forms bc it had to for 7.last, this PR just removes logic targeting the former (and removes our outdated user-facing warning). ## Resources * 7->8 removal notice https://www.elastic.co/guide/en/elasticsearch/reference/7.17/removal-of-types.html * old docs https://www.elastic.co/guide/en/elasticsearch/reference/6.8/indices-get-index.html --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .github/CODEOWNERS | 6 +- .../translations/translations/fr-FR.json | 2 - .../translations/translations/ja-JP.json | 2 - .../translations/translations/zh-CN.json | 2 - .../plugins/upgrade_assistant/common/types.ts | 6 +- .../reindex/flyout/warning_step.test.tsx | 10 +-- .../reindex/flyout/warning_step_checkbox.tsx | 36 ---------- .../reindex/flyout/warnings_step.tsx | 2 - .../lib/reindexing/index_settings.test.ts | 66 ------------------- .../server/lib/reindexing/index_settings.ts | 34 ++-------- .../server/lib/reindexing/reindex_actions.ts | 29 ++------ .../server/lib/reindexing/types.ts | 11 ---- .../reindex_indices/reindex_indices.test.ts | 8 +-- 13 files changed, 20 insertions(+), 194 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 4d0a628baab7d..d1f134b0c0737 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -2019,7 +2019,7 @@ x-pack/test/api_integration/apis/management/index_management/inference_endpoints /x-pack/test/stack_functional_integration/apps/ccs @elastic/kibana-management /x-pack/test/functional/services/data_stream.ts @elastic/kibana-management /x-pack/test/functional/page_objects/watcher_page.ts @elastic/kibana-management -/x-pack/test/functional/page_objects/upgrade_assistant_page.ts @elastic/kibana-management +/x-pack/test/functional/page_objects/upgrade_assistant_page.ts @elastic/kibana-core /x-pack/test/functional/page_objects/snapshot_restore_page.ts @elastic/kibana-management /x-pack/test/functional/page_objects/rollup_page.ts @elastic/kibana-management /x-pack/test/functional/page_objects/ingest_pipelines_page.ts @elastic/kibana-management @@ -2042,7 +2042,7 @@ x-pack/test/api_integration/apis/management/index_management/inference_endpoints /x-pack/test/functional/apps/upgrade_assistant @elastic/kibana-core /x-pack/test/functional/apps/dev_tools @elastic/kibana-management /test/plugin_functional/test_suites/management @elastic/kibana-management -/x-pack/test/upgrade_assistant_integration @elastic/kibana-management +/x-pack/test/upgrade_assistant_integration @elastic/kibana-core /test/plugin_functional/plugins/management_test_plugin @elastic/kibana-management /test/functional/page_objects/management/*.ts @elastic/kibana-management /test/functional/page_objects/embedded_console.ts @elastic/kibana-management @@ -3244,7 +3244,7 @@ x-pack/platform/plugins/private/snapshot_restore @elastic/kibana-management x-pack/platform/plugins/private/telemetry_collection_xpack @elastic/kibana-core x-pack/platform/plugins/private/transform @elastic/ml-ui x-pack/platform/plugins/private/translations @elastic/kibana-localization -x-pack/platform/plugins/private/upgrade_assistant @elastic/kibana-management +x-pack/platform/plugins/private/upgrade_assistant @elastic/kibana-core x-pack/platform/plugins/private/watcher @elastic/kibana-management x-pack/platform/plugins/shared/actions @elastic/response-ops x-pack/platform/plugins/shared/ai_infra/llm_tasks @elastic/appex-ai-infra diff --git a/x-pack/platform/plugins/private/translations/translations/fr-FR.json b/x-pack/platform/plugins/private/translations/translations/fr-FR.json index a8360ff6106ee..bd3d7a568d929 100644 --- a/x-pack/platform/plugins/private/translations/translations/fr-FR.json +++ b/x-pack/platform/plugins/private/translations/translations/fr-FR.json @@ -48401,8 +48401,6 @@ "xpack.upgradeAssistant.checkupTab.reindexing.flyout.flyoutHeader": "Réindexer {index}", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.learnMoreLinkLabel": "En savoir plus", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.acceptChangesTitle": "Accepter les modifications", - "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.customTypeNameWarningDetail": "Les types de mapping ne sont plus pris en charge dans Elastic 8.x. Assurez-vous qu'aucun code d'application ou script n'utilise {mappingType}.", - "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.customTypeNameWarningTitle": "Remplacer le type de mapping {mappingType} par {defaultType}", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.deprecatedIndexSettingsWarningDetail": "Les paramètres d'index déclassés ont été détectés :", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.deprecatedIndexSettingsWarningTitle": "Retirer les paramètres d'index déclassés", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.destructiveCallout.calloutDetail": "Sauvegardez l'index avant de continuer. Pour poursuivre avec la réindexation, acceptez chaque modification.", diff --git a/x-pack/platform/plugins/private/translations/translations/ja-JP.json b/x-pack/platform/plugins/private/translations/translations/ja-JP.json index 6afd565219882..be926d0485004 100644 --- a/x-pack/platform/plugins/private/translations/translations/ja-JP.json +++ b/x-pack/platform/plugins/private/translations/translations/ja-JP.json @@ -48248,8 +48248,6 @@ "xpack.upgradeAssistant.checkupTab.reindexing.flyout.flyoutHeader": "再インデックス{index}", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.learnMoreLinkLabel": "詳細", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.acceptChangesTitle": "変更を承諾", - "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.customTypeNameWarningDetail": "マッピングタイプはElastic 8.xではサポートされていません。アプリケーションコードまたはスクリプトが{mappingType}に依存していないことを確認してください。", - "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.customTypeNameWarningTitle": "マッピングタイプ{mappingType}を{defaultType}で置き換えます", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.deprecatedIndexSettingsWarningDetail": "次の廃止予定のインデックス設定が検出されました。", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.deprecatedIndexSettingsWarningTitle": "廃止予定のインデックス設定を削除", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.destructiveCallout.calloutDetail": "続行する前に、インデックスをバックアップしてください。再インデックスを続行するには、各変更を承諾してください。", diff --git a/x-pack/platform/plugins/private/translations/translations/zh-CN.json b/x-pack/platform/plugins/private/translations/translations/zh-CN.json index 58280cb567881..f9638a6fe5028 100644 --- a/x-pack/platform/plugins/private/translations/translations/zh-CN.json +++ b/x-pack/platform/plugins/private/translations/translations/zh-CN.json @@ -47537,8 +47537,6 @@ "xpack.upgradeAssistant.checkupTab.reindexing.flyout.flyoutHeader": "重新索引 {index}", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.learnMoreLinkLabel": "了解详情", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.acceptChangesTitle": "接受更改", - "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.customTypeNameWarningDetail": "映射类型在 Elastic 8.x 中不再受支持。确保没有应用程序代码或脚本依赖 {mappingType}。", - "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.customTypeNameWarningTitle": "将映射类型 {mappingType} 替换为 {defaultType}", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.deprecatedIndexSettingsWarningDetail": "检测到以下弃用的索引设置:", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.deprecatedIndexSettingsWarningTitle": "移除弃用的索引设置", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.destructiveCallout.calloutDetail": "继续前备份索引。要继续重新索引,请接受每个更改。", diff --git a/x-pack/plugins/upgrade_assistant/common/types.ts b/x-pack/plugins/upgrade_assistant/common/types.ts index 781e4865ee568..54b175a428512 100644 --- a/x-pack/plugins/upgrade_assistant/common/types.ts +++ b/x-pack/plugins/upgrade_assistant/common/types.ts @@ -121,8 +121,8 @@ export interface ReindexOperation { export type ReindexSavedObject = SavedObject; -// 7.0 -> 8.0 warnings -export type ReindexWarningTypes = 'customTypeName' | 'indexSetting' | 'replaceIndexWithAlias'; +// 8.0 -> 9.0 warnings +export type ReindexWarningTypes = 'indexSetting' | 'replaceIndexWithAlias'; export interface ReindexWarning { warningType: ReindexWarningTypes; @@ -130,8 +130,6 @@ export interface ReindexWarning { * Optional metadata for deprecations * * @remark - * For example, for the "customTypeName" deprecation, - * we want to surface the typeName to the user. * For "indexSetting" we want to surface the deprecated settings. */ meta?: { diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/warning_step.test.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/warning_step.test.tsx index eedb05e8b809a..7c6f7d554082a 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/warning_step.test.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/warning_step.test.tsx @@ -52,12 +52,6 @@ describe('WarningsFlyoutStep', () => { const defaultPropsWithWarnings = { ...defaultProps, warnings: [ - { - warningType: 'customTypeName', - meta: { - typeName: 'my_mapping_type', - }, - }, { warningType: 'indexSetting', meta: { @@ -76,9 +70,7 @@ describe('WarningsFlyoutStep', () => { button.simulate('click'); expect(defaultPropsWithWarnings.continueReindex).not.toHaveBeenCalled(); - // first warning (customTypeName) - wrapper.find(`input#${idForWarning(0)}`).simulate('change'); - // second warning (indexSetting) + // first warning (indexSetting) wrapper.find(`input#${idForWarning(1)}`).simulate('change'); button.simulate('click'); diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/warning_step_checkbox.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/warning_step_checkbox.tsx index 7782d47fc5cc0..27bfdc6256781 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/warning_step_checkbox.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/warning_step_checkbox.tsx @@ -82,42 +82,6 @@ export interface WarningCheckboxProps { meta?: ReindexWarning['meta']; } -export const CustomTypeNameWarningCheckbox: React.FunctionComponent = ({ - isChecked, - onChange, - docLinks, - id, - meta, -}) => { - return ( - {meta!.typeName as string}, - defaultType: _doc, - }} - /> - } - description={ - {meta!.typeName as string}, - }} - /> - } - documentationUrl={docLinks.elasticsearch.typesRemoval} - /> - ); -}; - export const DeprecatedSettingWarningCheckbox: React.FunctionComponent = ({ isChecked, onChange, diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/warnings_step.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/warnings_step.tsx index 0de8449a7cc7e..d3ed1d0c16387 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/warnings_step.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/warnings_step.tsx @@ -27,7 +27,6 @@ import { } from '../../../../../../../common/types'; import { useAppContext } from '../../../../../app_context'; import { - CustomTypeNameWarningCheckbox, DeprecatedSettingWarningCheckbox, ReplaceIndexWithAliasWarningCheckbox, WarningCheckboxProps, @@ -40,7 +39,6 @@ interface CheckedIds { const warningToComponentMap: { [key in ReindexWarningTypes]: React.FunctionComponent; } = { - customTypeName: CustomTypeNameWarningCheckbox, indexSetting: DeprecatedSettingWarningCheckbox, replaceIndexWithAlias: ReplaceIndexWithAliasWarningCheckbox, }; diff --git a/x-pack/plugins/upgrade_assistant/server/lib/reindexing/index_settings.test.ts b/x-pack/plugins/upgrade_assistant/server/lib/reindexing/index_settings.test.ts index 4f58c1a2ea024..685bc443c324c 100644 --- a/x-pack/plugins/upgrade_assistant/server/lib/reindexing/index_settings.test.ts +++ b/x-pack/plugins/upgrade_assistant/server/lib/reindexing/index_settings.test.ts @@ -182,71 +182,5 @@ describe('transformFlatSettings', () => { }) ).toEqual([]); }); - - if (currentMajor === 7) { - describe('[7.x] customTypeName warning', () => { - it('returns customTypeName warning for non-_doc mapping types', () => { - expect( - getReindexWarnings({ - settings: {}, - mappings: { doc: {} }, - }) - ).toEqual([ - { - warningType: 'customTypeName', - meta: { - typeName: 'doc', - }, - }, - ]); - }); - it('does not return customTypeName warning for _doc mapping types', () => { - expect( - getReindexWarnings({ - settings: {}, - mappings: { _doc: {} }, - }) - ).toEqual([]); - }); - }); - - describe('[7.x] deprecatedSetting warning', () => { - it('returns deprecatedSetting warning for deprecated index settings', () => { - expect( - getReindexWarnings({ - settings: { - // Deprecated settings - 'index.force_memory_term_dictionary': '1024', - 'index.max_adjacency_matrix_filters': 'true', - 'index.soft_deletes.enabled': 'true', - }, - mappings: {}, - }) - ).toEqual([ - { - warningType: 'indexSetting', - meta: { - deprecatedSettings: [ - 'index.force_memory_term_dictionary', - 'index.max_adjacency_matrix_filters', - 'index.soft_deletes.enabled', - ], - }, - }, - ]); - }); - - it('does not return a deprecatedSetting warning for there are no deprecated index settings', () => { - expect( - getReindexWarnings({ - settings: { - 'index.number_of_replicas': '1', - }, - mappings: {}, - }) - ).toEqual([]); - }); - }); - } }); }); diff --git a/x-pack/plugins/upgrade_assistant/server/lib/reindexing/index_settings.ts b/x-pack/plugins/upgrade_assistant/server/lib/reindexing/index_settings.ts index 96d14bac8d63c..3344ecde4ab69 100644 --- a/x-pack/plugins/upgrade_assistant/server/lib/reindexing/index_settings.ts +++ b/x-pack/plugins/upgrade_assistant/server/lib/reindexing/index_settings.ts @@ -8,7 +8,7 @@ import { flow, omit } from 'lodash'; import { ReindexWarning } from '../../../common/types'; import { versionService } from '../version'; -import { FlatSettings, FlatSettingsWithTypeName } from './types'; +import { FlatSettings } from './types'; export interface ParsedIndexName { cleanIndexName: string; baseName: string; @@ -75,27 +75,8 @@ export const generateNewIndexName = (indexName: string): string => { : `${currentVersion}-${sourceName}`; }; -export const getCustomTypeWarning = ( - flatSettings: FlatSettingsWithTypeName | FlatSettings -): ReindexWarning | undefined => { - const DEFAULT_TYPE_NAME = '_doc'; - // In 7+, it's not possible to have more than one type, - // so always grab the first (and only) key. - const typeName = Object.getOwnPropertyNames(flatSettings.mappings)[0]; - const typeNameWarning = Boolean(typeName && typeName !== DEFAULT_TYPE_NAME); - - if (typeNameWarning) { - return { - warningType: 'customTypeName', - meta: { - typeName, - }, - }; - } -}; - export const getDeprecatedSettingWarning = ( - flatSettings: FlatSettingsWithTypeName | FlatSettings + flatSettings: FlatSettings ): ReindexWarning | undefined => { const { settings } = flatSettings; @@ -131,19 +112,12 @@ export const getDeprecatedSettingWarning = ( * Returns an array of warnings that should be displayed to user before reindexing begins. * @param flatSettings */ -export const getReindexWarnings = ( - flatSettings: FlatSettingsWithTypeName | FlatSettings -): ReindexWarning[] => { +export const getReindexWarnings = (flatSettings: FlatSettings): ReindexWarning[] => { const warnings = [] as ReindexWarning[]; - if (versionService.getMajorVersion() === 7) { - const customTypeWarning = getCustomTypeWarning(flatSettings); + if (versionService.getMajorVersion() === 8) { const deprecatedSettingWarning = getDeprecatedSettingWarning(flatSettings); - if (customTypeWarning) { - warnings.push(customTypeWarning); - } - if (deprecatedSettingWarning) { warnings.push(deprecatedSettingWarning); } diff --git a/x-pack/plugins/upgrade_assistant/server/lib/reindexing/reindex_actions.ts b/x-pack/plugins/upgrade_assistant/server/lib/reindexing/reindex_actions.ts index 01c73bf85765b..ce588e8bdb47a 100644 --- a/x-pack/plugins/upgrade_assistant/server/lib/reindexing/reindex_actions.ts +++ b/x-pack/plugins/upgrade_assistant/server/lib/reindexing/reindex_actions.ts @@ -20,9 +20,8 @@ import { ReindexStatus, ReindexStep, } from '../../../common/types'; -import { versionService } from '../version'; import { generateNewIndexName } from './index_settings'; -import { FlatSettings, FlatSettingsWithTypeName } from './types'; +import { FlatSettings } from './types'; // TODO: base on elasticsearch.requestTimeout? export const LOCK_WINDOW = moment.duration(90, 'seconds'); @@ -80,10 +79,7 @@ export interface ReindexActions { * Retrieve index settings (in flat, dot-notation style) and mappings. * @param indexName */ - getFlatSettings( - indexName: string, - withTypeName?: boolean - ): Promise; + getFlatSettings(indexName: string): Promise; } export const reindexActionsFactory = ( @@ -208,23 +204,10 @@ export const reindexActionsFactory = ( }, async getFlatSettings(indexName: string) { - let flatSettings; - - if (versionService.getMajorVersion() === 7) { - // On 7.x, we need to get index settings with mapping type - flatSettings = await esClient.indices.get({ - index: indexName, - flat_settings: true, - // This @ts-ignore is needed on master since the flag is deprecated on >7.x - // @ts-ignore - include_type_name: true, - }); - } else { - flatSettings = await esClient.indices.get({ - index: indexName, - flat_settings: true, - }); - } + const flatSettings = await esClient.indices.get({ + index: indexName, + flat_settings: true, + }); if (!flatSettings[indexName]) { return null; diff --git a/x-pack/plugins/upgrade_assistant/server/lib/reindexing/types.ts b/x-pack/plugins/upgrade_assistant/server/lib/reindexing/types.ts index 8d600849987db..09449413dabc1 100644 --- a/x-pack/plugins/upgrade_assistant/server/lib/reindexing/types.ts +++ b/x-pack/plugins/upgrade_assistant/server/lib/reindexing/types.ts @@ -26,14 +26,3 @@ export interface FlatSettings { _meta?: MetaProperties; }; } - -// Specific to 7.x-8 upgrade -export interface FlatSettingsWithTypeName { - settings: estypes.IndicesIndexState['settings']; - mappings?: { - [typeName: string]: { - properties?: MappingProperties; - _meta?: MetaProperties; - }; - }; -} diff --git a/x-pack/plugins/upgrade_assistant/server/routes/reindex_indices/reindex_indices.test.ts b/x-pack/plugins/upgrade_assistant/server/routes/reindex_indices/reindex_indices.test.ts index bb3ccaeb8b125..b02dd08f841d3 100644 --- a/x-pack/plugins/upgrade_assistant/server/routes/reindex_indices/reindex_indices.test.ts +++ b/x-pack/plugins/upgrade_assistant/server/routes/reindex_indices/reindex_indices.test.ts @@ -94,9 +94,9 @@ describe('reindex API', () => { }); mockReindexService.detectReindexWarnings.mockResolvedValueOnce([ { - warningType: 'customTypeName', + warningType: 'indexSetting', meta: { - typeName: 'my_mapping_type', + settingA: 'deprecated', }, }, ]); @@ -120,9 +120,9 @@ describe('reindex API', () => { expect(data.reindexOp).toEqual({ indexName: 'wowIndex', status: ReindexStatus.inProgress }); expect(data.warnings).toEqual([ { - warningType: 'customTypeName', + warningType: 'indexSetting', meta: { - typeName: 'my_mapping_type', + settingA: 'deprecated', }, }, ]); From 16d45f503a886b13b9fbc04a8cd20bb7e0f14ece Mon Sep 17 00:00:00 2001 From: Sander Philipse <94373878+sphilipse@users.noreply.github.com> Date: Thu, 12 Dec 2024 15:20:09 +0100 Subject: [PATCH 23/52] [Search] Add ML as required plugin to Search Assistant (#204009) ## Summary This adds the `ml` plugin as required to the Search Assistant so that we don't need users to navigate to an ml-based plugin to initiate the knowledge base. --- x-pack/plugins/search_assistant/kibana.jsonc | 1 + x-pack/plugins/serverless_search/kibana.jsonc | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/search_assistant/kibana.jsonc b/x-pack/plugins/search_assistant/kibana.jsonc index d84d928b7a8b7..3c20e59ccc9a6 100644 --- a/x-pack/plugins/search_assistant/kibana.jsonc +++ b/x-pack/plugins/search_assistant/kibana.jsonc @@ -16,6 +16,7 @@ "requiredPlugins": [ "actions", "licensing", + "ml", // necessary for assistant's use of knowledge base in assistant package "observabilityAIAssistant", "triggersActionsUi", "share" diff --git a/x-pack/plugins/serverless_search/kibana.jsonc b/x-pack/plugins/serverless_search/kibana.jsonc index cae0a693846f1..8b1609c5f126c 100644 --- a/x-pack/plugins/serverless_search/kibana.jsonc +++ b/x-pack/plugins/serverless_search/kibana.jsonc @@ -38,6 +38,8 @@ "searchPlayground", "usageCollection" ], - "requiredBundles": ["kibanaReact"] + "requiredBundles": [ + "kibanaReact" + ] } } From 03506185f9acac329fdfec13540c02a3d82c1636 Mon Sep 17 00:00:00 2001 From: Kevin Lacabane Date: Thu, 12 Dec 2024 15:25:20 +0100 Subject: [PATCH 24/52] [eem] _count api (#203605) implements `countEntities` API the query to count a single-source definition is straightforward but gets tricky when sources > 1 because we have to resolve entity ids to avoid counting duplicates. I've reused the entity.id/source eval logic implemented here https://github.com/elastic/elastic-entity-model/issues/202#issuecomment-2500608664 --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../server/lib/v2/entity_client.ts | 82 +++- .../lib/v2/queries/entity_count.test.ts | 327 ++++++++++++++ .../server/lib/v2/queries/entity_count.ts | 136 ++++++ .../lib/v2/queries/entity_instances.test.ts | 91 ++++ .../server/lib/v2/queries/entity_instances.ts | 122 +++++ .../server/lib/v2/queries/index.test.ts | 93 ---- .../server/lib/v2/queries/index.ts | 113 +---- .../server/lib/v2/queries/utils.ts | 8 + .../entity_manager/server/lib/v2/types.ts | 19 + .../server/lib/v2/validate_fields.ts | 15 +- .../entity_manager/server/routes/v2/count.ts | 29 ++ .../entity_manager/server/routes/v2/index.ts | 2 + .../apis/entity_manager/count.ts | 421 ++++++++++++++++++ .../helpers/clear_entity_definitions.ts | 1 + .../entity_manager/helpers/data_generation.ts | 35 ++ .../apis/entity_manager/helpers/request.ts | 18 + .../apis/entity_manager/index.ts | 1 + .../apis/entity_manager/search.ts | 6 +- 18 files changed, 1293 insertions(+), 226 deletions(-) create mode 100644 x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/entity_count.test.ts create mode 100644 x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/entity_count.ts create mode 100644 x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/entity_instances.test.ts create mode 100644 x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/entity_instances.ts delete mode 100644 x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/index.test.ts create mode 100644 x-pack/platform/plugins/shared/entity_manager/server/routes/v2/count.ts create mode 100644 x-pack/test/api_integration/apis/entity_manager/count.ts diff --git a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/entity_client.ts b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/entity_client.ts index 1cc83c0b27560..818a9b9b02df2 100644 --- a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/entity_client.ts +++ b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/entity_client.ts @@ -14,13 +14,19 @@ import { storeSourceDefinition, } from './definitions/source_definition'; import { readTypeDefinitions, storeTypeDefinition } from './definitions/type_definition'; -import { getEntityInstancesQuery } from './queries'; -import { mergeEntitiesList, sortEntitiesList } from './queries/utils'; +import { getEntityInstancesQuery, getEntityCountQuery } from './queries'; +import { + isFulfilledResult, + isRejectedResult, + mergeEntitiesList, + sortEntitiesList, +} from './queries/utils'; import { EntitySourceDefinition, EntityTypeDefinition, SearchByType, SearchBySources, + CountByTypes, } from './types'; import { UnknownEntityType } from './errors/unknown_entity_type'; import { runESQLQuery } from './run_esql_query'; @@ -79,7 +85,7 @@ export class EntityClient { limit, }); this.options.logger.debug( - () => `Entity query: ${query}\nfilter: ${JSON.stringify(filter, null, 2)}` + () => `Entity instances query: ${query}\nfilter: ${JSON.stringify(filter, null, 2)}` ); const rawEntities = await runESQLQuery('resolve entities', { @@ -92,15 +98,10 @@ export class EntityClient { return rawEntities; }); - const results = await Promise.allSettled(searches); - const entities = ( - results.filter((result) => result.status === 'fulfilled') as Array< - PromiseFulfilledResult - > - ).flatMap((result) => result.value); - const errors = ( - results.filter((result) => result.status === 'rejected') as PromiseRejectedResult[] - ).map((result) => result.reason.message); + const { entities, errors } = await Promise.allSettled(searches).then((results) => ({ + entities: results.filter(isFulfilledResult).flatMap((result) => result.value), + errors: results.filter(isRejectedResult).map((result) => result.reason.message as string), + })); if (sources.length === 1) { return { entities, errors }; @@ -118,6 +119,63 @@ export class EntityClient { }; } + async countEntities({ start, end, types = [], filters = [] }: CountByTypes) { + if (types.length === 0) { + types = (await this.readTypeDefinitions()).map((definition) => definition.id); + } + + const counts = await Promise.all( + types.map(async (type) => { + const sources = await this.readSourceDefinitions({ type }); + if (sources.length === 0) { + return { type, value: 0, errors: [] }; + } + + const { sources: validSources, errors } = await Promise.allSettled( + sources.map((source) => + validateFields({ + source, + esClient: this.options.clusterClient.asCurrentUser, + logger: this.options.logger, + }).then(() => source) + ) + ).then((results) => ({ + sources: results.filter(isFulfilledResult).flatMap((result) => result.value), + errors: results.filter(isRejectedResult).map((result) => result.reason.message as string), + })); + + const { query, filter } = getEntityCountQuery({ + sources: validSources, + filters, + start, + end, + }); + this.options.logger.info( + `Entity count query: ${query}\nfilter: ${JSON.stringify(filter, null, 2)}` + ); + + const [{ count }] = await runESQLQuery<{ count: number }>('count entities', { + query, + filter, + esClient: this.options.clusterClient.asCurrentUser, + logger: this.options.logger, + }); + + return { type, value: count, errors }; + }) + ); + + return counts.reduce( + (result, count) => { + result.types[count.type] = count.value; + result.total += count.value; + result.errors.push(...count.errors); + return result; + }, + { total: 0, types: {} as Record, errors: [] as string[] } + ); + } + async storeTypeDefinition(type: EntityTypeDefinition) { return storeTypeDefinition({ type, diff --git a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/entity_count.test.ts b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/entity_count.test.ts new file mode 100644 index 0000000000000..04a391ef0026f --- /dev/null +++ b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/entity_count.test.ts @@ -0,0 +1,327 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { getEntityCountQuery } from './entity_count'; + +describe('getEntityCountQuery', () => { + it('generates a valid esql query for a single source', () => { + const { query, filter } = getEntityCountQuery({ + sources: [ + { + id: 'service_source', + type_id: 'service', + index_patterns: ['logs-*'], + identity_fields: ['service.name'], + metadata_fields: [], + filters: [], + timestamp_field: '@timestamp', + }, + ], + filters: [], + start: '2024-11-20T19:00:00.000Z', + end: '2024-11-20T20:00:00.000Z', + }); + + expect(query).toEqual('FROM logs-* | STATS BY service.name::keyword | STATS count = COUNT()'); + + expect(filter).toEqual({ + bool: { + filter: [ + { + bool: { + should: [ + { + exists: { + field: 'service.name', + }, + }, + ], + minimum_should_match: 1, + }, + }, + { + bool: { + filter: [ + { + bool: { + should: [ + { + range: { + '@timestamp': { + gte: '2024-11-20T19:00:00.000Z', + }, + }, + }, + ], + minimum_should_match: 1, + }, + }, + { + bool: { + should: [ + { + range: { + '@timestamp': { + lte: '2024-11-20T20:00:00.000Z', + }, + }, + }, + ], + minimum_should_match: 1, + }, + }, + ], + }, + }, + { + bool: { + should: [ + { + bool: { + should: [ + { + match_phrase: { + _index: 'logs-**', + }, + }, + ], + minimum_should_match: 1, + }, + }, + { + bool: { + should: [ + { + match_phrase: { + _index: '.ds-logs-**', + }, + }, + ], + minimum_should_match: 1, + }, + }, + ], + minimum_should_match: 1, + }, + }, + ], + }, + }); + }); + + it('generates a valid esql query for multiple sources', () => { + const { query, filter } = getEntityCountQuery({ + sources: [ + { + id: 'service_source_1', + type_id: 'service', + index_patterns: ['metrics-*'], + identity_fields: ['service_name'], + metadata_fields: [], + filters: [], + timestamp_field: 'timestamp_field', + }, + { + id: 'service_source_2', + type_id: 'service', + index_patterns: ['logs-*'], + identity_fields: ['service.name'], + metadata_fields: [], + filters: [], + timestamp_field: '@timestamp', + }, + ], + filters: [], + start: '2024-11-20T19:00:00.000Z', + end: '2024-11-20T20:00:00.000Z', + }); + + expect(query).toEqual( + 'FROM metrics-*, logs-* METADATA _index | ' + + 'EVAL is_source_0 = _index LIKE "metrics-**" OR _index LIKE ".ds-metrics-**" | ' + + 'EVAL is_source_1 = _index LIKE "logs-**" OR _index LIKE ".ds-logs-**" | ' + + 'EVAL entity.id = CASE(is_source_0, service_name::keyword, is_source_1, service.name::keyword) | ' + + 'WHERE entity.id IS NOT NULL | ' + + 'STATS BY entity.id | ' + + 'STATS count = COUNT()' + ); + + expect(filter).toEqual({ + bool: { + should: [ + { + bool: { + filter: [ + { + bool: { + should: [ + { + exists: { + field: 'service_name', + }, + }, + ], + minimum_should_match: 1, + }, + }, + { + bool: { + filter: [ + { + bool: { + should: [ + { + range: { + timestamp_field: { + gte: '2024-11-20T19:00:00.000Z', + }, + }, + }, + ], + minimum_should_match: 1, + }, + }, + { + bool: { + should: [ + { + range: { + timestamp_field: { + lte: '2024-11-20T20:00:00.000Z', + }, + }, + }, + ], + minimum_should_match: 1, + }, + }, + ], + }, + }, + { + bool: { + should: [ + { + bool: { + should: [ + { + match_phrase: { + _index: 'metrics-**', + }, + }, + ], + minimum_should_match: 1, + }, + }, + { + bool: { + should: [ + { + match_phrase: { + _index: '.ds-metrics-**', + }, + }, + ], + minimum_should_match: 1, + }, + }, + ], + minimum_should_match: 1, + }, + }, + ], + }, + }, + { + bool: { + filter: [ + { + bool: { + should: [ + { + exists: { + field: 'service.name', + }, + }, + ], + minimum_should_match: 1, + }, + }, + { + bool: { + filter: [ + { + bool: { + should: [ + { + range: { + '@timestamp': { + gte: '2024-11-20T19:00:00.000Z', + }, + }, + }, + ], + minimum_should_match: 1, + }, + }, + { + bool: { + should: [ + { + range: { + '@timestamp': { + lte: '2024-11-20T20:00:00.000Z', + }, + }, + }, + ], + minimum_should_match: 1, + }, + }, + ], + }, + }, + { + bool: { + should: [ + { + bool: { + should: [ + { + match_phrase: { + _index: 'logs-**', + }, + }, + ], + minimum_should_match: 1, + }, + }, + { + bool: { + should: [ + { + match_phrase: { + _index: '.ds-logs-**', + }, + }, + ], + minimum_should_match: 1, + }, + }, + ], + minimum_should_match: 1, + }, + }, + ], + }, + }, + ], + minimum_should_match: 1, + }, + }); + }); +}); diff --git a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/entity_count.ts b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/entity_count.ts new file mode 100644 index 0000000000000..930ee15be61b8 --- /dev/null +++ b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/entity_count.ts @@ -0,0 +1,136 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { compact, last } from 'lodash'; +import { fromKueryExpression, toElasticsearchQuery } from '@kbn/es-query'; +import { EntitySourceDefinition } from '../types'; +import { asKeyword } from './utils'; + +const fromCommand = ({ sources }: { sources: EntitySourceDefinition[] }) => { + let command = `FROM ${sources.flatMap((source) => source.index_patterns).join(', ')}`; + if (sources.length > 1) { + command += ' METADATA _index'; + } + + return command; +}; + +const dslFilter = ({ + sources, + filters, + start, + end, +}: { + sources: EntitySourceDefinition[]; + filters: string[]; + start: string; + end: string; +}) => { + const sourcesFilters = sources + .map((source) => { + const sourceFilters = [ + ...source.filters, + ...source.identity_fields.map((field) => `${field}: *`), + ]; + + if (source.timestamp_field) { + sourceFilters.push( + `${source.timestamp_field} >= "${start}" AND ${source.timestamp_field} <= "${end}"` + ); + } + + sourceFilters.push( + source.index_patterns + .map((pattern) => `_index: "${pattern}*" OR _index: ".ds-${last(pattern.split(':'))}*"`) + .join(' OR ') + ); + + return '(' + sourceFilters.map((filter) => '(' + filter + ')').join(' AND ') + ')'; + }) + .join(' OR '); + + const additionalFilters = filters.map((filter) => '(' + filter + ')').join(' AND '); + + return toElasticsearchQuery( + fromKueryExpression(compact([`(${sourcesFilters})`, additionalFilters]).join(' AND ')) + ); +}; + +const statsCommand = ({ sources }: { sources: EntitySourceDefinition[] }) => { + const commands = [ + sources.length === 1 + ? `STATS BY ${sources[0].identity_fields.map(asKeyword).join(', ')}` + : `STATS BY entity.id`, + 'STATS count = COUNT()', + ]; + return commands.join(' | '); +}; + +const sourcesEvalCommand = ({ sources }: { sources: EntitySourceDefinition[] }) => { + if (sources.length === 1) { + return; + } + + const evals = sources.map((source, index) => { + const condition = source.index_patterns + .map( + (pattern) => `_index LIKE "${pattern}*" OR _index LIKE ".ds-${last(pattern.split(':'))}*"` + ) + .join(' OR '); + + return `EVAL is_source_${index} = ${condition}`; + }); + + return evals.join(' | '); +}; + +const idEvalCommand = ({ sources }: { sources: EntitySourceDefinition[] }) => { + if (sources.length === 1) { + return; + } + + const conditions = sources.flatMap((source, index) => { + return [ + `is_source_${index}`, + source.identity_fields.length === 1 + ? asKeyword(source.identity_fields[0]) + : `CONCAT(${source.identity_fields.map(asKeyword).join(', ":", ')})`, + ]; + }); + return `EVAL entity.id = CASE(${conditions.join(', ')})`; +}; + +const whereCommand = ({ sources }: { sources: EntitySourceDefinition[] }) => { + if (sources.length === 1) { + return; + } + + return 'WHERE entity.id IS NOT NULL'; +}; + +export function getEntityCountQuery({ + sources, + filters, + start, + end, +}: { + sources: EntitySourceDefinition[]; + filters: string[]; + start: string; + end: string; +}) { + const commands = compact([ + fromCommand({ sources }), + sourcesEvalCommand({ sources }), + idEvalCommand({ sources }), + whereCommand({ sources }), + statsCommand({ sources }), + ]); + + const filter = dslFilter({ sources, filters, start, end }); + return { query: commands.join(' | '), filter }; +} diff --git a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/entity_instances.test.ts b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/entity_instances.test.ts new file mode 100644 index 0000000000000..8836b7635ff36 --- /dev/null +++ b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/entity_instances.test.ts @@ -0,0 +1,91 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { getEntityInstancesQuery } from './entity_instances'; + +describe('getEntityInstancesQuery', () => { + it('generates a valid esql query', () => { + const { query, filter } = getEntityInstancesQuery({ + source: { + id: 'service_source', + type_id: 'service', + index_patterns: ['logs-*', 'metrics-*'], + identity_fields: ['service.name'], + metadata_fields: ['host.name'], + filters: [], + timestamp_field: 'custom_timestamp_field', + display_name: 'service.id', + }, + limit: 5, + start: '2024-11-20T19:00:00.000Z', + end: '2024-11-20T20:00:00.000Z', + sort: { field: 'entity.id', direction: 'DESC' }, + }); + + expect(query).toEqual( + 'FROM logs-*, metrics-* | ' + + 'STATS host.name = VALUES(host.name::keyword), entity.last_seen_timestamp = MAX(custom_timestamp_field), service.id = MAX(service.id::keyword) BY service.name::keyword | ' + + 'RENAME `service.name::keyword` AS service.name | ' + + 'EVAL entity.type = "service", entity.id = service.name, entity.display_name = COALESCE(service.id, entity.id) | ' + + 'SORT entity.id DESC | ' + + 'LIMIT 5' + ); + + expect(filter).toEqual({ + bool: { + filter: [ + { + bool: { + should: [ + { + exists: { + field: 'service.name', + }, + }, + ], + minimum_should_match: 1, + }, + }, + { + bool: { + filter: [ + { + bool: { + should: [ + { + range: { + custom_timestamp_field: { + gte: '2024-11-20T19:00:00.000Z', + }, + }, + }, + ], + minimum_should_match: 1, + }, + }, + { + bool: { + should: [ + { + range: { + custom_timestamp_field: { + lte: '2024-11-20T20:00:00.000Z', + }, + }, + }, + ], + minimum_should_match: 1, + }, + }, + ], + }, + }, + ], + }, + }); + }); +}); diff --git a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/entity_instances.ts b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/entity_instances.ts new file mode 100644 index 0000000000000..c9a5948b55dc1 --- /dev/null +++ b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/entity_instances.ts @@ -0,0 +1,122 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { fromKueryExpression, toElasticsearchQuery } from '@kbn/es-query'; +import { asKeyword } from './utils'; +import { EntitySourceDefinition, SortBy } from '../types'; + +const fromCommand = ({ source }: { source: EntitySourceDefinition }) => { + let query = `FROM ${source.index_patterns.join(', ')}`; + + const esMetadataFields = source.metadata_fields.filter((field) => + ['_index', '_id'].includes(field) + ); + if (esMetadataFields.length) { + query += ` METADATA ${esMetadataFields.join(', ')}`; + } + + return query; +}; + +const dslFilter = ({ + source, + start, + end, +}: { + source: EntitySourceDefinition; + start: string; + end: string; +}) => { + const filters = [...source.filters, ...source.identity_fields.map((field) => `${field}: *`)]; + + if (source.timestamp_field) { + filters.push( + `${source.timestamp_field} >= "${start}" AND ${source.timestamp_field} <= "${end}"` + ); + } + + const kuery = filters.map((filter) => '(' + filter + ')').join(' AND '); + return toElasticsearchQuery(fromKueryExpression(kuery)); +}; + +const statsCommand = ({ source }: { source: EntitySourceDefinition }) => { + const aggs = source.metadata_fields + .filter((field) => !source.identity_fields.some((idField) => idField === field)) + .map((field) => `${field} = VALUES(${asKeyword(field)})`); + + if (source.timestamp_field) { + aggs.push(`entity.last_seen_timestamp = MAX(${source.timestamp_field})`); + } + + if (source.display_name) { + // ideally we want the latest value but there's no command yet + // so we use MAX for now + aggs.push(`${source.display_name} = MAX(${asKeyword(source.display_name)})`); + } + + return `STATS ${aggs.join(', ')} BY ${source.identity_fields.map(asKeyword).join(', ')}`; +}; + +const renameCommand = ({ source }: { source: EntitySourceDefinition }) => { + const operations = source.identity_fields.map((field) => `\`${asKeyword(field)}\` AS ${field}`); + return `RENAME ${operations.join(', ')}`; +}; + +const evalCommand = ({ source }: { source: EntitySourceDefinition }) => { + const id = + source.identity_fields.length === 1 + ? source.identity_fields[0] + : `CONCAT(${source.identity_fields.join(', ":", ')})`; + + const displayName = source.display_name + ? `COALESCE(${source.display_name}, entity.id)` + : 'entity.id'; + + return `EVAL ${[ + `entity.type = "${source.type_id}"`, + `entity.id = ${id}`, + `entity.display_name = ${displayName}`, + ].join(', ')}`; +}; + +const sortCommand = ({ source, sort }: { source: EntitySourceDefinition; sort?: SortBy }) => { + if (sort) { + return `SORT ${sort.field} ${sort.direction}`; + } + + if (source.timestamp_field) { + return `SORT entity.last_seen_timestamp DESC`; + } + + return `SORT entity.id ASC`; +}; + +export function getEntityInstancesQuery({ + source, + limit, + start, + end, + sort, +}: { + source: EntitySourceDefinition; + limit: number; + start: string; + end: string; + sort?: SortBy; +}) { + const commands = [ + fromCommand({ source }), + statsCommand({ source }), + renameCommand({ source }), + evalCommand({ source }), + sortCommand({ source, sort }), + `LIMIT ${limit}`, + ]; + const filter = dslFilter({ source, start, end }); + + return { query: commands.join(' | '), filter }; +} diff --git a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/index.test.ts b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/index.test.ts deleted file mode 100644 index 3ec87b220f84c..0000000000000 --- a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/index.test.ts +++ /dev/null @@ -1,93 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { getEntityInstancesQuery } from '.'; - -describe('getEntityInstancesQuery', () => { - describe('getEntityInstancesQuery', () => { - it('generates a valid esql query', () => { - const { query, filter } = getEntityInstancesQuery({ - source: { - id: 'service_source', - type_id: 'service', - index_patterns: ['logs-*', 'metrics-*'], - identity_fields: ['service.name'], - metadata_fields: ['host.name'], - filters: [], - timestamp_field: 'custom_timestamp_field', - display_name: 'service.id', - }, - limit: 5, - start: '2024-11-20T19:00:00.000Z', - end: '2024-11-20T20:00:00.000Z', - sort: { field: 'entity.id', direction: 'DESC' }, - }); - - expect(query).toEqual( - 'FROM logs-*, metrics-* | ' + - 'STATS host.name = TOP(host.name::keyword, 10, "asc"), entity.last_seen_timestamp = MAX(custom_timestamp_field), service.id = MAX(service.id::keyword) BY service.name::keyword | ' + - 'RENAME `service.name::keyword` AS service.name | ' + - 'EVAL entity.type = "service", entity.id = service.name, entity.display_name = COALESCE(service.id, entity.id) | ' + - 'SORT entity.id DESC | ' + - 'LIMIT 5' - ); - - expect(filter).toEqual({ - bool: { - filter: [ - { - bool: { - should: [ - { - exists: { - field: 'service.name', - }, - }, - ], - minimum_should_match: 1, - }, - }, - { - bool: { - filter: [ - { - bool: { - should: [ - { - range: { - custom_timestamp_field: { - gte: '2024-11-20T19:00:00.000Z', - }, - }, - }, - ], - minimum_should_match: 1, - }, - }, - { - bool: { - should: [ - { - range: { - custom_timestamp_field: { - lte: '2024-11-20T20:00:00.000Z', - }, - }, - }, - ], - minimum_should_match: 1, - }, - }, - ], - }, - }, - ], - }, - }); - }); - }); -}); diff --git a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/index.ts b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/index.ts index 8814b907f7d38..21e7d16be3442 100644 --- a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/index.ts +++ b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/index.ts @@ -5,114 +5,5 @@ * 2.0. */ -import { fromKueryExpression, toElasticsearchQuery } from '@kbn/es-query'; -import { asKeyword, defaultSort } from './utils'; -import { EntitySourceDefinition, SortBy } from '../types'; - -const sourceCommand = ({ source }: { source: EntitySourceDefinition }) => { - let query = `FROM ${source.index_patterns.join(', ')}`; - - const esMetadataFields = source.metadata_fields.filter((field) => - ['_index', '_id'].includes(field) - ); - if (esMetadataFields.length) { - query += ` METADATA ${esMetadataFields.join(', ')}`; - } - - return query; -}; - -const dslFilter = ({ - source, - start, - end, -}: { - source: EntitySourceDefinition; - start: string; - end: string; -}) => { - const filters = [...source.filters, ...source.identity_fields.map((field) => `${field}: *`)]; - - if (source.timestamp_field) { - filters.push( - `${source.timestamp_field} >= "${start}" AND ${source.timestamp_field} <= "${end}"` - ); - } - - const kuery = filters.map((filter) => '(' + filter + ')').join(' AND '); - return toElasticsearchQuery(fromKueryExpression(kuery)); -}; - -const statsCommand = ({ source }: { source: EntitySourceDefinition }) => { - const aggs = source.metadata_fields - .filter((field) => !source.identity_fields.some((idField) => idField === field)) - .map((field) => `${field} = TOP(${asKeyword(field)}, 10, "asc")`); - - if (source.timestamp_field) { - aggs.push(`entity.last_seen_timestamp = MAX(${source.timestamp_field})`); - } - - if (source.display_name) { - // ideally we want the latest value but there's no command yet - // so we use MAX for now - aggs.push(`${source.display_name} = MAX(${asKeyword(source.display_name)})`); - } - - return `STATS ${aggs.join(', ')} BY ${source.identity_fields.map(asKeyword).join(', ')}`; -}; - -const renameCommand = ({ source }: { source: EntitySourceDefinition }) => { - const operations = source.identity_fields.map((field) => `\`${asKeyword(field)}\` AS ${field}`); - return `RENAME ${operations.join(', ')}`; -}; - -const evalCommand = ({ source }: { source: EntitySourceDefinition }) => { - const id = - source.identity_fields.length === 1 - ? source.identity_fields[0] - : `CONCAT(${source.identity_fields.join(', ":", ')})`; - - const displayName = source.display_name - ? `COALESCE(${source.display_name}, entity.id)` - : 'entity.id'; - - return `EVAL ${[ - `entity.type = "${source.type_id}"`, - `entity.id = ${id}`, - `entity.display_name = ${displayName}`, - ].join(', ')}`; -}; - -const sortCommand = ({ source, sort }: { source: EntitySourceDefinition; sort?: SortBy }) => { - if (!sort) { - sort = defaultSort([source]); - } - - return `SORT ${sort.field} ${sort.direction}`; -}; - -export function getEntityInstancesQuery({ - source, - limit, - start, - end, - sort, -}: { - source: EntitySourceDefinition; - limit: number; - start: string; - end: string; - sort?: SortBy; -}) { - const commands = [ - sourceCommand({ source }), - statsCommand({ source }), - renameCommand({ source }), - evalCommand({ source }), - sortCommand({ source, sort }), - `LIMIT ${limit}`, - ]; - const filter = dslFilter({ source, start, end }); - - return { query: commands.join(' | '), filter }; -} +export { getEntityInstancesQuery } from './entity_instances'; +export { getEntityCountQuery } from './entity_count'; diff --git a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/utils.ts b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/utils.ts index c08d5adb3ce4d..71bf85632a447 100644 --- a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/utils.ts +++ b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/queries/utils.ts @@ -110,3 +110,11 @@ export function defaultSort(sources: EntitySourceDefinition[]): SortBy { return { field: 'entity.id', direction: 'ASC' }; } + +export const isRejectedResult = ( + input: PromiseSettledResult +): input is PromiseRejectedResult => input.status === 'rejected'; + +export const isFulfilledResult = ( + input: PromiseSettledResult +): input is PromiseFulfilledResult => input.status === 'fulfilled'; diff --git a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/types.ts b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/types.ts index f3db5840e7a6a..9515a60d7eec2 100644 --- a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/types.ts +++ b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/types.ts @@ -102,3 +102,22 @@ export const searchBySourcesRt = z.intersection( ); export type SearchBySources = z.output; + +export const countByTypesRt = z.object({ + types: z.optional(z.array(z.string())), + filters: z.optional(z.array(z.string())), + start: z + .optional(z.string()) + .default(() => moment().subtract(5, 'minutes').toISOString()) + .refine((val) => moment(val).isValid(), { + message: '[start] should be a date in ISO format', + }), + end: z + .optional(z.string()) + .default(() => moment().toISOString()) + .refine((val) => moment(val).isValid(), { + message: '[end] should be a date in ISO format', + }), +}); + +export type CountByTypes = z.output; diff --git a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/validate_fields.ts b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/validate_fields.ts index f24cee745ffd7..ef5ae1bf783ac 100644 --- a/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/validate_fields.ts +++ b/x-pack/platform/plugins/shared/entity_manager/server/lib/v2/validate_fields.ts @@ -21,13 +21,13 @@ import { EntitySourceDefinition } from './types'; export async function validateFields({ esClient, source, - metadataFields, logger, + metadataFields = [], }: { esClient: ElasticsearchClient; source: EntitySourceDefinition; - metadataFields: string[]; logger: Logger; + metadataFields?: string[]; }) { const mandatoryFields = [ ...source.identity_fields, @@ -44,8 +44,8 @@ export async function validateFields({ .catch((err) => { if (err.meta?.statusCode === 404) { throw new Error( - `No index found for source [${ - source.id + `No index found for source [source: ${source.id}, type: ${ + source.type_id }] with index patterns [${source.index_patterns.join(', ')}]` ); } @@ -54,12 +54,11 @@ export async function validateFields({ const sourceHasMandatoryFields = mandatoryFields.every((field) => !!fields[field]); if (!sourceHasMandatoryFields) { - // TODO filters should likely behave similarly const missingFields = mandatoryFields.filter((field) => !fields[field]); throw new Error( - `Mandatory fields [${missingFields.join(', ')}] are not mapped for source [${ + `Mandatory fields [${missingFields.join(', ')}] are not mapped for source [source: ${ source.id - }] with index patterns [${source.index_patterns.join(', ')}]` + }, type: ${source.type_id}] with index patterns [${source.index_patterns.join(', ')}]` ); } @@ -69,7 +68,7 @@ export async function validateFields({ logger.info( `Ignoring unmapped metadata fields [${without(metaFields, ...availableMetadataFields).join( ', ' - )}] for source [${source.id}]` + )}] for source [source: ${source.id}, type: ${source.type_id}]` ); } return availableMetadataFields; diff --git a/x-pack/platform/plugins/shared/entity_manager/server/routes/v2/count.ts b/x-pack/platform/plugins/shared/entity_manager/server/routes/v2/count.ts new file mode 100644 index 0000000000000..46ae3da330f25 --- /dev/null +++ b/x-pack/platform/plugins/shared/entity_manager/server/routes/v2/count.ts @@ -0,0 +1,29 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { z } from '@kbn/zod'; +import { createEntityManagerServerRoute } from '../create_entity_manager_server_route'; +import { READ_ENTITIES_PRIVILEGE } from '../../lib/v2/constants'; +import { countByTypesRt } from '../../lib/v2/types'; + +export const countEntitiesRoute = createEntityManagerServerRoute({ + endpoint: 'POST /internal/entities/v2/_count', + security: { + authz: { + requiredPrivileges: [READ_ENTITIES_PRIVILEGE], + }, + }, + params: z.object({ + body: countByTypesRt, + }), + handler: async ({ request, response, params, getScopedClient }) => { + const client = await getScopedClient({ request }); + const result = await client.v2.countEntities(params.body); + + return response.ok({ body: result }); + }, +}); diff --git a/x-pack/platform/plugins/shared/entity_manager/server/routes/v2/index.ts b/x-pack/platform/plugins/shared/entity_manager/server/routes/v2/index.ts index c601ebe988a29..009393d44b634 100644 --- a/x-pack/platform/plugins/shared/entity_manager/server/routes/v2/index.ts +++ b/x-pack/platform/plugins/shared/entity_manager/server/routes/v2/index.ts @@ -8,9 +8,11 @@ import { searchRoutes } from './search'; import { typeDefinitionRoutes } from './type_definition_routes'; import { sourceDefinitionRoutes } from './source_definition_routes'; +import { countEntitiesRoute } from './count'; export const v2Routes = { ...searchRoutes, ...typeDefinitionRoutes, ...sourceDefinitionRoutes, + ...countEntitiesRoute, }; diff --git a/x-pack/test/api_integration/apis/entity_manager/count.ts b/x-pack/test/api_integration/apis/entity_manager/count.ts new file mode 100644 index 0000000000000..a191536339163 --- /dev/null +++ b/x-pack/test/api_integration/apis/entity_manager/count.ts @@ -0,0 +1,421 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import moment from 'moment'; +import expect from 'expect'; +import { FtrProviderContext } from '../../ftr_provider_context'; +import { + createEntityTypeDefinition, + createEntitySourceDefinition, + countEntities, +} from './helpers/request'; +import { createIndexWithDocuments, createIndexWithEntities } from './helpers/data_generation'; +import { clearEntityDefinitions } from './helpers/clear_entity_definitions'; + +export default function ({ getService }: FtrProviderContext) { + const esClient = getService('es'); + const supertest = getService('supertest'); + + describe('_count API', () => { + let cleanup: Function[] = []; + + before(() => clearEntityDefinitions(esClient)); + + afterEach(async () => { + await Promise.all([clearEntityDefinitions(esClient), ...cleanup.map((fn) => fn())]); + cleanup = []; + }); + + it('returns correct count for single source definition', async () => { + const source = { + id: 'source-1-with-services', + type_id: '20-services', + index_patterns: ['index-1-with-services'], + identity_fields: ['service.name'], + metadata_fields: [], + filters: [], + timestamp_field: 'custom_timestamp', + }; + await createEntityTypeDefinition(supertest, { + type: { id: '20-services', display_name: '20-services' }, + }); + await createEntitySourceDefinition(supertest, { source }); + + cleanup.push( + await createIndexWithEntities(esClient, { + index: 'index-1-with-services', + count: 20, + source, + }) + ); + + const result = await countEntities(supertest, {}, 200); + + expect(result).toEqual({ total: 20, types: { '20-services': 20 }, errors: [] }); + }); + + it('aggregates total count across types', async () => { + const sourceType1 = { + id: 'source-1-with-20-chumbles', + type_id: 'chumble', + index_patterns: ['index-1-with-chumbles'], + identity_fields: ['service.name'], + metadata_fields: [], + filters: [], + timestamp_field: 'custom_timestamp', + }; + await createEntityTypeDefinition(supertest, { + type: { id: 'chumble', display_name: 'chumble' }, + }); + await createEntitySourceDefinition(supertest, { source: sourceType1 }); + + const sourceType2 = { + id: 'source-1-with-15-shleems', + type_id: 'shleem', + index_patterns: ['index-1-with-shleems'], + identity_fields: ['service.name'], + metadata_fields: [], + filters: [], + timestamp_field: '@timestamp', + }; + await createEntityTypeDefinition(supertest, { + type: { id: 'shleem', display_name: 'shleem' }, + }); + await createEntitySourceDefinition(supertest, { source: sourceType2 }); + + const sourceType3 = { + id: 'source-1-with-25-shmuckles', + type_id: 'shmuckle', + index_patterns: ['index-1-with-shmuckles'], + identity_fields: ['service.name'], + metadata_fields: [], + filters: [], + timestamp_field: '@timestamp', + }; + await createEntityTypeDefinition(supertest, { + type: { id: 'shmuckle', display_name: 'shmuckle' }, + }); + await createEntitySourceDefinition(supertest, { source: sourceType3 }); + + cleanup = await Promise.all([ + createIndexWithEntities(esClient, { + index: 'index-1-with-chumbles', + count: 20, + source: sourceType1, + }), + createIndexWithEntities(esClient, { + index: 'index-1-with-shleems', + count: 15, + source: sourceType2, + }), + createIndexWithEntities(esClient, { + index: 'index-1-with-shmuckles', + count: 25, + source: sourceType3, + }), + ]); + + // counts all existing types + let result = await countEntities(supertest, {}, 200); + + expect(result).toEqual({ + total: 60, + types: { + shleem: 15, + chumble: 20, + shmuckle: 25, + }, + errors: [], + }); + + // only counts requested types + result = await countEntities(supertest, { types: ['shleem', 'shmuckle'] }, 200); + + expect(result).toEqual({ + total: 40, + types: { + shleem: 15, + shmuckle: 25, + }, + errors: [], + }); + }); + + it('aggregates type count across sources', async () => { + await createEntityTypeDefinition(supertest, { type: { id: 'fleeb', display_name: 'fleeb' } }); + await Promise.all([ + createEntitySourceDefinition(supertest, { + source: { + id: 'source-1-with-5-fleebs', + type_id: 'fleeb', + index_patterns: ['index-1-with-fleebs'], + identity_fields: ['service.name'], + metadata_fields: [], + filters: [], + timestamp_field: '@timestamp', + }, + }), + createEntitySourceDefinition(supertest, { + source: { + id: 'source-2-with-5-fleebs', + type_id: 'fleeb', + index_patterns: ['index-2-with-fleebs'], + identity_fields: ['servicename_field'], + metadata_fields: [], + filters: [], + timestamp_field: 'custom_timestamp', + }, + }), + ]); + + cleanup = await Promise.all([ + createIndexWithDocuments(esClient, { + index: 'index-1-with-fleebs', + properties: { + '@timestamp': { type: 'date' }, + 'service.name': { type: 'keyword' }, + }, + documents: [ + { '@timestamp': moment().toISOString(), 'service.name': 'service-one' }, + { '@timestamp': moment().toISOString(), 'service.name': 'service-two' }, + { '@timestamp': moment().toISOString(), 'service.name': 'service-three' }, + { '@timestamp': moment().toISOString(), 'service.name': 'service-four' }, + { '@timestamp': moment().toISOString(), 'service.name': 'service-five' }, + ], + }), + createIndexWithDocuments(esClient, { + index: 'index-2-with-fleebs', + properties: { + custom_timestamp: { type: 'date' }, + servicename_field: { type: 'keyword' }, + }, + documents: [ + { custom_timestamp: moment().toISOString(), servicename_field: 'service-three' }, + { custom_timestamp: moment().toISOString(), servicename_field: 'service-four' }, + { custom_timestamp: moment().toISOString(), servicename_field: 'service-five' }, + { custom_timestamp: moment().toISOString(), servicename_field: 'service-six' }, + { custom_timestamp: moment().toISOString(), servicename_field: 'service-seven' }, + ], + }), + ]); + + const result = await countEntities(supertest, { types: ['fleeb'] }, 200); + + expect(result).toEqual({ total: 7, types: { fleeb: 7 }, errors: [] }); + }); + + it('respects start and end parameters', async () => { + const now = moment(); + + await createEntityTypeDefinition(supertest, { + type: { id: 'grumbo', display_name: 'grumbo' }, + }); + await createEntitySourceDefinition(supertest, { + source: { + id: 'source-1-with-grumbos', + type_id: 'grumbo', + index_patterns: ['index-1-with-grumbos'], + identity_fields: ['service.name'], + metadata_fields: [], + filters: [], + timestamp_field: '@timestamp', + }, + }); + + cleanup.push( + await createIndexWithDocuments(esClient, { + index: 'index-1-with-grumbos', + properties: { + '@timestamp': { type: 'date' }, + 'service.name': { type: 'keyword' }, + }, + documents: [ + { '@timestamp': moment(now).toISOString(), 'service.name': 'service-one' }, + { + '@timestamp': moment(now).subtract(10, 'minute').toISOString(), + 'service.name': 'service-two', + }, + { + '@timestamp': moment(now).subtract(20, 'minute').toISOString(), + 'service.name': 'service-three', + }, + { + '@timestamp': moment(now).subtract(30, 'minute').toISOString(), + 'service.name': 'service-four', + }, + { + '@timestamp': moment(now).subtract(30, 'minute').toISOString(), + 'service.name': 'service-five', + }, + ], + }) + ); + + const result = await countEntities( + supertest, + { + start: moment(now).subtract(25, 'minute').toISOString(), + end: now.toISOString(), + }, + 200 + ); + + expect(result).toEqual({ total: 3, types: { grumbo: 3 }, errors: [] }); + }); + + it('respects filters parameters', async () => { + const sourceType1 = { + id: 'source-1-with-chumbles', + type_id: 'chumble', + index_patterns: ['index-1-with-chumbles'], + identity_fields: ['service.name'], + metadata_fields: [], + filters: [], + }; + await createEntityTypeDefinition(supertest, { + type: { id: 'chumble', display_name: 'chumble' }, + }); + await createEntitySourceDefinition(supertest, { source: sourceType1 }); + + const sourceType2 = { + id: 'source-1-with-shleems', + type_id: 'shleem', + index_patterns: ['index-1-with-shleems'], + identity_fields: ['service.name'], + metadata_fields: [], + filters: [], + }; + await createEntityTypeDefinition(supertest, { + type: { id: 'shleem', display_name: 'shleem' }, + }); + await createEntitySourceDefinition(supertest, { source: sourceType2 }); + + const sourceType3 = { + id: 'source-1-with-shmuckles', + type_id: 'shmuckle', + index_patterns: ['index-1-with-shmuckles'], + identity_fields: ['service.name'], + metadata_fields: [], + filters: [], + }; + await createEntityTypeDefinition(supertest, { + type: { id: 'shmuckle', display_name: 'shmuckle' }, + }); + await createEntitySourceDefinition(supertest, { source: sourceType3 }); + + cleanup = await Promise.all([ + createIndexWithDocuments(esClient, { + index: 'index-1-with-chumbles', + properties: { + 'service.name': { type: 'keyword' }, + 'service.environment': { type: 'keyword' }, + }, + documents: [ + { 'service.name': 'service-one', 'service.environment': 'prod' }, + { 'service.name': 'service-one' }, + ], + }), + createIndexWithDocuments(esClient, { + index: 'index-1-with-shleems', + properties: { + 'service.name': { type: 'keyword' }, + 'service.environment': { type: 'keyword' }, + }, + documents: [ + { 'service.name': 'service-two', 'service.environment': 'staging' }, + { 'service.name': 'service-three', 'service.environment': 'prod' }, + { 'service.name': 'service-three', 'service.environment': 'dev' }, + ], + }), + createIndexWithDocuments(esClient, { + index: 'index-1-with-shmuckles', + properties: { + 'service.name': { type: 'keyword' }, + }, + documents: [ + { 'service.name': 'service-two' }, + { 'service.name': 'service-three' }, + { 'service.name': 'service-three' }, + ], + }), + ]); + + const result = await countEntities( + supertest, + { filters: ['service.environment: prod'] }, + 200 + ); + + expect(result).toEqual({ + total: 2, + types: { + chumble: 1, + shleem: 1, + shmuckle: 0, + }, + errors: [], + }); + }); + + it('is resilient to invalid sources', async () => { + await createEntityTypeDefinition(supertest, { + type: { id: 'chumble', display_name: 'chumble' }, + }); + await Promise.all([ + createEntitySourceDefinition(supertest, { + source: { + id: 'source-with-chumbles', + type_id: 'chumble', + index_patterns: ['index-1-with-chumbles'], + identity_fields: ['service.name'], + metadata_fields: [], + filters: [], + }, + }), + createEntitySourceDefinition(supertest, { + source: { + id: 'invalid-source-with-chumbles', + type_id: 'chumble', + index_patterns: ['index-2-with-chumbles'], + identity_fields: ['service.name'], + metadata_fields: [], + filters: [], + }, + }), + ]); + + cleanup = await Promise.all([ + createIndexWithDocuments(esClient, { + index: 'index-1-with-chumbles', + properties: { + 'service.name': { type: 'keyword' }, + }, + documents: [{ 'service.name': 'service-one' }], + }), + createIndexWithDocuments(esClient, { + index: 'index-2-with-chumbles', + properties: { + 'service.environment': { type: 'keyword' }, + }, + documents: [{ 'service.name': 'service-two' }], + }), + ]); + + const result = await countEntities(supertest, {}, 200); + + expect(result).toEqual({ + total: 1, + types: { + chumble: 1, + }, + errors: [ + 'Mandatory fields [service.name] are not mapped for source [source: invalid-source-with-chumbles, type: chumble] with index patterns [index-2-with-chumbles]', + ], + }); + }); + }); +} diff --git a/x-pack/test/api_integration/apis/entity_manager/helpers/clear_entity_definitions.ts b/x-pack/test/api_integration/apis/entity_manager/helpers/clear_entity_definitions.ts index 796761011e7ac..5306e2b6d932a 100644 --- a/x-pack/test/api_integration/apis/entity_manager/helpers/clear_entity_definitions.ts +++ b/x-pack/test/api_integration/apis/entity_manager/helpers/clear_entity_definitions.ts @@ -14,5 +14,6 @@ export async function clearEntityDefinitions(esClient: ElasticsearchClient) { query: { match_all: {}, }, + refresh: true, }); } diff --git a/x-pack/test/api_integration/apis/entity_manager/helpers/data_generation.ts b/x-pack/test/api_integration/apis/entity_manager/helpers/data_generation.ts index 3af84e894b7ff..2f784e6a75533 100644 --- a/x-pack/test/api_integration/apis/entity_manager/helpers/data_generation.ts +++ b/x-pack/test/api_integration/apis/entity_manager/helpers/data_generation.ts @@ -5,8 +5,11 @@ * 2.0. */ +import moment from 'moment'; +import { v4 as uuidv4 } from 'uuid'; import { Client } from '@elastic/elasticsearch'; import { MappingProperty, PropertyName } from '@elastic/elasticsearch/lib/api/types'; +import { EntitySourceDefinition } from '@kbn/entityManager-plugin/server/lib/v2/types'; export async function createIndexWithDocuments( client: Client, @@ -35,3 +38,35 @@ export async function createIndexWithDocuments( return () => client.indices.delete({ index: options.index }); } + +export async function createIndexWithEntities( + client: Client, + options: { + index: string; + source: EntitySourceDefinition; + count: number; + } +) { + const { source, index, count } = options; + const documents = new Array(count).fill(null).map(() => { + return { + ...(source.timestamp_field ? { [source.timestamp_field]: moment().toISOString() } : {}), + ...source.identity_fields.concat(source.metadata_fields).reduce((fields, field) => { + fields[field] = uuidv4(); + return fields; + }, {} as Record), + }; + }); + + return createIndexWithDocuments(client, { + index, + documents, + properties: { + ...(source.timestamp_field ? { [source.timestamp_field]: { type: 'date' } } : {}), + ...source.identity_fields.concat(source.metadata_fields).reduce((fields, field) => { + fields[field] = { type: 'keyword' }; + return fields; + }, {} as Record), + }, + }); +} diff --git a/x-pack/test/api_integration/apis/entity_manager/helpers/request.ts b/x-pack/test/api_integration/apis/entity_manager/helpers/request.ts index 4c09ecb664ab3..3ef606320cb08 100644 --- a/x-pack/test/api_integration/apis/entity_manager/helpers/request.ts +++ b/x-pack/test/api_integration/apis/entity_manager/helpers/request.ts @@ -138,3 +138,21 @@ export const searchEntities = async ( .expect(expectedCode ?? 200); return response.body; }; + +export const countEntities = async ( + supertest: Agent, + params: { + types?: string[]; + filters?: string[]; + start?: string; + end?: string; + }, + expectedCode?: number +) => { + const response = await supertest + .post('/internal/entities/v2/_count') + .set('kbn-xsrf', 'xxx') + .send(params) + .expect(expectedCode ?? 200); + return response.body; +}; diff --git a/x-pack/test/api_integration/apis/entity_manager/index.ts b/x-pack/test/api_integration/apis/entity_manager/index.ts index 9b3ecfa550c0d..960eedb25df5f 100644 --- a/x-pack/test/api_integration/apis/entity_manager/index.ts +++ b/x-pack/test/api_integration/apis/entity_manager/index.ts @@ -13,6 +13,7 @@ export default function ({ loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('./builtin_definitions')); loadTestFile(require.resolve('./definitions')); + loadTestFile(require.resolve('./count')); loadTestFile(require.resolve('./search')); }); } diff --git a/x-pack/test/api_integration/apis/entity_manager/search.ts b/x-pack/test/api_integration/apis/entity_manager/search.ts index 778682ff9008d..a20364c7256e4 100644 --- a/x-pack/test/api_integration/apis/entity_manager/search.ts +++ b/x-pack/test/api_integration/apis/entity_manager/search.ts @@ -23,6 +23,8 @@ export default function ({ getService }: FtrProviderContext) { describe('_search API', () => { let cleanup: Function[] = []; + before(() => clearEntityDefinitions(esClient)); + afterEach(async () => { await Promise.all([clearEntityDefinitions(esClient), ...cleanup.map((fn) => fn())]); cleanup = []; @@ -767,7 +769,7 @@ export default function ({ getService }: FtrProviderContext) { type: 'type-with-non-existing-index', }); expect(errors).toEqual([ - 'No index found for source [non-existing-index] with index patterns [non-existing-index-pattern*, non-existing-index]', + 'No index found for source [source: non-existing-index, type: type-with-non-existing-index] with index patterns [non-existing-index-pattern*, non-existing-index]', ]); expect(entities).toEqual([]); }); @@ -806,7 +808,7 @@ export default function ({ getService }: FtrProviderContext) { type: 'type-with-unmapped-id-fields', }); expect(errors).toEqual([ - 'Mandatory fields [service.name, @timestamp] are not mapped for source [unmapped-fields] with index patterns [unmapped-id-fields]', + 'Mandatory fields [service.name, @timestamp] are not mapped for source [source: unmapped-fields, type: type-with-unmapped-id-fields] with index patterns [unmapped-id-fields]', ]); expect(entities).toEqual([]); }); From b74b93593cecec34e2745c30811c6929bf8a72c7 Mon Sep 17 00:00:00 2001 From: Dominique Clarke Date: Thu, 12 Dec 2024 09:41:03 -0500 Subject: [PATCH 25/52] [Synthetics] migrate first set of tests (#198950) ## Summary Relates to #196229 Migrates Synthetics tests to deployment agnostic --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Shahzad --- .github/CODEOWNERS | 3 + .../synthetics/README.md | 24 + .../synthetics_service/synthetics_service.ts | 7 +- .../synthetics/create_monitor.ts | 304 +++ .../create_monitor_private_location.ts | 560 +++++ .../synthetics/create_monitor_project.ts | 2194 +++++++++++++++++ ...create_monitor_project_private_location.ts | 162 ++ .../synthetics/create_monitor_public_api.ts | 280 +++ .../synthetics/create_update_params.ts | 385 +++ .../synthetics/delete_monitor.ts | 164 ++ .../synthetics/delete_monitor_project.ts | 521 ++++ .../observability/synthetics/edit_monitor.ts | 370 +++ .../synthetics/edit_monitor_public_api.ts | 301 +++ .../synthetics/enable_default_alerting.ts | 330 +++ .../synthetics/fixtures/browser_monitor.json | 60 + .../synthetics/fixtures/http_monitor.json | 83 + .../synthetics/fixtures/icmp_monitor.json | 35 + .../fixtures/inspect_browser_monitor.json | 85 + .../fixtures/project_browser_monitor.json | 30 + .../fixtures/project_http_monitor.json | 86 + .../fixtures/project_icmp_monitor.json | 47 + .../fixtures/project_tcp_monitor.json | 44 + .../synthetics/fixtures/tcp_monitor.json | 43 + .../observability/synthetics/get_filters.ts | 87 + .../observability/synthetics/get_monitor.ts | 353 +++ .../synthetics/get_monitor_project.ts | 741 ++++++ .../synthetics/helpers/get_fixture_json.ts | 21 + .../synthetics/helpers/monitor.ts | 21 + .../apis/observability/synthetics/index.ts | 32 + .../synthetics/inspect_monitor.ts | 246 ++ .../synthetics/sample_data/test_policy.ts | 575 +++++ .../test_project_monitor_policy.ts | 803 ++++++ .../observability/synthetics/suggestions.ts | 276 +++ .../synthetics/sync_global_params.ts | 354 +++ .../synthetics/synthetics_enablement.ts | 352 +++ .../synthetics/test_now_monitor.ts | 98 + .../configs/serverless/oblt.index.ts | 1 + .../configs/stateful/oblt.index.ts | 1 + .../default_configs/serverless.config.base.ts | 5 + .../default_configs/stateful.config.base.ts | 4 + .../services/synthetics_monitor.ts | 240 ++ .../services/synthetics_private_location.ts | 94 + 42 files changed, 10419 insertions(+), 3 deletions(-) create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/create_monitor.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/create_monitor_private_location.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/create_monitor_project.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/create_monitor_project_private_location.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/create_monitor_public_api.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/create_update_params.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/delete_monitor.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/delete_monitor_project.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/edit_monitor.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/edit_monitor_public_api.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/enable_default_alerting.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/browser_monitor.json create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/http_monitor.json create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/icmp_monitor.json create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/inspect_browser_monitor.json create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/project_browser_monitor.json create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/project_http_monitor.json create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/project_icmp_monitor.json create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/project_tcp_monitor.json create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/tcp_monitor.json create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/get_filters.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/get_monitor.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/get_monitor_project.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/helpers/get_fixture_json.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/helpers/monitor.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/index.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/inspect_monitor.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/sample_data/test_policy.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/sample_data/test_project_monitor_policy.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/suggestions.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/sync_global_params.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/synthetics_enablement.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/test_now_monitor.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/services/synthetics_monitor.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/services/synthetics_private_location.ts diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index d1f134b0c0737..b69e21d8e5916 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1358,6 +1358,9 @@ packages/kbn-monaco/src/esql @elastic/kibana-esql /x-pack/test/api_integration/deployment_agnostic/apis/observability/slo/ @elastic/obs-ux-management-team /x-pack/test/api_integration/deployment_agnostic/services/alerting_api @elastic/obs-ux-management-team /x-pack/test/api_integration/deployment_agnostic/services/slo_api @elastic/obs-ux-management-team +/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/ @elastic/obs-ux-management-team +/x-pack/test/api_integration/deployment_agnostic/services/synthetics_monitors @elastic/obs-ux-management-team +/x-pack/test/api_integration/deployment_agnostic/services/synthetics_private_location @elastic/obs-ux-management-team # Elastic Stack Monitoring /x-pack/test/monitoring_api_integration @elastic/stack-monitoring diff --git a/x-pack/plugins/observability_solution/synthetics/README.md b/x-pack/plugins/observability_solution/synthetics/README.md index bdc078e8607d7..d921fc2eb167a 100644 --- a/x-pack/plugins/observability_solution/synthetics/README.md +++ b/x-pack/plugins/observability_solution/synthetics/README.md @@ -95,3 +95,27 @@ From the `~/x-pack` directory: Start the server: `node scripts/functional_tests_server --config test/accessibility/config.ts` Run the uptime `a11y` tests: `node scripts/functional_test_runner.js --config test/accessibility/config.ts --grep=uptime` + + +## Deployment agnostic API Integration Tests +The Synthetics tests are located under `x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics` folder. In order to run the SLO tests of your interest, you can grep accordingly. Use the commands below to run all SLO tests (`grep=SyntheticsAPITests`) on stateful or serverless. + +### Stateful + +``` +# start server +node scripts/functional_tests_server --config x-pack/test/api_integration/deployment_agnostic/configs/stateful/oblt.stateful.config.ts + +# run tests +node scripts/functional_test_runner --config x-pack/test/api_integration/deployment_agnostic/configs/stateful/oblt.stateful.config.ts --grep=SyntheticsAPITests +``` + +### Serverless + +``` +# start server +node scripts/functional_tests_server --config x-pack/test/api_integration/deployment_agnostic/configs/serverless/oblt.serverless.config.ts + +# run tests +node scripts/functional_test_runner --config x-pack/test/api_integration/deployment_agnostic/configs/serverless/oblt.serverless.config.ts --grep=SyntheticsAPITests +``` diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/synthetics_service.ts b/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/synthetics_service.ts index 9e4229aba0a0e..164515ad76c1b 100644 --- a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/synthetics_service.ts +++ b/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/synthetics_service.ts @@ -309,9 +309,10 @@ export class SyntheticsService { return this.server.coreStart?.elasticsearch.client.asInternalUser; } - async getOutput() { + async getOutput({ inspect }: { inspect: boolean } = { inspect: false }) { const { apiKey, isValid } = await getAPIKeyForSyntheticsService({ server: this.server }); - if (!isValid) { + // do not check for api key validity if inspecting + if (!isValid && !inspect) { this.server.logger.error( 'API key is not valid. Cannot push monitor configuration to synthetics public testing locations' ); @@ -332,7 +333,7 @@ export class SyntheticsService { const monitors = this.formatConfigs(config); const license = await this.getLicense(); - const output = await this.getOutput(); + const output = await this.getOutput({ inspect: true }); if (output) { return await this.apiClient.inspect({ monitors, diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/create_monitor.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/create_monitor.ts new file mode 100644 index 0000000000000..1e985975db1d4 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/create_monitor.ts @@ -0,0 +1,304 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import expect from '@kbn/expect'; +import { RoleCredentials, SamlAuthProviderType } from '@kbn/ftr-common-functional-services'; +import epct from 'expect'; +import moment from 'moment/moment'; +import { v4 as uuidv4 } from 'uuid'; +import { omit, omitBy } from 'lodash'; +import { + ConfigKey, + MonitorTypeEnum, + HTTPFields, + PrivateLocation, +} from '@kbn/synthetics-plugin/common/runtime_types'; +import { formatKibanaNamespace } from '@kbn/synthetics-plugin/common/formatters'; +import { SYNTHETICS_API_URLS } from '@kbn/synthetics-plugin/common/constants'; +import { DEFAULT_FIELDS } from '@kbn/synthetics-plugin/common/constants/monitor_defaults'; +import { + removeMonitorEmptyValues, + transformPublicKeys, +} from '@kbn/synthetics-plugin/server/routes/monitor_cruds/formatters/saved_object_to_monitor'; +import { DeploymentAgnosticFtrProviderContext } from '../../../ftr_provider_context'; +import { getFixtureJson } from './helpers/get_fixture_json'; +import { SyntheticsMonitorTestService } from '../../../services/synthetics_monitor'; +import { PrivateLocationTestService } from '../../../services/synthetics_private_location'; + +export const addMonitorAPIHelper = async ( + supertestAPI: any, + monitor: any, + statusCode = 200, + roleAuthc: RoleCredentials, + samlAuth: SamlAuthProviderType +) => { + const result = await supertestAPI + .post(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .set(roleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(monitor) + .expect(statusCode); + + if (statusCode === 200) { + const { created_at: createdAt, updated_at: updatedAt, id, config_id: configId } = result.body; + expect(id).not.empty(); + expect(configId).not.empty(); + expect([createdAt, updatedAt].map((d) => moment(d).isValid())).eql([true, true]); + return { + rawBody: result.body, + body: { + ...omit(result.body, ['created_at', 'updated_at', 'id', 'config_id', 'form_monitor_type']), + }, + }; + } + return result.body; +}; + +export const keyToOmitList = [ + 'created_at', + 'updated_at', + 'id', + 'config_id', + 'form_monitor_type', + 'spaceId', + 'private_locations', +]; + +export const omitMonitorKeys = (monitor: any) => { + return omitBy(omit(transformPublicKeys(monitor), keyToOmitList), removeMonitorEmptyValues); +}; + +export default function ({ getService }: DeploymentAgnosticFtrProviderContext) { + describe('AddNewMonitorsUI', function () { + const supertestAPI = getService('supertestWithoutAuth'); + const samlAuth = getService('samlAuth'); + const kibanaServer = getService('kibanaServer'); + const monitorTestService = new SyntheticsMonitorTestService(getService); + const privateLocationsService = new PrivateLocationTestService(getService); + + let privateLocation: PrivateLocation; + let _httpMonitorJson: HTTPFields; + let httpMonitorJson: HTTPFields; + let editorRoleAuthc: RoleCredentials; + + const addMonitorAPI = async (monitor: any, statusCode = 200) => { + return addMonitorAPIHelper(supertestAPI, monitor, statusCode, editorRoleAuthc, samlAuth); + }; + + const deleteMonitor = async ( + monitorId?: string | string[], + statusCode = 200, + spaceId?: string + ) => { + return monitorTestService.deleteMonitor(editorRoleAuthc, monitorId, statusCode, spaceId); + }; + + before(async () => { + _httpMonitorJson = getFixtureJson('http_monitor'); + await kibanaServer.savedObjects.cleanStandardList(); + editorRoleAuthc = await samlAuth.createM2mApiKeyWithRoleScope('editor'); + }); + + beforeEach(async () => { + privateLocation = await privateLocationsService.addTestPrivateLocation(); + httpMonitorJson = { + ..._httpMonitorJson, + locations: [privateLocation], + }; + }); + + it('returns the newly added monitor', async () => { + const newMonitor = httpMonitorJson; + + const { body: apiResponse } = await addMonitorAPI(newMonitor); + + expect(apiResponse).eql(omitMonitorKeys(newMonitor)); + }); + + it('returns bad request if payload is invalid for HTTP monitor', async () => { + // Delete a required property to make payload invalid + const newMonitor = { ...httpMonitorJson, 'check.request.headers': null }; + await addMonitorAPI(newMonitor, 400); + }); + + it('returns bad request if monitor type is invalid', async () => { + const newMonitor = { ...httpMonitorJson, type: 'invalid-data-steam' }; + + const apiResponse = await addMonitorAPI(newMonitor, 400); + + expect(apiResponse.message).eql('Invalid value "invalid-data-steam" supplied to "type"'); + }); + + it('can create valid monitors without all defaults', async () => { + // Delete a required property to make payload invalid + const newMonitor = { + name: 'Sample name', + type: 'http', + urls: 'https://elastic.co', + locations: [privateLocation], + }; + + const { body: apiResponse } = await addMonitorAPI(newMonitor); + + expect(apiResponse).eql( + omitMonitorKeys({ + ...DEFAULT_FIELDS[MonitorTypeEnum.HTTP], + ...newMonitor, + }) + ); + }); + + it('can disable retries', async () => { + const maxAttempts = 1; + const newMonitor = { + max_attempts: maxAttempts, + urls: 'https://elastic.co', + name: `Sample name ${uuidv4()}`, + type: 'http', + locations: [privateLocation], + }; + + const { body: apiResponse } = await addMonitorAPI(newMonitor); + + epct(apiResponse).toEqual(epct.objectContaining({ retest_on_failure: false })); + }); + + it('can enable retries with max attempts', async () => { + const maxAttempts = 2; + const newMonitor = { + max_attempts: maxAttempts, + urls: 'https://elastic.co', + name: `Sample name ${uuidv4()}`, + type: 'http', + locations: [privateLocation], + }; + + const { body: apiResponse } = await addMonitorAPI(newMonitor); + + epct(apiResponse).toEqual(epct.objectContaining({ retest_on_failure: true })); + }); + + it('can enable retries', async () => { + const newMonitor = { + retest_on_failure: false, + urls: 'https://elastic.co', + name: `Sample name ${uuidv4()}`, + type: 'http', + locations: [privateLocation], + }; + + const { body: apiResponse } = await addMonitorAPI(newMonitor); + + epct(apiResponse).toEqual(epct.objectContaining({ retest_on_failure: false })); + }); + + it('cannot create a invalid monitor without a monitor type', async () => { + // Delete a required property to make payload invalid + const newMonitor = { + name: 'Sample name', + url: 'https://elastic.co', + locations: [privateLocation], + }; + await addMonitorAPI(newMonitor, 400); + }); + + it('omits unknown keys', async () => { + // Delete a required property to make payload invalid + const newMonitor = { + name: 'Sample name', + url: 'https://elastic.co', + unknownKey: 'unknownValue', + type: 'http', + locations: [privateLocation], + }; + const apiResponse = await addMonitorAPI(newMonitor, 400); + expect(apiResponse.message).not.to.have.keys( + 'Invalid monitor key(s) for http type: unknownKey","attributes":{"details":"Invalid monitor key(s) for http type: unknownKey' + ); + }); + + it('sets namespace to Kibana space when not set to a custom namespace', async () => { + const SPACE_ID = `test-space-${uuidv4()}`; + const SPACE_NAME = `test-space-name ${uuidv4()}`; + const EXPECTED_NAMESPACE = formatKibanaNamespace(SPACE_ID); + privateLocation = await privateLocationsService.addTestPrivateLocation(SPACE_ID); + const monitor = { + ...httpMonitorJson, + [ConfigKey.NAMESPACE]: 'default', + locations: [privateLocation], + }; + let monitorId = ''; + + try { + await kibanaServer.spaces.create({ id: SPACE_ID, name: SPACE_NAME }); + + const apiResponse = await supertestAPI + .post(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}`) + .set(editorRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(monitor) + .expect(200); + monitorId = apiResponse.body.id; + expect(apiResponse.body[ConfigKey.NAMESPACE]).eql(EXPECTED_NAMESPACE); + } finally { + await deleteMonitor(monitorId, 200, SPACE_ID); + } + }); + + it('preserves the passed namespace when preserve_namespace is passed', async () => { + const SPACE_ID = `test-space-${uuidv4()}`; + const SPACE_NAME = `test-space-name ${uuidv4()}`; + privateLocation = await privateLocationsService.addTestPrivateLocation(SPACE_ID); + const monitor = { + ...httpMonitorJson, + [ConfigKey.NAMESPACE]: 'default', + locations: [privateLocation], + }; + let monitorId = ''; + await kibanaServer.spaces.create({ id: SPACE_ID, name: SPACE_NAME }); + + try { + const apiResponse = await supertestAPI + .post(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}`) + .query({ preserve_namespace: true }) + .set(editorRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(monitor) + .expect(200); + monitorId = apiResponse.body.id; + expect(apiResponse.body[ConfigKey.NAMESPACE]).eql('default'); + } finally { + await deleteMonitor(monitorId, 200, SPACE_ID); + } + }); + + it('sets namespace to custom namespace when set', async () => { + const SPACE_ID = `test-space-${uuidv4()}`; + const SPACE_NAME = `test-space-name ${uuidv4()}`; + privateLocation = await privateLocationsService.addTestPrivateLocation(SPACE_ID); + const monitor = { + ...httpMonitorJson, + locations: [privateLocation], + }; + let monitorId = ''; + + try { + await kibanaServer.spaces.create({ id: SPACE_ID, name: SPACE_NAME }); + + const apiResponse = await supertestAPI + .post(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}`) + .set(editorRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(monitor) + .expect(200); + monitorId = apiResponse.body.id; + expect(apiResponse.body[ConfigKey.NAMESPACE]).eql(monitor[ConfigKey.NAMESPACE]); + } finally { + await deleteMonitor(monitorId, 200, SPACE_ID); + } + }); + }); +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/create_monitor_private_location.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/create_monitor_private_location.ts new file mode 100644 index 0000000000000..7141eab30d8f5 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/create_monitor_private_location.ts @@ -0,0 +1,560 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import moment from 'moment'; +import semver from 'semver'; +import { v4 as uuidv4 } from 'uuid'; +import { RoleCredentials } from '@kbn/ftr-common-functional-services'; +import { + ConfigKey, + HTTPFields, + PrivateLocation, + ServiceLocation, +} from '@kbn/synthetics-plugin/common/runtime_types'; +import { SYNTHETICS_API_URLS } from '@kbn/synthetics-plugin/common/constants'; +import { omit } from 'lodash'; +import { PackagePolicy } from '@kbn/fleet-plugin/common'; +import expect from '@kbn/expect'; +import rawExpect from 'expect'; +import { DeploymentAgnosticFtrProviderContext } from '../../../ftr_provider_context'; +import { getFixtureJson } from './helpers/get_fixture_json'; +import { comparePolicies, getTestSyntheticsPolicy } from './sample_data/test_policy'; +import { + INSTALLED_VERSION, + PrivateLocationTestService, +} from '../../../services/synthetics_private_location'; +import { addMonitorAPIHelper, keyToOmitList, omitMonitorKeys } from './create_monitor'; +import { SyntheticsMonitorTestService } from '../../../services/synthetics_monitor'; + +export default function ({ getService }: DeploymentAgnosticFtrProviderContext) { + describe('PrivateLocationAddMonitor', function () { + const kibanaServer = getService('kibanaServer'); + const supertestAPI = getService('supertestWithoutAuth'); + const supertestWithAuth = getService('supertest'); + const samlAuth = getService('samlAuth'); + + let testFleetPolicyID: string; + let editorUser: RoleCredentials; + let privateLocations: PrivateLocation[] = []; + const testPolicyName = 'Fleet test server policy' + Date.now(); + + let _httpMonitorJson: HTTPFields; + let httpMonitorJson: HTTPFields; + const monitorTestService = new SyntheticsMonitorTestService(getService); + const testPrivateLocations = new PrivateLocationTestService(getService); + + const addMonitorAPI = async (monitor: any, statusCode = 200) => { + return addMonitorAPIHelper(supertestAPI, monitor, statusCode, editorUser, samlAuth); + }; + + const deleteMonitor = async ( + monitorId?: string | string[], + statusCode = 200, + spaceId?: string + ) => { + return monitorTestService.deleteMonitor(editorUser, monitorId, statusCode, spaceId); + }; + + before(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + await testPrivateLocations.installSyntheticsPackage(); + editorUser = await samlAuth.createM2mApiKeyWithRoleScope('editor'); + + _httpMonitorJson = getFixtureJson('http_monitor'); + }); + + beforeEach(() => { + httpMonitorJson = { + ..._httpMonitorJson, + locations: privateLocations ? [privateLocations[0]] : [], + }; + }); + + it('adds a test fleet policy', async () => { + const apiResponse = await testPrivateLocations.addFleetPolicy(testPolicyName); + testFleetPolicyID = apiResponse.body.item.id; + }); + + it('add a test private location', async () => { + privateLocations = await testPrivateLocations.setTestLocations([testFleetPolicyID]); + + const apiResponse = await supertestAPI + .get(SYNTHETICS_API_URLS.SERVICE_LOCATIONS) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + const testResponse: Array = [ + { + id: testFleetPolicyID, + isServiceManaged: false, + isInvalid: false, + label: privateLocations[0].label, + geo: { + lat: 0, + lon: 0, + }, + agentPolicyId: testFleetPolicyID, + }, + ]; + + rawExpect(apiResponse.body.locations).toEqual(rawExpect.arrayContaining(testResponse)); + }); + + it('does not add a monitor if there is an error in creating integration', async () => { + const newMonitor = { ...httpMonitorJson }; + const invalidName = 'invalid name'; + + const location = { + id: 'invalidLocation', + label: privateLocations[0].label, + isServiceManaged: false, + geo: { + lat: 0, + lon: 0, + }, + }; + + newMonitor.name = invalidName; + + const apiResponse = await supertestAPI + .post(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ ...newMonitor, locations: [location] }) + .expect(400); + + expect(apiResponse.body).eql({ + statusCode: 400, + error: 'Bad Request', + message: `Invalid locations specified. Private Location(s) 'invalidLocation' not found. Available private locations are '${privateLocations[0].label}'`, + }); + + const apiGetResponse = await supertestAPI + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS + `?query="${invalidName}"`) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + // verify that no monitor was added + expect(apiGetResponse.body.monitors?.length).eql(0); + }); + + let newMonitorId: string; + + it('adds a monitor in private location', async () => { + const newMonitor = { + ...httpMonitorJson, + locations: [privateLocations[0]], + }; + + const { body, rawBody } = await addMonitorAPI(newMonitor); + + expect(body).eql(omitMonitorKeys(newMonitor)); + newMonitorId = rawBody.id; + }); + + it('added an integration for previously added monitor', async () => { + const apiResponse = await supertestWithAuth.get( + '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + ); + + const packagePolicy = apiResponse.body.items.find( + (pkgPolicy: PackagePolicy) => + pkgPolicy.id === newMonitorId + '-' + testFleetPolicyID + '-default' + ); + + expect(packagePolicy?.policy_id).eql(testFleetPolicyID); + + comparePolicies( + packagePolicy, + getTestSyntheticsPolicy({ + name: httpMonitorJson.name, + id: newMonitorId, + location: { id: testFleetPolicyID, name: privateLocations[0].label }, + }) + ); + }); + + let testFleetPolicyID2: string; + let newLocations: PrivateLocation[] = []; + + it('edits a monitor with additional private location', async () => { + const resPolicy = await testPrivateLocations.addFleetPolicy(testPolicyName + 1); + testFleetPolicyID2 = resPolicy.body.item.id; + + newLocations = await testPrivateLocations.setTestLocations([ + testFleetPolicyID, + testFleetPolicyID2, + ]); + + httpMonitorJson.locations.push({ + id: testFleetPolicyID2, + agentPolicyId: testFleetPolicyID2, + label: newLocations[1].label, + isServiceManaged: false, + geo: { + lat: 0, + lon: 0, + }, + }); + + const apiResponse = await supertestAPI + .put(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS + '/' + newMonitorId) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(httpMonitorJson); + + const { created_at: createdAt, updated_at: updatedAt } = apiResponse.body; + expect([createdAt, updatedAt].map((d) => moment(d).isValid())).eql([true, true]); + + expect(omit(apiResponse.body, keyToOmitList)).eql( + omitMonitorKeys({ + ...omit(httpMonitorJson, ['urls']), + url: httpMonitorJson.urls, + updated_at: updatedAt, + revision: 2, + }) + ); + }); + + it('added an integration for second location in edit monitor', async () => { + const apiResponsePolicy = await supertestWithAuth.get( + '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + ); + + let packagePolicy = apiResponsePolicy.body.items.find( + (pkgPolicy: PackagePolicy) => + pkgPolicy.id === newMonitorId + '-' + testFleetPolicyID + '-default' + ); + + expect(packagePolicy.policy_id).eql(testFleetPolicyID); + + comparePolicies( + packagePolicy, + getTestSyntheticsPolicy({ + name: httpMonitorJson.name, + id: newMonitorId, + location: { id: testFleetPolicyID, name: privateLocations[0].label }, + }) + ); + + packagePolicy = apiResponsePolicy.body.items.find( + (pkgPolicy: PackagePolicy) => + pkgPolicy.id === newMonitorId + '-' + testFleetPolicyID2 + '-default' + ); + + expect(packagePolicy.policy_id).eql(testFleetPolicyID2); + comparePolicies( + packagePolicy, + getTestSyntheticsPolicy({ + name: httpMonitorJson.name, + id: newMonitorId, + location: { + name: newLocations[1].label, + id: testFleetPolicyID2, + }, + }) + ); + }); + + it('deletes integration for a removed location from monitor', async () => { + httpMonitorJson.locations = httpMonitorJson.locations.filter( + ({ id }) => id !== testFleetPolicyID2 + ); + + await supertestAPI + .put(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS + '/' + newMonitorId + '?internal=true') + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(httpMonitorJson) + .expect(200); + + const apiResponsePolicy = await supertestWithAuth.get( + '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + ); + + let packagePolicy = apiResponsePolicy.body.items.find( + (pkgPolicy: PackagePolicy) => + pkgPolicy.id === newMonitorId + '-' + testFleetPolicyID + '-default' + ); + + expect(packagePolicy.policy_id).eql(testFleetPolicyID); + + comparePolicies( + packagePolicy, + getTestSyntheticsPolicy({ + name: httpMonitorJson.name, + id: newMonitorId, + location: { id: testFleetPolicyID, name: privateLocations[0].label }, + }) + ); + + packagePolicy = apiResponsePolicy.body.items.find( + (pkgPolicy: PackagePolicy) => + pkgPolicy.id === newMonitorId + '-' + testFleetPolicyID2 + '-default' + ); + + expect(packagePolicy).eql(undefined); + }); + + it('deletes integration for a deleted monitor', async () => { + await deleteMonitor(newMonitorId); + + const apiResponsePolicy = await supertestWithAuth.get( + '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + ); + + const packagePolicy = apiResponsePolicy.body.items.find( + (pkgPolicy: PackagePolicy) => + pkgPolicy.id === newMonitorId + '-' + testFleetPolicyID + '-default' + ); + + expect(packagePolicy).eql(undefined); + }); + + // it('handles spaces', async () => { + // const username = 'admin'; + // const password = `${username}-password`; + // const roleName = 'uptime-role'; + // const SPACE_ID = `test-space-${uuidv4()}`; + // const SPACE_NAME = `test-space-name ${uuidv4()}`; + // let monitorId = ''; + // const monitor = { + // ...httpMonitorJson, + // name: `Test monitor ${uuidv4()}`, + // [ConfigKey.NAMESPACE]: 'default', + // locations: [ + // { + // id: testFleetPolicyID, + // agentPolicyId: testFleetPolicyID, + // label: 'Test private location 0', + // isServiceManaged: false, + // geo: { + // lat: 0, + // lon: 0, + // }, + // }, + // ], + // }; + + // try { + // await kibanaServer.spaces.create({ id: SPACE_ID, name: SPACE_NAME }); + // await security.role.create(roleName, { + // kibana: [ + // { + // feature: { + // uptime: ['all'], + // actions: ['all'], + // }, + // spaces: ['*'], + // }, + // ], + // }); + // await security.user.create(username, { + // password, + // roles: [roleName], + // full_name: 'a kibana user', + // }); + // const apiResponse = await supertestWithoutAuth + // .post(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}`) + // .auth(username, password) + // .set('kbn-xsrf', 'true') + // .send(monitor) + // .expect(200); + + // const { created_at: createdAt, updated_at: updatedAt } = apiResponse.body; + // expect([createdAt, updatedAt].map((d) => moment(d).isValid())).eql([true, true]); + + // expect(omit(apiResponse.body, keyToOmitList)).eql( + // omitMonitorKeys({ + // ...monitor, + // [ConfigKey.NAMESPACE]: formatKibanaNamespace(SPACE_ID), + // url: apiResponse.body.url, + // }) + // ); + // monitorId = apiResponse.body.id; + + // const policyResponse = await supertestWithAuth.get( + // '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + // ); + + // const packagePolicy = policyResponse.body.items.find( + // (pkgPolicy: PackagePolicy) => + // pkgPolicy.id === monitorId + '-' + testFleetPolicyID + `-${SPACE_ID}` + // ); + + // expect(packagePolicy.policy_id).eql(testFleetPolicyID); + // expect(packagePolicy.name).eql(`${monitor.name}-Test private location 0-${SPACE_ID}`); + // comparePolicies( + // packagePolicy, + // getTestSyntheticsPolicy({ + // name: monitor.name, + // id: monitorId, + // location: { id: testFleetPolicyID }, + // namespace: formatKibanaNamespace(SPACE_ID), + // spaceId: SPACE_ID, + // }) + // ); + // await supertestWithoutAuth + // .delete(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}`) + // .auth(username, password) + // .set('kbn-xsrf', 'true') + // .send({ ids: [monitorId] }) + // .expect(200); + // } finally { + // await security.user.delete(username); + // await security.role.delete(roleName); + // } + // }); + + it('handles is_tls_enabled true', async () => { + let monitorId = ''; + + const monitor = { + ...httpMonitorJson, + locations: [ + { + id: testFleetPolicyID, + label: privateLocations[0].label, + isServiceManaged: false, + }, + ], + [ConfigKey.METADATA]: { + is_tls_enabled: true, + }, + }; + + try { + const apiResponse = await supertestAPI + .post(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(monitor) + .expect(200); + + monitorId = apiResponse.body.id; + + const policyResponse = await supertestWithAuth.get( + '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + ); + + const packagePolicy = policyResponse.body.items.find( + (pkgPolicy: PackagePolicy) => + pkgPolicy.id === monitorId + '-' + testFleetPolicyID + `-default` + ); + comparePolicies( + packagePolicy, + getTestSyntheticsPolicy({ + name: monitor.name, + id: monitorId, + location: { id: testFleetPolicyID, name: privateLocations[0].label }, + isTLSEnabled: true, + }) + ); + } finally { + await deleteMonitor(monitorId); + } + }); + + it('handles is_tls_enabled false', async () => { + let monitorId = ''; + + const monitor = { + ...httpMonitorJson, + locations: [ + { + id: testFleetPolicyID, + label: privateLocations[0].label, + isServiceManaged: false, + }, + ], + [ConfigKey.METADATA]: { + is_tls_enabled: false, + }, + }; + + try { + const apiResponse = await supertestAPI + .post(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(monitor) + .expect(200); + + monitorId = apiResponse.body.id; + + const policyResponse = await supertestWithAuth.get( + '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + ); + + const packagePolicy = policyResponse.body.items.find( + (pkgPolicy: PackagePolicy) => + pkgPolicy.id === monitorId + '-' + testFleetPolicyID + `-default` + ); + comparePolicies( + packagePolicy, + getTestSyntheticsPolicy({ + name: monitor.name, + id: monitorId, + location: { id: testFleetPolicyID, name: privateLocations[0].label }, + }) + ); + } finally { + await deleteMonitor(monitorId); + } + }); + + it('handles auto upgrading policies', async () => { + let monitorId = ''; + + const monitor = { + ...httpMonitorJson, + name: `Test monitor ${uuidv4()}`, + [ConfigKey.NAMESPACE]: 'default', + locations: [ + { + id: testFleetPolicyID, + label: privateLocations[0].label, + isServiceManaged: false, + }, + ], + }; + + try { + const apiResponse = await supertestAPI + .post(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(monitor) + .expect(200); + monitorId = apiResponse.body.id; + + const policyResponse = await supertestWithAuth.get( + '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + ); + + const packagePolicy = policyResponse.body.items.find( + (pkgPolicy: PackagePolicy) => + pkgPolicy.id === monitorId + '-' + testFleetPolicyID + `-default` + ); + + expect(packagePolicy.package.version).eql(INSTALLED_VERSION); + + await supertestWithAuth.post('/api/fleet/setup').set('kbn-xsrf', 'true').send().expect(200); + const policyResponseAfterUpgrade = await supertestWithAuth.get( + '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + ); + const packagePolicyAfterUpgrade = policyResponseAfterUpgrade.body.items.find( + (pkgPolicy: PackagePolicy) => + pkgPolicy.id === monitorId + '-' + testFleetPolicyID + `-default` + ); + expect(semver.gte(packagePolicyAfterUpgrade.package.version, INSTALLED_VERSION)).eql(true); + } finally { + await deleteMonitor(monitorId); + } + }); + }); +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/create_monitor_project.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/create_monitor_project.ts new file mode 100644 index 0000000000000..d8f7e78607293 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/create_monitor_project.ts @@ -0,0 +1,2194 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { v4 as uuidv4 } from 'uuid'; +import expect from '@kbn/expect'; +import rawExpect from 'expect'; +import { RoleCredentials } from '@kbn/ftr-common-functional-services'; +import { + ConfigKey, + ProjectMonitorsRequest, + PrivateLocation, + ServiceLocation, +} from '@kbn/synthetics-plugin/common/runtime_types'; +import { SYNTHETICS_API_URLS } from '@kbn/synthetics-plugin/common/constants'; +import { formatKibanaNamespace } from '@kbn/synthetics-plugin/common/formatters'; +import { REQUEST_TOO_LARGE } from '@kbn/synthetics-plugin/server/routes/monitor_cruds/add_monitor_project'; +import { PackagePolicy } from '@kbn/fleet-plugin/common'; +import { + PROFILE_VALUES_ENUM, + PROFILES_MAP, +} from '@kbn/synthetics-plugin/common/constants/monitor_defaults'; +import { syntheticsMonitorType } from '@kbn/synthetics-plugin/common/types/saved_objects'; +import { DeploymentAgnosticFtrProviderContext } from '../../../ftr_provider_context'; +import { getFixtureJson } from './helpers/get_fixture_json'; +import { comparePolicies } from './sample_data/test_policy'; +import { + getTestProjectSyntheticsPolicy, + getTestProjectSyntheticsPolicyLightweight, +} from './sample_data/test_project_monitor_policy'; +import { PrivateLocationTestService } from '../../../services/synthetics_private_location'; +import { SyntheticsMonitorTestService } from '../../../services/synthetics_monitor'; + +export default function ({ getService }: DeploymentAgnosticFtrProviderContext) { + describe('AddProjectMonitors', function () { + const supertest = getService('supertestWithoutAuth'); + const supertestWithAuth = getService('supertest'); + const kibanaServer = getService('kibanaServer'); + const monitorTestService = new SyntheticsMonitorTestService(getService); + const testPrivateLocations = new PrivateLocationTestService(getService); + const samlAuth = getService('samlAuth'); + + let projectMonitors: ProjectMonitorsRequest; + let httpProjectMonitors: ProjectMonitorsRequest; + let tcpProjectMonitors: ProjectMonitorsRequest; + let icmpProjectMonitors: ProjectMonitorsRequest; + let editorUser: RoleCredentials; + let viewerUser: RoleCredentials; + let privateLocations: PrivateLocation[] = []; + + let testPolicyId1 = ''; + let testPolicyId2 = ''; + const testPolicyName = 'Fleet test server policy' + Date.now(); + + const setUniqueIds = (request: ProjectMonitorsRequest) => { + return { + ...request, + monitors: request.monitors.map((monitor) => ({ ...monitor, id: uuidv4() })), + }; + }; + + const deleteMonitor = async ( + journeyId: string, + projectId: string, + space: string = 'default' + ) => { + try { + const response = await supertest + .get(`/s/${space}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}`) + .query({ + filter: `${syntheticsMonitorType}.attributes.journey_id: "${journeyId}" AND ${syntheticsMonitorType}.attributes.project_id: "${projectId}"`, + }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + const { monitors } = response.body; + if (monitors[0]?.config_id) { + await monitorTestService.deleteMonitor(editorUser, monitors[0].config_id, 200, space); + } + } catch (e) { + // eslint-disable-next-line no-console + console.error(e); + } + }; + + before(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + editorUser = await samlAuth.createM2mApiKeyWithRoleScope('editor'); + viewerUser = await samlAuth.createM2mApiKeyWithRoleScope('viewer'); + await supertest + .put(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + await testPrivateLocations.installSyntheticsPackage(); + + const apiResponse1 = await testPrivateLocations.addFleetPolicy(testPolicyName); + const apiResponse2 = await testPrivateLocations.addFleetPolicy(`${testPolicyName}-2`); + testPolicyId1 = apiResponse1.body.item.id; + testPolicyId2 = apiResponse2.body.item.id; + privateLocations = await testPrivateLocations.setTestLocations([ + testPolicyId1, + testPolicyId2, + ]); + await supertest + .post(SYNTHETICS_API_URLS.PARAMS) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ key: 'testGlobalParam', value: 'testGlobalParamValue' }) + .expect(200); + await supertest + .post(SYNTHETICS_API_URLS.PARAMS) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ key: 'testGlobalParam2', value: 'testGlobalParamValue2' }) + .expect(200); + const spaces = (await kibanaServer.spaces.list()) as Array<{ + id: string; + }>; + for (let i = 0; i < spaces.length; i++) { + if (spaces[i].id !== 'default') await kibanaServer.spaces.delete(spaces[i].id); + } + }); + + beforeEach(async () => { + await kibanaServer.savedObjects.clean({ + types: ['synthetics-monitor', 'ingest-package-policies'], + }); + const formatLocations = (monitors: ProjectMonitorsRequest['monitors']) => { + return monitors.map((monitor) => { + return { + ...monitor, + /* cannot configure public locations for deployment agnostic tests + * they would fail in MKI and ESS due to missing mock location */ + locations: [], + privateLocations: [privateLocations[0].label], + }; + }); + }; + projectMonitors = setUniqueIds({ + monitors: formatLocations(getFixtureJson('project_browser_monitor').monitors), + }); + httpProjectMonitors = setUniqueIds({ + monitors: formatLocations(getFixtureJson('project_http_monitor').monitors), + }); + tcpProjectMonitors = setUniqueIds({ + monitors: formatLocations(getFixtureJson('project_tcp_monitor').monitors), + }); + icmpProjectMonitors = setUniqueIds({ + monitors: formatLocations(getFixtureJson('project_icmp_monitor').monitors), + }); + }); + + it('project monitors - returns 404 for non-existing spaces', async () => { + const project = `test-project-${uuidv4()}`; + await supertest + .put( + `/s/i_dont_exist${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace( + '{projectName}', + project + )}` + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(projectMonitors) + .expect(404); + }); + + it('project monitors - handles browser monitors', async () => { + const successfulMonitors = [projectMonitors.monitors[0]]; + const project = `test-project-${uuidv4()}`; + + const { body } = await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(projectMonitors) + .expect(200); + expect(body).eql({ + updatedMonitors: [], + createdMonitors: successfulMonitors.map((monitor) => monitor.id), + failedMonitors: [], + }); + + for (const monitor of successfulMonitors) { + const journeyId = monitor.id; + const createdMonitorsResponse = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .query({ filter: `${syntheticsMonitorType}.attributes.journey_id: ${journeyId}` }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + const decryptedCreatedMonitor = await monitorTestService.getMonitor( + createdMonitorsResponse.body.monitors[0].config_id, + { + internal: true, + user: editorUser, + } + ); + + expect(decryptedCreatedMonitor.rawBody).to.eql({ + __ui: { + script_source: { + file_name: '', + is_generated_script: false, + }, + }, + config_id: decryptedCreatedMonitor.rawBody.config_id, + custom_heartbeat_id: `${journeyId}-${project}-default`, + enabled: true, + alert: { + status: { + enabled: true, + }, + tls: { + enabled: true, + }, + }, + 'filter_journeys.match': 'check if title is present', + 'filter_journeys.tags': [], + form_monitor_type: 'multistep', + ignore_https_errors: false, + journey_id: journeyId, + locations: [ + { + geo: { + lat: 0, + lon: 0, + }, + id: testPolicyId1, + agentPolicyId: testPolicyId1, + isServiceManaged: false, + label: privateLocations[0].label, + }, + ], + name: 'check if title is present', + namespace: 'default', + origin: 'project', + original_space: 'default', + playwright_options: '{"headless":true,"chromiumSandbox":false}', + playwright_text_assertion: '', + project_id: project, + params: '', + revision: 1, + schedule: { + number: '10', + unit: 'm', + }, + screenshots: 'on', + 'service.name': '', + synthetics_args: [], + tags: [], + throttling: PROFILES_MAP[PROFILE_VALUES_ENUM.DEFAULT], + 'ssl.certificate': '', + 'ssl.certificate_authorities': '', + 'ssl.supported_protocols': ['TLSv1.1', 'TLSv1.2', 'TLSv1.3'], + 'ssl.verification_mode': 'full', + 'ssl.key': '', + 'ssl.key_passphrase': '', + 'source.inline.script': '', + 'source.project.content': + 'UEsDBBQACAAIAON5qVQAAAAAAAAAAAAAAAAfAAAAZXhhbXBsZXMvdG9kb3MvYmFzaWMuam91cm5leS50c22Q0WrDMAxF3/sVF7MHB0LMXlc6RvcN+wDPVWNviW0sdUsp/fe5SSiD7UFCWFfHujIGlpnkybwxFTZfoY/E3hsaLEtwhs9RPNWKDU12zAOxkXRIbN4tB9d9pFOJdO6EN2HMqQguWN9asFBuQVMmJ7jiWNII9fIXrbabdUYr58l9IhwhQQZCYORCTFFUC31Btj21NRc7Mq4Nds+4bDD/pNVgT9F52Jyr2Fa+g75LAPttg8yErk+S9ELpTmVotlVwnfNCuh2lepl3+JflUmSBJ3uggt1v9INW/lHNLKze9dJe1J3QJK8pSvWkm6aTtCet5puq+x63+AFQSwcIAPQ3VfcAAACcAQAAUEsBAi0DFAAIAAgA43mpVAD0N1X3AAAAnAEAAB8AAAAAAAAAAAAgAKSBAAAAAGV4YW1wbGVzL3RvZG9zL2Jhc2ljLmpvdXJuZXkudHNQSwUGAAAAAAEAAQBNAAAARAEAAAAA', + timeout: null, + type: 'browser', + 'url.port': null, + urls: '', + id: `${journeyId}-${project}-default`, + hash: 'ekrjelkjrelkjre', + max_attempts: 2, + updated_at: decryptedCreatedMonitor.rawBody.updated_at, + created_at: decryptedCreatedMonitor.rawBody.created_at, + labels: {}, + }); + } + }); + + it('project monitors - allows throttling false for browser monitors', async () => { + const successfulMonitors = [projectMonitors.monitors[0]]; + const project = `test-project-${uuidv4()}`; + + try { + const { body } = await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + ...projectMonitors, + monitors: [{ ...projectMonitors.monitors[0], throttling: false }], + }) + .expect(200); + expect(body).eql({ + updatedMonitors: [], + createdMonitors: successfulMonitors.map((monitor) => monitor.id), + failedMonitors: [], + }); + + for (const monitor of successfulMonitors) { + const journeyId = monitor.id; + const createdMonitorsResponse = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .query({ filter: `${syntheticsMonitorType}.attributes.journey_id: ${journeyId}` }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + const decryptedCreatedMonitor = await monitorTestService.getMonitor( + createdMonitorsResponse.body.monitors[0].config_id, + { user: editorUser } + ); + + expect(decryptedCreatedMonitor.body.throttling).to.eql({ + value: null, + id: 'no-throttling', + label: 'No throttling', + }); + } + } finally { + await Promise.all([ + successfulMonitors.map((monitor) => { + return deleteMonitor(monitor.id, project); + }), + ]); + } + }); + + it('project monitors - handles http monitors', async () => { + const kibanaVersion = await kibanaServer.version.get(); + const successfulMonitors = [httpProjectMonitors.monitors[1]]; + const project = `test-project-${uuidv4()}`; + + try { + const { body } = await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(httpProjectMonitors) + .expect(200); + + expect(body).eql({ + updatedMonitors: [], + createdMonitors: successfulMonitors.map((monitor) => monitor.id), + failedMonitors: [ + { + id: httpProjectMonitors.monitors[0].id, + details: `\`http\` project monitors must have exactly one value for field \`urls\` in version \`${kibanaVersion}\`. Your monitor was not created or updated.`, + reason: 'Invalid Heartbeat configuration', + }, + { + id: httpProjectMonitors.monitors[0].id, + details: `The following Heartbeat options are not supported for ${httpProjectMonitors.monitors[0].type} project monitors in ${kibanaVersion}: check.response.body|unsupportedKey.nestedUnsupportedKey. You monitor was not created or updated.`, + reason: 'Unsupported Heartbeat option', + }, + ], + }); + + for (const monitor of successfulMonitors) { + const journeyId = monitor.id; + const isTLSEnabled = Object.keys(monitor).some((key) => key.includes('ssl')); + const createdMonitorsResponse = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .query({ filter: `${syntheticsMonitorType}.attributes.journey_id: ${journeyId}` }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + const { rawBody: decryptedCreatedMonitor } = await monitorTestService.getMonitor( + createdMonitorsResponse.body.monitors[0].config_id, + { + internal: true, + user: editorUser, + } + ); + + expect(decryptedCreatedMonitor).to.eql({ + __ui: { + is_tls_enabled: isTLSEnabled, + }, + 'check.request.method': 'POST', + 'check.response.status': ['200'], + config_id: decryptedCreatedMonitor.config_id, + custom_heartbeat_id: `${journeyId}-${project}-default`, + 'check.response.body.negative': [], + 'check.response.body.positive': ['${testLocal1}', 'saved'], + 'check.response.json': [ + { description: 'check status', expression: 'foo.bar == "myValue"' }, + ], + 'check.response.headers': {}, + proxy_url: '${testGlobalParam2}', + 'check.request.body': { + type: 'text', + value: '', + }, + params: JSON.stringify({ + testLocal1: 'testLocalParamsValue', + testGlobalParam2: 'testGlobalParamOverwrite', + }), + 'check.request.headers': { + 'Content-Type': 'application/x-www-form-urlencoded', + }, + enabled: false, + alert: { + status: { + enabled: true, + }, + tls: { + enabled: true, + }, + }, + form_monitor_type: 'http', + journey_id: journeyId, + locations: [ + { + geo: { + lat: 0, + lon: 0, + }, + id: testPolicyId1, + agentPolicyId: testPolicyId1, + isServiceManaged: false, + label: privateLocations[0].label, + }, + ], + max_redirects: '0', + name: monitor.name, + namespace: 'default', + origin: 'project', + original_space: 'default', + project_id: project, + username: '', + password: '', + proxy_headers: {}, + 'response.include_body': 'always', + 'response.include_headers': false, + 'response.include_body_max_bytes': '900', + revision: 1, + schedule: { + number: '60', + unit: 'm', + }, + 'service.name': '', + 'ssl.certificate': '', + 'ssl.certificate_authorities': '', + 'ssl.supported_protocols': ['TLSv1.1', 'TLSv1.2', 'TLSv1.3'], + 'ssl.verification_mode': isTLSEnabled ? 'strict' : 'full', + 'ssl.key': '', + 'ssl.key_passphrase': '', + tags: Array.isArray(monitor.tags) ? monitor.tags : monitor.tags?.split(','), + timeout: '80', + type: 'http', + urls: Array.isArray(monitor.urls) ? monitor.urls?.[0] : monitor.urls, + 'url.port': null, + id: `${journeyId}-${project}-default`, + hash: 'ekrjelkjrelkjre', + mode: 'any', + ipv6: true, + ipv4: true, + max_attempts: 2, + labels: {}, + updated_at: decryptedCreatedMonitor.updated_at, + created_at: decryptedCreatedMonitor.created_at, + }); + } + } finally { + await Promise.all([ + successfulMonitors.map((monitor) => { + return deleteMonitor(monitor.id, project); + }), + ]); + } + }); + + it('project monitors - handles tcp monitors', async () => { + const successfulMonitors = [tcpProjectMonitors.monitors[0], tcpProjectMonitors.monitors[1]]; + const kibanaVersion = await kibanaServer.version.get(); + const project = `test-project-${uuidv4()}`; + + try { + const { body } = await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(tcpProjectMonitors) + .expect(200); + + expect(body).eql({ + updatedMonitors: [], + createdMonitors: successfulMonitors.map((monitor) => monitor.id), + failedMonitors: [ + { + id: tcpProjectMonitors.monitors[2].id, + details: `\`tcp\` project monitors must have exactly one value for field \`hosts\` in version \`${kibanaVersion}\`. Your monitor was not created or updated.`, + reason: 'Invalid Heartbeat configuration', + }, + { + id: tcpProjectMonitors.monitors[2].id, + details: `The following Heartbeat options are not supported for ${tcpProjectMonitors.monitors[0].type} project monitors in ${kibanaVersion}: ports|unsupportedKey.nestedUnsupportedKey. You monitor was not created or updated.`, + reason: 'Unsupported Heartbeat option', + }, + ], + }); + + for (const monitor of successfulMonitors) { + const journeyId = monitor.id; + const isTLSEnabled = Object.keys(monitor).some((key) => key.includes('ssl')); + const createdMonitorsResponse = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .query({ filter: `${syntheticsMonitorType}.attributes.journey_id: ${journeyId}` }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + const { rawBody: decryptedCreatedMonitor } = await monitorTestService.getMonitor( + createdMonitorsResponse.body.monitors[0].config_id, + { + internal: true, + user: editorUser, + } + ); + + expect(decryptedCreatedMonitor).to.eql({ + __ui: { + is_tls_enabled: isTLSEnabled, + }, + config_id: decryptedCreatedMonitor.config_id, + custom_heartbeat_id: `${journeyId}-${project}-default`, + 'check.receive': '', + 'check.send': '', + enabled: true, + alert: { + status: { + enabled: true, + }, + tls: { + enabled: true, + }, + }, + form_monitor_type: 'tcp', + journey_id: journeyId, + locations: [ + { + geo: { + lat: 0, + lon: 0, + }, + id: testPolicyId1, + agentPolicyId: testPolicyId1, + isServiceManaged: false, + label: privateLocations[0].label, + }, + ], + name: monitor.name, + namespace: 'default', + origin: 'project', + original_space: 'default', + project_id: project, + revision: 1, + schedule: { + number: '1', + unit: 'm', + }, + proxy_url: '', + proxy_use_local_resolver: false, + 'service.name': '', + 'ssl.certificate': '', + 'ssl.certificate_authorities': '', + 'ssl.supported_protocols': ['TLSv1.1', 'TLSv1.2', 'TLSv1.3'], + 'ssl.verification_mode': isTLSEnabled ? 'strict' : 'full', + 'ssl.key': '', + 'ssl.key_passphrase': '', + tags: Array.isArray(monitor.tags) ? monitor.tags : monitor.tags?.split(','), + timeout: '16', + type: 'tcp', + hosts: Array.isArray(monitor.hosts) ? monitor.hosts?.[0] : monitor.hosts, + 'url.port': null, + urls: '', + id: `${journeyId}-${project}-default`, + hash: 'ekrjelkjrelkjre', + mode: 'any', + ipv6: true, + ipv4: true, + params: '', + max_attempts: 2, + labels: {}, + updated_at: decryptedCreatedMonitor.updated_at, + created_at: decryptedCreatedMonitor.created_at, + }); + } + } finally { + await Promise.all([ + successfulMonitors.map((monitor) => { + return deleteMonitor(monitor.id, project); + }), + ]); + } + }); + + it('project monitors - handles icmp monitors', async () => { + const successfulMonitors = [icmpProjectMonitors.monitors[0], icmpProjectMonitors.monitors[1]]; + const kibanaVersion = await kibanaServer.version.get(); + const project = `test-project-${uuidv4()}`; + + try { + const { body } = await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(icmpProjectMonitors) + .expect(200); + expect(body).eql({ + updatedMonitors: [], + createdMonitors: successfulMonitors.map((monitor) => monitor.id), + failedMonitors: [ + { + id: icmpProjectMonitors.monitors[2].id, + details: `\`icmp\` project monitors must have exactly one value for field \`hosts\` in version \`${kibanaVersion}\`. Your monitor was not created or updated.`, + reason: 'Invalid Heartbeat configuration', + }, + { + id: icmpProjectMonitors.monitors[2].id, + details: `The following Heartbeat options are not supported for ${icmpProjectMonitors.monitors[0].type} project monitors in ${kibanaVersion}: unsupportedKey.nestedUnsupportedKey. You monitor was not created or updated.`, + reason: 'Unsupported Heartbeat option', + }, + ], + }); + + for (const monitor of successfulMonitors) { + const journeyId = monitor.id; + const createdMonitorsResponse = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .query({ filter: `${syntheticsMonitorType}.attributes.journey_id: ${journeyId}` }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + const { rawBody: decryptedCreatedMonitor } = await monitorTestService.getMonitor( + createdMonitorsResponse.body.monitors[0].config_id, + { + internal: true, + user: editorUser, + } + ); + + expect(decryptedCreatedMonitor).to.eql({ + config_id: decryptedCreatedMonitor.config_id, + custom_heartbeat_id: `${journeyId}-${project}-default`, + enabled: true, + alert: { + status: { + enabled: true, + }, + tls: { + enabled: true, + }, + }, + form_monitor_type: 'icmp', + journey_id: journeyId, + locations: [ + { + geo: { + lat: 0, + lon: 0, + }, + id: testPolicyId1, + agentPolicyId: testPolicyId1, + isServiceManaged: false, + label: privateLocations[0].label, + }, + ], + name: monitor.name, + namespace: 'default', + origin: 'project', + original_space: 'default', + project_id: project, + revision: 1, + schedule: { + number: '1', + unit: 'm', + }, + 'service.name': '', + tags: Array.isArray(monitor.tags) ? monitor.tags : monitor.tags?.split(','), + timeout: '16', + type: 'icmp', + hosts: Array.isArray(monitor.hosts) ? monitor.hosts?.[0] : monitor.hosts, + wait: + monitor.wait?.slice(-1) === 's' + ? monitor.wait?.slice(0, -1) + : `${parseInt(monitor.wait?.slice(0, -1) || '1', 10) * 60}`, + id: `${journeyId}-${project}-default`, + hash: 'ekrjelkjrelkjre', + mode: 'any', + ipv4: true, + ipv6: true, + params: '', + max_attempts: 2, + updated_at: decryptedCreatedMonitor.updated_at, + created_at: decryptedCreatedMonitor.created_at, + labels: {}, + }); + } + } finally { + await Promise.all([ + successfulMonitors.map((monitor) => { + return deleteMonitor(monitor.id, project); + }), + ]); + } + }); + + it('project monitors - returns a list of successfully created monitors', async () => { + const project = `test-project-${uuidv4()}`; + try { + const { body } = await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(projectMonitors) + .expect(200); + + expect(body).eql({ + updatedMonitors: [], + failedMonitors: [], + createdMonitors: projectMonitors.monitors.map((monitor) => monitor.id), + }); + } finally { + await Promise.all([ + projectMonitors.monitors.map((monitor) => { + return deleteMonitor(monitor.id, project); + }), + ]); + } + }); + + it('project monitors - returns a list of successfully updated monitors', async () => { + const project = `test-project-${uuidv4()}`; + + try { + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(projectMonitors) + .expect(200); + const { body } = await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(projectMonitors) + .expect(200); + + expect(body).eql({ + createdMonitors: [], + failedMonitors: [], + updatedMonitors: projectMonitors.monitors.map((monitor) => monitor.id), + }); + } finally { + await Promise.all([ + projectMonitors.monitors.map((monitor) => { + return deleteMonitor(monitor.id, project); + }), + ]); + } + }); + + it('project monitors - validates monitor type', async () => { + const project = `test-project-${uuidv4()}`; + + try { + const { body } = await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: [{ ...projectMonitors.monitors[0], schedule: '3m', tags: '' }] }) + .expect(200); + + expect(body).eql({ + updatedMonitors: [], + failedMonitors: [ + { + details: 'Invalid value "3m" supplied to "schedule"', + id: projectMonitors.monitors[0].id, + payload: { + content: + 'UEsDBBQACAAIAON5qVQAAAAAAAAAAAAAAAAfAAAAZXhhbXBsZXMvdG9kb3MvYmFzaWMuam91cm5leS50c22Q0WrDMAxF3/sVF7MHB0LMXlc6RvcN+wDPVWNviW0sdUsp/fe5SSiD7UFCWFfHujIGlpnkybwxFTZfoY/E3hsaLEtwhs9RPNWKDU12zAOxkXRIbN4tB9d9pFOJdO6EN2HMqQguWN9asFBuQVMmJ7jiWNII9fIXrbabdUYr58l9IhwhQQZCYORCTFFUC31Btj21NRc7Mq4Nds+4bDD/pNVgT9F52Jyr2Fa+g75LAPttg8yErk+S9ELpTmVotlVwnfNCuh2lepl3+JflUmSBJ3uggt1v9INW/lHNLKze9dJe1J3QJK8pSvWkm6aTtCet5puq+x63+AFQSwcIAPQ3VfcAAACcAQAAUEsBAi0DFAAIAAgA43mpVAD0N1X3AAAAnAEAAB8AAAAAAAAAAAAgAKSBAAAAAGV4YW1wbGVzL3RvZG9zL2Jhc2ljLmpvdXJuZXkudHNQSwUGAAAAAAEAAQBNAAAARAEAAAAA', + filter: { + match: 'check if title is present', + }, + id: projectMonitors.monitors[0].id, + locations: [], + privateLocations: [privateLocations[0].label], + name: 'check if title is present', + params: {}, + playwrightOptions: { + chromiumSandbox: false, + headless: true, + }, + schedule: '3m', + tags: '', + throttling: { + download: 5, + latency: 20, + upload: 3, + }, + type: 'browser', + hash: 'ekrjelkjrelkjre', + max_attempts: 2, + }, + reason: "Couldn't save or update monitor because of an invalid configuration.", + }, + ], + createdMonitors: [], + }); + } finally { + await Promise.all([ + projectMonitors.monitors.map((monitor) => { + return deleteMonitor(monitor.id, project); + }), + ]); + } + }); + + it('project monitors - saves space as data stream namespace', async () => { + const project = `test-project-${uuidv4()}`; + const SPACE_ID = `test-space-${uuidv4()}`; + const SPACE_NAME = `test-space-name ${uuidv4()}`; + await kibanaServer.spaces.create({ id: SPACE_ID, name: SPACE_NAME }); + const spaceScopedPrivateLocation = await testPrivateLocations.addTestPrivateLocation( + SPACE_ID + ); + try { + await supertest + .put( + `/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace( + '{projectName}', + project + )}` + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: [ + { + ...projectMonitors.monitors[0], + privateLocations: [spaceScopedPrivateLocation.label], + }, + ], + }) + .expect(200); + // expect monitor not to have been deleted + const getResponse = await supertest + .get(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}`) + .query({ + filter: `${syntheticsMonitorType}.attributes.journey_id: ${projectMonitors.monitors[0].id}`, + }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + const { monitors } = getResponse.body; + expect(monitors.length).eql(1); + expect(monitors[0][ConfigKey.NAMESPACE]).eql(formatKibanaNamespace(SPACE_ID)); + } finally { + await deleteMonitor(projectMonitors.monitors[0].id, project, SPACE_ID); + } + }); + + it('project monitors - browser - handles custom namespace', async () => { + const project = `test-project-${uuidv4()}`; + const SPACE_ID = `test-space-${uuidv4()}`; + const SPACE_NAME = `test-space-name ${uuidv4()}`; + const customNamespace = 'custom.namespace'; + await kibanaServer.spaces.create({ id: SPACE_ID, name: SPACE_NAME }); + const spaceScopedPrivateLocation = await testPrivateLocations.addTestPrivateLocation( + SPACE_ID + ); + try { + await supertest + .put( + `/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace( + '{projectName}', + project + )}` + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: [ + { + ...projectMonitors.monitors[0], + namespace: customNamespace, + privateLocations: [spaceScopedPrivateLocation.label], + }, + ], + }) + .expect(200); + // expect monitor not to have been deleted + const getResponse = await supertest + .get(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}`) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .query({ + filter: `${syntheticsMonitorType}.attributes.journey_id: ${projectMonitors.monitors[0].id}`, + }) + .expect(200); + const { monitors } = getResponse.body; + expect(monitors.length).eql(1); + expect(monitors[0][ConfigKey.NAMESPACE]).eql(customNamespace); + } finally { + await deleteMonitor(projectMonitors.monitors[0].id, project, SPACE_ID); + } + }); + + it('project monitors - lightweight - handles custom namespace', async () => { + const project = `test-project-${uuidv4()}`; + const SPACE_ID = `test-space-${uuidv4()}`; + const SPACE_NAME = `test-space-name ${uuidv4()}`; + const customNamespace = 'custom.namespace'; + await kibanaServer.spaces.create({ id: SPACE_ID, name: SPACE_NAME }); + const spaceScopedPrivateLocation = await testPrivateLocations.addTestPrivateLocation( + SPACE_ID + ); + try { + await supertest + .put( + `/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace( + '{projectName}', + project + )}` + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: [ + { + ...httpProjectMonitors.monitors[1], + namespace: customNamespace, + privateLocations: [spaceScopedPrivateLocation.label], + }, + ], + }) + .expect(200); + + // expect monitor not to have been deleted + const getResponse = await supertest + .get(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}`) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .query({ + filter: `${syntheticsMonitorType}.attributes.journey_id: ${httpProjectMonitors.monitors[1].id}`, + }) + .set('kbn-xsrf', 'true') + .expect(200); + const { monitors } = getResponse.body; + expect(monitors.length).eql(1); + expect(monitors[0][ConfigKey.NAMESPACE]).eql(customNamespace); + } finally { + await deleteMonitor(httpProjectMonitors.monitors[1].id, project, SPACE_ID); + } + }); + + it('project monitors - browser - handles custom namespace errors', async () => { + const project = `test-project-${uuidv4()}`; + const SPACE_ID = `test-space-${uuidv4()}`; + const SPACE_NAME = `test-space-name ${uuidv4()}`; + const customNamespace = 'custom-namespace'; + await kibanaServer.spaces.create({ id: SPACE_ID, name: SPACE_NAME }); + const spaceScopedPrivateLocation = await testPrivateLocations.addTestPrivateLocation( + SPACE_ID + ); + const { body } = await supertest + .put( + `/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace( + '{projectName}', + project + )}` + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: [ + { + ...projectMonitors.monitors[0], + namespace: customNamespace, + privateLocations: [spaceScopedPrivateLocation.label], + }, + ], + }) + .expect(200); + // expect monitor not to have been deleted + expect(body).to.eql({ + createdMonitors: [], + failedMonitors: [ + { + details: 'Namespace contains invalid characters', + id: projectMonitors.monitors[0].id, + reason: 'Invalid namespace', + }, + ], + updatedMonitors: [], + }); + }); + + it('project monitors - lightweight - handles custom namespace errors', async () => { + const project = `test-project-${uuidv4()}`; + const SPACE_ID = `test-space-${uuidv4()}`; + const SPACE_NAME = `test-space-name ${uuidv4()}`; + const customNamespace = 'custom-namespace'; + await kibanaServer.spaces.create({ id: SPACE_ID, name: SPACE_NAME }); + const spaceScopedPrivateLocation = await testPrivateLocations.addTestPrivateLocation( + SPACE_ID + ); + const { body } = await supertest + .put( + `/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace( + '{projectName}', + project + )}` + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: [ + { + ...httpProjectMonitors.monitors[1], + namespace: customNamespace, + privateLocations: [spaceScopedPrivateLocation.label], + }, + ], + }) + .expect(200); + // expect monitor not to have been deleted + expect(body).to.eql({ + createdMonitors: [], + failedMonitors: [ + { + details: 'Namespace contains invalid characters', + id: httpProjectMonitors.monitors[1].id, + reason: 'Invalid namespace', + }, + ], + updatedMonitors: [], + }); + }); + + it('project monitors - handles editing with spaces', async () => { + const project = `test-project-${uuidv4()}`; + const SPACE_ID = `test-space-${uuidv4()}`; + const SPACE_NAME = `test-space-name ${uuidv4()}`; + await kibanaServer.spaces.create({ id: SPACE_ID, name: SPACE_NAME }); + const spaceScopedPrivateLocation = await testPrivateLocations.addTestPrivateLocation( + SPACE_ID + ); + try { + await supertest + .put( + `/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace( + '{projectName}', + project + )}` + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: projectMonitors.monitors.map((monitor) => ({ + ...monitor, + privateLocations: [spaceScopedPrivateLocation.label], + })), + }) + .expect(200); + // expect monitor not to have been deleted + const getResponse = await supertest + .get(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}`) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .query({ + filter: `${syntheticsMonitorType}.attributes.journey_id: ${projectMonitors.monitors[0].id}`, + }) + .set('kbn-xsrf', 'true') + .expect(200); + + const decryptedCreatedMonitor = await monitorTestService.getMonitor( + getResponse.body.monitors[0].config_id, + { internal: true, space: SPACE_ID, user: editorUser } + ); + const { monitors } = getResponse.body; + expect(monitors.length).eql(1); + expect(decryptedCreatedMonitor.body[ConfigKey.SOURCE_PROJECT_CONTENT]).eql( + projectMonitors.monitors[0].content + ); + + const updatedSource = 'updatedSource'; + // update monitor + await supertest + .put( + `/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace( + '{projectName}', + project + )}` + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + ...projectMonitors, + monitors: [ + { + ...projectMonitors.monitors[0], + content: updatedSource, + privateLocations: [spaceScopedPrivateLocation.label], + }, + ], + }) + .expect(200); + const getResponseUpdated = await supertest + .get(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}`) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .query({ + filter: `${syntheticsMonitorType}.attributes.journey_id: ${projectMonitors.monitors[0].id}`, + }) + .expect(200); + const { monitors: monitorsUpdated } = getResponseUpdated.body; + expect(monitorsUpdated.length).eql(1); + + const decryptedUpdatedMonitor = await monitorTestService.getMonitor( + monitorsUpdated[0].config_id, + { internal: true, space: SPACE_ID, user: editorUser } + ); + expect(decryptedUpdatedMonitor.body[ConfigKey.SOURCE_PROJECT_CONTENT]).eql(updatedSource); + } finally { + await deleteMonitor(projectMonitors.monitors[0].id, project, SPACE_ID); + } + }); + + it('project monitors - formats custom id appropriately', async () => { + const project = `test project ${uuidv4()}`; + const SPACE_ID = `test-space-${uuidv4()}`; + const SPACE_NAME = `test-space-name ${uuidv4()}`; + await kibanaServer.spaces.create({ id: SPACE_ID, name: SPACE_NAME }); + const spaceScopedPrivateLocation = await testPrivateLocations.addTestPrivateLocation( + SPACE_ID + ); + try { + await supertest + .put( + `/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace( + '{projectName}', + project + )}` + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: [ + { + ...projectMonitors.monitors[0], + privateLocations: [spaceScopedPrivateLocation.label], + }, + ], + }) + .expect(200); + const getResponse = await supertest + .get(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}`) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .query({ + filter: `${syntheticsMonitorType}.attributes.journey_id: ${projectMonitors.monitors[0].id}`, + }) + .expect(200); + const { monitors } = getResponse.body; + expect(monitors.length).eql(1); + expect(monitors[0][ConfigKey.CUSTOM_HEARTBEAT_ID]).eql( + `${projectMonitors.monitors[0].id}-${project}-${SPACE_ID}` + ); + } finally { + await deleteMonitor(projectMonitors.monitors[0].id, project, SPACE_ID); + } + }); + + it('project monitors - is able to decrypt monitor when updated after hydration', async () => { + const project = `test-project-${uuidv4()}`; + try { + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(projectMonitors) + .expect(200); + + const response = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .query({ + filter: `${syntheticsMonitorType}.attributes.journey_id: ${projectMonitors.monitors[0].id}`, + }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + const { monitors } = response.body; + + // update project monitor via push api + const { body } = await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(projectMonitors) + .expect(200); + + expect(body).eql({ + updatedMonitors: [projectMonitors.monitors[0].id], + createdMonitors: [], + failedMonitors: [], + }); + + // ensure that monitor can still be decrypted + await monitorTestService.getMonitor(monitors[0]?.config_id, { user: editorUser }); + } finally { + await Promise.all([ + projectMonitors.monitors.map((monitor) => deleteMonitor(monitor.id, project)), + ]); + } + }); + + it('project monitors - is able to enable and disable monitors', async () => { + const project = `test-project-${uuidv4()}`; + + try { + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(projectMonitors); + + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + ...projectMonitors, + monitors: [ + { + ...projectMonitors.monitors[0], + enabled: false, + }, + ], + }) + .expect(200); + const response = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .query({ + filter: `${syntheticsMonitorType}.attributes.journey_id: ${projectMonitors.monitors[0].id}`, + }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + const { monitors } = response.body; + expect(monitors[0].enabled).eql(false); + } finally { + await Promise.all([ + projectMonitors.monitors.map((monitor) => { + return deleteMonitor(monitor.id, project); + }), + ]); + } + }); + + it('project monitors - cannot update project monitors with read only privileges', async () => { + const project = `test-project-${uuidv4()}`; + + const secondMonitor = { + ...projectMonitors.monitors[0], + id: 'test-id-2', + privateLocations: [privateLocations[0].label], + }; + const testMonitors = [projectMonitors.monitors[0], secondMonitor]; + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(viewerUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: testMonitors }) + .expect(403); + }); + + it('creates integration policies for project monitors with private locations', async () => { + const project = `test-project-${uuidv4()}`; + + try { + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + ...projectMonitors, + monitors: [ + { ...projectMonitors.monitors[0], privateLocations: [privateLocations[0].label] }, + ], + }) + .expect(200); + + const monitorsResponse = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .query({ + filter: `${syntheticsMonitorType}.attributes.journey_id: ${projectMonitors.monitors[0].id}`, + }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + const apiResponsePolicy = await supertestWithAuth.get( + '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + ); + + const packagePolicy = apiResponsePolicy.body.items.find( + (pkgPolicy: PackagePolicy) => + pkgPolicy.id === + `${monitorsResponse.body.monitors[0][ConfigKey.CUSTOM_HEARTBEAT_ID]}-${testPolicyId1}` + ); + expect(packagePolicy.name).eql( + `${projectMonitors.monitors[0].id}-${project}-default-${privateLocations[0].label}` + ); + expect(packagePolicy.policy_id).eql(testPolicyId1); + + const configId = monitorsResponse.body.monitors[0].config_id; + const id = monitorsResponse.body.monitors[0][ConfigKey.CUSTOM_HEARTBEAT_ID]; + + comparePolicies( + packagePolicy, + getTestProjectSyntheticsPolicy({ + inputs: {}, + name: `check if title is present-${privateLocations[0].label}`, + id, + configId, + projectId: project, + locationId: testPolicyId1, + locationName: privateLocations[0].label, + }) + ); + } finally { + await deleteMonitor(projectMonitors.monitors[0].id, project); + + const packagesResponse = await supertestWithAuth.get( + '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + ); + expect(packagesResponse.body.items.length).eql(0); + } + }); + + it('creates integration policies for project monitors with private locations - lightweight', async () => { + const project = `test-project-${uuidv4()}`; + + try { + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + ...httpProjectMonitors, + monitors: [ + { + ...httpProjectMonitors.monitors[1], + 'check.request.body': '${testGlobalParam}', + privateLocations: [privateLocations[0].label], + }, + ], + }) + .expect(200); + + const monitorsResponse = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .query({ + filter: `${syntheticsMonitorType}.attributes.journey_id: ${httpProjectMonitors.monitors[1].id}`, + }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + const apiResponsePolicy = await supertestWithAuth.get( + '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + ); + + const packagePolicy = apiResponsePolicy.body.items.find( + (pkgPolicy: PackagePolicy) => + pkgPolicy.id === + `${monitorsResponse.body.monitors[0][ConfigKey.CUSTOM_HEARTBEAT_ID]}-${testPolicyId1}` + ); + expect(packagePolicy.name).eql( + `${httpProjectMonitors.monitors[1].id}-${project}-default-${privateLocations[0].label}` + ); + expect(packagePolicy.policy_id).eql(testPolicyId1); + + const configId = monitorsResponse.body.monitors[0].config_id; + const id = monitorsResponse.body.monitors[0][ConfigKey.CUSTOM_HEARTBEAT_ID]; + + comparePolicies( + packagePolicy, + getTestProjectSyntheticsPolicyLightweight({ + inputs: {}, + name: 'My Monitor 3', + id, + configId, + projectId: project, + locationName: privateLocations[0].label, + locationId: testPolicyId1, + }) + ); + } finally { + await deleteMonitor(httpProjectMonitors.monitors[1].id, project); + + const packagesResponse = await supertestWithAuth.get( + '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + ); + expect(packagesResponse.body.items.length).eql(0); + } + }); + + it('deletes integration policies for project monitors when private location is removed from the monitor - lightweight', async () => { + const project = `test-project-${uuidv4()}`; + + const monitorRequest = { + monitors: [ + { + ...httpProjectMonitors.monitors[1], + privateLocations: [privateLocations[0].label, privateLocations[1].label], + }, + ], + }; + try { + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(monitorRequest) + .expect(200); + + const monitorsResponse = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .query({ + filter: `${syntheticsMonitorType}.attributes.journey_id: ${monitorRequest.monitors[0].id}`, + }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + const apiResponsePolicy = await supertestWithAuth.get( + '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + ); + + const packagePolicy = apiResponsePolicy.body.items.find( + (pkgPolicy: PackagePolicy) => + pkgPolicy.id === + `${monitorsResponse.body.monitors[0][ConfigKey.CUSTOM_HEARTBEAT_ID]}-${testPolicyId1}` + ); + + expect(packagePolicy.policy_id).eql(testPolicyId1); + + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: [ + { ...monitorRequest.monitors[0], privateLocations: [privateLocations[1].label] }, + ], + }) + .expect(200); + + const apiResponsePolicy2 = await supertestWithAuth.get( + '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + ); + + const packagePolicy2 = apiResponsePolicy2.body.items.find( + (pkgPolicy: PackagePolicy) => + pkgPolicy.id === + `${monitorsResponse.body.monitors[0][ConfigKey.CUSTOM_HEARTBEAT_ID]}-${testPolicyId1}` + ); + + expect(packagePolicy2).eql(undefined); + } finally { + await deleteMonitor(projectMonitors.monitors[0].id, project); + } + }); + + it('deletes integration policies for project monitors when private location is removed from the monitor', async () => { + const project = `test-project-${uuidv4()}`; + + try { + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: [ + { + ...projectMonitors.monitors[0], + privateLocations: [privateLocations[0].label, privateLocations[1].label], + }, + ], + }) + .expect(200); + + const monitorsResponse = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .query({ + filter: `${syntheticsMonitorType}.attributes.journey_id: ${projectMonitors.monitors[0].id}`, + }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + const apiResponsePolicy = await supertestWithAuth.get( + '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + ); + + const packagePolicy = apiResponsePolicy.body.items.find( + (pkgPolicy: PackagePolicy) => + pkgPolicy.id === + `${monitorsResponse.body.monitors[0][ConfigKey.CUSTOM_HEARTBEAT_ID]}-${testPolicyId1}` + ); + + expect(packagePolicy.policy_id).eql(testPolicyId1); + + const configId = monitorsResponse.body.monitors[0].config_id; + const id = monitorsResponse.body.monitors[0][ConfigKey.CUSTOM_HEARTBEAT_ID]; + + comparePolicies( + packagePolicy, + getTestProjectSyntheticsPolicy({ + inputs: {}, + name: `check if title is present-${privateLocations[0].label}`, + id, + configId, + projectId: project, + locationId: testPolicyId1, + locationName: privateLocations[0].label, + }) + ); + + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: [ + { ...projectMonitors.monitors[0], privateLocations: [privateLocations[1].label] }, + ], + }) + .expect(200); + + const apiResponsePolicy2 = await supertestWithAuth.get( + '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + ); + + const packagePolicy2 = apiResponsePolicy2.body.items.find( + (pkgPolicy: PackagePolicy) => + pkgPolicy.id === + `${monitorsResponse.body.monitors[0][ConfigKey.CUSTOM_HEARTBEAT_ID]}-${testPolicyId1}` + ); + + expect(packagePolicy2).eql(undefined); + } finally { + await deleteMonitor(projectMonitors.monitors[0].id, project); + + const apiResponsePolicy2 = await supertestWithAuth.get( + '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + ); + expect(apiResponsePolicy2.body.items.length).eql(0); + } + }); + + it('handles updating package policies when project monitors are updated', async () => { + const project = `test-project-${uuidv4()}`; + + try { + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: [ + { + ...projectMonitors.monitors[0], + privateLocations: [privateLocations[0].label], + }, + ], + }); + + const monitorsResponse = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .query({ + filter: `${syntheticsMonitorType}.attributes.journey_id: ${projectMonitors.monitors[0].id}`, + }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + const apiResponsePolicy = await supertestWithAuth.get( + '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + ); + + const configId = monitorsResponse.body.monitors[0].id; + const id = monitorsResponse.body.monitors[0][ConfigKey.CUSTOM_HEARTBEAT_ID]; + const policyId = `${id}-${testPolicyId1}`; + + const packagePolicy = apiResponsePolicy.body.items.find( + (pkgPolicy: PackagePolicy) => pkgPolicy.id === policyId + ); + + expect(packagePolicy.policy_id).eql(testPolicyId1); + + comparePolicies( + packagePolicy, + getTestProjectSyntheticsPolicy({ + inputs: {}, + name: `check if title is present-${privateLocations[0].label}`, + id, + configId, + projectId: project, + locationId: testPolicyId1, + locationName: privateLocations[0].label, + }) + ); + + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: [ + { + ...projectMonitors.monitors[0], + namespace: 'custom_namespace', + privateLocations: [privateLocations[0].label], + enabled: false, + }, + ], + }); + + const apiResponsePolicy2 = await supertestWithAuth.get( + '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + ); + + const configId2 = monitorsResponse.body.monitors[0].id; + const id2 = monitorsResponse.body.monitors[0][ConfigKey.CUSTOM_HEARTBEAT_ID]; + const policyId2 = `${id}-${testPolicyId1}`; + + const packagePolicy2 = apiResponsePolicy2.body.items.find( + (pkgPolicy: PackagePolicy) => pkgPolicy.id === policyId2 + ); + + comparePolicies( + packagePolicy2, + getTestProjectSyntheticsPolicy({ + inputs: { enabled: { value: false, type: 'bool' } }, + name: `check if title is present-${privateLocations[0].label}`, + id: id2, + configId: configId2, + projectId: project, + locationId: testPolicyId1, + locationName: privateLocations[0].label, + namespace: 'custom_namespace', + }) + ); + } finally { + await deleteMonitor(projectMonitors.monitors[0].id, project); + + const apiResponsePolicy2 = await supertestWithAuth.get( + '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + ); + expect(apiResponsePolicy2.body.items.length).eql(0); + } + }); + + // this test is skipped because it would fail in MKI due to public locations not being available + it.skip('handles location formatting for both private and public locations', async () => { + const project = `test-project-${uuidv4()}`; + try { + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: [ + { ...projectMonitors.monitors[0], privateLocations: [privateLocations[0].label] }, + ], + }); + + const updatedMonitorsResponse = await Promise.all( + projectMonitors.monitors.map((monitor) => { + return supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .query({ + filter: `${syntheticsMonitorType}.attributes.journey_id: ${monitor.id}`, + internal: true, + }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + }) + ); + + updatedMonitorsResponse.forEach( + (response: { + body: { monitors: Array<{ locations: Array }> }; + }) => { + expect(response.body.monitors[0].locations).eql([ + { + id: 'dev', + label: 'Dev Service', + geo: { lat: 0, lon: 0 }, + isServiceManaged: true, + }, + { + label: privateLocations[0].label, + isServiceManaged: false, + agentPolicyId: testPolicyId1, + id: testPolicyId1, + geo: { + lat: 0, + lon: 0, + }, + }, + ]); + } + ); + } finally { + await Promise.all([ + projectMonitors.monitors.map((monitor) => { + return deleteMonitor(monitor.id, project); + }), + ]); + } + }); + + it('only allows 250 requests at a time', async () => { + const project = `test-project-${uuidv4()}`; + const monitors = []; + for (let i = 0; i < 251; i++) { + monitors.push({ + ...projectMonitors.monitors[0], + id: `test-id-${i}`, + name: `test-name-${i}`, + }); + } + + try { + const { + body: { message }, + } = await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors, + }) + .expect(400); + + expect(message).to.eql(REQUEST_TOO_LARGE); + } finally { + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ ...projectMonitors, project }); + } + }); + + it('project monitors - cannot update a monitor of one type to another type', async () => { + const project = `test-project-${uuidv4()}`; + + try { + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(projectMonitors) + .expect(200); + const { body } = await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: [{ ...httpProjectMonitors.monitors[1], id: projectMonitors.monitors[0].id }], + }) + .expect(200); + expect(body).eql({ + createdMonitors: [], + updatedMonitors: [], + failedMonitors: [ + { + details: `Monitor ${projectMonitors.monitors[0].id} of type browser cannot be updated to type http. Please delete the monitor first and try again.`, + payload: { + 'check.request': { + headers: { + 'Content-Type': 'application/x-www-form-urlencoded', + }, + method: 'POST', + }, + 'check.response': { + body: { + positive: ['${testLocal1}', 'saved'], + }, + status: [200], + json: [{ description: 'check status', expression: 'foo.bar == "myValue"' }], + }, + enabled: false, + hash: 'ekrjelkjrelkjre', + id: projectMonitors.monitors[0].id, + locations: [], + privateLocations: [privateLocations[0].label], + name: 'My Monitor 3', + response: { + include_body: 'always', + include_body_max_bytes: 900, + }, + 'response.include_headers': false, + schedule: 60, + timeout: '80s', + type: 'http', + tags: 'tag2,tag2', + urls: ['http://localhost:9200'], + 'ssl.verification_mode': 'strict', + params: { + testGlobalParam2: 'testGlobalParamOverwrite', + testLocal1: 'testLocalParamsValue', + }, + proxy_url: '${testGlobalParam2}', + max_attempts: 2, + }, + reason: 'Cannot update monitor to different type.', + }, + ], + }); + } finally { + await Promise.all([ + projectMonitors.monitors.map((monitor) => { + return deleteMonitor(monitor.id, project); + }), + ]); + } + }); + + it('project monitors - handles alert config without adding arbitrary fields', async () => { + const project = `test-project-${uuidv4()}`; + const testAlert = { + status: { + enabled: false, + doesnotexit: true, + tls: { + enabled: true, + }, + }, + }; + try { + await supertest + .put( + `${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace( + '{projectName}', + project + )}` + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: [ + { + ...httpProjectMonitors.monitors[1], + alert: testAlert, + }, + ], + }) + .expect(200); + const getResponse = await supertest + .get(`${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}`) + .query({ + filter: `${syntheticsMonitorType}.attributes.journey_id: ${httpProjectMonitors.monitors[1].id}`, + }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + const { monitors } = getResponse.body; + expect(monitors.length).eql(1); + expect(monitors[0][ConfigKey.ALERT_CONFIG]).eql({ + status: { + enabled: testAlert.status.enabled, + }, + tls: { + enabled: true, + }, + }); + } finally { + await deleteMonitor(httpProjectMonitors.monitors[1].id, project); + } + }); + + it('project monitors - handles sending invalid public location', async () => { + const project = `test-project-${uuidv4()}`; + try { + const response = await supertest + .put( + `${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace( + '{projectName}', + project + )}` + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: [ + { + ...httpProjectMonitors.monitors[1], + locations: ['does not exist'], + }, + ], + }) + .expect(200); + rawExpect(response.body).toEqual({ + createdMonitors: [], + failedMonitors: [ + { + details: rawExpect.stringContaining( + "Invalid locations specified. Elastic managed Location(s) 'does not exist' not found." + ), + id: httpProjectMonitors.monitors[1].id, + payload: { + 'check.request': { + headers: { + 'Content-Type': 'application/x-www-form-urlencoded', + }, + method: 'POST', + }, + 'check.response': { + body: { + positive: ['${testLocal1}', 'saved'], + }, + status: [200], + json: [ + { + description: 'check status', + expression: 'foo.bar == "myValue"', + }, + ], + }, + enabled: false, + hash: 'ekrjelkjrelkjre', + id: httpProjectMonitors.monitors[1].id, + locations: ['does not exist'], + privateLocations: [privateLocations[0].label], + name: 'My Monitor 3', + response: { + include_body: 'always', + include_body_max_bytes: 900, + }, + 'response.include_headers': false, + schedule: 60, + 'ssl.verification_mode': 'strict', + tags: 'tag2,tag2', + timeout: '80s', + type: 'http', + urls: ['http://localhost:9200'], + params: { + testGlobalParam2: 'testGlobalParamOverwrite', + testLocal1: 'testLocalParamsValue', + }, + proxy_url: '${testGlobalParam2}', + max_attempts: 2, + }, + reason: "Couldn't save or update monitor because of an invalid configuration.", + }, + ], + updatedMonitors: [], + }); + } finally { + await deleteMonitor(httpProjectMonitors.monitors[1].id, project); + } + }); + + it('project monitors - handles sending invalid private locations', async () => { + const project = `test-project-${uuidv4()}`; + try { + const response = await supertest + .put( + `${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace( + '{projectName}', + project + )}` + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: [ + { + ...httpProjectMonitors.monitors[1], + locations: [], + privateLocations: ['does not exist'], + }, + ], + }) + .expect(200); + expect(response.body).eql({ + createdMonitors: [], + failedMonitors: [ + { + details: `Invalid locations specified. Private Location(s) 'does not exist' not found. Available private locations are '${privateLocations[0].label}|${privateLocations[1].label}'`, + id: httpProjectMonitors.monitors[1].id, + payload: { + 'check.request': { + headers: { + 'Content-Type': 'application/x-www-form-urlencoded', + }, + method: 'POST', + }, + 'check.response': { + body: { + positive: ['${testLocal1}', 'saved'], + }, + status: [200], + json: [ + { + description: 'check status', + expression: 'foo.bar == "myValue"', + }, + ], + }, + enabled: false, + hash: 'ekrjelkjrelkjre', + id: httpProjectMonitors.monitors[1].id, + privateLocations: ['does not exist'], + name: 'My Monitor 3', + response: { + include_body: 'always', + include_body_max_bytes: 900, + }, + 'response.include_headers': false, + schedule: 60, + 'ssl.verification_mode': 'strict', + tags: 'tag2,tag2', + timeout: '80s', + type: 'http', + urls: ['http://localhost:9200'], + locations: [], + params: { + testGlobalParam2: 'testGlobalParamOverwrite', + testLocal1: 'testLocalParamsValue', + }, + proxy_url: '${testGlobalParam2}', + max_attempts: 2, + }, + reason: "Couldn't save or update monitor because of an invalid configuration.", + }, + ], + updatedMonitors: [], + }); + } finally { + await deleteMonitor(httpProjectMonitors.monitors[1].id, project); + } + }); + + it('project monitors - handles no locations specified', async () => { + const project = `test-project-${uuidv4()}`; + try { + const response = await supertest + .put( + `${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace( + '{projectName}', + project + )}` + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: [ + { + ...httpProjectMonitors.monitors[1], + privateLocations: [], + locations: [], + }, + ], + }) + .expect(200); + expect(response.body).eql({ + createdMonitors: [], + failedMonitors: [ + { + details: 'You must add at least one location or private location to this monitor.', + id: httpProjectMonitors.monitors[1].id, + payload: { + 'check.request': { + headers: { + 'Content-Type': 'application/x-www-form-urlencoded', + }, + method: 'POST', + }, + 'check.response': { + body: { + positive: ['${testLocal1}', 'saved'], + }, + status: [200], + json: [ + { + description: 'check status', + expression: 'foo.bar == "myValue"', + }, + ], + }, + enabled: false, + hash: 'ekrjelkjrelkjre', + id: httpProjectMonitors.monitors[1].id, + privateLocations: [], + name: 'My Monitor 3', + response: { + include_body: 'always', + include_body_max_bytes: 900, + }, + 'response.include_headers': false, + schedule: 60, + 'ssl.verification_mode': 'strict', + tags: 'tag2,tag2', + timeout: '80s', + type: 'http', + urls: ['http://localhost:9200'], + locations: [], + params: { + testGlobalParam2: 'testGlobalParamOverwrite', + testLocal1: 'testLocalParamsValue', + }, + proxy_url: '${testGlobalParam2}', + max_attempts: 2, + }, + reason: "Couldn't save or update monitor because of an invalid configuration.", + }, + ], + updatedMonitors: [], + }); + } finally { + await deleteMonitor(httpProjectMonitors.monitors[1].id, project); + } + }); + }); +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/create_monitor_project_private_location.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/create_monitor_project_private_location.ts new file mode 100644 index 0000000000000..a8f98dac2bf61 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/create_monitor_project_private_location.ts @@ -0,0 +1,162 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { v4 as uuidv4 } from 'uuid'; +import expect from '@kbn/expect'; +import { RoleCredentials } from '@kbn/ftr-common-functional-services'; +import { ProjectMonitorsRequest } from '@kbn/synthetics-plugin/common/runtime_types'; +import { SYNTHETICS_API_URLS } from '@kbn/synthetics-plugin/common/constants'; +import { DeploymentAgnosticFtrProviderContext } from '../../../ftr_provider_context'; +import { getFixtureJson } from './helpers/get_fixture_json'; +import { PrivateLocationTestService } from '../../../services/synthetics_private_location'; +import { SyntheticsMonitorTestService } from '../../../services/synthetics_monitor'; + +export default function ({ getService }: DeploymentAgnosticFtrProviderContext) { + describe('AddProjectMonitorsPrivateLocations', function () { + const supertest = getService('supertestWithoutAuth'); + const kibanaServer = getService('kibanaServer'); + const samlAuth = getService('samlAuth'); + + let projectMonitors: ProjectMonitorsRequest; + let editorUser: RoleCredentials; + + const monitorTestService = new SyntheticsMonitorTestService(getService); + + let testPolicyId; + let testPrivateLocationName: string; + const testPolicyName = `Fleet test server policy ${uuidv4()}`; + const testPrivateLocationsService = new PrivateLocationTestService(getService); + + const setUniqueIds = (request: ProjectMonitorsRequest) => { + return { + ...request, + monitors: request.monitors.map((monitor) => ({ ...monitor, id: uuidv4() })), + }; + }; + + before(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + editorUser = await samlAuth.createM2mApiKeyWithRoleScope('editor'); + await supertest + .put(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + await testPrivateLocationsService.installSyntheticsPackage(); + + const apiResponse = await testPrivateLocationsService.addFleetPolicy(testPolicyName); + testPolicyId = apiResponse.body.item.id; + const testPrivateLocations = await testPrivateLocationsService.setTestLocations([ + testPolicyId, + ]); + testPrivateLocationName = testPrivateLocations[0].label; + }); + + after(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + }); + + beforeEach(() => { + projectMonitors = setUniqueIds({ + monitors: getFixtureJson('project_browser_monitor').monitors.map( + (monitor: Record) => { + return { + ...monitor, + name: `test-monitor-${uuidv4()}`, + type: 'browser', + locations: [], + privateLocations: [testPrivateLocationName], + }; + } + ), + }); + }); + + it('project monitors - returns a failed monitor when creating integration fails', async () => { + const project = `test-project-${uuidv4()}`; + + const secondMonitor = { + ...projectMonitors.monitors[0], + id: 'test-id-2', + privateLocations: ['Test private location 7'], + }; + const testMonitors = [ + projectMonitors.monitors[0], + { + ...secondMonitor, + name: '!@#$%^&*()_++[\\-\\]- wow name', + }, + ]; + try { + const { body, status } = await monitorTestService.addProjectMonitors( + project, + testMonitors, + editorUser + ); + expect(status).eql(200); + expect(body.createdMonitors.length).eql(1); + expect(body.failedMonitors[0].reason).eql( + "Couldn't save or update monitor because of an invalid configuration." + ); + } finally { + await Promise.all([ + testMonitors.map((monitor) => { + return monitorTestService.deleteMonitorByJourney( + monitor.id, + project, + 'default', + editorUser + ); + }), + ]); + } + }); + + it('project monitors - returns a failed monitor when editing integration fails', async () => { + const project = `test-project-${uuidv4()}`; + + const secondMonitor = { + ...projectMonitors.monitors[0], + id: 'test-id-2', + privateLocations: [testPrivateLocationName], + }; + const testMonitors = [projectMonitors.monitors[0], secondMonitor]; + const { body, status: status0 } = await monitorTestService.addProjectMonitors( + project, + testMonitors, + editorUser + ); + expect(status0).eql(200); + + expect(body.createdMonitors.length).eql(2); + const { body: editedBody, status: editedStatus } = + await monitorTestService.addProjectMonitors(project, testMonitors, editorUser); + expect(editedStatus).eql(200); + + expect(editedBody.createdMonitors.length).eql(0); + expect(editedBody.updatedMonitors.length).eql(2); + + testMonitors[1].name = '!@#$%^&*()_++[\\-\\]- wow name'; + testMonitors[1].privateLocations = ['Test private location 8']; + + const { body: editedBodyError, status } = await monitorTestService.addProjectMonitors( + project, + testMonitors, + editorUser + ); + expect(status).eql(200); + expect(editedBodyError.createdMonitors.length).eql(0); + expect(editedBodyError.updatedMonitors.length).eql(1); + expect(editedBodyError.failedMonitors.length).eql(1); + expect(editedBodyError.failedMonitors[0].details).eql( + `Invalid locations specified. Private Location(s) 'Test private location 8' not found. Available private locations are '${testPrivateLocationName}'` + ); + expect(editedBodyError.failedMonitors[0].reason).eql( + "Couldn't save or update monitor because of an invalid configuration." + ); + }); + }); +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/create_monitor_public_api.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/create_monitor_public_api.ts new file mode 100644 index 0000000000000..2c41d5c58f298 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/create_monitor_public_api.ts @@ -0,0 +1,280 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import expect from '@kbn/expect'; +import rawExpect from 'expect'; +import { v4 as uuidv4 } from 'uuid'; +import { RoleCredentials } from '@kbn/ftr-common-functional-services'; +import { PrivateLocation } from '@kbn/synthetics-plugin/common/runtime_types'; +import { DEFAULT_FIELDS } from '@kbn/synthetics-plugin/common/constants/monitor_defaults'; +import { LOCATION_REQUIRED_ERROR } from '@kbn/synthetics-plugin/server/routes/monitor_cruds/monitor_validation'; +import { DeploymentAgnosticFtrProviderContext } from '../../../ftr_provider_context'; +import { addMonitorAPIHelper, omitMonitorKeys } from './create_monitor'; +import { PrivateLocationTestService } from '../../../services/synthetics_private_location'; + +export default function ({ getService }: DeploymentAgnosticFtrProviderContext) { + describe('AddNewMonitorsPublicAPI', function () { + const supertestAPI = getService('supertestWithoutAuth'); + const kibanaServer = getService('kibanaServer'); + const samlAuth = getService('samlAuth'); + let editorUser: RoleCredentials; + let privateLocation: PrivateLocation; + const privateLocationTestService = new PrivateLocationTestService(getService); + + async function addMonitorAPI(monitor: any, statusCode: number = 200) { + return await addMonitorAPIHelper(supertestAPI, monitor, statusCode, editorUser, samlAuth); + } + + before(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + editorUser = await samlAuth.createM2mApiKeyWithRoleScope('editor'); + privateLocation = await privateLocationTestService.addTestPrivateLocation(); + }); + + after(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + }); + + it('should return error for empty monitor', async function () { + const { message } = await addMonitorAPI({}, 400); + expect(message).eql('Invalid value "undefined" supplied to "type"'); + }); + + it('return error if no location specified', async () => { + const { message } = await addMonitorAPI({ type: 'http' }, 400); + expect(message).eql(LOCATION_REQUIRED_ERROR); + }); + + it('return error if invalid location specified', async () => { + const { message } = await addMonitorAPI({ type: 'http', locations: ['mars'] }, 400); + rawExpect(message).toContain( + "Invalid locations specified. Elastic managed Location(s) 'mars' not found." + ); + }); + + it('return error if invalid private location specified', async () => { + const { message } = await addMonitorAPI( + { + type: 'http', + locations: ['mars'], + privateLocations: ['moon'], + }, + 400 + ); + expect(message).eql('Invalid monitor key(s) for http type: privateLocations'); + + const result = await addMonitorAPI( + { + type: 'http', + locations: ['mars'], + private_locations: ['moon'], + }, + 400 + ); + rawExpect(result.message).toContain("Private Location(s) 'moon' not found."); + }); + + it('return error for origin project', async () => { + const { message } = await addMonitorAPI( + { + type: 'http', + locations: ['dev'], + url: 'https://www.google.com', + origin: 'project', + }, + 400 + ); + expect(message).eql('Unsupported origin type project, only ui type is supported via API.'); + }); + + describe('HTTP Monitor', () => { + const defaultFields = DEFAULT_FIELDS.http; + it('return error empty http', async () => { + const { message, attributes } = await addMonitorAPI( + { + type: 'http', + locations: [], + private_locations: [privateLocation.id], + }, + 400 + ); + + expect(message).eql('Monitor is not a valid monitor of type http'); + expect(attributes).eql({ + details: + 'Invalid field "url", must be a non-empty string. | Invalid value "undefined" supplied to "name"', + payload: { type: 'http' }, + }); + }); + + it('base http monitor', async () => { + const monitor = { + type: 'http', + private_locations: [privateLocation.id], + url: 'https://www.google.com', + }; + const { body: result } = await addMonitorAPI(monitor); + + expect(result).eql( + omitMonitorKeys({ + ...defaultFields, + ...monitor, + locations: [privateLocation], + name: 'https://www.google.com', + }) + ); + }); + + it('can enable retries', async () => { + const name = `test name ${uuidv4()}`; + const monitor = { + type: 'http', + private_locations: [privateLocation.id], + url: 'https://www.google.com', + name, + retest_on_failure: true, + }; + const { body: result } = await addMonitorAPI(monitor); + + expect(result).eql( + omitMonitorKeys({ + ...defaultFields, + ...monitor, + locations: [privateLocation], + name, + retest_on_failure: true, + }) + ); + }); + + it('can disable retries', async () => { + const name = `test name ${uuidv4()}`; + const monitor = { + type: 'http', + private_locations: [privateLocation.id], + url: 'https://www.google.com', + name, + retest_on_failure: false, + }; + const { body: result } = await addMonitorAPI(monitor); + + expect(result).eql( + omitMonitorKeys({ + ...defaultFields, + ...monitor, + locations: [privateLocation], + name, + max_attempts: 1, + retest_on_failure: undefined, // this key is not part of the SO and should not be defined + }) + ); + }); + }); + + describe('TCP Monitor', () => { + const defaultFields = DEFAULT_FIELDS.tcp; + + it('base tcp monitor', async () => { + const monitor = { + type: 'tcp', + private_locations: [privateLocation.id], + host: 'https://www.google.com/', + }; + const { body: result } = await addMonitorAPI(monitor); + + expect(result).eql( + omitMonitorKeys({ + ...defaultFields, + ...monitor, + locations: [privateLocation], + name: 'https://www.google.com/', + }) + ); + }); + }); + + describe('ICMP Monitor', () => { + const defaultFields = DEFAULT_FIELDS.icmp; + + it('base icmp monitor', async () => { + const monitor = { + type: 'icmp', + private_locations: [privateLocation.id], + host: 'https://8.8.8.8', + }; + const { body: result } = await addMonitorAPI(monitor); + + expect(result).eql( + omitMonitorKeys({ + ...defaultFields, + ...monitor, + locations: [privateLocation], + name: 'https://8.8.8.8', + }) + ); + }); + }); + + describe('Browser Monitor', () => { + const defaultFields = DEFAULT_FIELDS.browser; + + it('empty browser monitor', async () => { + const monitor = { + type: 'browser', + private_locations: [privateLocation.id], + name: 'simple journey', + }; + const result = await addMonitorAPI(monitor, 400); + + expect(result).eql({ + statusCode: 400, + error: 'Bad Request', + message: 'Monitor is not a valid monitor of type browser', + attributes: { + details: 'source.inline.script: Script is required for browser monitor.', + payload: { type: 'browser', name: 'simple journey' }, + }, + }); + }); + + it('base browser monitor', async () => { + const monitor = { + type: 'browser', + private_locations: [privateLocation.id], + name: 'simple journey', + 'source.inline.script': 'step("simple journey", async () => {});', + }; + const { body: result } = await addMonitorAPI(monitor); + + expect(result).eql( + omitMonitorKeys({ + ...defaultFields, + ...monitor, + locations: [privateLocation], + }) + ); + }); + + it('base browser monitor with inline_script', async () => { + const monitor = { + type: 'browser', + private_locations: [privateLocation.id], + name: 'simple journey inline_script', + inline_script: 'step("simple journey", async () => {});', + }; + const { body: result } = await addMonitorAPI(monitor); + + expect(result).eql( + omitMonitorKeys({ + ...defaultFields, + ...monitor, + locations: [privateLocation], + }) + ); + }); + }); + }); +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/create_update_params.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/create_update_params.ts new file mode 100644 index 0000000000000..4f4068008cd40 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/create_update_params.ts @@ -0,0 +1,385 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { v4 as uuidv4 } from 'uuid'; +import { pick } from 'lodash'; +import { RoleCredentials } from '@kbn/ftr-common-functional-services'; +import { SYNTHETICS_API_URLS } from '@kbn/synthetics-plugin/common/constants'; +import expect from '@kbn/expect'; +import { syntheticsParamType } from '@kbn/synthetics-plugin/common/types/saved_objects'; +import { DeploymentAgnosticFtrProviderContext } from '../../../ftr_provider_context'; +import { PrivateLocationTestService } from '../../../services/synthetics_private_location'; + +function assertHas(actual: unknown, expected: object) { + expect(pick(actual, Object.keys(expected))).eql(expected); +} + +export default function ({ getService }: DeploymentAgnosticFtrProviderContext) { + describe.skip('AddEditParams', function () { + const samlAuth = getService('samlAuth'); + const supertest = getService('supertestWithoutAuth'); + let adminRoleAuthc: RoleCredentials; + + const kServer = getService('kibanaServer'); + const testParam = { + key: 'test', + value: 'test', + }; + const testPrivateLocations = new PrivateLocationTestService(getService); + + before(async () => { + await testPrivateLocations.installSyntheticsPackage(); + adminRoleAuthc = await samlAuth.createM2mApiKeyWithRoleScope('admin'); + await kServer.savedObjects.clean({ types: [syntheticsParamType] }); + }); + + it('adds a test param', async () => { + await supertest + .post(SYNTHETICS_API_URLS.PARAMS) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(testParam) + .expect(200); + + const getResponse = await supertest + .get(SYNTHETICS_API_URLS.PARAMS) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + assertHas(getResponse.body[0], testParam); + }); + + it('handles tags and description', async () => { + const tagsAndDescription = { + tags: ['a tag'], + description: 'test description', + }; + const testParam2 = { + ...testParam, + ...tagsAndDescription, + }; + await supertest + .post(SYNTHETICS_API_URLS.PARAMS) + .send(testParam2) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + const getResponse = await supertest + .get(SYNTHETICS_API_URLS.PARAMS) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + assertHas(getResponse.body[0], testParam2); + }); + + it('handles editing a param', async () => { + const expectedUpdatedParam = { + key: 'testUpdated', + value: 'testUpdated', + tags: ['a tag'], + description: 'test description', + }; + + await supertest + .post(SYNTHETICS_API_URLS.PARAMS) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(testParam) + .expect(200); + + const getResponse = await supertest + .get(SYNTHETICS_API_URLS.PARAMS) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + const param = getResponse.body[0]; + assertHas(param, testParam); + + await supertest + .put(SYNTHETICS_API_URLS.PARAMS + '/' + param.id) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({}) + .expect(400); + + await supertest + .put(SYNTHETICS_API_URLS.PARAMS + '/' + param.id) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + const updatedGetResponse = await supertest + .get(SYNTHETICS_API_URLS.PARAMS) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + const actualUpdatedParam = updatedGetResponse.body[0]; + assertHas(actualUpdatedParam, expectedUpdatedParam); + }); + + it('handles partial editing a param', async () => { + const newParam = { + key: 'testUpdated', + value: 'testUpdated', + tags: ['a tag'], + description: 'test description', + }; + + const response = await supertest + .post(SYNTHETICS_API_URLS.PARAMS) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(newParam) + .expect(200); + const paramId = response.body.id; + + const getResponse = await supertest + .get(SYNTHETICS_API_URLS.PARAMS + '/' + paramId) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + assertHas(getResponse.body, newParam); + + await supertest + .put(SYNTHETICS_API_URLS.PARAMS + '/' + paramId) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + key: 'testUpdated', + }) + .expect(200); + + await supertest + .put(SYNTHETICS_API_URLS.PARAMS + '/' + paramId) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + key: 'testUpdatedAgain', + value: 'testUpdatedAgain', + }) + .expect(200); + + const updatedGetResponse = await supertest + .get(SYNTHETICS_API_URLS.PARAMS + '/' + paramId) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + assertHas(updatedGetResponse.body, { + ...newParam, + key: 'testUpdatedAgain', + value: 'testUpdatedAgain', + }); + }); + + it('handles spaces', async () => { + const SPACE_ID = `test-space-${uuidv4()}`; + const SPACE_NAME = `test-space-name ${uuidv4()}`; + + await kServer.spaces.create({ id: SPACE_ID, name: SPACE_NAME }); + + await supertest + .post(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.PARAMS}`) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(testParam) + .expect(200); + + const getResponse = await supertest + .get(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.PARAMS}`) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + expect(getResponse.body[0].namespaces).eql([SPACE_ID]); + assertHas(getResponse.body[0], testParam); + }); + + it('handles editing a param in spaces', async () => { + const SPACE_ID = `test-space-${uuidv4()}`; + const SPACE_NAME = `test-space-name ${uuidv4()}`; + + await kServer.spaces.create({ id: SPACE_ID, name: SPACE_NAME }); + + const expectedUpdatedParam = { + key: 'testUpdated', + value: 'testUpdated', + tags: ['a tag'], + description: 'test description', + }; + + await supertest + .post(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.PARAMS}`) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(testParam) + .expect(200); + + const getResponse = await supertest + .get(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.PARAMS}`) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + const param = getResponse.body[0]; + assertHas(param, testParam); + + await supertest + .put(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.PARAMS}/${param.id}`) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(expectedUpdatedParam) + .expect(200); + + const updatedGetResponse = await supertest + .get(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.PARAMS}`) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + const actualUpdatedParam = updatedGetResponse.body[0]; + assertHas(actualUpdatedParam, expectedUpdatedParam); + }); + + it('does not allow editing a param in created in one space in a different space', async () => { + const SPACE_ID = `test-space-${uuidv4()}`; + const SPACE_NAME = `test-space-name ${uuidv4()}`; + const SPACE_ID_TWO = `test-space-${uuidv4()}-two`; + const SPACE_NAME_TWO = `test-space-name ${uuidv4()} 2`; + + await kServer.spaces.create({ id: SPACE_ID, name: SPACE_NAME }); + await kServer.spaces.create({ id: SPACE_ID_TWO, name: SPACE_NAME_TWO }); + + const updatedParam = { + key: 'testUpdated', + value: 'testUpdated', + tags: ['a tag'], + description: 'test description', + }; + + await supertest + .post(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.PARAMS}`) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(testParam) + .expect(200); + + const getResponse = await supertest + .get(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.PARAMS}`) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + const param = getResponse.body[0]; + assertHas(param, testParam); + + // space does exist so get request should be 200 + await supertest + .get(`/s/${SPACE_ID_TWO}${SYNTHETICS_API_URLS.PARAMS}`) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + await supertest + .put(`/s/${SPACE_ID_TWO}${SYNTHETICS_API_URLS.PARAMS}/${param.id}}`) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(updatedParam) + .expect(404); + + const updatedGetResponse = await supertest + .get(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.PARAMS}`) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + const actualUpdatedParam = updatedGetResponse.body[0]; + assertHas(actualUpdatedParam, testParam); + }); + + it('handles invalid spaces', async () => { + const SPACE_ID = `test-space-${uuidv4()}`; + const SPACE_NAME = `test-space-name ${uuidv4()}`; + + await kServer.spaces.create({ id: SPACE_ID, name: SPACE_NAME }); + + await supertest + .post(`/s/doesnotexist${SYNTHETICS_API_URLS.PARAMS}`) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(testParam) + .expect(404); + }); + + it('handles editing with invalid spaces', async () => { + const updatedParam = { + key: 'testUpdated', + value: 'testUpdated', + tags: ['a tag'], + description: 'test description', + }; + + await supertest + .post(SYNTHETICS_API_URLS.PARAMS) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(testParam) + .expect(200); + const getResponse = await supertest + .get(SYNTHETICS_API_URLS.PARAMS) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + const param = getResponse.body[0]; + assertHas(param, testParam); + + await supertest + .put(`/s/doesnotexist${SYNTHETICS_API_URLS.PARAMS}/${param.id}}`) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(updatedParam) + .expect(404); + }); + + it('handles share across spaces', async () => { + const SPACE_ID = `test-space-${uuidv4()}`; + const SPACE_NAME = `test-space-name ${uuidv4()}`; + + await kServer.spaces.create({ id: SPACE_ID, name: SPACE_NAME }); + + await supertest + .post(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.PARAMS}`) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ ...testParam, share_across_spaces: true }) + .expect(200); + + const getResponse = await supertest + .get(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.PARAMS}`) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + expect(getResponse.body[0].namespaces).eql(['*']); + assertHas(getResponse.body[0], testParam); + }); + + it('should not return values for non admin user', async () => { + const resp = await supertest + .get(`${SYNTHETICS_API_URLS.PARAMS}`) + .set(adminRoleAuthc.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send() + .expect(200); + + const params = resp.body; + expect(params.length).to.eql(6); + params.forEach((param: any) => { + expect(param.value).to.eql(undefined); + expect(param.key).to.not.empty(); + }); + }); + }); +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/delete_monitor.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/delete_monitor.ts new file mode 100644 index 0000000000000..3e1582ea3ec2b --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/delete_monitor.ts @@ -0,0 +1,164 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { RoleCredentials } from '@kbn/ftr-common-functional-services'; +import { + EncryptedSyntheticsSavedMonitor, + HTTPFields, + MonitorFields, + PrivateLocation, +} from '@kbn/synthetics-plugin/common/runtime_types'; +import { SYNTHETICS_API_URLS } from '@kbn/synthetics-plugin/common/constants'; +import expect from '@kbn/expect'; +import { DeploymentAgnosticFtrProviderContext } from '../../../ftr_provider_context'; +import { getFixtureJson } from './helpers/get_fixture_json'; +import { PrivateLocationTestService } from '../../../services/synthetics_private_location'; +import { SyntheticsMonitorTestService } from '../../../services/synthetics_monitor'; + +export default function ({ getService }: DeploymentAgnosticFtrProviderContext) { + describe('DeleteMonitorRoute', function () { + const supertest = getService('supertestWithoutAuth'); + const kibanaServer = getService('kibanaServer'); + const samlAuth = getService('samlAuth'); + + const testPrivateLocations = new PrivateLocationTestService(getService); + const monitorTestService = new SyntheticsMonitorTestService(getService); + + let _httpMonitorJson: HTTPFields; + let httpMonitorJson: HTTPFields; + let editorUser: RoleCredentials; + let testPolicyId = ''; + let privateLocations: PrivateLocation[]; + + const saveMonitor = async ( + monitor: MonitorFields + ): Promise => { + const res = await supertest + .post(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(monitor); + + expect(res.status).to.eql(200, JSON.stringify(res.body)); + + return res.body; + }; + + const deleteMonitor = async (monitorId?: string | string[], statusCode = 200) => { + return monitorTestService.deleteMonitor(editorUser, monitorId, statusCode, 'default'); + }; + + before(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + await testPrivateLocations.installSyntheticsPackage(); + const testPolicyName = 'Fleet test server policy' + Date.now(); + const apiResponse = await testPrivateLocations.addFleetPolicy(testPolicyName); + testPolicyId = apiResponse.body.item.id; + privateLocations = await testPrivateLocations.setTestLocations([testPolicyId]); + editorUser = await samlAuth.createM2mApiKeyWithRoleScope('editor'); + + _httpMonitorJson = getFixtureJson('http_monitor'); + }); + + beforeEach(() => { + httpMonitorJson = { + ..._httpMonitorJson, + locations: [privateLocations[0]], + }; + }); + + it('deletes monitor by id', async () => { + const { id: monitorId } = await saveMonitor(httpMonitorJson as MonitorFields); + + const deleteResponse = await deleteMonitor(monitorId); + + expect(deleteResponse.body).eql([{ id: monitorId, deleted: true }]); + + // Hit get endpoint and expect 404 as well + await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS + '/' + monitorId) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(404); + }); + + it('deletes monitor by param id', async () => { + const { id: monitorId } = await saveMonitor(httpMonitorJson as MonitorFields); + + const deleteResponse = await monitorTestService.deleteMonitorByIdParam( + editorUser, + monitorId, + 200, + 'default' + ); + + expect(deleteResponse.body).eql([{ id: monitorId, deleted: true }]); + + // Hit get endpoint and expect 404 as well + await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS + '/' + monitorId) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(404); + }); + + it('throws error if both body and param are missing', async () => { + await supertest + .delete(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .send() + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(400); + }); + + it('deletes multiple monitors by id', async () => { + const { id: monitorId } = await saveMonitor(httpMonitorJson as MonitorFields); + const { id: monitorId2 } = await saveMonitor({ + ...httpMonitorJson, + name: 'another -2', + } as MonitorFields); + + const deleteResponse = await deleteMonitor([monitorId2, monitorId]); + + expect( + deleteResponse.body.sort((a: { id: string }, b: { id: string }) => (a.id > b.id ? 1 : -1)) + ).eql( + [ + { id: monitorId2, deleted: true }, + { id: monitorId, deleted: true }, + ].sort((a, b) => (a.id > b.id ? 1 : -1)) + ); + + // Hit get endpoint and expect 404 as well + await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS + '/' + monitorId) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(404); + }); + + it('returns 404 if monitor id is not found', async () => { + const invalidMonitorId = 'invalid-id'; + const expected404Message = `Monitor id ${invalidMonitorId} not found!`; + + const deleteResponse = await deleteMonitor(invalidMonitorId); + + expect(deleteResponse.status).eql(200); + expect(deleteResponse.body).eql([ + { + id: invalidMonitorId, + deleted: false, + error: expected404Message, + }, + ]); + }); + + it('validates empty monitor id', async () => { + await deleteMonitor(undefined, 400); + await deleteMonitor([], 400); + }); + }); +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/delete_monitor_project.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/delete_monitor_project.ts new file mode 100644 index 0000000000000..e2eecb91cb154 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/delete_monitor_project.ts @@ -0,0 +1,521 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { v4 as uuidv4 } from 'uuid'; +import { RoleCredentials } from '@kbn/ftr-common-functional-services'; +import { + ConfigKey, + ProjectMonitorsRequest, + PrivateLocation, +} from '@kbn/synthetics-plugin/common/runtime_types'; +import { REQUEST_TOO_LARGE } from '@kbn/synthetics-plugin/server/routes/monitor_cruds/delete_monitor_project'; +import { SYNTHETICS_API_URLS } from '@kbn/synthetics-plugin/common/constants'; +import { PackagePolicy } from '@kbn/fleet-plugin/common'; +import expect from '@kbn/expect'; +import { syntheticsMonitorType } from '@kbn/synthetics-plugin/common/types/saved_objects'; +import { DeploymentAgnosticFtrProviderContext } from '../../../ftr_provider_context'; +import { getFixtureJson } from './helpers/get_fixture_json'; +import { PrivateLocationTestService } from '../../../services/synthetics_private_location'; + +export default function ({ getService }: DeploymentAgnosticFtrProviderContext) { + describe('DeleteProjectMonitors', function () { + const supertest = getService('supertestWithoutAuth'); + const supertestWithAuth = getService('supertest'); + const kibanaServer = getService('kibanaServer'); + const samlAuth = getService('samlAuth'); + + let projectMonitors: ProjectMonitorsRequest; + let editorUser: RoleCredentials; + let privateLocation: PrivateLocation; + + const testPrivateLocationsService = new PrivateLocationTestService(getService); + + const setUniqueIdsAndLocations = ( + request: ProjectMonitorsRequest, + privateLocations: PrivateLocation[] = [] + ) => { + return { + ...request, + monitors: request.monitors.map((monitor) => ({ + ...monitor, + id: uuidv4(), + locations: [], + privateLocations: privateLocations.map((location) => location.label), + })), + }; + }; + + before(async () => { + await testPrivateLocationsService.installSyntheticsPackage(); + editorUser = await samlAuth.createM2mApiKeyWithRoleScope('editor'); + }); + + beforeEach(async () => { + await kibanaServer.savedObjects.clean({ types: ['synthetics-private-location'] }); + privateLocation = await testPrivateLocationsService.addTestPrivateLocation(); + projectMonitors = setUniqueIdsAndLocations(getFixtureJson('project_browser_monitor'), [ + privateLocation, + ]); + }); + + it('only allows 250 requests at a time', async () => { + const project = 'test-brower-suite'; + const monitors = []; + for (let i = 0; i < 251; i++) { + monitors.push({ + ...projectMonitors.monitors[0], + id: `test-id-${i}`, + name: `test-name-${i}`, + }); + } + const monitorsToDelete = monitors.map((monitor) => monitor.id); + + try { + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitors.slice(0, 250) }) + .expect(200); + + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitors.slice(250, 251) }) + .expect(200); + + const savedObjectsResponse = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .query({ + filter: `${syntheticsMonitorType}.attributes.project_id: "${project}"`, + }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + const { total } = savedObjectsResponse.body; + expect(total).to.eql(251); + + const response = await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete }) + .expect(400); + const { message } = response.body; + expect(message).to.eql(REQUEST_TOO_LARGE); + } finally { + await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete.slice(0, 250) }) + .expect(200); + await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete.slice(250, 251) }) + .expect(200); + } + }); + + it('project monitors - handles browser monitors', async () => { + const monitorToDelete = 'second-monitor-id'; + const monitors = [ + projectMonitors.monitors[0], + { + ...projectMonitors.monitors[0], + id: monitorToDelete, + }, + ]; + const project = 'test-brower-suite'; + + try { + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors }) + .expect(200); + + const savedObjectsResponse = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .query({ + filter: `${syntheticsMonitorType}.attributes.project_id: "${project}"`, + }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + const { total } = savedObjectsResponse.body; + expect(total).to.eql(2); + const monitorsToDelete = [monitorToDelete]; + + const response = await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete }) + .expect(200); + + expect(response.body.deleted_monitors).to.eql(monitorsToDelete); + + const responseAfterDeletion = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .query({ + filter: `${syntheticsMonitorType}.attributes.project_id: "${project}"`, + }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + const { total: totalAfterDeletion } = responseAfterDeletion.body; + expect(totalAfterDeletion).to.eql(1); + } finally { + const monitorsToDelete = monitors.map((monitor) => monitor.id); + await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete }) + .expect(200); + } + }); + + it('does not delete monitors from a different project', async () => { + const monitors = [...projectMonitors.monitors]; + const project = 'test-brower-suite'; + const secondProject = 'second-project'; + + try { + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors }) + .expect(200); + + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace( + '{projectName}', + secondProject + ) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors }) + .expect(200); + + const savedObjectsResponse = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .query({ + filter: `${syntheticsMonitorType}.attributes.project_id: "${project}"`, + }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + const secondProjectSavedObjectResponse = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .query({ + filter: `${syntheticsMonitorType}.attributes.project_id: "${secondProject}"`, + }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + const { total } = savedObjectsResponse.body; + const { total: secondProjectTotal } = secondProjectSavedObjectResponse.body; + expect(total).to.eql(monitors.length); + expect(secondProjectTotal).to.eql(monitors.length); + const monitorsToDelete = monitors.map((monitor) => monitor.id); + + const response = await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete }) + .expect(200); + + expect(response.body.deleted_monitors).to.eql(monitorsToDelete); + + const responseAfterDeletion = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .query({ + filter: `${syntheticsMonitorType}.attributes.project_id: "${project}"`, + }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + const secondResponseAfterDeletion = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .query({ + filter: `${syntheticsMonitorType}.attributes.project_id: "${secondProject}"`, + }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + const { total: totalAfterDeletion } = responseAfterDeletion.body; + const { total: secondProjectTotalAfterDeletion } = secondResponseAfterDeletion.body; + expect(totalAfterDeletion).to.eql(0); + expect(secondProjectTotalAfterDeletion).to.eql(monitors.length); + } finally { + const monitorsToDelete = monitors.map((monitor) => monitor.id); + + await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete }) + .expect(200); + await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace( + '{projectName}', + secondProject + ) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete }) + .expect(200); + } + }); + + it('does not delete monitors from the same project in a different space project', async () => { + const monitors = [...projectMonitors.monitors]; + const project = 'test-brower-suite'; + const SPACE_ID = `test-space-${uuidv4()}`; + const SPACE_NAME = `test-space-name ${uuidv4()}`; + await kibanaServer.spaces.create({ id: SPACE_ID, name: SPACE_NAME }); + const spaceScopedPrivateLocation = await testPrivateLocationsService.addTestPrivateLocation( + SPACE_ID + ); + + try { + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: monitors.map((monitor) => ({ + ...monitor, + privateLocations: [privateLocation.label], + })), + }) + .expect(200); + + await supertest + .put( + `/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace( + '{projectName}', + project + )}` + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: monitors.map((monitor) => ({ + ...monitor, + privateLocations: [spaceScopedPrivateLocation.label], + })), + }) + .expect(200); + + const savedObjectsResponse = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .query({ + filter: `${syntheticsMonitorType}.attributes.project_id: "${project}"`, + }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + const secondSpaceProjectSavedObjectResponse = await supertest + .get(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}`) + .query({ + filter: `${syntheticsMonitorType}.attributes.project_id: "${project}"`, + }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + const { total } = savedObjectsResponse.body; + const { total: secondSpaceTotal } = secondSpaceProjectSavedObjectResponse.body; + + expect(total).to.eql(monitors.length); + expect(secondSpaceTotal).to.eql(monitors.length); + const monitorsToDelete = monitors.map((monitor) => monitor.id); + + const response = await supertest + .delete( + `/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace( + '{projectName}', + project + )}` + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete }) + .expect(200); + + expect(response.body.deleted_monitors).to.eql(monitorsToDelete); + + const responseAfterDeletion = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .query({ + filter: `${syntheticsMonitorType}.attributes.project_id: "${project}"`, + }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + const secondSpaceResponseAfterDeletion = await supertest + .get(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}`) + .query({ + filter: `${syntheticsMonitorType}.attributes.project_id: "${project}"`, + }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + const { total: totalAfterDeletion } = responseAfterDeletion.body; + const { total: secondProjectTotalAfterDeletion } = secondSpaceResponseAfterDeletion.body; + expect(totalAfterDeletion).to.eql(monitors.length); + expect(secondProjectTotalAfterDeletion).to.eql(0); + } finally { + const monitorsToDelete = monitors.map((monitor) => monitor.id); + + await supertest + .delete( + `/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace( + '{projectName}', + project + )}` + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete }) + .expect(200); + + await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete }) + .expect(200); + } + }); + + it('deletes integration policies when project monitors are deleted', async () => { + const monitors = [ + { ...projectMonitors.monitors[0], privateLocations: [privateLocation.label] }, + ]; + const project = 'test-brower-suite'; + + try { + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors }) + .expect(200); + + const savedObjectsResponse = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .query({ + filter: `${syntheticsMonitorType}.attributes.project_id: "${project}"`, + }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + const { total } = savedObjectsResponse.body; + expect(total).to.eql(monitors.length); + const apiResponsePolicy = await supertestWithAuth.get( + '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + ); + + const packagePolicy = apiResponsePolicy.body.items.find( + (pkgPolicy: PackagePolicy) => + pkgPolicy.id === + savedObjectsResponse.body.monitors[0][ConfigKey.CUSTOM_HEARTBEAT_ID] + + '-' + + privateLocation.id + ); + expect(packagePolicy.policy_id).to.be(privateLocation.id); + + const monitorsToDelete = monitors.map((monitor) => monitor.id); + + const response = await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete }) + .expect(200); + + expect(response.body.deleted_monitors).to.eql(monitorsToDelete); + + const responseAfterDeletion = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .query({ + filter: `${syntheticsMonitorType}.attributes.project_id: "${project}"`, + }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + const { total: totalAfterDeletion } = responseAfterDeletion.body; + expect(totalAfterDeletion).to.eql(0); + const apiResponsePolicy2 = await supertestWithAuth.get( + '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + ); + + const packagePolicy2 = apiResponsePolicy2.body.items.find( + (pkgPolicy: PackagePolicy) => + pkgPolicy.id === + savedObjectsResponse.body.monitors[0][ConfigKey.CUSTOM_HEARTBEAT_ID] + + '-' + + privateLocation.id + ); + expect(packagePolicy2).to.be(undefined); + } finally { + const monitorsToDelete = monitors.map((monitor) => monitor.id); + + await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete }) + .expect(200); + } + }); + }); +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/edit_monitor.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/edit_monitor.ts new file mode 100644 index 0000000000000..755fdad3aa196 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/edit_monitor.ts @@ -0,0 +1,370 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import moment from 'moment'; +import { v4 as uuidv4 } from 'uuid'; +import { omit } from 'lodash'; +import { + ConfigKey, + EncryptedSyntheticsSavedMonitor, + HTTPFields, + MonitorFields, + PrivateLocation, +} from '@kbn/synthetics-plugin/common/runtime_types'; +import { RoleCredentials } from '@kbn/ftr-common-functional-services'; +import { SYNTHETICS_API_URLS } from '@kbn/synthetics-plugin/common/constants'; +import expect from '@kbn/expect'; +import { DeploymentAgnosticFtrProviderContext } from '../../../ftr_provider_context'; +import { getFixtureJson } from './helpers/get_fixture_json'; +import { omitResponseTimestamps, omitEmptyValues } from './helpers/monitor'; +import { PrivateLocationTestService } from '../../../services/synthetics_private_location'; +import { SyntheticsMonitorTestService } from '../../../services/synthetics_monitor'; + +export default function ({ getService }: DeploymentAgnosticFtrProviderContext) { + describe('EditMonitorAPI', function () { + const supertestWithAuth = getService('supertest'); + const supertest = getService('supertestWithoutAuth'); + const kibanaServer = getService('kibanaServer'); + const samlAuth = getService('samlAuth'); + + const testPrivateLocations = new PrivateLocationTestService(getService); + const monitorTestService = new SyntheticsMonitorTestService(getService); + + let _httpMonitorJson: HTTPFields; + let httpMonitorJson: HTTPFields; + let testPolicyId = ''; + let editorUser: RoleCredentials; + let privateLocations: PrivateLocation[]; + + const saveMonitor = async (monitor: MonitorFields, spaceId?: string) => { + const apiURL = spaceId + ? `/s/${spaceId}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}` + : SYNTHETICS_API_URLS.SYNTHETICS_MONITORS; + const res = await supertest + .post(apiURL + '?internal=true') + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(monitor) + .expect(200); + + const { url, created_at: createdAt, updated_at: updatedAt, ...rest } = res.body; + + expect([createdAt, updatedAt].map((d) => moment(d).isValid())).eql([true, true]); + + return rest as EncryptedSyntheticsSavedMonitor; + }; + + const editMonitor = async (modifiedMonitor: MonitorFields, monitorId: string) => { + const res = await supertest + .put(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS + '/' + monitorId + '?internal=true') + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(modifiedMonitor); + + expect(res.status).eql(200, JSON.stringify(res.body)); + + const { created_at: createdAt, updated_at: updatedAt } = res.body; + expect([createdAt, updatedAt].map((d) => moment(d).isValid())).eql([true, true]); + + return omit(res.body, ['created_at', 'updated_at']); + }; + + before(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + await supertestWithAuth.post('/api/fleet/setup').set('kbn-xsrf', 'true').send().expect(200); + editorUser = await samlAuth.createM2mApiKeyWithRoleScope('editor'); + await supertest + .put(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + const testPolicyName = 'Fleet test server policy' + Date.now(); + const apiResponse = await testPrivateLocations.addFleetPolicy(testPolicyName); + testPolicyId = apiResponse.body.item.id; + privateLocations = await testPrivateLocations.setTestLocations([testPolicyId]); + _httpMonitorJson = getFixtureJson('http_monitor'); + }); + + after(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + }); + + beforeEach(() => { + httpMonitorJson = { ..._httpMonitorJson, locations: [privateLocations[0]] }; + }); + + it('edits the monitor', async () => { + const newMonitor = httpMonitorJson; + + const savedMonitor = await saveMonitor(newMonitor as MonitorFields); + const monitorId = savedMonitor[ConfigKey.CONFIG_ID]; + + expect(omitResponseTimestamps(savedMonitor)).eql( + omitEmptyValues({ + ...newMonitor, + [ConfigKey.MONITOR_QUERY_ID]: monitorId, + [ConfigKey.CONFIG_ID]: monitorId, + }) + ); + + const updates: Partial = { + [ConfigKey.URLS]: 'https://modified-host.com', + [ConfigKey.NAME]: 'Modified name', + [ConfigKey.LOCATIONS]: [privateLocations[0]], + [ConfigKey.REQUEST_HEADERS_CHECK]: { + sampleHeader2: 'sampleValue2', + }, + [ConfigKey.METADATA]: { + script_source: { + is_generated_script: false, + file_name: 'test-file.name', + }, + }, + }; + + const modifiedMonitor = { + ...savedMonitor, + ...updates, + [ConfigKey.METADATA]: { + ...newMonitor[ConfigKey.METADATA], + ...updates[ConfigKey.METADATA], + }, + } as any; + + const editResponse = await editMonitor(modifiedMonitor, monitorId); + + expect(editResponse).eql( + omitEmptyValues({ + ...modifiedMonitor, + revision: 2, + }) + ); + }); + + it('strips unknown keys from monitor edits', async () => { + const newMonitor = { ...httpMonitorJson, name: 'yet another' }; + + const savedMonitor = await saveMonitor(newMonitor as MonitorFields); + const monitorId = savedMonitor[ConfigKey.CONFIG_ID]; + + const { created_at: createdAt, updated_at: updatedAt } = savedMonitor; + expect([createdAt, updatedAt].map((d) => moment(d).isValid())).eql([true, true]); + + expect(omitResponseTimestamps(savedMonitor)).eql( + omitEmptyValues({ + ...newMonitor, + [ConfigKey.MONITOR_QUERY_ID]: monitorId, + [ConfigKey.CONFIG_ID]: monitorId, + }) + ); + + const updates: Partial = { + [ConfigKey.URLS]: 'https://modified-host.com', + [ConfigKey.NAME]: 'Modified name like that', + [ConfigKey.LOCATIONS]: [privateLocations[0]], + [ConfigKey.REQUEST_HEADERS_CHECK]: { + sampleHeader2: 'sampleValue2', + }, + [ConfigKey.METADATA]: { + script_source: { + is_generated_script: false, + file_name: 'test-file.name', + }, + }, + unknownkey: 'unknownvalue', + } as Partial; + + const modifiedMonitor = omit( + { + ...updates, + [ConfigKey.METADATA]: { + ...newMonitor[ConfigKey.METADATA], + ...updates[ConfigKey.METADATA], + }, + }, + ['unknownkey'] + ); + + const editResponse = await editMonitor(modifiedMonitor as MonitorFields, monitorId); + + expect(editResponse).eql( + omitEmptyValues({ + ...savedMonitor, + ...modifiedMonitor, + revision: 2, + }) + ); + expect(editResponse).not.to.have.keys('unknownkey'); + }); + + it('returns 404 if monitor id is not present', async () => { + const invalidMonitorId = 'invalid-id'; + const expected404Message = `Monitor id ${invalidMonitorId} not found!`; + + const editResponse = await supertest + .put(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS + '/' + invalidMonitorId) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(httpMonitorJson) + .expect(404); + + expect(editResponse.body.message).eql(expected404Message); + }); + + it('returns bad request if payload is invalid for HTTP monitor', async () => { + const { id: monitorId, ...savedMonitor } = await saveMonitor( + httpMonitorJson as MonitorFields + ); + + // Delete a required property to make payload invalid + const toUpdate = { ...savedMonitor, 'check.request.headers': null }; + + const apiResponse = await supertest + .put(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS + '/' + monitorId) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(toUpdate); + + expect(apiResponse.status).eql(400); + }); + + it('returns bad request if monitor type is invalid', async () => { + const { id: monitorId, ...savedMonitor } = await saveMonitor({ + ...httpMonitorJson, + name: 'test monitor - 11', + } as MonitorFields); + + const toUpdate = { ...savedMonitor, type: 'invalid-data-steam' }; + + const apiResponse = await supertest + .put(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS + '/' + monitorId) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(toUpdate); + + expect(apiResponse.status).eql(400); + expect(apiResponse.body.message).eql( + 'Monitor type cannot be changed from http to invalid-data-steam.' + ); + }); + + it('sets config hash to empty string on edits', async () => { + const newMonitor = httpMonitorJson; + const configHash = 'djrhefje'; + + const savedMonitor = await saveMonitor({ + ...(newMonitor as MonitorFields), + [ConfigKey.CONFIG_HASH]: configHash, + name: 'test monitor - 12', + }); + const monitorId = savedMonitor[ConfigKey.CONFIG_ID]; + const { created_at: createdAt, updated_at: updatedAt } = savedMonitor; + expect([createdAt, updatedAt].map((d) => moment(d).isValid())).eql([true, true]); + + expect(savedMonitor).eql( + omitEmptyValues({ + ...newMonitor, + [ConfigKey.CONFIG_ID]: monitorId, + [ConfigKey.MONITOR_QUERY_ID]: monitorId, + name: 'test monitor - 12', + hash: configHash, + }) + ); + + const updates: Partial = { + [ConfigKey.URLS]: 'https://modified-host.com', + name: 'test monitor - 12', + } as Partial; + + const modifiedMonitor = { + ...newMonitor, + ...updates, + [ConfigKey.METADATA]: { + ...newMonitor[ConfigKey.METADATA], + ...updates[ConfigKey.METADATA], + }, + }; + + const editResponse = await editMonitor(modifiedMonitor as MonitorFields, monitorId); + + expect(editResponse).eql( + omitEmptyValues({ + ...modifiedMonitor, + [ConfigKey.CONFIG_ID]: monitorId, + [ConfigKey.MONITOR_QUERY_ID]: monitorId, + [ConfigKey.CONFIG_HASH]: '', + revision: 2, + }) + ); + expect(editResponse).not.to.have.keys('unknownkey'); + }); + + it('handles spaces', async () => { + const name = 'Monitor with private location'; + + const SPACE_ID = `test-space-${uuidv4()}`; + const SPACE_NAME = `test-space-name ${uuidv4()}`; + + await kibanaServer.spaces.create({ id: SPACE_ID, name: SPACE_NAME }); + + const spaceScopedPrivateLocation = await testPrivateLocations.addTestPrivateLocation( + SPACE_ID + ); + const newMonitor = { + name, + type: 'http', + urls: 'https://elastic.co', + locations: [spaceScopedPrivateLocation], + }; + + const savedMonitor = await saveMonitor(newMonitor as MonitorFields, SPACE_ID); + + const monitorId = savedMonitor[ConfigKey.CONFIG_ID]; + const toUpdate = { + ...savedMonitor, + urls: 'https://google.com', + }; + await supertest + .put(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}/${monitorId}`) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(toUpdate) + .expect(200); + + const updatedResponse = await monitorTestService.getMonitor(monitorId, { + space: SPACE_ID, + internal: true, + user: editorUser, + }); + + // ensure monitor was updated + expect(updatedResponse.body.urls).eql(toUpdate.urls); + + // update a second time, ensures AAD was not corrupted + const toUpdate2 = { + ...savedMonitor, + urls: 'https://google.com', + }; + + await supertest + .put(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}/${monitorId}`) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(toUpdate2) + .expect(200); + + const updatedResponse2 = await monitorTestService.getMonitor(monitorId, { + space: SPACE_ID, + internal: true, + user: editorUser, + }); + + // ensure monitor was updated + expect(updatedResponse2.body.urls).eql(toUpdate2.urls); + }); + }); +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/edit_monitor_public_api.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/edit_monitor_public_api.ts new file mode 100644 index 0000000000000..bb659523a5132 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/edit_monitor_public_api.ts @@ -0,0 +1,301 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import expect from '@kbn/expect'; +import rawExpect from 'expect'; +import { v4 as uuidv4 } from 'uuid'; +import { omit } from 'lodash'; +import { RoleCredentials } from '@kbn/ftr-common-functional-services'; +import { DEFAULT_FIELDS } from '@kbn/synthetics-plugin/common/constants/monitor_defaults'; +import { SYNTHETICS_API_URLS } from '@kbn/synthetics-plugin/common/constants'; +import moment from 'moment'; +import { PrivateLocation } from '@kbn/synthetics-plugin/common/runtime_types'; +import { LOCATION_REQUIRED_ERROR } from '@kbn/synthetics-plugin/server/routes/monitor_cruds/monitor_validation'; +import { DeploymentAgnosticFtrProviderContext } from '../../../ftr_provider_context'; +import { addMonitorAPIHelper, omitMonitorKeys } from './create_monitor'; +import { PrivateLocationTestService } from '../../../services/synthetics_private_location'; + +export default function ({ getService }: DeploymentAgnosticFtrProviderContext) { + describe('EditMonitorsPublicAPI', function () { + const supertestAPI = getService('supertestWithoutAuth'); + const kibanaServer = getService('kibanaServer'); + const samlAuth = getService('samlAuth'); + const testPrivateLocations = new PrivateLocationTestService(getService); + let editorUser: RoleCredentials; + let privateLocation1: PrivateLocation; + let privateLocation2: PrivateLocation; + + async function addMonitorAPI(monitor: any, statusCode: number = 200) { + return await addMonitorAPIHelper(supertestAPI, monitor, statusCode, editorUser, samlAuth); + } + + async function editMonitorAPI(id: string, monitor: any, statusCode: number = 200) { + return await editMonitorAPIHelper(id, monitor, statusCode); + } + + async function editMonitorAPIHelper(monitorId: string, monitor: any, statusCode = 200) { + const result = await supertestAPI + .put(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS + `/${monitorId}`) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(monitor); + + expect(result.status).eql(statusCode, JSON.stringify(result.body)); + + if (statusCode === 200) { + const { + created_at: createdAt, + updated_at: updatedAt, + id, + config_id: configId, + } = result.body; + expect(id).not.empty(); + expect(configId).not.empty(); + expect([createdAt, updatedAt].map((d) => moment(d).isValid())).eql([true, true]); + return { + rawBody: result.body, + body: { + ...omit(result.body, [ + 'created_at', + 'updated_at', + 'id', + 'config_id', + 'form_monitor_type', + ]), + }, + }; + } + return result.body; + } + + before(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + editorUser = await samlAuth.createM2mApiKeyWithRoleScope('editor'); + await testPrivateLocations.installSyntheticsPackage(); + privateLocation1 = await testPrivateLocations.addTestPrivateLocation(); + privateLocation2 = await testPrivateLocations.addTestPrivateLocation(); + }); + + after(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + }); + let monitorId = 'test-id'; + + const defaultFields = DEFAULT_FIELDS.http; + + it('adds test monitor', async () => { + const monitor = { + type: 'http', + private_locations: [privateLocation1.id], + url: 'https://www.google.com', + }; + const { body: result, rawBody } = await addMonitorAPI(monitor); + monitorId = rawBody.id; + + expect(result).eql( + omitMonitorKeys({ + ...defaultFields, + ...monitor, + locations: [privateLocation1], + name: 'https://www.google.com', + }) + ); + }); + + it('should return error for empty monitor', async function () { + const errMessage = 'Monitor must be a non-empty object'; + const testCases = [{}, null, undefined, false, [], '']; + for (const testCase of testCases) { + const { message } = await editMonitorAPI(monitorId, testCase, 400); + expect(message).eql(errMessage); + } + }); + + it('return error if type is being changed', async () => { + const { message } = await editMonitorAPI(monitorId, { type: 'tcp' }, 400); + expect(message).eql('Monitor type cannot be changed from http to tcp.'); + }); + + it('return error if monitor not found', async () => { + const { message } = await editMonitorAPI('invalid-monitor-id', { type: 'tcp' }, 404); + expect(message).eql('Monitor id invalid-monitor-id not found!'); + }); + + it('return error if invalid location specified', async () => { + const { message } = await editMonitorAPI( + monitorId, + { type: 'http', locations: ['mars'] }, + 400 + ); + rawExpect(message).toContain( + "Invalid locations specified. Elastic managed Location(s) 'mars' not found." + ); + }); + + it('return error if invalid private location specified', async () => { + const { message } = await editMonitorAPI( + monitorId, + { + type: 'http', + locations: ['mars'], + privateLocations: ['moon'], + }, + 400 + ); + expect(message).eql('Invalid monitor key(s) for http type: privateLocations'); + + const result = await editMonitorAPI( + monitorId, + { + type: 'http', + locations: ['mars'], + private_locations: ['moon'], + }, + 400 + ); + rawExpect(result.message).toContain("Private Location(s) 'moon' not found."); + }); + + it('throws an error if empty locations', async () => { + const monitor = { + locations: [], + private_locations: [], + }; + const { message } = await editMonitorAPI(monitorId, monitor, 400); + + expect(message).eql(LOCATION_REQUIRED_ERROR); + }); + + it('cannot change origin type', async () => { + const monitor = { + origin: 'project', + }; + const result = await editMonitorAPI(monitorId, monitor, 400); + + expect(result).eql({ + statusCode: 400, + error: 'Bad Request', + message: 'Unsupported origin type project, only ui type is supported via API.', + attributes: { + details: 'Unsupported origin type project, only ui type is supported via API.', + payload: { origin: 'project' }, + }, + }); + }); + + const updates: any = {}; + + it('can change name of monitor', async () => { + updates.name = `updated name ${uuidv4()}`; + const monitor = { + name: updates.name, + }; + const { body: result } = await editMonitorAPI(monitorId, monitor); + + expect(result).eql( + omitMonitorKeys({ + ...defaultFields, + ...monitor, + ...updates, + locations: [privateLocation1], + revision: 2, + url: 'https://www.google.com', + }) + ); + }); + + it('prevents duplicate name of monitor', async () => { + const name = `test name ${uuidv4()}`; + const monitor = { + name, + type: 'http', + private_locations: [privateLocation1.id], + url: 'https://www.google.com', + }; + // create one monitor with one name + await addMonitorAPI(monitor); + // create another monitor with a different name + const { body: result, rawBody } = await addMonitorAPI({ + ...monitor, + name: 'test name', + }); + const newMonitorId = rawBody.id; + + expect(result).eql( + omitMonitorKeys({ + ...defaultFields, + ...monitor, + locations: [privateLocation1], + name: 'test name', + }) + ); + + const editResult = await editMonitorAPI( + newMonitorId, + { + name, + }, + 400 + ); + + expect(editResult).eql({ + statusCode: 400, + error: 'Bad Request', + message: `Monitor name must be unique, "${name}" already exists.`, + attributes: { + details: `Monitor name must be unique, "${name}" already exists.`, + }, + }); + }); + + it('can add a second private location to existing monitor', async () => { + const monitor = { + private_locations: [privateLocation1.id, privateLocation2.id], + }; + + const { body: result } = await editMonitorAPI(monitorId, monitor); + + expect(result).eql( + omitMonitorKeys({ + ...defaultFields, + ...updates, + revision: 3, + url: 'https://www.google.com', + locations: [privateLocation1, privateLocation2], + }) + ); + }); + + it('can remove private location from existing monitor', async () => { + const monitor = { + private_locations: [privateLocation2.id], + }; + + const { body: result } = await editMonitorAPI(monitorId, monitor); + + expect(result).eql( + omitMonitorKeys({ + ...defaultFields, + ...updates, + revision: 4, + url: 'https://www.google.com', + locations: [privateLocation2], + }) + ); + }); + + it('can not remove all locations', async () => { + const monitor = { + locations: [], + private_locations: [], + }; + + const { message } = await editMonitorAPI(monitorId, monitor, 400); + + expect(message).eql(LOCATION_REQUIRED_ERROR); + }); + }); +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/enable_default_alerting.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/enable_default_alerting.ts new file mode 100644 index 0000000000000..231195be88e44 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/enable_default_alerting.ts @@ -0,0 +1,330 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import expect from '@kbn/expect'; +import rawExpect from 'expect'; +import { RoleCredentials } from '@kbn/ftr-common-functional-services'; +import { omit } from 'lodash'; +import { HTTPFields, PrivateLocation } from '@kbn/synthetics-plugin/common/runtime_types'; +import { SYNTHETICS_API_URLS } from '@kbn/synthetics-plugin/common/constants'; +import { DYNAMIC_SETTINGS_DEFAULTS } from '@kbn/synthetics-plugin/common/constants/settings_defaults'; + +import { DeploymentAgnosticFtrProviderContext } from '../../../ftr_provider_context'; +import { getFixtureJson } from './helpers/get_fixture_json'; +import { addMonitorAPIHelper, omitMonitorKeys } from './create_monitor'; +import { PrivateLocationTestService } from '../../../services/synthetics_private_location'; + +export default function ({ getService }: DeploymentAgnosticFtrProviderContext) { + describe('EnableDefaultAlerting', function () { + const supertest = getService('supertestWithoutAuth'); + const kibanaServer = getService('kibanaServer'); + const retry = getService('retry'); + const samlAuth = getService('samlAuth'); + + let _httpMonitorJson: HTTPFields; + let httpMonitorJson: HTTPFields; + let editorUser: RoleCredentials; + let privateLocation: PrivateLocation; + + const privateLocationTestService = new PrivateLocationTestService(getService); + + const addMonitorAPI = async (monitor: any, statusCode = 200) => { + return addMonitorAPIHelper(supertest, monitor, statusCode, editorUser, samlAuth); + }; + + after(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + }); + + before(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + _httpMonitorJson = getFixtureJson('http_monitor'); + editorUser = await samlAuth.createM2mApiKeyWithRoleScope('editor'); + }); + + beforeEach(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + privateLocation = await privateLocationTestService.addTestPrivateLocation(); + httpMonitorJson = { + ..._httpMonitorJson, + locations: [privateLocation], + }; + await supertest + .put(SYNTHETICS_API_URLS.DYNAMIC_SETTINGS) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(DYNAMIC_SETTINGS_DEFAULTS) + .expect(200); + }); + + it('returns the created alerted when called', async () => { + const apiResponse = await supertest + .post(SYNTHETICS_API_URLS.ENABLE_DEFAULT_ALERTING) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send() + .expect(200); + + const omitFields = [ + 'apiKeyOwner', + 'createdBy', + 'updatedBy', + 'id', + 'updatedAt', + 'createdAt', + 'scheduledTaskId', + 'executionStatus', + 'monitoring', + 'nextRun', + 'lastRun', + 'snoozeSchedule', + 'viewInAppRelativeUrl', + ]; + + const statusRule = apiResponse.body.statusRule; + const tlsRule = apiResponse.body.tlsRule; + + rawExpect(omit(statusRule, omitFields)).toEqual( + omit(defaultAlertRules.statusRule, omitFields) + ); + rawExpect(omit(tlsRule, omitFields)).toEqual(omit(defaultAlertRules.tlsRule, omitFields)); + }); + + it('enables alert when new monitor is added', async () => { + const newMonitor = httpMonitorJson; + + const { body: apiResponse } = await addMonitorAPI(newMonitor); + + expect(apiResponse).eql(omitMonitorKeys({ ...newMonitor, spaceId: 'default' })); + + await retry.tryForTime(30 * 1000, async () => { + const res = await supertest + .get(SYNTHETICS_API_URLS.ENABLE_DEFAULT_ALERTING) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + expect(res.body.statusRule.ruleTypeId).eql('xpack.synthetics.alerts.monitorStatus'); + expect(res.body.tlsRule.ruleTypeId).eql('xpack.synthetics.alerts.tls'); + }); + }); + + it('deletes (and recreates) the default rule when settings are updated', async () => { + const newMonitor = httpMonitorJson; + + const { body: apiResponse } = await addMonitorAPI(newMonitor); + + expect(apiResponse).eql(omitMonitorKeys(newMonitor)); + + await retry.tryForTime(30 * 1000, async () => { + const res = await supertest + .get(SYNTHETICS_API_URLS.ENABLE_DEFAULT_ALERTING) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + expect(res.body.statusRule.ruleTypeId).eql('xpack.synthetics.alerts.monitorStatus'); + expect(res.body.tlsRule.ruleTypeId).eql('xpack.synthetics.alerts.tls'); + }); + const settings = await supertest + .put(SYNTHETICS_API_URLS.DYNAMIC_SETTINGS) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + defaultStatusRuleEnabled: false, + defaultTLSRuleEnabled: false, + }); + + expect(settings.body.defaultStatusRuleEnabled).eql(false); + expect(settings.body.defaultTLSRuleEnabled).eql(false); + + await supertest + .put(SYNTHETICS_API_URLS.ENABLE_DEFAULT_ALERTING) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send() + .expect(200); + + await retry.tryForTime(30 * 1000, async () => { + const res = await supertest + .get(SYNTHETICS_API_URLS.ENABLE_DEFAULT_ALERTING) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + expect(res.body.statusRule).eql(null); + expect(res.body.tlsRule).eql(null); + }); + + const settings2 = await supertest + .put(SYNTHETICS_API_URLS.DYNAMIC_SETTINGS) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + defaultStatusRuleEnabled: true, + defaultTLSRuleEnabled: true, + }) + .expect(200); + + expect(settings2.body.defaultStatusRuleEnabled).eql(true); + expect(settings2.body.defaultTLSRuleEnabled).eql(true); + + await supertest + .put(SYNTHETICS_API_URLS.ENABLE_DEFAULT_ALERTING) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send() + .expect(200); + + await retry.tryForTime(30 * 1000, async () => { + const res = await supertest + .get(SYNTHETICS_API_URLS.ENABLE_DEFAULT_ALERTING) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + expect(res.body.statusRule.ruleTypeId).eql('xpack.synthetics.alerts.monitorStatus'); + expect(res.body.tlsRule.ruleTypeId).eql('xpack.synthetics.alerts.tls'); + }); + }); + + it('doesnt throw errors when rule has already been deleted', async () => { + const newMonitor = httpMonitorJson; + + const { body: apiResponse } = await addMonitorAPI(newMonitor); + + expect(apiResponse).eql(omitMonitorKeys(newMonitor)); + + await retry.tryForTime(30 * 1000, async () => { + const res = await supertest + .get(SYNTHETICS_API_URLS.ENABLE_DEFAULT_ALERTING) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + expect(res.body.statusRule.ruleTypeId).eql('xpack.synthetics.alerts.monitorStatus'); + expect(res.body.tlsRule.ruleTypeId).eql('xpack.synthetics.alerts.tls'); + }); + + const settings = await supertest + .put(SYNTHETICS_API_URLS.DYNAMIC_SETTINGS) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + defaultStatusRuleEnabled: false, + defaultTLSRuleEnabled: false, + }) + .expect(200); + + expect(settings.body.defaultStatusRuleEnabled).eql(false); + expect(settings.body.defaultTLSRuleEnabled).eql(false); + + await supertest + .put(SYNTHETICS_API_URLS.ENABLE_DEFAULT_ALERTING) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send() + .expect(200); + + await retry.tryForTime(30 * 1000, async () => { + const res = await supertest + .get(SYNTHETICS_API_URLS.ENABLE_DEFAULT_ALERTING) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + expect(res.body.statusRule).eql(null); + expect(res.body.tlsRule).eql(null); + }); + + // call api again with the same settings, make sure its 200 + await supertest + .put(SYNTHETICS_API_URLS.ENABLE_DEFAULT_ALERTING) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send() + .expect(200); + + await retry.tryForTime(30 * 1000, async () => { + const res = await supertest + .get(SYNTHETICS_API_URLS.ENABLE_DEFAULT_ALERTING) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + expect(res.body.statusRule).eql(null); + expect(res.body.tlsRule).eql(null); + }); + }); + }); +} + +const defaultAlertRules = { + statusRule: { + id: '574e82f0-1672-11ee-8e7d-c985c0ef6c2e', + notifyWhen: null, + consumer: 'uptime', + alertTypeId: 'xpack.synthetics.alerts.monitorStatus', + tags: ['SYNTHETICS_DEFAULT_ALERT'], + name: 'Synthetics status internal rule', + enabled: true, + throttle: null, + apiKeyOwner: 'any', + apiKeyCreatedByUser: true, + createdBy: 'any', + updatedBy: 'any', + muteAll: false, + mutedInstanceIds: [], + revision: 0, + running: false, + schedule: { interval: '1m' }, + actions: [], + params: {}, + snoozeSchedule: [], + updatedAt: '2023-06-29T11:44:44.488Z', + createdAt: '2023-06-29T11:44:44.488Z', + scheduledTaskId: '574e82f0-1672-11ee-8e7d-c985c0ef6c2e', + executionStatus: { + status: 'ok', + lastExecutionDate: '2023-06-29T11:47:55.331Z', + lastDuration: 64, + }, + ruleTypeId: 'xpack.synthetics.alerts.monitorStatus', + viewInAppRelativeUrl: '/app/observability/alerts/rules/574e82f0-1672-11ee-8e7d-c985c0ef6c2e', + }, + tlsRule: { + id: '574eaa00-1672-11ee-8e7d-c985c0ef6c2e', + notifyWhen: null, + consumer: 'uptime', + alertTypeId: 'xpack.synthetics.alerts.tls', + tags: ['SYNTHETICS_DEFAULT_ALERT'], + name: 'Synthetics internal TLS rule', + enabled: true, + throttle: null, + apiKeyOwner: 'elastic_admin', + apiKeyCreatedByUser: true, + createdBy: 'elastic_admin', + updatedBy: 'elastic_admin', + muteAll: false, + mutedInstanceIds: [], + revision: 0, + running: false, + schedule: { interval: '1m' }, + actions: [], + params: {}, + snoozeSchedule: [], + updatedAt: '2023-06-29T11:44:44.489Z', + createdAt: '2023-06-29T11:44:44.489Z', + scheduledTaskId: '574eaa00-1672-11ee-8e7d-c985c0ef6c2e', + executionStatus: { + status: 'ok', + lastExecutionDate: '2023-06-29T11:44:46.214Z', + lastDuration: 193, + }, + ruleTypeId: 'xpack.synthetics.alerts.tls', + viewInAppRelativeUrl: '/app/observability/alerts/rules/574e82f0-1672-11ee-8e7d-c985c0ef6c2e', + }, +}; diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/browser_monitor.json b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/browser_monitor.json new file mode 100644 index 0000000000000..1cb2d39685bf2 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/browser_monitor.json @@ -0,0 +1,60 @@ +{ + "type": "browser", + "enabled": true, + "alert": { + "status": { + "enabled": true + } + }, + "journey_id": "", + "project_id": "", + "schedule": { + "number": "3", + "unit": "m" + }, + "service.name": "", + "config_id": "", + "tags": ["cookie-test", "browser"], + "timeout": "16", + "__ui": { + "script_source": { + "is_generated_script": false, + "file_name": "" + }, + "is_tls_enabled": false + }, + "source.inline.script": "step(\"Visit /users api route\", async () => {\\n const response = await page.goto('https://nextjs-test-synthetics.vercel.app/api/users');\\n expect(response.status()).toEqual(200);\\n});", + "source.project.content": "", + "params": "", + "screenshots": "on", + "synthetics_args": [], + "filter_journeys.match": "", + "filter_journeys.tags": [], + "ignore_https_errors": false, + "throttling": { + "value": { + "download": "5", + "latency": "20", + "upload": "3" + }, + "id": "default", + "label": "Default" + }, + "locations": ["dev"], + "name": "Test HTTP Monitor 03", + "namespace": "testnamespace", + "origin": "ui", + "form_monitor_type": "multistep", + "url.port": null, + "id": "", + "hash": "", + "playwright_options": "", + "playwright_text_assertion": "", + "ssl.certificate": "", + "ssl.certificate_authorities": "", + "ssl.supported_protocols": ["TLSv1.1", "TLSv1.2", "TLSv1.3"], + "ssl.verification_mode": "full", + "revision": 1, + "max_attempts": 2, + "labels": {} +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/http_monitor.json b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/http_monitor.json new file mode 100644 index 0000000000000..47d0637a7cd91 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/http_monitor.json @@ -0,0 +1,83 @@ +{ + "type": "http", + "enabled": true, + "alert": { + "status": { + "enabled": true + } + }, + "tags": [ + "tag1", + "tag2" + ], + "schedule": { + "number": "5", + "unit": "m" + }, + "service.name": "", + "config_id": "", + "timeout": "180", + "__ui": { + "is_tls_enabled": false + }, + "max_attempts": 2, + "max_redirects": "3", + "password": "test", + "urls": "https://nextjs-test-synthetics.vercel.app/api/users", + "url.port": null, + "proxy_url": "http://proxy.com", + "proxy_headers": {}, + "check.response.body.negative": [], + "check.response.body.positive": [], + "check.response.json": [], + "response.include_body": "never", + "response.include_body_max_bytes": "1024", + "check.request.headers": { + "sampleHeader": "sampleHeaderValue" + }, + "response.include_headers": true, + "check.response.status": [ + "200", + "201" + ], + "check.request.body": { + "value": "testValue", + "type": "json" + }, + "check.response.headers": {}, + "check.request.method": "", + "username": "test-username", + "ssl.certificate_authorities": "t.string", + "ssl.certificate": "t.string", + "ssl.key": "t.string", + "ssl.key_passphrase": "t.string", + "ssl.verification_mode": "certificate", + "ssl.supported_protocols": [ + "TLSv1.1", + "TLSv1.2" + ], + "name": "test-monitor-name", + "locations": [ + { + "id": "dev", + "label": "Dev Service", + "geo": { + "lat": 0, + "lon": 0 + }, + "isServiceManaged": true + } + ], + "namespace": "testnamespace", + "revision": 1, + "origin": "ui", + "form_monitor_type": "http", + "journey_id": "", + "id": "", + "hash": "", + "mode": "any", + "ipv4": true, + "ipv6": true, + "params": "", + "labels": {} +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/icmp_monitor.json b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/icmp_monitor.json new file mode 100644 index 0000000000000..8f97e8de7424d --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/icmp_monitor.json @@ -0,0 +1,35 @@ +{ + "type": "icmp", + "locations": ["dev"], + "journey_id": "", + "enabled": true, + "alert": { + "status": { + "enabled": true + } + }, + "schedule": { + "number": "3", + "unit": "m" + }, + "config_id": "", + "service.name": "example-service-name", + "tags": [ + "tagT1", + "tagT2" + ], + "timeout": "16", + "hosts": "192.33.22.111:3333", + "wait": "1", + "name": "Test HTTP Monitor 04", + "namespace": "testnamespace", + "origin": "ui", + "form_monitor_type": "icmp", + "id": "", + "hash": "", + "mode": "any", + "ipv4": true, + "ipv6": true, + "params": "", + "max_attempts": 2 +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/inspect_browser_monitor.json b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/inspect_browser_monitor.json new file mode 100644 index 0000000000000..2307e4dcbfaf8 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/inspect_browser_monitor.json @@ -0,0 +1,85 @@ +{ + "type": "browser", + "form_monitor_type": "multistep", + "enabled": true, + "alert": { + "status": { + "enabled": true + } + }, + "schedule": { + "number": "10", + "unit": "m" + }, + "service.name": "", + "config_id": "0088b13c-9bb0-4fc6-a0b5-63b9b024eabb", + "tags": [], + "timeout": null, + "name": "check if title is present", + "locations": [ + { + "id": "dev", + "label": "Dev Service", + "geo": { + "lat": 0, + "lon": 0 + }, + "isServiceManaged": true + } + ], + "namespace": "default", + "origin": "project", + "journey_id": "bb82f7de-d832-4b14-8097-38a464d5fe49", + "hash": "ekrjelkjrelkjre", + "id": "bb82f7de-d832-4b14-8097-38a464d5fe49-test-project-cb47c83a-45e7-416a-9301-cb476b5bff01-default", + "params": "", + "project_id": "test-project-cb47c83a-45e7-416a-9301-cb476b5bff01", + "playwright_options": "{\"headless\":true,\"chromiumSandbox\":false}", + "__ui": { + "script_source": { + "is_generated_script": false, + "file_name": "" + } + }, + "url.port": null, + "source.inline.script": "", + "source.project.content": "UEsDBBQACAAIAON5qVQAAAAAAAAAAAAAAAAfAAAAZXhhbXBsZXMvdG9kb3MvYmFzaWMuam91cm5leS50c22Q0WrDMAxF3/sVF7MHB0LMXlc6RvcN+wDPVWNviW0sdUsp/fe5SSiD7UFCWFfHujIGlpnkybwxFTZfoY/E3hsaLEtwhs9RPNWKDU12zAOxkXRIbN4tB9d9pFOJdO6EN2HMqQguWN9asFBuQVMmJ7jiWNII9fIXrbabdUYr58l9IhwhQQZCYORCTFFUC31Btj21NRc7Mq4Nds+4bDD/pNVgT9F52Jyr2Fa+g75LAPttg8yErk+S9ELpTmVotlVwnfNCuh2lepl3+JflUmSBJ3uggt1v9INW/lHNLKze9dJe1J3QJK8pSvWkm6aTtCet5puq+x63+AFQSwcIAPQ3VfcAAACcAQAAUEsBAi0DFAAIAAgA43mpVAD0N1X3AAAAnAEAAB8AAAAAAAAAAAAgAKSBAAAAAGV4YW1wbGVzL3RvZG9zL2Jhc2ljLmpvdXJuZXkudHNQSwUGAAAAAAEAAQBNAAAARAEAAAAA", + "playwright_text_assertion": "", + "urls": "", + "screenshots": "on", + "synthetics_args": [], + "filter_journeys.match": "check if title is present", + "filter_journeys.tags": [], + "ignore_https_errors": false, + "throttling": { + "value": { + "download": "5", + "upload": "3", + "latency": "20" + }, + "id": "default", + "label": "Default" + }, + "ssl.certificate_authorities": "", + "ssl.certificate": "", + "ssl.key": "", + "ssl.key_passphrase": "", + "ssl.verification_mode": "full", + "ssl.supported_protocols": [ + "TLSv1.1", + "TLSv1.2", + "TLSv1.3" + ], + "original_space": "default", + "custom_heartbeat_id": "bb82f7de-d832-4b14-8097-38a464d5fe49-test-project-cb47c83a-45e7-416a-9301-cb476b5bff01-default", + "revision": 1, + "source.inline": { + "type": "inline", + "script": "", + "fileName": "" + }, + "service": { + "name": "" + }, + "max_attempts": 2 +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/project_browser_monitor.json b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/project_browser_monitor.json new file mode 100644 index 0000000000000..18cea933e7974 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/project_browser_monitor.json @@ -0,0 +1,30 @@ +{ + "keep_stale": true, + "project": "test-suite", + "monitors": [{ + "throttling": { + "download": 5, + "upload": 3, + "latency": 20 + }, + "schedule": 10, + "locations": [ + "dev" + ], + "params": {}, + "playwrightOptions": { + "headless": true, + "chromiumSandbox": false + }, + "name": "check if title is present", + "id": "check-if-title-is-present", + "tags": [], + "content": "UEsDBBQACAAIAON5qVQAAAAAAAAAAAAAAAAfAAAAZXhhbXBsZXMvdG9kb3MvYmFzaWMuam91cm5leS50c22Q0WrDMAxF3/sVF7MHB0LMXlc6RvcN+wDPVWNviW0sdUsp/fe5SSiD7UFCWFfHujIGlpnkybwxFTZfoY/E3hsaLEtwhs9RPNWKDU12zAOxkXRIbN4tB9d9pFOJdO6EN2HMqQguWN9asFBuQVMmJ7jiWNII9fIXrbabdUYr58l9IhwhQQZCYORCTFFUC31Btj21NRc7Mq4Nds+4bDD/pNVgT9F52Jyr2Fa+g75LAPttg8yErk+S9ELpTmVotlVwnfNCuh2lepl3+JflUmSBJ3uggt1v9INW/lHNLKze9dJe1J3QJK8pSvWkm6aTtCet5puq+x63+AFQSwcIAPQ3VfcAAACcAQAAUEsBAi0DFAAIAAgA43mpVAD0N1X3AAAAnAEAAB8AAAAAAAAAAAAgAKSBAAAAAGV4YW1wbGVzL3RvZG9zL2Jhc2ljLmpvdXJuZXkudHNQSwUGAAAAAAEAAQBNAAAARAEAAAAA", + "filter": { + "match": "check if title is present" + }, + "hash": "ekrjelkjrelkjre", + "max_attempts": 2, + "type": "browser" + }] +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/project_http_monitor.json b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/project_http_monitor.json new file mode 100644 index 0000000000000..05e1ebed01aec --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/project_http_monitor.json @@ -0,0 +1,86 @@ +{ + "project": "test-suite", + "keep_stale": false, + "monitors": [ + { + "locations": ["dev"], + "type": "http", + "enabled": false, + "id": "my-monitor-2", + "name": "My Monitor 2", + "urls": [ + "http://localhost:9200", + "http://anotherurl:9200" + ], + "schedule": 60, + "timeout": "80s", + "check.request": { + "method": "POST", + "headers": { + "Content-Type": "application/x-www-form-urlencoded" + } + }, + "response": { + "include_body": "always" + }, + "response.include_headers": false, + "check.response": { + "status": [ + 200 + ], + "body": [ + "Saved", + "saved" + ] + }, + "unsupportedKey": { + "nestedUnsupportedKey": "unsupportedValue" + }, + "hash": "ekrjelkjrelkjre" + }, + { + "locations": ["dev"], + "type": "http", + "enabled": false, + "id": "my-monitor-3", + "name": "My Monitor 3", + "proxy_url": "${testGlobalParam2}", + "urls": [ + "http://localhost:9200" + ], + "schedule": 60, + "timeout": "80s", + "check.request": { + "method": "POST", + "headers": { + "Content-Type": "application/x-www-form-urlencoded" + } + }, + "response": { + "include_body": "always", + "include_body_max_bytes": 900 + }, + "tags": "tag2,tag2", + "response.include_headers": false, + "check.response": { + "status": [ + 200 + ], + "body":{ + "positive": [ + "${testLocal1}", + "saved" + ] + }, + "json": [{"description":"check status","expression":"foo.bar == \"myValue\""}] + }, + "hash": "ekrjelkjrelkjre", + "ssl.verification_mode": "strict", + "params": { + "testLocal1": "testLocalParamsValue", + "testGlobalParam2": "testGlobalParamOverwrite" + }, + "max_attempts": 2 + } + ] +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/project_icmp_monitor.json b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/project_icmp_monitor.json new file mode 100644 index 0000000000000..63e4215e46cca --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/project_icmp_monitor.json @@ -0,0 +1,47 @@ + + + +{ + "project": "test-suite", + "keep_stale": true, + "monitors": [ + { + "locations": [ "dev" ], + "type": "icmp", + "id": "Cloudflare-DNS", + "name": "Cloudflare DNS", + "hosts": [ "1.1.1.1" ], + "schedule": 1, + "tags": [ "service:smtp", "org:google" ], + "privateLocations": [ "Test private location 0" ], + "wait": "30s", + "hash": "ekrjelkjrelkjre" + }, + { + "locations": [ "dev" ], + "type": "icmp", + "id": "Cloudflare-DNS-2", + "name": "Cloudflare DNS 2", + "hosts": "1.1.1.1", + "schedule": 1, + "tags": "tag1,tag2", + "privateLocations": [ "Test private location 0" ], + "wait": "1m", + "hash": "ekrjelkjrelkjre" + }, + { + "locations": [ "dev" ], + "type": "icmp", + "id": "Cloudflare-DNS-3", + "name": "Cloudflare DNS 3", + "hosts": "1.1.1.1,2.2.2.2", + "schedule": 1, + "tags": "tag1,tag2", + "privateLocations": [ "Test private location 0" ], + "unsupportedKey": { + "nestedUnsupportedKey": "unnsuportedValue" + }, + "hash": "ekrjelkjrelkjre" + } + ] +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/project_tcp_monitor.json b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/project_tcp_monitor.json new file mode 100644 index 0000000000000..26382b010ec3e --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/project_tcp_monitor.json @@ -0,0 +1,44 @@ +{ + "project": "test-suite", + "keep_stale": true, + "monitors": [ + { + "locations": [ "dev" ], + "type": "tcp", + "id": "gmail-smtp", + "name": "GMail SMTP", + "hosts": [ "smtp.gmail.com:587" ], + "schedule": 1, + "tags": [ "service:smtp", "org:google" ], + "privateLocations": [ ], + "hash": "ekrjelkjrelkjre", + "ssl.verification_mode": "strict" + }, + { + "locations": [ "dev" ], + "type": "tcp", + "id": "always-down", + "name": "Always Down", + "hosts": "localhost:18278", + "schedule": 1, + "tags": "tag1,tag2", + "privateLocations": [ ], + "hash": "ekrjelkjrelkjre" + }, + { + "locations": [ "dev" ], + "type": "tcp", + "id": "always-down", + "name": "Always Down", + "hosts": ["localhost", "anotherhost"], + "ports": ["5698"], + "schedule": 1, + "tags": "tag1,tag2", + "privateLocations": [ ], + "unsupportedKey": { + "nestedUnsupportedKey": "unnsuportedValue" + }, + "hash": "ekrjelkjrelkjre" + } + ] +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/tcp_monitor.json b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/tcp_monitor.json new file mode 100644 index 0000000000000..9cc646a36c943 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/fixtures/tcp_monitor.json @@ -0,0 +1,43 @@ +{ + "type": "tcp", + "locations": ["dev"], + "enabled": true, + "config_id": "", + "schedule": { + "number": "3", + "unit": "m" + }, + "service.name": "", + "tags": [], + "timeout": "16", + "__ui": { + "is_tls_enabled": true + }, + "hosts": "example-host:40", + "urls": "example-host:40", + "url.port": null, + "proxy_url": "", + "proxy_use_local_resolver": false, + "check.receive": "", + "check.send": "", + "ssl.certificate_authorities": "", + "ssl.certificate": "", + "ssl.key": "", + "ssl.key_passphrase": "examplepassphrase", + "ssl.verification_mode": "full", + "ssl.supported_protocols": [ + "TLSv1.1", + "TLSv1.3" + ], + "name": "Test HTTP Monitor 04", + "namespace": "testnamespace", + "origin": "ui", + "form_monitor_type": "tcp", + "id": "", + "hash": "", + "mode": "any", + "ipv4": true, + "ipv6": true, + "params": "", + "max_attempts": 2 +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/get_filters.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/get_filters.ts new file mode 100644 index 0000000000000..cd6f8ff2f7275 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/get_filters.ts @@ -0,0 +1,87 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { SYNTHETICS_API_URLS } from '@kbn/synthetics-plugin/common/constants'; +import { RoleCredentials } from '@kbn/ftr-common-functional-services'; +import expect from '@kbn/expect'; +import { PrivateLocation } from '@kbn/synthetics-plugin/common/runtime_types'; +import { syntheticsMonitorType } from '@kbn/synthetics-plugin/common/types/saved_objects'; +import { DeploymentAgnosticFtrProviderContext } from '../../../ftr_provider_context'; +import { PrivateLocationTestService } from '../../../services/synthetics_private_location'; + +export default function ({ getService }: DeploymentAgnosticFtrProviderContext) { + describe('getMonitorFilters', function () { + const kibanaServer = getService('kibanaServer'); + const supertest = getService('supertestWithoutAuth'); + const samlAuth = getService('samlAuth'); + + const privateLocationTestService = new PrivateLocationTestService(getService); + + let editorUser: RoleCredentials; + let privateLocation: PrivateLocation; + + after(async () => { + await kibanaServer.savedObjects.clean({ types: [syntheticsMonitorType] }); + }); + + before(async () => { + await kibanaServer.savedObjects.clean({ types: [syntheticsMonitorType] }); + editorUser = await samlAuth.createM2mApiKeyWithRoleScope('editor'); + privateLocation = await privateLocationTestService.addTestPrivateLocation(); + }); + + it('get list of filters', async () => { + const apiResponse = await supertest + .get(SYNTHETICS_API_URLS.FILTERS) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + expect(apiResponse.body).eql({ + monitorTypes: [], + tags: [], + locations: [], + projects: [], + schedules: [], + }); + }); + + it('get list of filters with monitorTypes', async () => { + const newMonitor = { + name: 'Sample name', + type: 'http', + urls: 'https://elastic.co', + tags: ['apm', 'synthetics'], + locations: [privateLocation], + }; + + await supertest + .post(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(newMonitor) + .expect(200); + + const apiResponse = await supertest + .get(SYNTHETICS_API_URLS.FILTERS) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + expect(apiResponse.body).eql({ + monitorTypes: [{ label: 'http', count: 1 }], + tags: [ + { label: 'apm', count: 1 }, + { label: 'synthetics', count: 1 }, + ], + locations: [{ label: privateLocation.id, count: 1 }], + projects: [], + schedules: [{ label: '3', count: 1 }], + }); + }); + }); +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/get_monitor.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/get_monitor.ts new file mode 100644 index 0000000000000..4957ac0d2e688 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/get_monitor.ts @@ -0,0 +1,353 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { omit } from 'lodash'; +import moment from 'moment'; +import { v4 as uuidv4 } from 'uuid'; +import { RoleCredentials } from '@kbn/ftr-common-functional-services'; +import { + ConfigKey, + EncryptedSyntheticsSavedMonitor, + MonitorFields, + PrivateLocation, +} from '@kbn/synthetics-plugin/common/runtime_types'; +import { SYNTHETICS_API_URLS } from '@kbn/synthetics-plugin/common/constants'; +import expect from '@kbn/expect'; +import { secretKeys } from '@kbn/synthetics-plugin/common/constants/monitor_management'; +import { SyntheticsMonitorTestService } from '../../../services/synthetics_monitor'; +import { omitMonitorKeys } from './create_monitor'; +import { DeploymentAgnosticFtrProviderContext } from '../../../ftr_provider_context'; +import { PrivateLocationTestService } from '../../../services/synthetics_private_location'; +import { getFixtureJson } from './helpers/get_fixture_json'; + +export default function ({ getService }: DeploymentAgnosticFtrProviderContext) { + describe('getSyntheticsMonitors', function () { + const supertest = getService('supertestWithoutAuth'); + const kibanaServer = getService('kibanaServer'); + const retry = getService('retry'); + const samlAuth = getService('samlAuth'); + const monitorTestService = new SyntheticsMonitorTestService(getService); + const privateLocationTestService = new PrivateLocationTestService(getService); + + let _monitors: MonitorFields[]; + let monitors: MonitorFields[]; + let editorUser: RoleCredentials; + let privateLocation: PrivateLocation; + + const saveMonitor = async (monitor: MonitorFields, spaceId?: string) => { + let url = SYNTHETICS_API_URLS.SYNTHETICS_MONITORS + '?internal=true'; + if (spaceId) { + url = '/s/' + spaceId + url; + } + const res = await supertest + .post(url) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(monitor); + + expect(res.status).eql(200, JSON.stringify(res.body)); + + return res.body as EncryptedSyntheticsSavedMonitor; + }; + + before(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + editorUser = await samlAuth.createM2mApiKeyWithRoleScope('editor'); + privateLocation = await privateLocationTestService.addTestPrivateLocation(); + await supertest + .put(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + _monitors = [ + getFixtureJson('icmp_monitor'), + getFixtureJson('tcp_monitor'), + getFixtureJson('http_monitor'), + getFixtureJson('browser_monitor'), + ].map((mon) => ({ + ...mon, + locations: [privateLocation], + })); + }); + + beforeEach(() => { + monitors = _monitors; + }); + + describe('get many monitors', () => { + it('without params', async () => { + const uuid = uuidv4(); + const [mon1, mon2] = await Promise.all( + monitors.map((mon, i) => saveMonitor({ ...mon, name: `${mon.name}-${uuid}-${i}` })) + ); + + const apiResponse = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS + '?perPage=1000&internal=true') // 1000 to sort of load all saved monitors + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + const found: MonitorFields[] = apiResponse.body.monitors.filter(({ id }: MonitorFields) => + [mon1.id, mon2.id].includes(id) + ); + found.sort(({ id: a }) => (a === mon2.id ? 1 : a === mon1.id ? -1 : 0)); + const foundMonitors = found.map( + (fields) => fields as unknown as EncryptedSyntheticsSavedMonitor + ); + + const expected = [mon1, mon2]; + + /** + * These dates are dynamically generated by the server, so we can't + * compare them directly. Instead, we'll just check that they're valid. + */ + foundMonitors.forEach(({ updated_at: updatedAt, created_at: createdAt }) => { + expect(moment(createdAt).isValid()).to.be(true); + expect(moment(updatedAt).isValid()).to.be(true); + }); + + expect(foundMonitors.map((fm) => omit(fm, 'updated_at', 'created_at', 'spaceId'))).eql( + expected.map((expectedMon) => + omit(expectedMon, ['updated_at', 'created_at', ...secretKeys]) + ) + ); + }); + + it('with page params', async () => { + const allMonitors = [...monitors, ...monitors]; + for (const mon of allMonitors) { + await saveMonitor({ ...mon, name: mon.name + Date.now() }); + } + + await retry.try(async () => { + const firstPageResp = await supertest + .get(`${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}?page=1&perPage=2`) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + const secondPageResp = await supertest + .get(`${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}?page=2&perPage=3`) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + expect(firstPageResp.body.total).greaterThan(6); + expect(firstPageResp.body.monitors.length).eql(2); + expect(secondPageResp.body.monitors.length).eql(3); + + expect(firstPageResp.body.monitors[0].id).not.eql(secondPageResp.body.monitors[0].id); + }); + }); + + it('with single monitorQueryId filter', async () => { + const uuid = uuidv4(); + const [_, { id: id2 }] = await Promise.all( + monitors + .map((mon, i) => ({ ...mon, name: `mon.name-${uuid}-${i}` })) + .map((mon) => saveMonitor(mon)) + ); + + const resp = await supertest + .get( + `${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}?page=1&perPage=10&monitorQueryIds=${id2}` + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + const resultMonitorIds = resp.body.monitors.map(({ id }: Partial) => id); + expect(resultMonitorIds.length).eql(1); + expect(resultMonitorIds).eql([id2]); + }); + + it('with multiple monitorQueryId filter', async () => { + const uuid = uuidv4(); + const [_, { id: id2 }, { id: id3 }] = await Promise.all( + monitors + .map((mon, i) => ({ ...mon, name: `${mon.name}-${uuid}-${i}` })) + .map((monT) => saveMonitor(monT)) + ); + + const resp = await supertest + .get( + `${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}?page=1&perPage=10&sortField=name.keyword&sortOrder=asc&monitorQueryIds=${id2}&monitorQueryIds=${id3}` + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + const resultMonitorIds = resp.body.monitors.map(({ id }: Partial) => id); + + expect(resultMonitorIds.length).eql(2); + expect(resultMonitorIds).eql([id2, id3]); + }); + + it('monitorQueryId respects custom_heartbeat_id while filtering', async () => { + const customHeartbeatId0 = 'custom-heartbeat-id-test-01'; + const customHeartbeatId1 = 'custom-heartbeat-id-test-02'; + await Promise.all( + [ + { + ...monitors[0], + [ConfigKey.CUSTOM_HEARTBEAT_ID]: customHeartbeatId0, + [ConfigKey.NAME]: `NAME-${customHeartbeatId0}`, + }, + { + ...monitors[1], + [ConfigKey.CUSTOM_HEARTBEAT_ID]: customHeartbeatId1, + [ConfigKey.NAME]: `NAME-${customHeartbeatId1}`, + }, + ].map((monT) => saveMonitor(monT)) + ); + + const resp = await supertest + .get( + `${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}?page=1&perPage=10&sortField=name.keyword&sortOrder=asc&monitorQueryIds=${customHeartbeatId0}&monitorQueryIds=${customHeartbeatId1}` + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + const resultMonitorIds = resp.body.monitors + .map(({ id }: Partial) => id) + .filter((id: string, index: number, arr: string[]) => arr.indexOf(id) === index); // Filter only unique + expect(resultMonitorIds.length).eql(2); + expect(resultMonitorIds).eql([customHeartbeatId0, customHeartbeatId1]); + }); + + it('gets monitors from all spaces', async () => { + const SPACE_ID = `test-space-${uuidv4()}`; + const SPACE_NAME = `test-space-name ${uuidv4()}`; + await kibanaServer.spaces.create({ id: SPACE_ID, name: SPACE_NAME }); + const spaceScopedPrivateLocation = await privateLocationTestService.addTestPrivateLocation( + SPACE_ID + ); + + const allMonitors = [...monitors, ...monitors]; + for (const mon of allMonitors) { + await saveMonitor( + { ...mon, name: mon.name + Date.now(), locations: [spaceScopedPrivateLocation] }, + SPACE_ID + ); + } + + const firstPageResp = await supertest + .get(`${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}?page=1&perPage=1000`) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + const defaultSpaceMons = firstPageResp.body.monitors.filter( + ({ spaceId }: { spaceId: string }) => spaceId === 'default' + ); + const testSpaceMons = firstPageResp.body.monitors.filter( + ({ spaceId }: { spaceId: string }) => spaceId === SPACE_ID + ); + + expect(defaultSpaceMons.length).to.eql(22); + expect(testSpaceMons.length).to.eql(0); + + const res = await supertest + .get( + `${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}?page=1&perPage=1000&showFromAllSpaces=true` + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + const defaultSpaceMons1 = res.body.monitors.filter( + ({ spaceId }: { spaceId: string }) => spaceId === 'default' + ); + const testSpaceMons1 = res.body.monitors.filter( + ({ spaceId }: { spaceId: string }) => spaceId === SPACE_ID + ); + + expect(defaultSpaceMons1.length).to.eql(22); + expect(testSpaceMons1.length).to.eql(8); + }); + }); + + describe('get one monitor', () => { + it('should get by id', async () => { + const uuid = uuidv4(); + const [{ id: id1 }] = await Promise.all( + monitors + .map((mon, i) => ({ ...mon, name: `${mon.name}-${uuid}-${i}` })) + .map((monT) => saveMonitor(monT)) + ); + + const apiResponse = await monitorTestService.getMonitor(id1, { user: editorUser }); + + expect(apiResponse.body).eql( + omitMonitorKeys({ + ...monitors[0], + [ConfigKey.MONITOR_QUERY_ID]: apiResponse.body.id, + [ConfigKey.CONFIG_ID]: apiResponse.body.id, + revision: 1, + locations: [privateLocation], + name: `${monitors[0].name}-${uuid}-0`, + }) + ); + }); + + it('should get by id with ui query param', async () => { + const uuid = uuidv4(); + const [{ id: id1 }] = await Promise.all( + monitors + .map((mon, i) => ({ ...mon, name: `${mon.name}-${uuid}-${i}` })) + .map((monT) => saveMonitor(monT)) + ); + + const apiResponse = await monitorTestService.getMonitor(id1, { + internal: true, + user: editorUser, + }); + + expect(apiResponse.body).eql( + omit( + { + ...monitors[0], + form_monitor_type: 'icmp', + revision: 1, + locations: [privateLocation], + name: `${monitors[0].name}-${uuid}-0`, + hosts: '192.33.22.111:3333', + hash: '', + journey_id: '', + max_attempts: 2, + labels: {}, + }, + ['config_id', 'id', 'form_monitor_type'] + ) + ); + }); + + it('returns 404 if monitor id is not found', async () => { + const invalidMonitorId = 'invalid-id'; + const expected404Message = `Monitor id ${invalidMonitorId} not found!`; + + const getResponse = await supertest + .get(SYNTHETICS_API_URLS.GET_SYNTHETICS_MONITOR.replace('{monitorId}', invalidMonitorId)) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(404); + + expect(getResponse.body.message).eql(expected404Message); + }); + + it('validates param length', async () => { + const veryLargeMonId = new Array(1050).fill('1').join(''); + + await supertest + .get(SYNTHETICS_API_URLS.GET_SYNTHETICS_MONITOR.replace('{monitorId}', veryLargeMonId)) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(400); + }); + }); + }); +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/get_monitor_project.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/get_monitor_project.ts new file mode 100644 index 0000000000000..0678731a4202e --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/get_monitor_project.ts @@ -0,0 +1,741 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { v4 as uuidv4 } from 'uuid'; +import type SuperTest from 'supertest'; +import { RoleCredentials } from '@kbn/ftr-common-functional-services'; +import { + LegacyProjectMonitorsRequest, + ProjectMonitor, + ProjectMonitorMetaData, + PrivateLocation, +} from '@kbn/synthetics-plugin/common/runtime_types'; +import { SYNTHETICS_API_URLS } from '@kbn/synthetics-plugin/common/constants'; +import expect from '@kbn/expect'; +import { DeploymentAgnosticFtrProviderContext } from '../../../ftr_provider_context'; +import { getFixtureJson } from './helpers/get_fixture_json'; +import { PrivateLocationTestService } from '../../../services/synthetics_private_location'; + +export default function ({ getService }: DeploymentAgnosticFtrProviderContext) { + describe('GetProjectMonitors', function () { + const supertest = getService('supertestWithoutAuth'); + const samlAuth = getService('samlAuth'); + + let projectMonitors: LegacyProjectMonitorsRequest; + let httpProjectMonitors: LegacyProjectMonitorsRequest; + let tcpProjectMonitors: LegacyProjectMonitorsRequest; + let icmpProjectMonitors: LegacyProjectMonitorsRequest; + let testPolicyId = ''; + let editorUser: RoleCredentials; + let testPrivateLocations: PrivateLocation[] = []; + + const testPrivateLocationsService = new PrivateLocationTestService(getService); + + const setUniqueIds = ( + request: LegacyProjectMonitorsRequest, + privateLocations: PrivateLocation[] = [] + ) => { + return { + ...request, + monitors: request.monitors.map((monitor) => ({ + ...monitor, + id: uuidv4(), + locations: [], + privateLocations: privateLocations.map((location) => location.label), + })), + }; + }; + + before(async () => { + await testPrivateLocationsService.installSyntheticsPackage(); + + const testPolicyName = 'Fleet test server policy' + Date.now(); + const apiResponse = await testPrivateLocationsService.addFleetPolicy(testPolicyName); + testPolicyId = apiResponse.body.item.id; + testPrivateLocations = await testPrivateLocationsService.setTestLocations([testPolicyId]); + editorUser = await samlAuth.createM2mApiKeyWithRoleScope('editor'); + }); + + beforeEach(() => { + projectMonitors = setUniqueIds( + getFixtureJson('project_browser_monitor'), + testPrivateLocations + ); + httpProjectMonitors = setUniqueIds( + getFixtureJson('project_http_monitor'), + testPrivateLocations + ); + tcpProjectMonitors = setUniqueIds( + getFixtureJson('project_tcp_monitor'), + testPrivateLocations + ); + icmpProjectMonitors = setUniqueIds( + getFixtureJson('project_icmp_monitor'), + testPrivateLocations + ); + }); + + it('project monitors - fetches all monitors - browser', async () => { + const monitors = []; + const project = 'test-brower-suite'; + for (let i = 0; i < 600; i++) { + monitors.push({ + ...projectMonitors.monitors[0], + id: `test browser id ${i}`, + name: `test name ${i}`, + }); + } + + try { + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: monitors.slice(0, 250), + }) + .expect(200); + + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: monitors.slice(250, 500), + }) + .expect(200); + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: monitors.slice(500, 600), + }) + .expect(200); + + const firstPageResponse = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT.replace('{projectName}', project)) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .query({ per_page: 500 }) + .send() + .expect(200); + + const { monitors: firstPageMonitors, total, after_key: afterKey } = firstPageResponse.body; + expect(firstPageMonitors.length).to.eql(500); + expect(total).to.eql(600); + expect(afterKey).to.eql('test browser id 548'); + + const secondPageResponse = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT.replace('{projectName}', project)) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .query({ + search_after: afterKey, + per_page: 500, + }) + .send() + .expect(200); + const { monitors: secondPageMonitors } = secondPageResponse.body; + expect(secondPageMonitors.length).to.eql(100); + checkFields([...firstPageMonitors, ...secondPageMonitors], monitors); + } finally { + const monitorsToDelete = monitors.map((monitor) => monitor.id); + + await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete.slice(0, 250) }) + .expect(200); + await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete.slice(250, 500) }) + .expect(200); + await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete.slice(500, 600) }) + .expect(200); + } + }); + + it('project monitors - fetches all monitors - http', async () => { + const monitors = []; + const project = 'test-http-suite'; + for (let i = 0; i < 600; i++) { + monitors.push({ + ...httpProjectMonitors.monitors[1], + id: `test http id ${i}`, + name: `test name ${i}`, + }); + } + + try { + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: monitors.slice(0, 250), + }) + .expect(200); + + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: monitors.slice(250, 500), + }) + .expect(200); + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: monitors.slice(500, 600), + }) + .expect(200); + + const firstPageResponse = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT.replace('{projectName}', project)) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .query({ per_page: 500 }) + .send() + .expect(200); + + const { + monitors: firstPageProjectMonitors, + after_key: afterKey, + total, + } = firstPageResponse.body; + expect(firstPageProjectMonitors.length).to.eql(500); + expect(total).to.eql(600); + expect(afterKey).to.eql('test http id 548'); + + const secondPageResponse = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT.replace('{projectName}', project)) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .query({ + search_after: afterKey, + per_page: 500, + }) + .send() + .expect(200); + const { monitors: secondPageProjectMonitors } = secondPageResponse.body; + expect(secondPageProjectMonitors.length).to.eql(100); + checkFields([...firstPageProjectMonitors, ...secondPageProjectMonitors], monitors); + } finally { + const monitorsToDelete = monitors.map((monitor) => monitor.id); + + await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete.slice(0, 250) }) + .expect(200); + await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete.slice(250, 500) }) + .expect(200); + await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete.slice(500, 600) }) + .expect(200); + } + }); + + it('project monitors - fetches all monitors - tcp', async () => { + const monitors = []; + const project = 'test-tcp-suite'; + for (let i = 0; i < 600; i++) { + monitors.push({ + ...tcpProjectMonitors.monitors[0], + id: `test tcp id ${i}`, + name: `test name ${i}`, + }); + } + + try { + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: monitors.slice(0, 250), + }) + .expect(200); + + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: monitors.slice(250, 500), + }) + .expect(200); + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: monitors.slice(500, 600), + }) + .expect(200); + + const firstPageResponse = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT.replace('{projectName}', project)) + .set(editorUser.apiKeyHeader) + .query({ per_page: 500 }) + .set(samlAuth.getInternalRequestHeader()) + .send() + .expect(200); + + const { + monitors: firstPageProjectMonitors, + after_key: afterKey, + total, + } = firstPageResponse.body; + expect(firstPageProjectMonitors.length).to.eql(500); + expect(total).to.eql(600); + expect(afterKey).to.eql('test tcp id 548'); + + const secondPageResponse = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT.replace('{projectName}', project)) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .query({ + search_after: afterKey, + per_page: 500, + }) + .send() + .expect(200); + const { monitors: secondPageProjectMonitors } = secondPageResponse.body; + expect(secondPageProjectMonitors.length).to.eql(100); + checkFields([...firstPageProjectMonitors, ...secondPageProjectMonitors], monitors); + } finally { + const monitorsToDelete = monitors.map((monitor) => monitor.id); + + await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete.slice(0, 250) }) + .expect(200); + await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete.slice(250, 500) }) + .expect(200); + await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete.slice(500, 600) }) + .expect(200); + } + }); + + it('project monitors - fetches all monitors - icmp', async () => { + const monitors = []; + const project = 'test-icmp-suite'; + for (let i = 0; i < 600; i++) { + monitors.push({ + ...icmpProjectMonitors.monitors[0], + id: `test icmp id ${i}`, + name: `test name ${i}`, + }); + } + + try { + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: monitors.slice(0, 250), + }) + .expect(200); + + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: monitors.slice(250, 500), + }) + .expect(200); + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: monitors.slice(500, 600), + }) + .expect(200); + const firstPageResponse = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT.replace('{projectName}', project)) + .set(editorUser.apiKeyHeader) + .query({ per_page: 500 }) + .set(samlAuth.getInternalRequestHeader()) + .send() + .expect(200); + + const { + monitors: firstPageProjectMonitors, + after_key: afterKey, + total, + } = firstPageResponse.body; + expect(firstPageProjectMonitors.length).to.eql(500); + expect(total).to.eql(600); + expect(afterKey).to.eql('test icmp id 548'); + + const secondPageResponse = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT.replace('{projectName}', project)) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .query({ + search_after: afterKey, + per_page: 500, + }) + .send() + .expect(200); + const { monitors: secondPageProjectMonitors } = secondPageResponse.body; + expect(secondPageProjectMonitors.length).to.eql(100); + + checkFields([...firstPageProjectMonitors, ...secondPageProjectMonitors], monitors); + } finally { + const monitorsToDelete = monitors.map((monitor) => monitor.id); + + await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete.slice(0, 250) }) + .expect(200); + await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete.slice(250, 500) }) + .expect(200); + await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete.slice(500, 600) }) + .expect(200); + } + }); + + it('project monitors - handles url ecoded project names', async () => { + const monitors = []; + const projectName = 'Test project'; + for (let i = 0; i < 600; i++) { + monitors.push({ + ...icmpProjectMonitors.monitors[0], + id: `test url id ${i}`, + name: `test name ${i}`, + }); + } + + try { + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace( + '{projectName}', + projectName + ) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: monitors.slice(0, 250), + }) + .expect(200); + + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace( + '{projectName}', + projectName + ) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: monitors.slice(250, 500), + }) + .expect(200); + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace( + '{projectName}', + projectName + ) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: monitors.slice(500, 600), + }) + .expect(200); + + const firstPageResponse = await supertest + .get( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT.replace( + '{projectName}', + encodeURI(projectName) + ) + ) + .query({ per_page: 500 }) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send() + .expect(200); + + const { + monitors: firstPageProjectMonitors, + after_key: afterKey, + total, + } = firstPageResponse.body; + expect(firstPageProjectMonitors.length).to.eql(500); + expect(total).to.eql(600); + expect(afterKey).to.eql('test url id 548'); + + const secondPageResponse = await supertest + .get( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT.replace( + '{projectName}', + encodeURI(projectName) + ) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .query({ + search_after: afterKey, + per_page: 500, + }) + .send() + .expect(200); + const { monitors: secondPageProjectMonitors } = secondPageResponse.body; + expect(secondPageProjectMonitors.length).to.eql(100); + + checkFields([...firstPageProjectMonitors, ...secondPageProjectMonitors], monitors); + } finally { + const monitorsToDelete = monitors.map((monitor) => monitor.id); + + await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace( + '{projectName}', + encodeURI(projectName) + ) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete.slice(0, 250) }) + .expect(200); + await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace( + '{projectName}', + encodeURI(projectName) + ) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete.slice(250, 500) }) + .expect(200); + await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace( + '{projectName}', + encodeURI(projectName) + ) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete.slice(500, 600) }) + .expect(200); + } + }); + + it('project monitors - handles per_page parameter', async () => { + const monitors = []; + const project = 'test-suite'; + const perPage = 250; + for (let i = 0; i < 600; i++) { + monitors.push({ + ...icmpProjectMonitors.monitors[0], + id: `test-id-${i}`, + name: `test-name-${i}`, + }); + } + + try { + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: monitors.slice(0, 250), + }) + .expect(200); + + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: monitors.slice(250, 500), + }) + .expect(200); + await supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ + monitors: monitors.slice(500, 600), + }) + .expect(200); + + let count = Number.MAX_VALUE; + let afterId; + const fullResponse: ProjectMonitorMetaData[] = []; + let page = 1; + while (count >= 250) { + const response: SuperTest.Response = await supertest + .get(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT.replace('{projectName}', project)) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .query({ + per_page: perPage, + search_after: afterId, + }) + .send() + .expect(200); + + const { monitors: monitorsResponse, after_key: afterKey, total } = response.body; + expect(total).to.eql(600); + count = monitorsResponse.length; + fullResponse.push(...monitorsResponse); + if (page < 3) { + expect(count).to.eql(perPage); + } else { + expect(count).to.eql(100); + } + page++; + + afterId = afterKey; + } + // expect(fullResponse.length).to.eql(600); + // checkFields(fullResponse, monitors); + } finally { + const monitorsToDelete = monitors.map((monitor) => monitor.id); + + await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete.slice(0, 250) }) + .expect(200); + await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete.slice(250, 500) }) + .expect(200); + await supertest + .delete( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_DELETE.replace('{projectName}', project) + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ monitors: monitorsToDelete.slice(500, 600) }) + .expect(200); + } + }); + }); +} + +const checkFields = (monitorMetaData: ProjectMonitorMetaData[], monitors: ProjectMonitor[]) => { + monitors.forEach((monitor) => { + const configIsCorrect = monitorMetaData.some((ndjson: Record) => { + return ndjson.journey_id === monitor.id && ndjson.hash === monitor.hash; + }); + expect(configIsCorrect).to.eql(true); + }); +}; diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/helpers/get_fixture_json.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/helpers/get_fixture_json.ts new file mode 100644 index 0000000000000..9cc1640b7a583 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/helpers/get_fixture_json.ts @@ -0,0 +1,21 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import fs from 'fs'; +import { join } from 'path'; + +const fixturesDir = join(__dirname, '..', 'fixtures'); + +export function getFixtureJson(fixtureName: string) { + try { + const fixturePath = join(fixturesDir, `${fixtureName}.json`); + const fileContents = fs.readFileSync(fixturePath, 'utf8'); + return JSON.parse(fileContents); + } catch (e) { + return {}; + } +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/helpers/monitor.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/helpers/monitor.ts new file mode 100644 index 0000000000000..8c10fa78d9834 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/helpers/monitor.ts @@ -0,0 +1,21 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { omit } from 'lodash'; + +export function omitResponseTimestamps(monitor: object) { + return omit(monitor, ['created_at', 'updated_at']); +} + +export function omitEmptyValues(monitor: object) { + const { url, ...rest } = omit(monitor, ['created_at', 'updated_at']) as any; + + return { + ...rest, + ...(url ? { url } : {}), + }; +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/index.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/index.ts new file mode 100644 index 0000000000000..c15f73cf4e6db --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/index.ts @@ -0,0 +1,32 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { DeploymentAgnosticFtrProviderContext } from '../../../ftr_provider_context'; + +export default function ({ loadTestFile }: DeploymentAgnosticFtrProviderContext) { + describe('SyntheticsAPITests', () => { + loadTestFile(require.resolve('./create_monitor')); + loadTestFile(require.resolve('./create_monitor_private_location')); + loadTestFile(require.resolve('./create_monitor_project')); + loadTestFile(require.resolve('./create_monitor_project_private_location')); + loadTestFile(require.resolve('./create_monitor_public_api')); + loadTestFile(require.resolve('./create_update_params')); + loadTestFile(require.resolve('./delete_monitor_project')); + loadTestFile(require.resolve('./delete_monitor')); + loadTestFile(require.resolve('./edit_monitor')); + loadTestFile(require.resolve('./edit_monitor_public_api')); + loadTestFile(require.resolve('./enable_default_alerting')); + loadTestFile(require.resolve('./get_filters')); + loadTestFile(require.resolve('./get_monitor_project')); + loadTestFile(require.resolve('./get_monitor')); + loadTestFile(require.resolve('./synthetics_enablement')); + loadTestFile(require.resolve('./inspect_monitor')); + loadTestFile(require.resolve('./suggestions.ts')); + loadTestFile(require.resolve('./sync_global_params')); + loadTestFile(require.resolve('./test_now_monitor')); + }); +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/inspect_monitor.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/inspect_monitor.ts new file mode 100644 index 0000000000000..99788e2b0d0fc --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/inspect_monitor.ts @@ -0,0 +1,246 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { RoleCredentials } from '@kbn/ftr-common-functional-services'; +import { MonitorFields } from '@kbn/synthetics-plugin/common/runtime_types'; +import { SYNTHETICS_API_URLS } from '@kbn/synthetics-plugin/common/constants'; +import rawExpect from 'expect'; +import expect from '@kbn/expect'; +import { DeploymentAgnosticFtrProviderContext } from '../../../ftr_provider_context'; +import { getFixtureJson } from './helpers/get_fixture_json'; +import { SyntheticsMonitorTestService } from '../../../services/synthetics_monitor'; +import { PrivateLocationTestService } from '../../../services/synthetics_private_location'; + +export default function ({ getService }: DeploymentAgnosticFtrProviderContext) { + describe('inspectSyntheticsMonitor', function () { + const supertest = getService('supertestWithoutAuth'); + + const monitorTestService = new SyntheticsMonitorTestService(getService); + const testPrivateLocations = new PrivateLocationTestService(getService); + const kibanaServer = getService('kibanaServer'); + const samlAuth = getService('samlAuth'); + + let _monitors: MonitorFields[]; + let editorUser: RoleCredentials; + let adminUser: RoleCredentials; + + before(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + await kibanaServer.savedObjects.clean({ types: ['synthetics-param'] }); + editorUser = await samlAuth.createM2mApiKeyWithRoleScope('editor'); + adminUser = await samlAuth.createM2mApiKeyWithRoleScope('admin'); + await testPrivateLocations.installSyntheticsPackage(); + await supertest + .put(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + _monitors = [getFixtureJson('http_monitor'), getFixtureJson('inspect_browser_monitor')]; + }); + + // tests public locations which fails in MKI + it.skip('inspect http monitor', async () => { + const apiResponse = await monitorTestService.inspectMonitor(adminUser, { + ..._monitors[0], + locations: [ + { + id: 'dev', + label: 'Dev Service', + isServiceManaged: true, + }, + ], + }); + + rawExpect(apiResponse).toEqual({ + result: { + publicConfigs: [ + rawExpect.objectContaining({ + monitors: [ + { + type: 'http', + schedule: '@every 5m', + enabled: true, + data_stream: { namespace: 'testnamespace' }, + streams: [ + { + data_stream: { dataset: 'http', type: 'synthetics' }, + type: 'http', + enabled: true, + schedule: '@every 5m', + tags: ['tag1', 'tag2'], + timeout: '180s', + name: 'test-monitor-name', + namespace: 'testnamespace', + origin: 'ui', + urls: 'https://nextjs-test-synthetics.vercel.app/api/users', + max_redirects: '3', + max_attempts: 2, + password: 'test', + proxy_url: 'http://proxy.com', + 'response.include_body': 'never', + 'response.include_headers': true, + 'check.response.status': ['200', '201'], + 'check.request.body': 'testValue', + 'check.request.headers': { sampleHeader: 'sampleHeaderValue' }, + username: 'test-username', + mode: 'any', + 'response.include_body_max_bytes': '1024', + ipv4: true, + ipv6: true, + fields: { + meta: { space_id: 'default' }, + }, + fields_under_root: true, + }, + ], + }, + ], + output: { hosts: [] }, + }), + ], + privateConfig: null, + }, + decodedCode: '', + }); + }); + + // tests public locations which fails in MKI + it.skip('inspect project browser monitor', async () => { + const apiResponse = await monitorTestService.inspectMonitor(editorUser, { + ..._monitors[1], + params: JSON.stringify({ + username: 'elastic', + password: 'changeme', + }), + locations: [ + { + id: 'dev', + label: 'Dev Service', + isServiceManaged: true, + }, + ], + }); + rawExpect(apiResponse).toEqual({ + result: { + publicConfigs: [ + rawExpect.objectContaining({ + monitors: [ + { + type: 'browser', + schedule: '@every 10m', + enabled: true, + data_stream: { namespace: 'default' }, + streams: [ + { + data_stream: { dataset: 'browser', type: 'synthetics' }, + type: 'browser', + enabled: true, + schedule: '@every 10m', + name: 'check if title is present', + namespace: 'default', + origin: 'project', + params: { + username: '"********"', + password: '"********"', + }, + playwright_options: { headless: true, chromiumSandbox: false }, + 'source.project.content': + 'UEsDBBQACAAIAON5qVQAAAAAAAAAAAAAAAAfAAAAZXhhbXBsZXMvdG9kb3MvYmFzaWMuam91cm5leS50c22Q0WrDMAxF3/sVF7MHB0LMXlc6RvcN+wDPVWNviW0sdUsp/fe5SSiD7UFCWFfHujIGlpnkybwxFTZfoY/E3hsaLEtwhs9RPNWKDU12zAOxkXRIbN4tB9d9pFOJdO6EN2HMqQguWN9asFBuQVMmJ7jiWNII9fIXrbabdUYr58l9IhwhQQZCYORCTFFUC31Btj21NRc7Mq4Nds+4bDD/pNVgT9F52Jyr2Fa+g75LAPttg8yErk+S9ELpTmVotlVwnfNCuh2lepl3+JflUmSBJ3uggt1v9INW/lHNLKze9dJe1J3QJK8pSvWkm6aTtCet5puq+x63+AFQSwcIAPQ3VfcAAACcAQAAUEsBAi0DFAAIAAgA43mpVAD0N1X3AAAAnAEAAB8AAAAAAAAAAAAgAKSBAAAAAGV4YW1wbGVzL3RvZG9zL2Jhc2ljLmpvdXJuZXkudHNQSwUGAAAAAAEAAQBNAAAARAEAAAAA', + screenshots: 'on', + 'filter_journeys.match': 'check if title is present', + ignore_https_errors: false, + throttling: { download: 5, upload: 3, latency: 20 }, + original_space: 'default', + fields: { + meta: { space_id: 'default' }, + 'monitor.project.name': 'test-project-cb47c83a-45e7-416a-9301-cb476b5bff01', + 'monitor.project.id': 'test-project-cb47c83a-45e7-416a-9301-cb476b5bff01', + }, + fields_under_root: true, + max_attempts: 2, + }, + ], + }, + ], + license_level: rawExpect.any(String), + cloud_id: 'ftr_fake_cloud_id', + output: { hosts: [] }, + }), + ], + privateConfig: null, + }, + decodedCode: + '// asset:/Users/vigneshh/elastic/synthetics/examples/todos/basic.journey.ts\nimport { journey, step, expect } from "@elastic/synthetics";\njourney("check if title is present", ({ page, params }) => {\n step("launch app", async () => {\n await page.goto(params.url);\n });\n step("assert title", async () => {\n const header = await page.$("h1");\n expect(await header.textContent()).toBe("todos");\n });\n});\n', + }); + }); + + it('inspect http monitor in private location', async () => { + const location = await testPrivateLocations.addTestPrivateLocation(); + const apiResponse = await monitorTestService.inspectMonitor(editorUser, { + ..._monitors[0], + locations: [ + { + id: location.id, + label: location.label, + isServiceManaged: false, + }, + ], + }); + + const privateConfig = apiResponse.result.privateConfig!; + + const enabledStream = privateConfig.inputs + .find((input) => input.enabled) + ?.streams.find((stream) => stream.enabled); + + const compiledStream = enabledStream?.compiled_stream; + + delete compiledStream.id; + delete compiledStream.processors[0].add_fields.fields.config_id; + + expect(enabledStream?.compiled_stream).eql({ + __ui: { is_tls_enabled: false }, + type: 'http', + name: 'test-monitor-name', + origin: 'ui', + 'run_from.id': location.id, + 'run_from.geo.name': location.label, + enabled: true, + urls: 'https://nextjs-test-synthetics.vercel.app/api/users', + schedule: '@every 5m', + timeout: '180s', + max_redirects: 3, + max_attempts: 2, + proxy_url: 'http://proxy.com', + tags: ['tag1', 'tag2'], + username: 'test-username', + password: 'test', + 'response.include_headers': true, + 'response.include_body': 'never', + 'response.include_body_max_bytes': 1024, + 'check.request.method': null, + 'check.request.headers': { sampleHeader: 'sampleHeaderValue' }, + 'check.request.body': 'testValue', + 'check.response.status': ['200', '201'], + mode: 'any', + ipv4: true, + ipv6: true, + processors: [ + { + add_fields: { + target: '', + fields: { + meta: { space_id: 'default' }, + 'monitor.fleet_managed': true, + }, + }, + }, + ], + }); + }); + }); +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/sample_data/test_policy.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/sample_data/test_policy.ts new file mode 100644 index 0000000000000..338d666d35517 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/sample_data/test_policy.ts @@ -0,0 +1,575 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import expect from 'expect'; +import { omit, sortBy } from 'lodash'; +import { PackagePolicy, PackagePolicyConfigRecord } from '@kbn/fleet-plugin/common'; +import { INSTALLED_VERSION } from '../../../../services/synthetics_private_location'; +import { commonVars } from './test_project_monitor_policy'; + +interface PolicyProps { + name?: string; + id: string; + configId?: string; + projectId?: string; + location: { name?: string; id?: string }; + namespace?: string; + isTLSEnabled?: boolean; + proxyUrl?: string; + params?: Record; + isBrowser?: boolean; + spaceId?: string; +} + +export const getTestSyntheticsPolicy = (props: PolicyProps): PackagePolicy => { + const { namespace } = props; + return { + id: '2bfd7da0-22ed-11ed-8c6b-09a2d21dfbc3-27337270-22ed-11ed-8c6b-09a2d21dfbc3-default', + version: 'WzE2MjYsMV0=', + name: 'test-monitor-name-Test private location 0-default', + namespace: namespace ?? 'testnamespace', + package: { name: 'synthetics', title: 'Elastic Synthetics', version: INSTALLED_VERSION }, + enabled: true, + policy_id: '5347cd10-0368-11ed-8df7-a7424c6f5167', + policy_ids: ['5347cd10-0368-11ed-8df7-a7424c6f5167'], + inputs: [ + getHttpInput(props), + { + type: 'synthetics/tcp', + policy_template: 'synthetics', + enabled: false, + streams: [ + { + enabled: false, + data_stream: { + type: 'synthetics', + dataset: 'tcp', + }, + vars: { + __ui: { type: 'yaml' }, + enabled: { value: true, type: 'bool' }, + type: { value: 'tcp', type: 'text' }, + name: { type: 'text' }, + schedule: { value: '"@every 3m"', type: 'text' }, + hosts: { type: 'text' }, + 'service.name': { type: 'text' }, + timeout: { type: 'text' }, + proxy_url: { type: 'text' }, + processors: { type: 'yaml' }, + proxy_use_local_resolver: { value: false, type: 'bool' }, + tags: { type: 'yaml' }, + 'check.send': { type: 'text' }, + 'check.receive': { type: 'text' }, + 'ssl.certificate_authorities': { type: 'yaml' }, + 'ssl.certificate': { type: 'yaml' }, + 'ssl.key': { type: 'yaml' }, + 'ssl.key_passphrase': { type: 'text' }, + 'ssl.verification_mode': { type: 'text' }, + 'ssl.supported_protocols': { type: 'yaml' }, + location_name: { value: 'Fleet managed', type: 'text' }, + id: { type: 'text' }, + origin: { type: 'text' }, + ipv4: { type: 'bool', value: true }, + ipv6: { type: 'bool', value: true }, + mode: { type: 'text' }, + }, + id: 'synthetics/tcp-tcp-2bfd7da0-22ed-11ed-8c6b-09a2d21dfbc3-27337270-22ed-11ed-8c6b-09a2d21dfbc3-default', + }, + ], + }, + { + type: 'synthetics/icmp', + policy_template: 'synthetics', + enabled: false, + streams: [ + { + enabled: false, + data_stream: { + type: 'synthetics', + dataset: 'icmp', + }, + vars: { + __ui: { type: 'yaml' }, + enabled: { value: true, type: 'bool' }, + type: { value: 'icmp', type: 'text' }, + name: { type: 'text' }, + schedule: { value: '"@every 3m"', type: 'text' }, + wait: { value: '1s', type: 'text' }, + hosts: { type: 'text' }, + 'service.name': { type: 'text' }, + timeout: { type: 'text' }, + tags: { type: 'yaml' }, + location_name: { value: 'Fleet managed', type: 'text' }, + id: { type: 'text' }, + origin: { type: 'text' }, + ipv4: { type: 'bool', value: true }, + ipv6: { type: 'bool', value: true }, + mode: { type: 'text' }, + }, + id: 'synthetics/icmp-icmp-2bfd7da0-22ed-11ed-8c6b-09a2d21dfbc3-27337270-22ed-11ed-8c6b-09a2d21dfbc3-default', + }, + ], + }, + getBrowserInput(props), + ], + is_managed: true, + revision: 1, + created_at: '2022-08-23T14:09:17.176Z', + created_by: 'system', + updated_at: '2022-08-23T14:09:17.176Z', + updated_by: 'system', + }; +}; + +export const getHttpInput = ({ + projectId, + id, + location, + proxyUrl, + isTLSEnabled, + isBrowser, + spaceId, + namespace, + name = 'check if title is present-Test private location 0', +}: PolicyProps) => { + const enabled = !isBrowser; + const baseVars: PackagePolicyConfigRecord = { + __ui: { type: 'yaml' }, + enabled: { value: true, type: 'bool' }, + type: { value: 'http', type: 'text' }, + name: { type: 'text' }, + schedule: { value: '"@every 3m"', type: 'text' }, + urls: { type: 'text' }, + 'service.name': { type: 'text' }, + timeout: { type: 'text' }, + max_redirects: { type: 'integer' }, + proxy_url: { type: 'text' }, + processors: { type: 'yaml' }, + proxy_headers: { type: 'yaml' }, + tags: { type: 'yaml' }, + username: { type: 'text' }, + password: { type: 'password' }, + 'response.include_headers': { type: 'bool' }, + 'response.include_body': { type: 'text' }, + 'response.include_body_max_bytes': { type: 'text' }, + 'check.request.method': { type: 'text' }, + 'check.request.headers': { type: 'yaml' }, + 'check.request.body': { type: 'yaml' }, + 'check.response.status': { type: 'yaml' }, + 'check.response.headers': { type: 'yaml' }, + 'check.response.body.positive': { type: 'yaml' }, + 'check.response.body.negative': { type: 'yaml' }, + 'check.response.json': { type: 'yaml' }, + 'ssl.certificate_authorities': { type: 'yaml' }, + 'ssl.certificate': { type: 'yaml' }, + 'ssl.key': { type: 'yaml' }, + 'ssl.key_passphrase': { type: 'text' }, + 'ssl.verification_mode': { type: 'text' }, + 'ssl.supported_protocols': { type: 'yaml' }, + location_id: { value: 'fleet_managed', type: 'text' }, + location_name: { value: 'Fleet managed', type: 'text' }, + ...commonVars, + id: { type: 'text' }, + origin: { type: 'text' }, + ipv4: { type: 'bool', value: true }, + ipv6: { type: 'bool', value: true }, + mode: { type: 'text' }, + }; + + const enabledVars = { + __ui: { + value: `{"is_tls_enabled":${isTLSEnabled || false}}`, + type: 'yaml', + }, + enabled: { value: true, type: 'bool' }, + type: { value: 'http', type: 'text' }, + name: { value: JSON.stringify(name), type: 'text' }, + schedule: { value: '"@every 5m"', type: 'text' }, + urls: { value: '"https://nextjs-test-synthetics.vercel.app/api/users"', type: 'text' }, + 'service.name': { value: null, type: 'text' }, + timeout: { value: '180s', type: 'text' }, + max_redirects: { value: '3', type: 'integer' }, + processors: { + type: 'yaml', + value: JSON.stringify([ + { + add_fields: { + fields: { + 'monitor.fleet_managed': true, + config_id: id, + meta: { space_id: spaceId ?? 'default' }, + 'monitor.project.name': projectId, + 'monitor.project.id': projectId, + }, + target: '', + }, + }, + ]), + }, + proxy_url: { value: proxyUrl ?? '"http://proxy.com"', type: 'text' }, + proxy_headers: { value: null, type: 'yaml' }, + tags: { value: '["tag1","tag2"]', type: 'yaml' }, + username: { value: '"test-username"', type: 'text' }, + password: { value: '"test"', type: 'password' }, + 'response.include_headers': { value: true, type: 'bool' }, + 'response.include_body': { value: 'never', type: 'text' }, + 'response.include_body_max_bytes': { value: '1024', type: 'text' }, + 'check.request.method': { value: '', type: 'text' }, + 'check.request.headers': { + value: '{"sampleHeader":"sampleHeaderValue"}', + type: 'yaml', + }, + 'check.request.body': { value: '"testValue"', type: 'yaml' }, + 'check.response.status': { value: '["200","201"]', type: 'yaml' }, + 'check.response.headers': { value: null, type: 'yaml' }, + 'check.response.body.positive': { value: null, type: 'yaml' }, + 'check.response.body.negative': { value: null, type: 'yaml' }, + 'check.response.json': { value: null, type: 'yaml' }, + 'ssl.certificate_authorities': { + value: isTLSEnabled ? '"t.string"' : null, + type: 'yaml', + }, + 'ssl.certificate': { value: isTLSEnabled ? '"t.string"' : null, type: 'yaml' }, + 'ssl.key': { value: isTLSEnabled ? '"t.string"' : null, type: 'yaml' }, + 'ssl.key_passphrase': { value: isTLSEnabled ? 't.string' : null, type: 'text' }, + 'ssl.verification_mode': { value: isTLSEnabled ? 'certificate' : null, type: 'text' }, + 'ssl.supported_protocols': { + value: isTLSEnabled ? '["TLSv1.1","TLSv1.2"]' : null, + type: 'yaml', + }, + location_id: { + type: 'text', + value: location.id ?? 'aaa3c150-f94d-11ed-9895-d36d5472fafd', + }, + location_name: { + value: JSON.stringify(location.name) ?? '"Test private location 0"', + type: 'text', + }, + ...commonVars, + id: { value: JSON.stringify(id), type: 'text' }, + origin: { value: projectId ? 'project' : 'ui', type: 'text' }, + ipv4: { type: 'bool', value: true }, + ipv6: { type: 'bool', value: true }, + mode: { type: 'text', value: 'any' }, + }; + + const compiledHttpStream = { + __ui: { + is_tls_enabled: isTLSEnabled || false, + }, + type: 'http', + name, + id, + origin: projectId ? 'project' : 'ui', + enabled: true, + urls: 'https://nextjs-test-synthetics.vercel.app/api/users', + schedule: '@every 5m', + timeout: '180s', + max_redirects: 3, + max_attempts: 2, + proxy_url: proxyUrl ?? 'http://proxy.com', + tags: ['tag1', 'tag2'], + username: 'test-username', + password: 'test', + 'run_from.geo.name': location?.name ?? 'Test private location 0', + 'run_from.id': location?.id ?? 'Test private location 0', + 'response.include_headers': true, + 'response.include_body': 'never', + 'response.include_body_max_bytes': 1024, + 'check.request.method': null, + 'check.request.headers': { sampleHeader: 'sampleHeaderValue' }, + 'check.request.body': 'testValue', + 'check.response.status': ['200', '201'], + ipv4: true, + ipv6: true, + mode: 'any', + ...(isTLSEnabled + ? { + 'ssl.certificate': 't.string', + 'ssl.certificate_authorities': 't.string', + 'ssl.key': 't.string', + 'ssl.key_passphrase': 't.string', + 'ssl.verification_mode': 'certificate', + 'ssl.supported_protocols': ['TLSv1.1', 'TLSv1.2'], + } + : {}), + processors: [ + { + add_fields: { + fields: { + config_id: id, + meta: { + space_id: spaceId ?? 'default', + }, + 'monitor.fleet_managed': true, + ...(projectId + ? { 'monitor.project.id': projectId, 'monitor.project.name': projectId } + : {}), + }, + target: '', + }, + }, + ], + }; + + return { + type: 'synthetics/http', + policy_template: 'synthetics', + enabled, + streams: [ + { + enabled, + data_stream: { + type: 'synthetics', + dataset: 'http', + ...(enabled + ? { + elasticsearch: { + privileges: { + indices: ['auto_configure', 'create_doc', 'read'], + }, + }, + } + : {}), + }, + vars: enabled ? enabledVars : baseVars, + id: 'synthetics/http-http-2bfd7da0-22ed-11ed-8c6b-09a2d21dfbc3-27337270-22ed-11ed-8c6b-09a2d21dfbc3-default', + ...(enabled ? { compiled_stream: compiledHttpStream } : {}), + }, + ], + }; +}; + +export const getBrowserInput = ({ id, params, isBrowser, projectId }: PolicyProps) => { + const compiledBrowser = isBrowser + ? { + __ui: { + script_source: { is_generated_script: false, file_name: '' }, + is_tls_enabled: false, + }, + type: 'browser', + name: 'Test HTTP Monitor 03', + id, + origin: 'ui', + 'run_from.id': 'Test private location 0', + 'run_from.geo.name': 'Test private location 0', + enabled: true, + schedule: '@every 3m', + timeout: '16s', + throttling: { download: 5, upload: 3, latency: 20 }, + tags: ['cookie-test', 'browser'], + 'source.inline.script': + 'step("Visit /users api route", async () => {\\n const response = await page.goto(\'https://nextjs-test-synthetics.vercel.app/api/users\');\\n expect(response.status()).toEqual(200);\\n});', + ...(params ? { params } : {}), + screenshots: 'on', + processors: [ + { + add_fields: { + target: '', + fields: { + 'monitor.fleet_managed': true, + config_id: id, + }, + }, + }, + ], + } + : { + __ui: null, + type: 'browser', + name: null, + enabled: true, + schedule: '@every 3m', + 'run_from.id': 'Fleet managed', + 'run_from.geo.name': 'Fleet managed', + timeout: null, + throttling: null, + processors: [{ add_fields: { target: '', fields: { 'monitor.fleet_managed': true } } }], + }; + + const browserVars = isBrowser + ? { + __ui: { + value: + '{"script_source":{"is_generated_script":false,"file_name":""},"is_tls_enabled":false}', + type: 'yaml', + }, + enabled: { value: true, type: 'bool' }, + type: { value: 'browser', type: 'text' }, + name: { value: 'Test HTTP Monitor 03', type: 'text' }, + schedule: { value: '"@every 3m"', type: 'text' }, + 'service.name': { value: '', type: 'text' }, + timeout: { value: '16s', type: 'text' }, + tags: { value: '["cookie-test","browser"]', type: 'yaml' }, + 'source.zip_url.url': { type: 'text' }, + 'source.zip_url.username': { type: 'text' }, + 'source.zip_url.folder': { type: 'text' }, + 'source.zip_url.password': { type: 'password' }, + 'source.inline.script': { + value: + '"step(\\"Visit /users api route\\", async () => {\\\\n const response = await page.goto(\'https://nextjs-test-synthetics.vercel.app/api/users\');\\\\n expect(response.status()).toEqual(200);\\\\n});"', + type: 'yaml', + }, + 'source.project.content': { value: '', type: 'text' }, + params: { value: params ? JSON.stringify(params) : '', type: 'yaml' }, + playwright_options: { value: '', type: 'yaml' }, + screenshots: { value: 'on', type: 'text' }, + synthetics_args: { value: null, type: 'text' }, + ignore_https_errors: { value: false, type: 'bool' }, + 'throttling.config': { + value: JSON.stringify({ download: 5, upload: 3, latency: 20 }), + type: 'text', + }, + 'filter_journeys.tags': { value: null, type: 'yaml' }, + 'filter_journeys.match': { value: null, type: 'text' }, + 'source.zip_url.ssl.certificate_authorities': { type: 'yaml' }, + 'source.zip_url.ssl.certificate': { type: 'yaml' }, + 'source.zip_url.ssl.key': { type: 'yaml' }, + 'source.zip_url.ssl.key_passphrase': { type: 'text' }, + 'source.zip_url.ssl.verification_mode': { type: 'text' }, + 'source.zip_url.ssl.supported_protocols': { type: 'yaml' }, + 'source.zip_url.proxy_url': { type: 'text' }, + location_id: { + type: 'text', + value: 'fleet_managed', + }, + location_name: { value: 'Test private location 0', type: 'text' }, + id: { value: id, type: 'text' }, + origin: { value: 'ui', type: 'text' }, + } + : { + __ui: { type: 'yaml' }, + enabled: { value: true, type: 'bool' }, + type: { value: 'browser', type: 'text' }, + name: { type: 'text' }, + schedule: { value: '"@every 3m"', type: 'text' }, + 'service.name': { type: 'text' }, + timeout: { type: 'text' }, + tags: { type: 'yaml' }, + 'source.zip_url.url': { type: 'text' }, + 'source.zip_url.username': { type: 'text' }, + 'source.zip_url.folder': { type: 'text' }, + 'source.zip_url.password': { type: 'password' }, + 'source.inline.script': { type: 'yaml' }, + 'source.project.content': { type: 'text' }, + params: { type: 'yaml' }, + playwright_options: { type: 'yaml' }, + screenshots: { type: 'text' }, + synthetics_args: { type: 'text' }, + ignore_https_errors: { type: 'bool' }, + 'throttling.config': { type: 'text' }, + 'filter_journeys.tags': { type: 'yaml' }, + 'filter_journeys.match': { type: 'text' }, + 'source.zip_url.ssl.certificate_authorities': { type: 'yaml' }, + 'source.zip_url.ssl.certificate': { type: 'yaml' }, + 'source.zip_url.ssl.key': { type: 'yaml' }, + 'source.zip_url.ssl.key_passphrase': { type: 'text' }, + 'source.zip_url.ssl.verification_mode': { type: 'text' }, + 'source.zip_url.ssl.supported_protocols': { type: 'yaml' }, + 'source.zip_url.proxy_url': { type: 'text' }, + location_name: { value: 'Fleet managed', type: 'text' }, + location_id: { value: 'Fleet managed', type: 'text' }, + id: { type: 'text' }, + origin: { type: 'text' }, + }; + + return { + type: 'synthetics/browser', + policy_template: 'synthetics', + enabled: false, + streams: [ + { + enabled: true, + data_stream: getDataStream('browser'), + vars: browserVars, + id: 'synthetics/browser-browser-2bfd7da0-22ed-11ed-8c6b-09a2d21dfbc3-27337270-22ed-11ed-8c6b-09a2d21dfbc3-default', + compiled_stream: compiledBrowser, + }, + { + enabled: true, + data_stream: getDataStream('browser.network'), + id: 'synthetics/browser-browser.network-2bfd7da0-22ed-11ed-8c6b-09a2d21dfbc3-27337270-22ed-11ed-8c6b-09a2d21dfbc3-default', + compiled_stream: { + processors: [{ add_fields: { target: '', fields: { 'monitor.fleet_managed': true } } }], + }, + }, + { + enabled: true, + data_stream: getDataStream('browser.screenshot'), + id: 'synthetics/browser-browser.screenshot-2bfd7da0-22ed-11ed-8c6b-09a2d21dfbc3-27337270-22ed-11ed-8c6b-09a2d21dfbc3-default', + compiled_stream: { + processors: [{ add_fields: { target: '', fields: { 'monitor.fleet_managed': true } } }], + }, + }, + ], + }; +}; + +export const getDataStream = (dataset: string) => ({ + dataset, + type: 'synthetics', + elasticsearch: { + privileges: { + indices: ['auto_configure', 'create_doc', 'read'], + }, + }, +}); + +export const omitIds = (policy: PackagePolicy) => { + policy.inputs = sortBy(policy.inputs, 'type'); + + policy.inputs.forEach((input) => { + input.streams = sortBy(input.streams, 'data_stream.dataset'); + input.streams.forEach((stream) => { + stream.id = ''; + }); + }); + + return omit(policy, ignoreTestFields); +}; + +export const comparePolicies = (aPolicy: PackagePolicy, bPolicy: PackagePolicy) => { + const a = omitIds(aPolicy); + const b = omitIds(bPolicy); + + const aHttpInput = a.inputs?.find((input) => input.type === 'synthetics/http'); + const aTcpInput = b.inputs?.find((input) => input.type === 'synthetics/tcp'); + const aIcmpInput = b.inputs?.find((input) => input.type === 'synthetics/icmp'); + const aBrowserInput = b.inputs?.find((input) => input.type === 'synthetics/browser'); + + const bHttpInput = b.inputs?.find((input) => input.type === 'synthetics/http'); + const bTcpInput = b.inputs?.find((input) => input.type === 'synthetics/tcp'); + const bIcmpInput = b.inputs?.find((input) => input.type === 'synthetics/icmp'); + const bBrowserInput = b.inputs?.find((input) => input.type === 'synthetics/browser'); + + expect(aHttpInput).toEqual(bHttpInput); + expect(aTcpInput).toEqual(bTcpInput); + expect(aIcmpInput).toEqual(bIcmpInput); + expect(aBrowserInput).toEqual(bBrowserInput); + + // delete inputs to compare rest of policy + delete a.inputs; + delete b.inputs; + + // delete package to compare rest of policy + delete a.package; + delete b.package; + + expect(a).toEqual(b); +}; + +export const ignoreTestFields = [ + 'id', + 'name', + 'created_at', + 'created_by', + 'updated_at', + 'updated_by', + 'policy_id', + 'policy_ids', + 'version', + 'revision', +]; diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/sample_data/test_project_monitor_policy.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/sample_data/test_project_monitor_policy.ts new file mode 100644 index 0000000000000..cf9025fb8ce7f --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/sample_data/test_project_monitor_policy.ts @@ -0,0 +1,803 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { PackagePolicy } from '@kbn/fleet-plugin/common'; +import { INSTALLED_VERSION } from '../../../../services/synthetics_private_location'; +import { getDataStream } from './test_policy'; + +export const commonVars = { + max_attempts: { + type: 'integer', + value: 2, + }, +}; + +export const getTestProjectSyntheticsPolicyLightweight = ( + { + name, + inputs = {}, + configId, + id, + locationId, + projectId = 'test-suite', + locationName = 'Fleet Managed', + namespace, + }: { + name?: string; + inputs: Record; + configId: string; + id: string; + projectId?: string; + locationId: string; + locationName?: string; + namespace?: string; + } = { + name: 'My Monitor 3', + inputs: {}, + configId: '', + id: '', + locationId: 'fleet_managed', + locationName: 'Fleet Managed', + } +): PackagePolicy => ({ + id: `4b6abc6c-118b-4d93-a489-1135500d09f1-${projectId}-default-d70a46e0-22ea-11ed-8c6b-09a2d21dfbc3`, + version: 'WzEzMDksMV0=', + name: `4b6abc6c-118b-4d93-a489-1135500d09f1-${projectId}-default-${locationName}`, + namespace: namespace || undefined, + package: { name: 'synthetics', title: 'Elastic Synthetics', version: INSTALLED_VERSION }, + enabled: true, + policy_id: '46034710-0ba6-11ed-ba04-5f123b9faa8b', + policy_ids: ['46034710-0ba6-11ed-ba04-5f123b9faa8b'], + inputs: [ + { + type: 'synthetics/http', + policy_template: 'synthetics', + enabled: true, + streams: [ + { + enabled: true, + data_stream: { + type: 'synthetics', + dataset: 'http', + elasticsearch: { + privileges: { + indices: ['auto_configure', 'create_doc', 'read'], + }, + }, + }, + vars: { + __ui: { + type: 'yaml', + value: '{"is_tls_enabled":true}', + }, + 'check.request.body': { + type: 'yaml', + value: '"testGlobalParamValue"', + }, + 'check.request.headers': { + type: 'yaml', + value: '{"Content-Type":"application/x-www-form-urlencoded"}', + }, + 'check.request.method': { + type: 'text', + value: 'POST', + }, + 'check.response.body.negative': { + type: 'yaml', + value: null, + }, + 'check.response.body.positive': { + type: 'yaml', + value: '["testLocalParamsValue","saved"]', + }, + 'check.response.headers': { + type: 'yaml', + value: null, + }, + 'check.response.json': { + type: 'yaml', + value: '[{"description":"check status","expression":"foo.bar == \\"myValue\\""}]', + }, + 'check.response.status': { + type: 'yaml', + value: '["200"]', + }, + enabled: { + type: 'bool', + value: false, + }, + id: { + type: 'text', + value: JSON.stringify(id), + }, + ipv4: { + type: 'bool', + value: true, + }, + ipv6: { + type: 'bool', + value: true, + }, + location_id: { + type: 'text', + value: locationId ?? 'fleet_managed', + }, + location_name: { + type: 'text', + value: `"${locationName}"`, + }, + max_redirects: { + type: 'integer', + value: '0', + }, + ...commonVars, + mode: { + type: 'text', + value: 'any', + }, + name: { + type: 'text', + value: JSON.stringify(name), + }, + origin: { + type: 'text', + value: 'project', + }, + password: { + type: 'password', + value: null, + }, + processors: { + type: 'yaml', + value: JSON.stringify([ + { + add_fields: { + fields: { + 'monitor.fleet_managed': true, + config_id: configId, + 'monitor.project.name': projectId, + 'monitor.project.id': projectId, + meta: { space_id: 'default' }, + }, + target: '', + }, + }, + ]), + }, + proxy_headers: { + type: 'yaml', + value: null, + }, + proxy_url: { + type: 'text', + value: JSON.stringify('testGlobalParamOverwrite'), + }, + 'response.include_body': { + type: 'text', + value: 'always', + }, + 'response.include_body_max_bytes': { + type: 'text', + value: '900', + }, + 'response.include_headers': { + type: 'bool', + value: false, + }, + schedule: { + type: 'text', + value: '"@every 60m"', + }, + 'service.name': { + type: 'text', + value: null, + }, + 'ssl.certificate': { + type: 'yaml', + value: null, + }, + 'ssl.certificate_authorities': { + type: 'yaml', + value: null, + }, + 'ssl.key': { + type: 'yaml', + value: null, + }, + 'ssl.key_passphrase': { + type: 'text', + value: null, + }, + 'ssl.supported_protocols': { + type: 'yaml', + value: '["TLSv1.1","TLSv1.2","TLSv1.3"]', + }, + 'ssl.verification_mode': { + type: 'text', + value: 'strict', + }, + tags: { + type: 'yaml', + value: '["tag2","tag2"]', + }, + timeout: { + type: 'text', + value: '80s', + }, + type: { + type: 'text', + value: 'http', + }, + urls: { + type: 'text', + value: '"http://localhost:9200"', + }, + username: { + type: 'text', + value: null, + }, + }, + compiled_stream: { + __ui: { + is_tls_enabled: true, + }, + type: 'http', + name, + id, + origin: 'project', + enabled: false, + urls: 'http://localhost:9200', + schedule: '@every 60m', + timeout: '80s', + max_redirects: 0, + max_attempts: 2, + tags: ['tag2', 'tag2'], + proxy_url: 'testGlobalParamOverwrite', + 'run_from.geo.name': locationName ?? 'Test private location 0', + 'run_from.id': locationId ?? 'Test private location 0', + 'response.include_headers': false, + 'response.include_body': 'always', + 'response.include_body_max_bytes': 900, + 'ssl.supported_protocols': ['TLSv1.1', 'TLSv1.2', 'TLSv1.3'], + 'ssl.verification_mode': 'strict', + 'check.request.method': 'POST', + 'check.request.headers': { 'Content-Type': 'application/x-www-form-urlencoded' }, + 'check.response.body.positive': ['testLocalParamsValue', 'saved'], + 'check.response.json': [ + { + description: 'check status', + expression: 'foo.bar == "myValue"', + }, + ], + 'check.response.status': ['200'], + 'check.request.body': 'testGlobalParamValue', + ipv4: true, + ipv6: true, + mode: 'any', + processors: [ + { + add_fields: { + fields: { + config_id: configId, + 'monitor.fleet_managed': true, + 'monitor.project.id': projectId, + 'monitor.project.name': projectId, + meta: { space_id: 'default' }, + }, + target: '', + }, + }, + ], + }, + id: `synthetics/http-http-4b6abc6c-118b-4d93-a489-1135500d09f1-${projectId}-default-d70a46e0-22ea-11ed-8c6b-09a2d21dfbc3`, + }, + ], + }, + { + type: 'synthetics/tcp', + policy_template: 'synthetics', + enabled: false, + streams: [ + { + enabled: false, + data_stream: { + type: 'synthetics', + dataset: 'tcp', + }, + vars: { + __ui: { type: 'yaml' }, + enabled: { value: true, type: 'bool' }, + type: { value: 'tcp', type: 'text' }, + name: { type: 'text' }, + schedule: { value: '"@every 3m"', type: 'text' }, + hosts: { type: 'text' }, + 'service.name': { type: 'text' }, + timeout: { type: 'text' }, + proxy_url: { type: 'text' }, + proxy_use_local_resolver: { value: false, type: 'bool' }, + tags: { type: 'yaml' }, + 'check.send': { type: 'text' }, + 'check.receive': { type: 'text' }, + 'ssl.certificate_authorities': { type: 'yaml' }, + 'ssl.certificate': { type: 'yaml' }, + 'ssl.key': { type: 'yaml' }, + 'ssl.key_passphrase': { type: 'text' }, + 'ssl.verification_mode': { type: 'text' }, + 'ssl.supported_protocols': { type: 'yaml' }, + location_id: { value: 'fleet_managed', type: 'text' }, + location_name: { value: 'Fleet managed', type: 'text' }, + ...commonVars, + id: { type: 'text' }, + origin: { type: 'text' }, + ipv4: { type: 'bool', value: true }, + ipv6: { type: 'bool', value: true }, + mode: { type: 'text' }, + }, + id: `synthetics/tcp-tcp-4b6abc6c-118b-4d93-a489-1135500d09f1-${projectId}-default-d70a46e0-22ea-11ed-8c6b-09a2d21dfbc3`, + }, + ], + }, + { + type: 'synthetics/icmp', + policy_template: 'synthetics', + enabled: false, + streams: [ + { + enabled: false, + data_stream: { + type: 'synthetics', + dataset: 'icmp', + }, + vars: { + __ui: { type: 'yaml' }, + enabled: { value: true, type: 'bool' }, + type: { value: 'icmp', type: 'text' }, + name: { type: 'text' }, + schedule: { value: '"@every 3m"', type: 'text' }, + wait: { value: '1s', type: 'text' }, + hosts: { type: 'text' }, + 'service.name': { type: 'text' }, + timeout: { type: 'text' }, + tags: { type: 'yaml' }, + location_id: { value: 'fleet_managed', type: 'text' }, + location_name: { value: 'Fleet managed', type: 'text' }, + ...commonVars, + id: { type: 'text' }, + origin: { type: 'text' }, + ipv4: { type: 'bool', value: true }, + ipv6: { type: 'bool', value: true }, + mode: { type: 'text' }, + }, + id: `synthetics/icmp-icmp-4b6abc6c-118b-4d93-a489-1135500d09f1-${projectId}-default-d70a46e0-22ea-11ed-8c6b-09a2d21dfbc3`, + }, + ], + }, + { + type: 'synthetics/browser', + policy_template: 'synthetics', + enabled: false, + streams: [ + { + enabled: true, + data_stream: { + type: 'synthetics', + dataset: 'browser', + elasticsearch: { + privileges: { + indices: ['auto_configure', 'create_doc', 'read'], + }, + }, + }, + vars: { + __ui: { + type: 'yaml', + }, + enabled: { value: true, type: 'bool' }, + type: { value: 'browser', type: 'text' }, + name: { type: 'text' }, + schedule: { value: JSON.stringify('@every 3m'), type: 'text' }, + 'service.name': { type: 'text' }, + timeout: { type: 'text' }, + tags: { type: 'yaml' }, + 'source.zip_url.url': { type: 'text' }, + 'source.zip_url.username': { type: 'text' }, + 'source.zip_url.folder': { type: 'text' }, + 'source.zip_url.password': { type: 'password' }, + 'source.inline.script': { type: 'yaml' }, + 'source.project.content': { + type: 'text', + }, + params: { + type: 'yaml', + }, + playwright_options: { + type: 'yaml', + }, + screenshots: { type: 'text' }, + synthetics_args: { type: 'text' }, + ignore_https_errors: { type: 'bool' }, + 'throttling.config': { + type: 'text', + }, + 'filter_journeys.tags': { type: 'yaml' }, + 'filter_journeys.match': { type: 'text' }, + 'source.zip_url.ssl.certificate_authorities': { type: 'yaml' }, + 'source.zip_url.ssl.certificate': { type: 'yaml' }, + 'source.zip_url.ssl.key': { type: 'yaml' }, + 'source.zip_url.ssl.key_passphrase': { type: 'text' }, + 'source.zip_url.ssl.verification_mode': { type: 'text' }, + 'source.zip_url.ssl.supported_protocols': { type: 'yaml' }, + 'source.zip_url.proxy_url': { type: 'text' }, + location_id: { value: 'fleet_managed', type: 'text' }, + location_name: { value: 'Fleet managed', type: 'text' }, + ...commonVars, + id: { type: 'text' }, + origin: { type: 'text' }, + ...inputs, + }, + id: `synthetics/browser-browser-4b6abc6c-118b-4d93-a489-1135500d09f1-${projectId}-default-d70a46e0-22ea-11ed-8c6b-09a2d21dfbc3`, + compiled_stream: { + __ui: null, + type: 'browser', + name: null, + enabled: true, + schedule: '@every 3m', + timeout: null, + throttling: null, + processors: [ + { + add_fields: { + target: '', + fields: { + 'monitor.fleet_managed': true, + }, + }, + }, + ], + 'run_from.geo.name': 'Fleet managed', + 'run_from.id': 'Fleet managed', + ...Object.keys(inputs).reduce((acc: Record, key) => { + acc[key] = inputs[key].value; + return acc; + }, {}), + }, + }, + { + enabled: true, + data_stream: { + type: 'synthetics', + dataset: 'browser.network', + elasticsearch: { + privileges: { + indices: ['auto_configure', 'create_doc', 'read'], + }, + }, + }, + id: `synthetics/browser-browser.network-4b6abc6c-118b-4d93-a489-1135500d09f1-${projectId}-default-d70a46e0-22ea-11ed-8c6b-09a2d21dfbc3`, + compiled_stream: { + processors: [{ add_fields: { target: '', fields: { 'monitor.fleet_managed': true } } }], + }, + }, + { + enabled: true, + data_stream: { + type: 'synthetics', + dataset: 'browser.screenshot', + elasticsearch: { + privileges: { + indices: ['auto_configure', 'create_doc', 'read'], + }, + }, + }, + id: `synthetics/browser-browser.screenshot-4b6abc6c-118b-4d93-a489-1135500d09f1-${projectId}-default-d70a46e0-22ea-11ed-8c6b-09a2d21dfbc3`, + compiled_stream: { + processors: [{ add_fields: { target: '', fields: { 'monitor.fleet_managed': true } } }], + }, + }, + ], + }, + ], + is_managed: true, + revision: 1, + created_at: '2022-08-23T13:52:42.531Z', + created_by: 'system', + updated_at: '2022-08-23T13:52:42.531Z', + updated_by: 'system', +}); + +export const getTestProjectSyntheticsPolicy = ( + { + name, + inputs = {}, + configId, + id, + projectId = 'test-suite', + locationId, + locationName = 'Fleet Managed', + namespace, + }: { + name?: string; + inputs: Record; + configId: string; + id: string; + projectId?: string; + locationName?: string; + locationId: string; + namespace?: string; + } = { + name: 'check if title is present-Test private location 0', + inputs: {}, + configId: '', + id: '', + locationId: 'fleet_managed', + locationName: 'Fleet Managed', + } +): PackagePolicy => ({ + id: `4b6abc6c-118b-4d93-a489-1135500d09f1-${projectId}-default-d70a46e0-22ea-11ed-8c6b-09a2d21dfbc3`, + version: 'WzEzMDksMV0=', + name: `4b6abc6c-118b-4d93-a489-1135500d09f1-${projectId}-default-Test private location 0`, + namespace: namespace || undefined, + package: { name: 'synthetics', title: 'Elastic Synthetics', version: INSTALLED_VERSION }, + enabled: true, + policy_id: '46034710-0ba6-11ed-ba04-5f123b9faa8b', + policy_ids: ['46034710-0ba6-11ed-ba04-5f123b9faa8b'], + inputs: [ + { + type: 'synthetics/http', + policy_template: 'synthetics', + enabled: false, + streams: [ + { + enabled: false, + data_stream: { + type: 'synthetics', + dataset: 'http', + }, + vars: { + __ui: { type: 'yaml' }, + enabled: { value: true, type: 'bool' }, + type: { value: 'http', type: 'text' }, + name: { type: 'text' }, + schedule: { value: '"@every 3m"', type: 'text' }, + urls: { type: 'text' }, + 'service.name': { type: 'text' }, + timeout: { type: 'text' }, + max_redirects: { type: 'integer' }, + proxy_url: { type: 'text' }, + processors: { type: 'yaml' }, + proxy_headers: { type: 'yaml' }, + tags: { type: 'yaml' }, + username: { type: 'text' }, + password: { type: 'password' }, + 'response.include_headers': { type: 'bool' }, + 'response.include_body': { type: 'text' }, + 'response.include_body_max_bytes': { type: 'text' }, + 'check.request.method': { type: 'text' }, + 'check.request.headers': { type: 'yaml' }, + 'check.request.body': { type: 'yaml' }, + 'check.response.status': { type: 'yaml' }, + 'check.response.headers': { type: 'yaml' }, + 'check.response.body.positive': { type: 'yaml' }, + 'check.response.body.negative': { type: 'yaml' }, + 'check.response.json': { type: 'yaml' }, + 'ssl.certificate_authorities': { type: 'yaml' }, + 'ssl.certificate': { type: 'yaml' }, + 'ssl.key': { type: 'yaml' }, + 'ssl.key_passphrase': { type: 'text' }, + 'ssl.verification_mode': { type: 'text' }, + 'ssl.supported_protocols': { type: 'yaml' }, + location_id: { value: 'fleet_managed', type: 'text' }, + location_name: { value: 'Fleet managed', type: 'text' }, + ...commonVars, + id: { type: 'text' }, + origin: { type: 'text' }, + ipv4: { type: 'bool', value: true }, + ipv6: { type: 'bool', value: true }, + mode: { type: 'text' }, + }, + id: `synthetics/http-http-4b6abc6c-118b-4d93-a489-1135500d09f1-${projectId}-default-d70a46e0-22ea-11ed-8c6b-09a2d21dfbc3`, + }, + ], + }, + { + type: 'synthetics/tcp', + policy_template: 'synthetics', + enabled: false, + streams: [ + { + enabled: false, + data_stream: { + type: 'synthetics', + dataset: 'tcp', + }, + vars: { + __ui: { type: 'yaml' }, + enabled: { value: true, type: 'bool' }, + type: { value: 'tcp', type: 'text' }, + name: { type: 'text' }, + schedule: { value: '"@every 3m"', type: 'text' }, + hosts: { type: 'text' }, + 'service.name': { type: 'text' }, + timeout: { type: 'text' }, + proxy_url: { type: 'text' }, + proxy_use_local_resolver: { value: false, type: 'bool' }, + tags: { type: 'yaml' }, + 'check.send': { type: 'text' }, + 'check.receive': { type: 'text' }, + 'ssl.certificate_authorities': { type: 'yaml' }, + 'ssl.certificate': { type: 'yaml' }, + 'ssl.key': { type: 'yaml' }, + 'ssl.key_passphrase': { type: 'text' }, + 'ssl.verification_mode': { type: 'text' }, + 'ssl.supported_protocols': { type: 'yaml' }, + location_name: { value: 'Fleet managed', type: 'text' }, + ...commonVars, + id: { type: 'text' }, + origin: { type: 'text' }, + ipv4: { type: 'bool', value: true }, + ipv6: { type: 'bool', value: true }, + mode: { type: 'text' }, + }, + id: `synthetics/tcp-tcp-4b6abc6c-118b-4d93-a489-1135500d09f1-${projectId}-default-d70a46e0-22ea-11ed-8c6b-09a2d21dfbc3`, + }, + ], + }, + { + type: 'synthetics/icmp', + policy_template: 'synthetics', + enabled: false, + streams: [ + { + enabled: false, + data_stream: { + type: 'synthetics', + dataset: 'icmp', + }, + vars: { + __ui: { type: 'yaml' }, + enabled: { value: true, type: 'bool' }, + type: { value: 'icmp', type: 'text' }, + name: { type: 'text' }, + schedule: { value: '"@every 3m"', type: 'text' }, + wait: { value: '1s', type: 'text' }, + hosts: { type: 'text' }, + 'service.name': { type: 'text' }, + timeout: { type: 'text' }, + tags: { type: 'yaml' }, + location_name: { value: 'Fleet managed', type: 'text' }, + max_attempts: { + type: 'integer', + value: 2, + }, + id: { type: 'text' }, + origin: { type: 'text' }, + ipv4: { type: 'bool', value: true }, + ipv6: { type: 'bool', value: true }, + mode: { type: 'text' }, + }, + id: `synthetics/icmp-icmp-4b6abc6c-118b-4d93-a489-1135500d09f1-${projectId}-default-d70a46e0-22ea-11ed-8c6b-09a2d21dfbc3`, + }, + ], + }, + { + type: 'synthetics/browser', + policy_template: 'synthetics', + enabled: true, + streams: [ + { + enabled: true, + data_stream: getDataStream('browser'), + vars: { + __ui: { + value: '{"script_source":{"is_generated_script":false,"file_name":""}}', + type: 'yaml', + }, + enabled: { value: true, type: 'bool' }, + type: { value: 'browser', type: 'text' }, + name: { value: '"check if title is present"', type: 'text' }, + schedule: { value: '"@every 10m"', type: 'text' }, + 'service.name': { value: null, type: 'text' }, + timeout: { value: null, type: 'text' }, + tags: { value: null, type: 'yaml' }, + 'source.zip_url.url': { type: 'text' }, + 'source.zip_url.username': { type: 'text' }, + 'source.zip_url.folder': { type: 'text' }, + 'source.zip_url.password': { type: 'password' }, + 'source.inline.script': { value: null, type: 'yaml' }, + 'source.project.content': { + value: + 'UEsDBBQACAAIAON5qVQAAAAAAAAAAAAAAAAfAAAAZXhhbXBsZXMvdG9kb3MvYmFzaWMuam91cm5leS50c22Q0WrDMAxF3/sVF7MHB0LMXlc6RvcN+wDPVWNviW0sdUsp/fe5SSiD7UFCWFfHujIGlpnkybwxFTZfoY/E3hsaLEtwhs9RPNWKDU12zAOxkXRIbN4tB9d9pFOJdO6EN2HMqQguWN9asFBuQVMmJ7jiWNII9fIXrbabdUYr58l9IhwhQQZCYORCTFFUC31Btj21NRc7Mq4Nds+4bDD/pNVgT9F52Jyr2Fa+g75LAPttg8yErk+S9ELpTmVotlVwnfNCuh2lepl3+JflUmSBJ3uggt1v9INW/lHNLKze9dJe1J3QJK8pSvWkm6aTtCet5puq+x63+AFQSwcIAPQ3VfcAAACcAQAAUEsBAi0DFAAIAAgA43mpVAD0N1X3AAAAnAEAAB8AAAAAAAAAAAAgAKSBAAAAAGV4YW1wbGVzL3RvZG9zL2Jhc2ljLmpvdXJuZXkudHNQSwUGAAAAAAEAAQBNAAAARAEAAAAA', + type: 'text', + }, + params: { + value: + '{"testGlobalParam2":"testGlobalParamValue2","testGlobalParam":"testGlobalParamValue"}', + type: 'yaml', + }, + playwright_options: { + value: '{"headless":true,"chromiumSandbox":false}', + type: 'yaml', + }, + screenshots: { value: 'on', type: 'text' }, + synthetics_args: { value: null, type: 'text' }, + ignore_https_errors: { value: false, type: 'bool' }, + 'throttling.config': { + value: JSON.stringify({ download: 5, upload: 3, latency: 20 }), + type: 'text', + }, + 'filter_journeys.tags': { value: null, type: 'yaml' }, + 'filter_journeys.match': { value: '"check if title is present"', type: 'text' }, + 'source.zip_url.ssl.certificate_authorities': { type: 'yaml' }, + 'source.zip_url.ssl.certificate': { type: 'yaml' }, + 'source.zip_url.ssl.key': { type: 'yaml' }, + 'source.zip_url.ssl.key_passphrase': { type: 'text' }, + 'source.zip_url.ssl.verification_mode': { type: 'text' }, + 'source.zip_url.ssl.supported_protocols': { type: 'yaml' }, + 'source.zip_url.proxy_url': { type: 'text' }, + location_name: { value: 'Test private location 0', type: 'text' }, + ...commonVars, + location_id: { value: 'fleet_managed', type: 'text' }, + id: { value: id, type: 'text' }, + origin: { value: 'project', type: 'text' }, + ...inputs, + }, + id: `synthetics/browser-browser-4b6abc6c-118b-4d93-a489-1135500d09f1-${projectId}-default-d70a46e0-22ea-11ed-8c6b-09a2d21dfbc3`, + compiled_stream: { + __ui: { + script_source: { is_generated_script: false, file_name: '' }, + }, + type: 'browser', + name: 'check if title is present', + id, + origin: 'project', + enabled: true, + schedule: '@every 10m', + 'run_from.geo.name': locationName, + 'run_from.id': locationId, + timeout: null, + throttling: { download: 5, upload: 3, latency: 20 }, + 'source.project.content': + 'UEsDBBQACAAIAON5qVQAAAAAAAAAAAAAAAAfAAAAZXhhbXBsZXMvdG9kb3MvYmFzaWMuam91cm5leS50c22Q0WrDMAxF3/sVF7MHB0LMXlc6RvcN+wDPVWNviW0sdUsp/fe5SSiD7UFCWFfHujIGlpnkybwxFTZfoY/E3hsaLEtwhs9RPNWKDU12zAOxkXRIbN4tB9d9pFOJdO6EN2HMqQguWN9asFBuQVMmJ7jiWNII9fIXrbabdUYr58l9IhwhQQZCYORCTFFUC31Btj21NRc7Mq4Nds+4bDD/pNVgT9F52Jyr2Fa+g75LAPttg8yErk+S9ELpTmVotlVwnfNCuh2lepl3+JflUmSBJ3uggt1v9INW/lHNLKze9dJe1J3QJK8pSvWkm6aTtCet5puq+x63+AFQSwcIAPQ3VfcAAACcAQAAUEsBAi0DFAAIAAgA43mpVAD0N1X3AAAAnAEAAB8AAAAAAAAAAAAgAKSBAAAAAGV4YW1wbGVzL3RvZG9zL2Jhc2ljLmpvdXJuZXkudHNQSwUGAAAAAAEAAQBNAAAARAEAAAAA', + playwright_options: { headless: true, chromiumSandbox: false }, + screenshots: 'on', + 'filter_journeys.match': 'check if title is present', + params: { + testGlobalParam: 'testGlobalParamValue', + testGlobalParam2: 'testGlobalParamValue2', + }, + ...Object.keys(inputs).reduce((acc: Record, key) => { + acc[key] = inputs[key].value; + return acc; + }, {}), + }, + }, + { + enabled: true, + data_stream: getDataStream('browser.network'), + id: `synthetics/browser-browser.network-4b6abc6c-118b-4d93-a489-1135500d09f1-${projectId}-default-d70a46e0-22ea-11ed-8c6b-09a2d21dfbc3`, + compiled_stream: { + processors: [{ add_fields: { target: '', fields: { 'monitor.fleet_managed': true } } }], + }, + }, + { + enabled: true, + data_stream: getDataStream('browser.screenshot'), + id: `synthetics/browser-browser.screenshot-4b6abc6c-118b-4d93-a489-1135500d09f1-${projectId}-default-d70a46e0-22ea-11ed-8c6b-09a2d21dfbc3`, + compiled_stream: { + processors: [{ add_fields: { target: '', fields: { 'monitor.fleet_managed': true } } }], + }, + }, + ], + }, + ], + is_managed: true, + revision: 1, + created_at: '2022-08-23T13:52:42.531Z', + created_by: 'system', + updated_at: '2022-08-23T13:52:42.531Z', + updated_by: 'system', +}); diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/suggestions.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/suggestions.ts new file mode 100644 index 0000000000000..d6a42b6cc8972 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/suggestions.ts @@ -0,0 +1,276 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { v4 as uuidv4 } from 'uuid'; +import expect from 'expect'; +import { RoleCredentials } from '@kbn/ftr-common-functional-services'; +import { + MonitorFields, + EncryptedSyntheticsSavedMonitor, + ProjectMonitorsRequest, + PrivateLocation, +} from '@kbn/synthetics-plugin/common/runtime_types'; +import { syntheticsMonitorType } from '@kbn/synthetics-plugin/common/types/saved_objects'; +import { SYNTHETICS_API_URLS } from '@kbn/synthetics-plugin/common/constants'; +import { DeploymentAgnosticFtrProviderContext } from '../../../ftr_provider_context'; +import { getFixtureJson } from './helpers/get_fixture_json'; +import { PrivateLocationTestService } from '../../../services/synthetics_private_location'; + +export default function ({ getService }: DeploymentAgnosticFtrProviderContext) { + describe('SyntheticsSuggestions', function () { + const supertest = getService('supertestWithoutAuth'); + const kibanaServer = getService('kibanaServer'); + const samlAuth = getService('samlAuth'); + const privateLocationsTestService = new PrivateLocationTestService(getService); + + const SPACE_ID = `test-space-${uuidv4()}`; + const SPACE_NAME = `test-space-name ${uuidv4()}`; + + let projectMonitors: ProjectMonitorsRequest; + let _monitors: MonitorFields[]; + let monitors: MonitorFields[]; + let editorUser: RoleCredentials; + let privateLocation: PrivateLocation; + + const setUniqueIds = (request: ProjectMonitorsRequest) => { + return { + ...request, + monitors: request.monitors.map((monitor) => ({ + ...monitor, + id: uuidv4(), + locations: [], + privateLocations: [privateLocation.label], + })), + }; + }; + + const saveMonitor = async (monitor: MonitorFields) => { + const res = await supertest + .post(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}`) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(monitor); + + return res.body as EncryptedSyntheticsSavedMonitor; + }; + + before(async () => { + await kibanaServer.savedObjects.clean({ + types: [ + syntheticsMonitorType, + 'ingest-agent-policies', + 'ingest-package-policies', + 'synthetics-private-location', + ], + }); + editorUser = await samlAuth.createM2mApiKeyWithRoleScope('editor'); + await supertest + .put(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + await kibanaServer.spaces.create({ id: SPACE_ID, name: SPACE_NAME }); + privateLocation = await privateLocationsTestService.addTestPrivateLocation(SPACE_ID); + _monitors = [getFixtureJson('http_monitor')].map((monitor) => ({ + ...monitor, + locations: [privateLocation], + })); + projectMonitors = setUniqueIds({ + monitors: getFixtureJson('project_icmp_monitor') + .monitors.slice(0, 2) + .map((monitor: any) => ({ + ...monitor, + privateLocations: [privateLocation.label], + locations: [], + })), + }); + }); + + beforeEach(async () => { + await kibanaServer.savedObjects.clean({ + types: [syntheticsMonitorType, 'ingest-package-policies'], + }); + + monitors = []; + for (let i = 0; i < 20; i++) { + monitors.push({ + ..._monitors[0], + locations: [privateLocation], + name: `${_monitors[0].name} ${i}`, + }); + } + }); + + after(async () => { + await kibanaServer.spaces.delete(SPACE_ID); + }); + + it('returns the suggestions', async () => { + const project = `test-project-${uuidv4()}`; + await supertest + .put( + `/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace( + '{projectName}', + project + )}` + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(projectMonitors) + .expect(200); + for (let i = 0; i < monitors.length; i++) { + await saveMonitor(monitors[i]); + } + const apiResponse = await supertest + .get(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SUGGESTIONS}`) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + expect(apiResponse.body).toEqual({ + locations: [ + { + count: 22, + label: privateLocation.label, + value: privateLocation.id, + }, + ], + monitorIds: expect.arrayContaining([ + ...monitors.map((monitor) => ({ + count: 1, + label: monitor.name, + value: expect.any(String), + })), + ...projectMonitors.monitors.slice(0, 2).map((monitor) => ({ + count: 1, + label: monitor.name, + value: expect.any(String), + })), + ]), + monitorTypes: [ + { + count: 20, + label: 'http', + value: 'http', + }, + { + count: 2, + label: 'icmp', + value: 'icmp', + }, + ], + projects: [ + { + count: 2, + label: project, + value: project, + }, + ], + tags: expect.arrayContaining([ + { + count: 21, + label: 'tag1', + value: 'tag1', + }, + { + count: 21, + label: 'tag2', + value: 'tag2', + }, + { + count: 1, + label: 'org:google', + value: 'org:google', + }, + { + count: 1, + label: 'service:smtp', + value: 'service:smtp', + }, + ]), + }); + }); + + it('handles query params for projects', async () => { + for (let i = 0; i < monitors.length; i++) { + await saveMonitor(monitors[i]); + } + const project = `test-project-${uuidv4()}`; + await supertest + .put( + `/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace( + '{projectName}', + project + )}` + ) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(projectMonitors) + .expect(200); + + const apiResponse = await supertest + .get(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SUGGESTIONS}`) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .query({ + projects: [project], + }) + .expect(200); + + expect(apiResponse.body).toEqual({ + locations: [ + { + count: 2, + label: privateLocation.label, + value: privateLocation.id, + }, + ], + monitorIds: expect.arrayContaining( + projectMonitors.monitors.map((monitor) => ({ + count: 1, + label: monitor.name, + value: expect.any(String), + })) + ), + monitorTypes: [ + { + count: 2, + label: 'icmp', + value: 'icmp', + }, + ], + projects: [ + { + count: 2, + label: project, + value: project, + }, + ], + tags: expect.arrayContaining([ + { + count: 1, + label: 'tag1', + value: 'tag1', + }, + { + count: 1, + label: 'tag2', + value: 'tag2', + }, + { + count: 1, + label: 'org:google', + value: 'org:google', + }, + { + count: 1, + label: 'service:smtp', + value: 'service:smtp', + }, + ]), + }); + }); + }); +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/sync_global_params.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/sync_global_params.ts new file mode 100644 index 0000000000000..425eb0c704b50 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/sync_global_params.ts @@ -0,0 +1,354 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { RoleCredentials } from '@kbn/ftr-common-functional-services'; +import { + ConfigKey, + HTTPFields, + LocationStatus, + PrivateLocation, + ServiceLocation, + SyntheticsParams, +} from '@kbn/synthetics-plugin/common/runtime_types'; +import { SYNTHETICS_API_URLS } from '@kbn/synthetics-plugin/common/constants'; +import { PackagePolicy } from '@kbn/fleet-plugin/common'; +import expect from '@kbn/expect'; +import { syntheticsParamType } from '@kbn/synthetics-plugin/common/types/saved_objects'; +import { DeploymentAgnosticFtrProviderContext } from '../../../ftr_provider_context'; +import { getFixtureJson } from './helpers/get_fixture_json'; +import { PrivateLocationTestService } from '../../../services/synthetics_private_location'; +import { comparePolicies, getTestSyntheticsPolicy } from './sample_data/test_policy'; +import { addMonitorAPIHelper, omitMonitorKeys } from './create_monitor'; + +export const LOCAL_LOCATION = { + id: 'dev', + label: 'Dev Service', + geo: { + lat: 0, + lon: 0, + }, + isServiceManaged: true, +}; + +export default function ({ getService }: DeploymentAgnosticFtrProviderContext) { + describe.skip('SyncGlobalParams', function () { + this.tags('skipCloud'); + const supertestAPI = getService('supertestWithoutAuth'); + const supertestWithAuth = getService('supertest'); + const kServer = getService('kibanaServer'); + const samlAuth = getService('samlAuth'); + + let testFleetPolicyID: string; + let _browserMonitorJson: HTTPFields; + let browserMonitorJson: HTTPFields; + + let _httpMonitorJson: HTTPFields; + let httpMonitorJson: HTTPFields; + + let newMonitorId: string; + let newHttpMonitorId: string; + let privateLocations: PrivateLocation[] = []; + + let editorUser: RoleCredentials; + + const testPrivateLocations = new PrivateLocationTestService(getService); + const params: Record = {}; + + const addMonitorAPI = async (monitor: any, statusCode = 200) => { + return addMonitorAPIHelper(supertestAPI, monitor, statusCode, editorUser, samlAuth); + }; + + before(async () => { + await kServer.savedObjects.cleanStandardList(); + await testPrivateLocations.installSyntheticsPackage(); + + _browserMonitorJson = getFixtureJson('browser_monitor'); + _httpMonitorJson = getFixtureJson('http_monitor'); + await kServer.savedObjects.clean({ types: [syntheticsParamType] }); + editorUser = await samlAuth.createM2mApiKeyWithRoleScope('editor'); + }); + + beforeEach(() => { + browserMonitorJson = _browserMonitorJson; + httpMonitorJson = _httpMonitorJson; + }); + + const testPolicyName = 'Fleet test server policy' + Date.now(); + + it('adds a test fleet policy', async () => { + const apiResponse = await testPrivateLocations.addFleetPolicy(testPolicyName); + testFleetPolicyID = apiResponse.body.item.id; + }); + + it('add a test private location', async () => { + privateLocations = await testPrivateLocations.setTestLocations([testFleetPolicyID]); + + const apiResponse = await supertestAPI.get(SYNTHETICS_API_URLS.SERVICE_LOCATIONS); + + const testLocations: Array = [ + { + id: 'dev', + label: 'Dev Service', + geo: { lat: 0, lon: 0 }, + url: 'mockDevUrl', + isServiceManaged: true, + status: LocationStatus.EXPERIMENTAL, + isInvalid: false, + }, + { + id: 'dev2', + label: 'Dev Service 2', + geo: { lat: 0, lon: 0 }, + url: 'mockDevUrl', + isServiceManaged: true, + status: LocationStatus.EXPERIMENTAL, + isInvalid: false, + }, + { + id: testFleetPolicyID, + isInvalid: false, + isServiceManaged: false, + label: privateLocations[0].label, + geo: { + lat: 0, + lon: 0, + }, + agentPolicyId: testFleetPolicyID, + }, + ]; + + expect(apiResponse.body.locations).eql(testLocations); + }); + + it('adds a monitor in private location', async () => { + const newMonitor = browserMonitorJson; + + const pvtLoc = { + id: testFleetPolicyID, + agentPolicyId: testFleetPolicyID, + label: privateLocations[0].label, + isServiceManaged: false, + geo: { + lat: 0, + lon: 0, + }, + }; + + newMonitor.locations.push(pvtLoc); + + const apiResponse = await addMonitorAPI(newMonitor); + + expect(apiResponse.body).eql( + omitMonitorKeys({ + ...newMonitor, + [ConfigKey.MONITOR_QUERY_ID]: apiResponse.body.id, + [ConfigKey.CONFIG_ID]: apiResponse.body.id, + locations: [LOCAL_LOCATION, pvtLoc], + }) + ); + newMonitorId = apiResponse.rawBody.id; + }); + + it('added an integration for previously added monitor', async () => { + const apiResponse = await supertestAPI.get( + '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + ); + + const packagePolicy = apiResponse.body.items.find( + (pkgPolicy: PackagePolicy) => + pkgPolicy.id === newMonitorId + '-' + testFleetPolicyID + '-default' + ); + + expect(packagePolicy?.policy_id).eql( + testFleetPolicyID, + JSON.stringify({ testFleetPolicyID, newMonitorId }) + ); + + comparePolicies( + packagePolicy, + getTestSyntheticsPolicy({ + name: browserMonitorJson.name, + id: newMonitorId, + isBrowser: true, + location: { id: testFleetPolicyID }, + }) + ); + }); + + it('adds a test param', async () => { + const apiResponse = await supertestAPI + .post(SYNTHETICS_API_URLS.PARAMS) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ key: 'test', value: 'http://proxy.com' }); + + expect(apiResponse.status).eql(200); + }); + + it('get list of params', async () => { + const apiResponse = await supertestAPI + .get(SYNTHETICS_API_URLS.PARAMS) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ key: 'test', value: 'http://proxy.com' }); + + expect(apiResponse.status).eql(200); + + apiResponse.body.forEach(({ key, value }: SyntheticsParams) => { + params[key] = value; + }); + }); + + it('sync global params', async () => { + const apiResponse = await supertestAPI + .get(SYNTHETICS_API_URLS.SYNC_GLOBAL_PARAMS) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ key: 'test', value: 'test' }); + + expect(apiResponse.status).eql(200); + }); + + it('added params to for previously added integration', async () => { + const apiResponse = await supertestWithAuth.get( + '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + ); + + const packagePolicy = apiResponse.body.items.find( + (pkgPolicy: PackagePolicy) => + pkgPolicy.id === newMonitorId + '-' + testFleetPolicyID + '-default' + ); + + expect(packagePolicy.policy_id).eql(testFleetPolicyID); + + comparePolicies( + packagePolicy, + getTestSyntheticsPolicy({ + name: browserMonitorJson.name, + id: newMonitorId, + params, + isBrowser: true, + location: { id: testFleetPolicyID }, + }) + ); + }); + + it('add a http monitor using param', async () => { + const newMonitor = httpMonitorJson; + const pvtLoc = { + id: testFleetPolicyID, + agentPolicyId: testFleetPolicyID, + label: privateLocations[0].label, + isServiceManaged: false, + geo: { + lat: 0, + lon: 0, + }, + }; + newMonitor.locations.push(pvtLoc); + + newMonitor.proxy_url = '${test}'; + + const apiResponse = await addMonitorAPI(newMonitor); + + expect(apiResponse.body).eql( + omitMonitorKeys({ + ...newMonitor, + [ConfigKey.MONITOR_QUERY_ID]: apiResponse.body.id, + [ConfigKey.CONFIG_ID]: apiResponse.body.id, + locations: [LOCAL_LOCATION, pvtLoc], + }) + ); + newHttpMonitorId = apiResponse.rawBody.id; + }); + + it('parsed params for previously added http monitors', async () => { + const apiResponse = await supertestWithAuth.get( + '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + ); + + const packagePolicy = apiResponse.body.items.find( + (pkgPolicy: PackagePolicy) => + pkgPolicy.id === newHttpMonitorId + '-' + testFleetPolicyID + '-default' + ); + + expect(packagePolicy.policy_id).eql(testFleetPolicyID); + + const pPolicy = getTestSyntheticsPolicy({ + name: httpMonitorJson.name, + id: newHttpMonitorId, + isTLSEnabled: false, + namespace: 'testnamespace', + location: { id: testFleetPolicyID }, + }); + + comparePolicies(packagePolicy, pPolicy); + }); + + it('delete all params and sync again', async () => { + await supertestAPI + .post(SYNTHETICS_API_URLS.PARAMS) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ key: 'get', value: 'test' }); + const getResponse = await supertestAPI + .get(SYNTHETICS_API_URLS.PARAMS) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + expect(getResponse.body.length).eql(2); + + const paramsResponse = getResponse.body || []; + const ids = paramsResponse.map((param: any) => param.id); + + const deleteResponse = await supertestAPI + .delete(SYNTHETICS_API_URLS.PARAMS) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send({ ids }) + .expect(200); + + expect(deleteResponse.body).to.have.length(2); + + const getResponseAfterDelete = await supertestAPI + .get(SYNTHETICS_API_URLS.PARAMS) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + expect(getResponseAfterDelete.body.length).eql(0); + + await supertestAPI + .get(SYNTHETICS_API_URLS.SYNC_GLOBAL_PARAMS) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + const apiResponse = await supertestWithAuth.get( + '/api/fleet/package_policies?page=1&perPage=2000&kuery=ingest-package-policies.package.name%3A%20synthetics' + ); + + const packagePolicy = apiResponse.body.items.find( + (pkgPolicy: PackagePolicy) => + pkgPolicy.id === newMonitorId + '-' + testFleetPolicyID + '-default' + ); + + expect(packagePolicy.policy_id).eql(testFleetPolicyID); + + comparePolicies( + packagePolicy, + getTestSyntheticsPolicy({ + name: browserMonitorJson.name, + id: newMonitorId, + isBrowser: true, + location: { id: testFleetPolicyID }, + }) + ); + }); + }); +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/synthetics_enablement.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/synthetics_enablement.ts new file mode 100644 index 0000000000000..cb2197bf54169 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/synthetics_enablement.ts @@ -0,0 +1,352 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { v4 as uuidv4 } from 'uuid'; +import { SYNTHETICS_API_URLS } from '@kbn/synthetics-plugin/common/constants'; +import expect from '@kbn/expect'; +import { SupertestWithRoleScopeType } from '../../../services'; +import { DeploymentAgnosticFtrProviderContext } from '../../../ftr_provider_context'; + +export default function ({ getService }: DeploymentAgnosticFtrProviderContext) { + const config = getService('config'); + const isServerless = config.get('serverless'); + const correctPrivileges = { + applications: [], + cluster: ['monitor', 'read_pipeline', ...(!isServerless ? ['read_ilm'] : [])], + indices: [ + { + allow_restricted_indices: false, + names: ['synthetics-*'], + privileges: ['view_index_metadata', 'create_doc', 'auto_configure', 'read'], + }, + ], + metadata: {}, + run_as: [], + transient_metadata: { + enabled: true, + }, + }; + + describe('SyntheticsEnablement', function () { + /* temporarily skip MKI. Public locations appear to be disabled in QA causing failures + * in isServiceAllowed check */ + this.tags(['skipMKI']); + + const roleScopedSupertest = getService('roleScopedSupertest'); + const kibanaServer = getService('kibanaServer'); + + let supertestWithEditorScope: SupertestWithRoleScopeType; + let supertestWithAdminScope: SupertestWithRoleScopeType; + + const getApiKeys = async () => { + const { body } = await supertestWithAdminScope + .post('/internal/security/api_key/_query') + .send({ + query: { + bool: { + filter: [ + { + term: { + name: 'synthetics-api-key (required for Synthetics App)', + }, + }, + ], + }, + }, + sort: { field: 'creation', direction: 'desc' }, + from: 0, + size: 25, + filters: {}, + }) + .expect(200); + + const apiKeys = body.apiKeys || []; + return apiKeys.filter( + (apiKey: any) => apiKey.name.includes('synthetics-api-key') && apiKey.invalidated === false + ); + }; + + before(async () => { + supertestWithEditorScope = await roleScopedSupertest.getSupertestWithRoleScope('editor', { + withInternalHeaders: true, + useCookieHeader: true, + }); + supertestWithAdminScope = await roleScopedSupertest.getSupertestWithRoleScope('admin', { + withInternalHeaders: true, + useCookieHeader: true, + }); + }); + + describe('[PUT] /internal/uptime/service/enablement', () => { + before(async () => { + supertestWithEditorScope = await roleScopedSupertest.getSupertestWithRoleScope('editor', { + withInternalHeaders: true, + useCookieHeader: true, + }); + supertestWithAdminScope = await roleScopedSupertest.getSupertestWithRoleScope('admin', { + withInternalHeaders: true, + useCookieHeader: true, + }); + }); + + beforeEach(async () => { + const apiKeys = await getApiKeys(); + if (apiKeys.length) { + await supertestWithAdminScope + .delete(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT) + .expect(200); + } + }); + + after(async () => { + // always invalidate API key for the scoped role in the end + await supertestWithAdminScope.destroy(); + await supertestWithEditorScope.destroy(); + }); + + it(`returns response when user cannot manage api keys`, async () => { + const apiResponse = await supertestWithEditorScope + .put(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT) + .expect(200); + + expect(apiResponse.body).eql({ + areApiKeysEnabled: true, + canManageApiKeys: false, + canEnable: false, + isEnabled: false, + isValidApiKey: false, + isServiceAllowed: true, + }); + }); + + it(`returns response for an admin with privilege`, async () => { + const apiResponse = await supertestWithAdminScope + .put(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT) + .expect(200); + + expect(apiResponse.body).eql({ + areApiKeysEnabled: true, + canManageApiKeys: true, + canEnable: true, + isEnabled: true, + isValidApiKey: true, + isServiceAllowed: true, + }); + const validApiKeys = await getApiKeys(); + expect(validApiKeys.length).eql(1); + expect(validApiKeys[0].role_descriptors.synthetics_writer).eql(correctPrivileges); + }); + + it(`does not create excess api keys`, async () => { + const apiResponse = await supertestWithAdminScope + .put(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT) + .expect(200); + + expect(apiResponse.body).eql({ + areApiKeysEnabled: true, + canManageApiKeys: true, + canEnable: true, + isEnabled: true, + isValidApiKey: true, + isServiceAllowed: true, + }); + + const validApiKeys = await getApiKeys(); + expect(validApiKeys.length).eql(1); + expect(validApiKeys[0].role_descriptors.synthetics_writer).eql(correctPrivileges); + + // call api a second time + const apiResponse2 = await supertestWithAdminScope + .put(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT) + .expect(200); + + expect(apiResponse2.body).eql({ + areApiKeysEnabled: true, + canManageApiKeys: true, + canEnable: true, + isEnabled: true, + isValidApiKey: true, + isServiceAllowed: true, + }); + + const validApiKeys2 = await getApiKeys(); + expect(validApiKeys2.length).eql(1); + expect(validApiKeys2[0].role_descriptors.synthetics_writer).eql(correctPrivileges); + }); + + it(`auto re-enables api key when invalidated`, async () => { + const apiResponse = await supertestWithAdminScope + .put(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT) + .expect(200); + + expect(apiResponse.body).eql({ + areApiKeysEnabled: true, + canManageApiKeys: true, + canEnable: true, + isEnabled: true, + isValidApiKey: true, + isServiceAllowed: true, + }); + + const validApiKeys = await getApiKeys(); + expect(validApiKeys.length).eql(1); + expect(validApiKeys[0].role_descriptors.synthetics_writer).eql(correctPrivileges); + + // delete api key + await supertestWithAdminScope + .post('/internal/security/api_key/invalidate') + .send({ + apiKeys: validApiKeys.map((apiKey: { id: string; name: string }) => ({ + id: apiKey.id, + name: apiKey.name, + })), + isAdmin: true, + }) + .expect(200); + + const validApiKeysAferDeletion = await getApiKeys(); + expect(validApiKeysAferDeletion.length).eql(0); + + // call api a second time + const apiResponse2 = await supertestWithAdminScope + .put(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT) + .expect(200); + + expect(apiResponse2.body).eql({ + areApiKeysEnabled: true, + canManageApiKeys: true, + canEnable: true, + isEnabled: true, + isValidApiKey: true, + isServiceAllowed: true, + }); + + const validApiKeys2 = await getApiKeys(); + expect(validApiKeys2.length).eql(1); + expect(validApiKeys2[0].role_descriptors.synthetics_writer).eql(correctPrivileges); + }); + + it('returns response for an uptime all user without admin privileges', async () => { + const apiResponse = await supertestWithEditorScope + .put(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT) + .expect(200); + + expect(apiResponse.body).eql({ + areApiKeysEnabled: true, + canManageApiKeys: false, + canEnable: false, + isEnabled: false, + isValidApiKey: false, + isServiceAllowed: true, + }); + }); + }); + + describe('[DELETE] /internal/uptime/service/enablement', () => { + beforeEach(async () => { + const apiKeys = await getApiKeys(); + if (apiKeys.length) { + await supertestWithAdminScope + .delete(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT) + .expect(200); + } + }); + + it('with an admin', async () => { + await supertestWithAdminScope.put(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT).expect(200); + const delResponse = await supertestWithAdminScope + .delete(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT) + .expect(200); + expect(delResponse.body).eql({}); + const apiResponse = await supertestWithAdminScope + .put(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT) + .expect(200); + + expect(apiResponse.body).eql({ + areApiKeysEnabled: true, + canManageApiKeys: true, + canEnable: true, + isEnabled: true, + isValidApiKey: true, + isServiceAllowed: true, + }); + }); + + it('with an uptime user', async () => { + await supertestWithAdminScope.put(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT).expect(200); + await supertestWithEditorScope + .delete(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT) + .expect(403); + const apiResponse = await supertestWithEditorScope + .put(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT) + .expect(200); + expect(apiResponse.body).eql({ + areApiKeysEnabled: true, + canManageApiKeys: false, + canEnable: false, + isEnabled: true, + isValidApiKey: true, + isServiceAllowed: true, + }); + }); + + it('is space agnostic', async () => { + const SPACE_ID = `test-space-${uuidv4()}`; + const SPACE_NAME = `test-space-name-${uuidv4()}`; + await kibanaServer.spaces.create({ id: SPACE_ID, name: SPACE_NAME }); + + // can enable synthetics in default space when enabled in a non default space + const apiResponseGet = await supertestWithAdminScope + .put(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT}`) + .expect(200); + + expect(apiResponseGet.body).eql({ + areApiKeysEnabled: true, + canManageApiKeys: true, + canEnable: true, + isEnabled: true, + isValidApiKey: true, + isServiceAllowed: true, + }); + + await supertestWithAdminScope + .put(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT}`) + .expect(200); + await supertestWithAdminScope.delete(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT).expect(200); + const apiResponse = await supertestWithAdminScope + .put(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT) + .expect(200); + + expect(apiResponse.body).eql({ + areApiKeysEnabled: true, + canManageApiKeys: true, + canEnable: true, + isEnabled: true, + isValidApiKey: true, + isServiceAllowed: true, + }); + + // can disable synthetics in non default space when enabled in default space + await supertestWithAdminScope.put(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT).expect(200); + await supertestWithAdminScope + .delete(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT}`) + .expect(200); + const apiResponse2 = await supertestWithAdminScope + .put(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT) + .expect(200); + + expect(apiResponse2.body).eql({ + areApiKeysEnabled: true, + canManageApiKeys: true, + canEnable: true, + isEnabled: true, + isValidApiKey: true, + isServiceAllowed: true, + }); + }); + }); + }); +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/test_now_monitor.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/test_now_monitor.ts new file mode 100644 index 0000000000000..1efe174a2c666 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/synthetics/test_now_monitor.ts @@ -0,0 +1,98 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { RoleCredentials } from '@kbn/ftr-common-functional-services'; +import { MonitorFields } from '@kbn/synthetics-plugin/common/runtime_types'; +import { SYNTHETICS_API_URLS } from '@kbn/synthetics-plugin/common/constants'; +import expect from '@kbn/expect'; +import { omit } from 'lodash'; +import { DeploymentAgnosticFtrProviderContext } from '../../../ftr_provider_context'; +import { getFixtureJson } from './helpers/get_fixture_json'; +import { SyntheticsMonitorTestService } from '../../../services/synthetics_monitor'; + +export const LOCAL_LOCATION = { + id: 'dev', + label: 'Dev Service', + geo: { + lat: 0, + lon: 0, + }, + isServiceManaged: true, +}; + +export default function ({ getService }: DeploymentAgnosticFtrProviderContext) { + describe('RunTestManually', function () { + this.tags(['skipMKI', 'skipCloud']); + + const supertest = getService('supertestWithoutAuth'); + const kibanaServer = getService('kibanaServer'); + const samlAuth = getService('samlAuth'); + + const monitorTestService = new SyntheticsMonitorTestService(getService); + + let newMonitor: MonitorFields; + let editorUser: RoleCredentials; + + before(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + editorUser = await samlAuth.createM2mApiKeyWithRoleScope('editor'); + await supertest + .put(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + newMonitor = getFixtureJson('http_monitor'); + }); + + it('runs test manually', async () => { + const resp = await monitorTestService.addMonitor(newMonitor, editorUser); + + const res = await supertest + .post(SYNTHETICS_API_URLS.TRIGGER_MONITOR + `/${resp.id}`) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + const result = res.body; + expect(typeof result.testRunId).to.eql('string'); + expect(typeof result.configId).to.eql('string'); + expect(result.schedule).to.eql({ number: '5', unit: 'm' }); + expect(result.locations).to.eql([LOCAL_LOCATION]); + + expect(omit(result.monitor, ['id', 'config_id'])).to.eql( + omit(newMonitor, ['id', 'config_id']) + ); + }); + + it('works in non default space', async () => { + const { SPACE_ID } = await monitorTestService.addNewSpace(); + + const resp = await supertest + .post(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}`) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .send(newMonitor) + .expect(200); + + const res = await supertest + .post(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.TRIGGER_MONITOR}/${resp.body.id}`) + .set(editorUser.apiKeyHeader) + .set(samlAuth.getInternalRequestHeader()) + .expect(200); + + const result = res.body; + expect(typeof result.testRunId).to.eql('string'); + expect(typeof result.configId).to.eql('string'); + expect(result.schedule).to.eql({ number: '5', unit: 'm' }); + expect(result.locations).to.eql([LOCAL_LOCATION]); + + expect(omit(result.monitor, ['id', 'config_id'])).to.eql( + omit(newMonitor, ['id', 'config_id']) + ); + }); + }); +} diff --git a/x-pack/test/api_integration/deployment_agnostic/configs/serverless/oblt.index.ts b/x-pack/test/api_integration/deployment_agnostic/configs/serverless/oblt.index.ts index abd875f8c17cf..7544d7d90f1d5 100644 --- a/x-pack/test/api_integration/deployment_agnostic/configs/serverless/oblt.index.ts +++ b/x-pack/test/api_integration/deployment_agnostic/configs/serverless/oblt.index.ts @@ -20,5 +20,6 @@ export default function ({ loadTestFile }: DeploymentAgnosticFtrProviderContext) loadTestFile(require.resolve('../../apis/painless_lab')); loadTestFile(require.resolve('../../apis/saved_objects_management')); loadTestFile(require.resolve('../../apis/observability/slo')); + loadTestFile(require.resolve('../../apis/observability/synthetics')); }); } diff --git a/x-pack/test/api_integration/deployment_agnostic/configs/stateful/oblt.index.ts b/x-pack/test/api_integration/deployment_agnostic/configs/stateful/oblt.index.ts index 4f21d708d4186..4f666fc5b3ebe 100644 --- a/x-pack/test/api_integration/deployment_agnostic/configs/stateful/oblt.index.ts +++ b/x-pack/test/api_integration/deployment_agnostic/configs/stateful/oblt.index.ts @@ -13,6 +13,7 @@ export default function ({ loadTestFile }: DeploymentAgnosticFtrProviderContext) loadTestFile(require.resolve('../../apis/observability/alerting')); loadTestFile(require.resolve('../../apis/observability/dataset_quality')); loadTestFile(require.resolve('../../apis/observability/slo')); + loadTestFile(require.resolve('../../apis/observability/synthetics')); loadTestFile(require.resolve('../../apis/observability/infra')); }); } diff --git a/x-pack/test/api_integration/deployment_agnostic/default_configs/serverless.config.base.ts b/x-pack/test/api_integration/deployment_agnostic/default_configs/serverless.config.base.ts index e7df37f5aa312..8d3432f2e504e 100644 --- a/x-pack/test/api_integration/deployment_agnostic/default_configs/serverless.config.base.ts +++ b/x-pack/test/api_integration/deployment_agnostic/default_configs/serverless.config.base.ts @@ -113,6 +113,11 @@ export function createServerlessTestConfig; + private getService: DeploymentAgnosticFtrProviderContext['getService']; + public apiKey: string | undefined = ''; + public samlAuth: SamlAuthProviderType; + + constructor(getService: DeploymentAgnosticFtrProviderContext['getService']) { + this.supertest = getService('supertestWithoutAuth'); + this.samlAuth = getService('samlAuth'); + this.getService = getService; + } + + generateProjectAPIKey = async (accessToPublicLocations = true, user: RoleCredentials) => { + const res = await this.supertest + .get( + SYNTHETICS_API_URLS.SYNTHETICS_PROJECT_APIKEY + + '?accessToElasticManagedLocations=' + + accessToPublicLocations + ) + .set(user.apiKeyHeader) + .set(this.samlAuth.getInternalRequestHeader()) + .expect(200); + const result = res.body as ProjectAPIKeyResponse; + expect(result).to.have.property('apiKey'); + const apiKey = result.apiKey?.encoded; + expect(apiKey).to.not.be.empty(); + this.apiKey = apiKey; + return apiKey; + }; + + async getMonitor( + monitorId: string, + { + statusCode = 200, + space, + internal, + user, + }: { + statusCode?: number; + space?: string; + internal?: boolean; + user: RoleCredentials; + } + ) { + let url = SYNTHETICS_API_URLS.GET_SYNTHETICS_MONITOR.replace('{monitorId}', monitorId); + if (space) { + url = '/s/' + space + url; + } + if (internal) { + url += `?internal=${internal}`; + } + const apiResponse = await this.supertest + .get(url) + .set(user.apiKeyHeader) + .set(this.samlAuth.getInternalRequestHeader()) + .expect(200); + + expect(apiResponse.status).eql(statusCode, JSON.stringify(apiResponse.body)); + + if (statusCode === 200) { + const { + created_at: createdAt, + updated_at: updatedAt, + id, + config_id: configId, + spaceId, + } = apiResponse.body; + expect(id).not.empty(); + expect(configId).not.empty(); + expect(spaceId).not.empty(); + expect([createdAt, updatedAt].map((d) => moment(d).isValid())).eql([true, true]); + return { + rawBody: omit(apiResponse.body, ['spaceId']), + body: { + ...omit(apiResponse.body, [ + 'created_at', + 'updated_at', + 'id', + 'config_id', + 'form_monitor_type', + 'spaceId', + ]), + }, + }; + } + return apiResponse.body; + } + + async addMonitor(monitor: any, user: RoleCredentials) { + const res = await this.supertest + .post(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) + .set(user.apiKeyHeader) + .set(this.samlAuth.getInternalRequestHeader()) + .send(monitor) + .expect(200); + + return res.body as EncryptedSyntheticsSavedMonitor; + } + + async inspectMonitor(user: RoleCredentials, monitor: any, hideParams: boolean = true) { + const res = await this.supertest + .post(SYNTHETICS_API_URLS.SYNTHETICS_MONITOR_INSPECT) + .set(user.apiKeyHeader) + .set(this.samlAuth.getInternalRequestHeader()) + .send(monitor) + .expect(200); + + // remove the id and config_id from the response + delete res.body.result?.publicConfigs?.[0].monitors[0].id; + delete res.body.result?.publicConfigs?.[0].monitors[0].streams[0].id; + delete res.body.result?.publicConfigs?.[0].monitors[0].streams[0].config_id; + delete res.body.result?.publicConfigs?.[0].monitors[0].streams[0].fields.config_id; + delete res.body.result?.publicConfigs?.[0].output.api_key; + delete res.body.result?.publicConfigs?.[0].license_issued_to; + delete res.body.result?.publicConfigs?.[0].stack_version; + + return res.body as { result: MonitorInspectResponse; decodedCode: string }; + } + + async addProjectMonitors(project: string, monitors: any, user: RoleCredentials) { + if (this.apiKey) { + return this.supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(this.samlAuth.getInternalRequestHeader()) + .set('authorization', `ApiKey ${this.apiKey}`) + .send({ monitors }); + } else { + return this.supertest + .put( + SYNTHETICS_API_URLS.SYNTHETICS_MONITORS_PROJECT_UPDATE.replace('{projectName}', project) + ) + .set(user.apiKeyHeader) + .set(this.samlAuth.getInternalRequestHeader()) + .send({ monitors }); + } + } + + async deleteMonitorByJourney( + journeyId: string, + projectId: string, + space: string = 'default', + user: RoleCredentials + ) { + try { + const response = await this.supertest + .get(`/s/${space}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}`) + .query({ + filter: `${syntheticsMonitorType}.attributes.journey_id: "${journeyId}" AND ${syntheticsMonitorType}.attributes.project_id: "${projectId}"`, + }) + .set(user.apiKeyHeader) + .set(this.samlAuth.getInternalRequestHeader()) + .expect(200); + + const { monitors } = response.body; + if (monitors[0]?.id) { + await this.supertest + .delete(`/s/${space}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}`) + .set(user.apiKeyHeader) + .set(this.samlAuth.getInternalRequestHeader()) + .send({ ids: monitors.map((monitor: { id: string }) => monitor.id) }) + .expect(200); + } + } catch (e) { + // eslint-disable-next-line no-console + console.error(e); + } + } + + async addNewSpace() { + const SPACE_ID = `test-space-${uuidv4()}`; + const SPACE_NAME = `test-space-name ${uuidv4()}`; + + const kibanaServer = this.getService('kibanaServer'); + + await kibanaServer.spaces.create({ id: SPACE_ID, name: SPACE_NAME }); + + return { SPACE_ID }; + } + + async deleteMonitor( + user: RoleCredentials, + monitorId?: string | string[], + statusCode = 200, + spaceId?: string + ) { + const deleteResponse = await this.supertest + .delete( + spaceId + ? `/s/${spaceId}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}` + : SYNTHETICS_API_URLS.SYNTHETICS_MONITORS + ) + .send({ ids: Array.isArray(monitorId) ? monitorId : [monitorId] }) + .set(user.apiKeyHeader) + .set(this.samlAuth.getInternalRequestHeader()) + .expect(statusCode); + + return deleteResponse; + } + + async deleteMonitorByIdParam( + user: RoleCredentials, + monitorId?: string, + statusCode = 200, + spaceId?: string + ) { + const deleteResponse = await this.supertest + .delete( + spaceId + ? `/s/${spaceId}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}/${monitorId}` + : SYNTHETICS_API_URLS.SYNTHETICS_MONITORS + '/' + monitorId + ) + .send() + .set(user.apiKeyHeader) + .set(this.samlAuth.getInternalRequestHeader()) + .expect(statusCode); + + return deleteResponse; + } +} diff --git a/x-pack/test/api_integration/deployment_agnostic/services/synthetics_private_location.ts b/x-pack/test/api_integration/deployment_agnostic/services/synthetics_private_location.ts new file mode 100644 index 0000000000000..8b3c95e0b9489 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/services/synthetics_private_location.ts @@ -0,0 +1,94 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { v4 as uuidv4 } from 'uuid'; +import { RetryService } from '@kbn/ftr-common-functional-services'; +import { X_ELASTIC_INTERNAL_ORIGIN_REQUEST } from '@kbn/core-http-common'; +import { privateLocationSavedObjectName } from '@kbn/synthetics-plugin/common/saved_objects/private_locations'; +import { SyntheticsPrivateLocations } from '@kbn/synthetics-plugin/common/runtime_types'; +import { KibanaSupertestProvider } from '@kbn/ftr-common-functional-services'; +import { DeploymentAgnosticFtrProviderContext } from '../ftr_provider_context'; + +export const INSTALLED_VERSION = '1.1.1'; + +export class PrivateLocationTestService { + private supertestWithAuth: ReturnType; + private readonly retry: RetryService; + + constructor(getService: DeploymentAgnosticFtrProviderContext['getService']) { + this.supertestWithAuth = getService('supertest'); + this.retry = getService('retry'); + } + + async installSyntheticsPackage() { + await this.supertestWithAuth + .post('/api/fleet/setup') + .set('kbn-xsrf', 'true') + .send() + .expect(200); + const response = await this.supertestWithAuth + .get(`/api/fleet/epm/packages/synthetics/${INSTALLED_VERSION}`) + .set('kbn-xsrf', 'true') + .expect(200); + if (response.body.item.status !== 'installed') { + await this.supertestWithAuth + .post(`/api/fleet/epm/packages/synthetics/${INSTALLED_VERSION}`) + .set('kbn-xsrf', 'true') + .send({ force: true }) + .expect(200); + } + } + + async addTestPrivateLocation(spaceId?: string) { + const apiResponse = await this.addFleetPolicy(uuidv4()); + const testPolicyId = apiResponse.body.item.id; + return (await this.setTestLocations([testPolicyId], spaceId))[0]; + } + + async addFleetPolicy(name: string) { + return await this.retry.try(async () => { + const response = await this.supertestWithAuth + .post('/api/fleet/agent_policies?sys_monitoring=true') + .set('kbn-xsrf', 'true') + .send({ + name, + description: '', + namespace: 'default', + monitoring_enabled: [], + }); + return response; + }); + } + + async setTestLocations(testFleetPolicyIds: string[], spaceId?: string) { + const locations: SyntheticsPrivateLocations = testFleetPolicyIds.map((id, index) => ({ + label: `Test private location ${id}`, + agentPolicyId: id, + id, + geo: { + lat: 0, + lon: 0, + }, + isServiceManaged: false, + })); + + await this.supertestWithAuth + .post(`/s/${spaceId || 'default'}/api/saved_objects/_bulk_create`) + .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana') + .set('kbn-xsrf', 'true') + .send( + locations.map((location) => ({ + type: privateLocationSavedObjectName, + id: location.id, + attributes: location, + initialNamespaces: [spaceId ? spaceId : 'default'], + })) + ) + .expect(200); + + return locations; + } +} From 10771a1342ed92cdd6cc390fdfc99b0f3ca9fe83 Mon Sep 17 00:00:00 2001 From: Ying Mao Date: Thu, 12 Dec 2024 09:47:41 -0500 Subject: [PATCH 26/52] [Response Ops][Task Manager] Deprecating `xpack.task_manager.claim_strategy` config (#203341) Resolves https://github.com/elastic/kibana/issues/202492 ## Summary For 9.0 only. Deprecates `xpack.task_manager.claim_strategy` configuration. Logs warning if value is explicitly set. This value was never added to the Kibana docs in `docs/settings/task-manager-settings.asciidoc` so nothing to remove there. ## To Verify Set `xpack.task_manager.claim_strategy` config in `kibana.dev.yml` and start Kibana. See warning get logged. Co-authored-by: Elastic Machine --- x-pack/plugins/task_manager/server/index.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/x-pack/plugins/task_manager/server/index.ts b/x-pack/plugins/task_manager/server/index.ts index f2ad559f02b9c..93ca1b13b8b0e 100644 --- a/x-pack/plugins/task_manager/server/index.ts +++ b/x-pack/plugins/task_manager/server/index.ts @@ -69,6 +69,10 @@ export const config: PluginConfigDescriptor = { level: 'warning', message: `Configuring "xpack.task_manager.max_workers" is deprecated and will be removed in a future version. Remove this setting and use "xpack.task_manager.capacity" instead.`, }), + deprecate('claim_strategy', 'a future version', { + level: 'warning', + message: `Configuring "xpack.task_manager.claim_strategy" is deprecated and will be removed in a future version. This setting should be removed.`, + }), (settings, fromPath, addDeprecation) => { const taskManager = get(settings, fromPath); if (taskManager?.index) { From c47b50925a6aa83a0c7adbaa9b05008366ce10ce Mon Sep 17 00:00:00 2001 From: Marco Antonio Ghiani Date: Thu, 12 Dec 2024 16:09:47 +0100 Subject: [PATCH 27/52] [One Discover] Update log.level indicators color (#202985) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 📓 Summary Closes #202258 This change updates the colors scale for Discover's `log.level` indicators to differentiate errors from other levels better. **N.B. As this relies on some hard-coded values defined [here](https://github.com/elastic/kibana/issues/186273#issuecomment-2505817075), it is not a definitive version, but a middle step to enhance the scale in v8.x versions.** With the introduction of the Borealis theme in v9, a new scale token-based will replace this. Screenshot 2024-12-04 at 17 40 32 --------- Co-authored-by: Marco Antonio Ghiani --- .../logs/utils/get_log_level_color.test.ts | 14 +++++++------ .../logs/utils/get_log_level_color.ts | 21 +++++++++++++------ .../_get_row_indicator_provider.ts | 15 ------------- 3 files changed, 23 insertions(+), 27 deletions(-) diff --git a/packages/kbn-discover-utils/src/data_types/logs/utils/get_log_level_color.test.ts b/packages/kbn-discover-utils/src/data_types/logs/utils/get_log_level_color.test.ts index 47792f0aa6d17..d5d76ddb6041d 100644 --- a/packages/kbn-discover-utils/src/data_types/logs/utils/get_log_level_color.test.ts +++ b/packages/kbn-discover-utils/src/data_types/logs/utils/get_log_level_color.test.ts @@ -13,7 +13,9 @@ import { LogLevelCoalescedValue } from './get_log_level_coalesed_value'; const euiTheme = { colors: { - lightShade: '#ffffff', + vis: { + euiColorVisGrey0: '#d3dae6', + }, }, }; @@ -32,20 +34,20 @@ describe('getLogLevelColor', () => { '#d6bf57' ); expect(getLogLevelColor(LogLevelCoalescedValue.error, euiTheme as EuiThemeComputed)).toBe( - '#df9352' + '#e18774' ); expect(getLogLevelColor(LogLevelCoalescedValue.critical, euiTheme as EuiThemeComputed)).toBe( - '#e7664c' + '#dd7b67' ); expect(getLogLevelColor(LogLevelCoalescedValue.alert, euiTheme as EuiThemeComputed)).toBe( - '#da5e47' + '#d76f5b' ); expect(getLogLevelColor(LogLevelCoalescedValue.emergency, euiTheme as EuiThemeComputed)).toBe( - '#cc5642' + '#d2634e' ); // other expect(getLogLevelColor(LogLevelCoalescedValue.trace, euiTheme as EuiThemeComputed)).toBe( - '#ffffff' + '#d3dae6' ); }); }); diff --git a/packages/kbn-discover-utils/src/data_types/logs/utils/get_log_level_color.ts b/packages/kbn-discover-utils/src/data_types/logs/utils/get_log_level_color.ts index 3e9d2e419bb76..b51318a570923 100644 --- a/packages/kbn-discover-utils/src/data_types/logs/utils/get_log_level_color.ts +++ b/packages/kbn-discover-utils/src/data_types/logs/utils/get_log_level_color.ts @@ -7,7 +7,12 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { EuiThemeComputed, euiPaletteForTemperature, euiPaletteForStatus } from '@elastic/eui'; +import { + EuiThemeComputed, + euiPaletteForTemperature, + euiPaletteForStatus, + euiPaletteRed, +} from '@elastic/eui'; import { LogLevelCoalescedValue } from './get_log_level_coalesed_value'; export const getLogLevelColor = ( @@ -16,8 +21,11 @@ export const getLogLevelColor = ( ): string | undefined => { const euiPaletteForTemperature6 = euiPaletteForTemperature(6); const euiPaletteForStatus9 = euiPaletteForStatus(9); + const euiPaletteRed9 = euiPaletteRed(14); switch (logLevelCoalescedValue) { + case LogLevelCoalescedValue.trace: + return euiTheme.colors.vis.euiColorVisGrey0; case LogLevelCoalescedValue.debug: return euiPaletteForTemperature6[2]; // lighter, closer to the default color for all other unknown log levels case LogLevelCoalescedValue.info: @@ -27,15 +35,16 @@ export const getLogLevelColor = ( case LogLevelCoalescedValue.warning: return euiPaletteForStatus9[4]; case LogLevelCoalescedValue.error: - return euiPaletteForStatus9[5]; + return euiPaletteRed9[9]; case LogLevelCoalescedValue.critical: - return euiPaletteForStatus9[6]; + return euiPaletteRed9[10]; case LogLevelCoalescedValue.alert: - return euiPaletteForStatus9[7]; + return euiPaletteRed9[11]; case LogLevelCoalescedValue.emergency: + return euiPaletteRed9[12]; case LogLevelCoalescedValue.fatal: - return euiPaletteForStatus9[8]; + return euiPaletteRed9[13]; default: - return euiTheme.colors.lightShade; + return euiTheme.colors.vis.euiColorVisGrey0; } }; diff --git a/x-pack/test_serverless/functional/test_suites/observability/discover/context_awareness/_get_row_indicator_provider.ts b/x-pack/test_serverless/functional/test_suites/observability/discover/context_awareness/_get_row_indicator_provider.ts index 2c7338627ddfe..cf4658c52a9b7 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/discover/context_awareness/_get_row_indicator_provider.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/discover/context_awareness/_get_row_indicator_provider.ts @@ -85,9 +85,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const firstColorIndicator = await firstCell.findByTestSubject( 'unifiedDataTableRowColorIndicatorCell' ); - expect(await firstColorIndicator.getComputedStyle('background-color')).to.be( - 'rgba(190, 207, 227, 1)' - ); expect(await firstColorIndicator.getAttribute('title')).to.be('Debug'); }); @@ -105,18 +102,12 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { 'unifiedDataTableRowColorIndicatorCell' ); expect(await anchorColorIndicator.getAttribute('title')).to.be('Debug'); - expect(await anchorColorIndicator.getComputedStyle('background-color')).to.be( - 'rgba(190, 207, 227, 1)' - ); let nextCell = await dataGrid.getCellElement(1, 0); let nextColorIndicator = await nextCell.findByTestSubject( 'unifiedDataTableRowColorIndicatorCell' ); expect(await nextColorIndicator.getAttribute('title')).to.be('Error'); - expect(await nextColorIndicator.getComputedStyle('background-color')).to.be( - 'rgba(223, 147, 82, 1)' - ); await browser.refresh(); await PageObjects.header.waitUntilLoadingHasFinished(); @@ -127,18 +118,12 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { 'unifiedDataTableRowColorIndicatorCell' ); expect(await anchorColorIndicator.getAttribute('title')).to.be('Debug'); - expect(await anchorColorIndicator.getComputedStyle('background-color')).to.be( - 'rgba(190, 207, 227, 1)' - ); nextCell = await dataGrid.getCellElement(1, 0); nextColorIndicator = await nextCell.findByTestSubject( 'unifiedDataTableRowColorIndicatorCell' ); expect(await nextColorIndicator.getAttribute('title')).to.be('Error'); - expect(await nextColorIndicator.getComputedStyle('background-color')).to.be( - 'rgba(223, 147, 82, 1)' - ); }); }); } From 2ab8a5ced075da08f3aeb9526a76b60b1a964602 Mon Sep 17 00:00:00 2001 From: Paul Tavares <56442535+paul-tavares@users.noreply.github.com> Date: Thu, 12 Dec 2024 10:21:23 -0500 Subject: [PATCH 28/52] [Security Solution][Endpoint] Cypress test improvements to capture Agent diagnostics file when test fails (#202965) ## Summary - the Cypress `parallel` runner was updated to set tooling logging level first from Env. variables before falling back to the value defined in the Cypress configuration file - The env. value to set, if wanting to enable a specific logging level, is `TOOLING_LOG_LEVEL`. The values supported are the same as those used with `ToolingLog` ([here](https://github.com/elastic/kibana/blob/b6287708f687d4e3288851052c0c6ae4ade8ce60/packages/kbn-tooling-log/src/log_levels.ts#L10)): `silent`, `error`, `warning`, `success`, `info`, `debug`, `verbose` - This change makes it easier to run Cypress tests locally with (for example) a logging level of `verbose` for our tooling without having to modify the Cypress configuration file. Example: `export TOOLING_LOG_LEVEL=verbose && yarn cypress:dw:open` - Added two new methods to our scripting VM service clients (for Vagrant and Multipass): - `download`: allow you to pull files out of the VM and save them locally - `upload`: uploads a local file to the VM. (upload already existed as `transfer` - which has now been marked as deprecated). - Added new service function on our Fleet scripting module to enable us to set the logging level on a Fleet Agent - Cypress tests were adjusted to automatically set the agent logging to debug when running in CI - A new Cypress task that allows for an Agent Diagnostic file (which includes the Endpoint Log) to be retrieved from the host VM and stored with the CI job (under the artifacts tab) - A few tests were updated to include this step for failed test --- .../public/management/cypress/cypress.d.ts | 8 ++ .../response_console/file_operations.cy.ts | 9 ++ .../cypress/support/data_loaders.ts | 67 +++++++++++++ .../support/setup_tooling_log_level.ts | 14 ++- .../public/management/cypress/types.ts | 5 + .../fleet_server/fleet_server_services.ts | 19 +++- .../scripts/endpoint/common/fleet_services.ts | 91 +++++++++++++++++ .../scripts/endpoint/common/types.ts | 10 +- .../scripts/endpoint/common/vm_services.ts | 98 ++++++++++++++++--- .../scripts/run_cypress/parallel.ts | 8 +- .../run_cypress/parallel_serverless.ts | 12 ++- .../scripts/run_cypress/utils.ts | 21 ++++ 12 files changed, 331 insertions(+), 31 deletions(-) diff --git a/x-pack/plugins/security_solution/public/management/cypress/cypress.d.ts b/x-pack/plugins/security_solution/public/management/cypress/cypress.d.ts index eb42649827908..f5bb7071d859f 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/cypress.d.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/cypress.d.ts @@ -11,6 +11,7 @@ import type { CasePostRequest } from '@kbn/cases-plugin/common/api'; import type { UsageRecord } from '@kbn/security-solution-serverless/server/types'; +import type { HostVmTransferResponse } from '../../../scripts/endpoint/common/types'; import type { DeletedEndpointHeartbeats, IndexedEndpointHeartbeats, @@ -30,6 +31,7 @@ import type { UninstallAgentFromHostTaskOptions, IsAgentAndEndpointUninstalledFromHostTaskOptions, LogItTaskOptions, + CaptureHostVmAgentDiagnosticsOptions, } from './types'; import type { DeleteIndexedFleetEndpointPoliciesResponse, @@ -267,6 +269,12 @@ declare global { arg: LogItTaskOptions, options?: Partial ): Chainable; + + task( + name: 'captureHostVmAgentDiagnostics', + arg: CaptureHostVmAgentDiagnosticsOptions, + options?: Partial + ): Chainable>; } } } diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/file_operations.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/file_operations.cy.ts index 94619aba2a8f7..c36c9153a248b 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/file_operations.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/file_operations.cy.ts @@ -67,6 +67,15 @@ describe.skip('Response console', { tags: ['@ess', '@serverless'] }, () => { } }); + afterEach(function () { + if (Cypress.env('IS_CI') && this.currentTest?.isFailed() && createdHost) { + cy.task('captureHostVmAgentDiagnostics', { + hostname: createdHost.hostname, + fileNamePrefix: this.currentTest?.fullTitle(), + }); + } + }); + it('"get-file --path" - should retrieve a file', () => { const downloadsFolder = Cypress.config('downloadsFolder'); diff --git a/x-pack/plugins/security_solution/public/management/cypress/support/data_loaders.ts b/x-pack/plugins/security_solution/public/management/cypress/support/data_loaders.ts index 3abf04765ca5e..a85feb74f1d9e 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/support/data_loaders.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/support/data_loaders.ts @@ -11,6 +11,10 @@ import type { CasePostRequest } from '@kbn/cases-plugin/common'; import execa from 'execa'; import type { KbnClient } from '@kbn/test'; import type { ToolingLog } from '@kbn/tooling-log'; +import { REPO_ROOT } from '@kbn/repo-info'; +// This is a Cypress module and only used by Cypress, so disabling "should" be safe +// eslint-disable-next-line import/no-nodejs-modules +import { mkdir } from 'node:fs/promises'; import type { IndexedEndpointHeartbeats } from '../../../../common/endpoint/data_loaders/index_endpoint_hearbeats'; import { deleteIndexedEndpointHeartbeats, @@ -53,6 +57,7 @@ import type { LoadUserAndRoleCyTaskOptions, CreateUserAndRoleCyTaskOptions, LogItTaskOptions, + CaptureHostVmAgentDiagnosticsOptions, } from '../types'; import type { DeletedIndexedEndpointRuleAlerts, @@ -75,6 +80,7 @@ import { deleteAgentPolicy, fetchAgentPolicyEnrollmentKey, getOrCreateDefaultAgentPolicy, + setAgentLoggingLevel, } from '../../../../scripts/endpoint/common/fleet_services'; import { startElasticAgentWithDocker } from '../../../../scripts/endpoint/common/elastic_agent_service'; import type { IndexedFleetEndpointPolicyResponse } from '../../../../common/endpoint/data_loaders/index_fleet_endpoint_policy'; @@ -433,6 +439,7 @@ ${s1Info.status} log, kbnClient, }); + await setAgentLoggingLevel(kbnClient, newHost.agentId, 'debug', log); await waitForEndpointToStreamData(kbnClient, newHost.agentId, 360000); return newHost; } catch (err) { @@ -531,5 +538,65 @@ ${s1Info.status} await startEndpointHost(hostName); return null; }, + + /** + * Generates an Agent Diagnostics archive (ZIP) directly on the Host VM and saves it to a directory + * that is then included with the list of Artifacts that are captured with Buildkite job. + * + * ### Usage: + * + * This task is best used from a `afterEach()` by checking if the test failed and if so (and it + * was a test that was running against a host VM), then capture the diagnostics file + * + * @param hostname + * + * @example + * + * describe('something', () => { + * let hostVm; + * + * afterEach(function() { // << Important: Note the use of `function()` here instead of arrow function + * if (this.currentTest?.isFailed() && hostVm) { + * cy.task('captureHostVmAgentDiagnostics', { hostname: hostVm.hostname }); + * } + * }); + * + * //... + * }) + */ + captureHostVmAgentDiagnostics: async ({ + hostname, + fileNamePrefix = '', + }: CaptureHostVmAgentDiagnosticsOptions) => { + const { log } = await stackServicesPromise; + + log.info(`Capturing agent diagnostics for host VM [${hostname}]`); + + const vmClient = getHostVmClient(hostname, undefined, undefined, log); + const fileName = `elastic-agent-diagnostics-${hostname}-${new Date() + .toISOString() + .replace(/:/g, '.')}.zip`; + const vmDiagnosticsFile = `/tmp/${fileName}`; + const localDiagnosticsDir = `${REPO_ROOT}/target/test_failures`; + const localDiagnosticsFile = `${localDiagnosticsDir}/${ + fileNamePrefix + ? // Insure the file name prefix does not have characters that can't be used in file names + `${fileNamePrefix.replace(/[><:"/\\|?*'`{} ]/g, '_')}-` + : '' + }${fileName}`; + + await mkdir(localDiagnosticsDir, { recursive: true }); + + // generate diagnostics file on the host and then download it + await vmClient.exec( + `sudo /opt/Elastic/Agent/elastic-agent diagnostics --file ${vmDiagnosticsFile}` + ); + return vmClient.download(vmDiagnosticsFile, localDiagnosticsFile).then((response) => { + log.info(`Agent diagnostic file for host [${hostname}] has been downloaded and is available at: + ${response.filePath} +`); + return { filePath: response.filePath }; + }); + }, }); }; diff --git a/x-pack/plugins/security_solution/public/management/cypress/support/setup_tooling_log_level.ts b/x-pack/plugins/security_solution/public/management/cypress/support/setup_tooling_log_level.ts index b4901bef9321a..a8c85fad1c3a7 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/support/setup_tooling_log_level.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/support/setup_tooling_log_level.ts @@ -16,10 +16,20 @@ export const setupToolingLogLevel = (config: Cypress.PluginConfigOptions) => { const log = createToolingLogger(); const defaultToolingLogLevel = config.env.TOOLING_LOG_LEVEL; - log.info(`Cypress config 'env.TOOLING_LOG_LEVEL': ${defaultToolingLogLevel}`); + log.info(` + +Cypress Configuration File: ${config.configFile} + +'env.TOOLING_LOG_LEVEL' set to: ${defaultToolingLogLevel} + +*** FYI: *** To help with test failures, an environmental variable named 'TOOLING_LOG_LEVEL' can be set + with a value of 'verbose' in order to capture more data in the logs. This environment + property can be set either in the runtime environment (ex. local shell or buildkite) or + directly in the Cypress configuration file \`env: {}\` section. + + `); if (defaultToolingLogLevel && defaultToolingLogLevel !== createToolingLogger.defaultLogLevel) { createToolingLogger.defaultLogLevel = defaultToolingLogLevel; - log.info(`Default log level for 'createToolingLogger()' set to ${defaultToolingLogLevel}`); } }; diff --git a/x-pack/plugins/security_solution/public/management/cypress/types.ts b/x-pack/plugins/security_solution/public/management/cypress/types.ts index 8beb150a64d5a..e23ff82fa8479 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/types.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/types.ts @@ -81,3 +81,8 @@ export interface LogItTaskOptions { level: keyof Pick; data: any; } + +export interface CaptureHostVmAgentDiagnosticsOptions { + hostname: string; + fileNamePrefix?: string; +} diff --git a/x-pack/plugins/security_solution/scripts/endpoint/common/fleet_server/fleet_server_services.ts b/x-pack/plugins/security_solution/scripts/endpoint/common/fleet_server/fleet_server_services.ts index 51260c5ac6053..cc9a75148d9dc 100644 --- a/x-pack/plugins/security_solution/scripts/endpoint/common/fleet_server/fleet_server_services.ts +++ b/x-pack/plugins/security_solution/scripts/endpoint/common/fleet_server/fleet_server_services.ts @@ -277,6 +277,7 @@ const startFleetServerWithDocker = async ({ const isServerless = await isServerlessKibanaFlavor(kbnClient); const esURL = new URL(await getFleetElasticsearchOutputHost(kbnClient)); const containerName = `dev-fleet-server.${port}`; + let fleetServerVersionInfo = ''; log.info( `Starting a new fleet server using Docker\n Agent version: ${agentVersion}\n Server URL: ${fleetServerUrl}` @@ -284,10 +285,11 @@ const startFleetServerWithDocker = async ({ let retryAttempt = isServerless ? 0 : 1; const attemptServerlessFleetServerSetup = async (): Promise => { + fleetServerVersionInfo = ''; + return log.indent(4, async () => { const hostname = `dev-fleet-server.${port}.${Math.random().toString(32).substring(2, 6)}`; let containerId = ''; - let fleetServerVersionInfo = ''; if (isLocalhost(esURL.hostname)) { esURL.hostname = localhostRealIp; @@ -361,8 +363,17 @@ const startFleetServerWithDocker = async ({ } fleetServerVersionInfo = isServerless - ? // `/usr/bin/fleet-server` process does not seem to support a `--version` type of argument - 'Running latest standalone fleet server' + ? ( + await execa + .command(`docker exec ${containerName} /usr/bin/fleet-server --version`) + .catch((err) => { + log.verbose( + `Failed to retrieve fleet-server (serverless/standalone) version information from running instance.`, + err + ); + return { stdout: 'Unable to retrieve version information (serverless)' }; + }) + ).stdout : ( await execa('docker', [ 'exec', @@ -424,7 +435,7 @@ Kill container: ${chalk.cyan(`docker kill ${containerId}`)} const response: StartedServer = await attemptServerlessFleetServerSetup(); - log.info(`Done. Fleet server up and running`); + log.info(`Done. Fleet server up and running (version: ${fleetServerVersionInfo})`); return response; }; diff --git a/x-pack/plugins/security_solution/scripts/endpoint/common/fleet_services.ts b/x-pack/plugins/security_solution/scripts/endpoint/common/fleet_services.ts index a07823194fa69..7c89beec9150b 100644 --- a/x-pack/plugins/security_solution/scripts/endpoint/common/fleet_services.ts +++ b/x-pack/plugins/security_solution/scripts/endpoint/common/fleet_services.ts @@ -56,12 +56,14 @@ import type { DeleteAgentPolicyResponse, EnrollmentAPIKey, GenerateServiceTokenResponse, + GetActionStatusResponse, GetAgentsRequest, GetEnrollmentAPIKeysResponse, GetOutputsResponse, PostAgentUnenrollResponse, UpdateAgentPolicyRequest, UpdateAgentPolicyResponse, + PostNewAgentActionResponse, } from '@kbn/fleet-plugin/common/types'; import semver from 'semver'; import axios from 'axios'; @@ -1499,3 +1501,92 @@ export const updateAgentPolicy = async ( .catch(catchAxiosErrorFormatAndThrow) .then((response) => response.data.item); }; + +/** + * Sets the log level on a Fleet agent and waits a bit of time to allow it for to + * complete (but does not error if it does not complete) + * + * @param kbnClient + * @param agentId + * @param logLevel + * @param log + */ +export const setAgentLoggingLevel = async ( + kbnClient: KbnClient, + agentId: string, + logLevel: 'debug' | 'info' | 'warning' | 'error', + log: ToolingLog = createToolingLogger() +): Promise => { + log.debug(`Setting fleet agent [${agentId}] logging level to [${logLevel}]`); + + const response = await kbnClient + .request({ + method: 'POST', + path: `/api/fleet/agents/${agentId}/actions`, + body: { action: { type: 'SETTINGS', data: { log_level: logLevel } } }, + headers: { 'Elastic-Api-Version': API_VERSIONS.public.v1 }, + }) + .then((res) => res.data); + + // Wait to see if the action completes, but don't `throw` if it does not + await waitForFleetAgentActionToComplete(kbnClient, response.item.id) + .then(() => { + log.debug(`Fleet action to set agent [${agentId}] logging level to [${logLevel}] completed!`); + }) + .catch((err) => { + log.debug(err.message); + }); + + return response; +}; + +/** + * Retrieve fleet agent action statuses + * @param kbnClient + */ +export const fetchFleetAgentActionStatus = async ( + kbnClient: KbnClient +): Promise => { + return kbnClient + .request({ + method: 'GET', + path: agentRouteService.getActionStatusPath(), + query: { perPage: 1000 }, + headers: { 'Elastic-Api-Version': API_VERSIONS.public.v1 }, + }) + .then((response) => response.data); +}; + +/** + * Check and wait until a Fleet Agent action is complete. + * @param kbnClient + * @param actionId + * @param timeout + * + * @throws + */ +export const waitForFleetAgentActionToComplete = async ( + kbnClient: KbnClient, + actionId: string, + timeout: number = 20_000 +): Promise => { + await pRetry( + async (attempts) => { + const { items: actionList } = await fetchFleetAgentActionStatus(kbnClient); + const actionInfo = actionList.find((action) => action.actionId === actionId); + + if (!actionInfo) { + throw new Error( + `Fleet Agent action id [${actionId}] was not found in list of actions retrieved from fleet!` + ); + } + + if (actionInfo.status === 'IN_PROGRESS') { + throw new Error( + `Fleet agent action id [${actionId}] remains in progress after [${attempts}] attempts to check its status` + ); + } + }, + { maxTimeout: 2_000, maxRetryTime: timeout } + ); +}; diff --git a/x-pack/plugins/security_solution/scripts/endpoint/common/types.ts b/x-pack/plugins/security_solution/scripts/endpoint/common/types.ts index 38256f1c774bd..e3e41c41b77f3 100644 --- a/x-pack/plugins/security_solution/scripts/endpoint/common/types.ts +++ b/x-pack/plugins/security_solution/scripts/endpoint/common/types.ts @@ -14,8 +14,12 @@ export interface HostVm { exec: (command: string) => Promise; mount: (localDir: string, hostVmDir: string) => Promise; unmount: (hostVmDir: string) => Promise; - /** Uploads/copies a file from the local machine to the VM */ + /** @deprecated use `upload` */ transfer: (localFilePath: string, destFilePath: string) => Promise; + /** Uploads/copies a file from the local machine to the VM */ + upload: (localFilePath: string, destFilePath: string) => Promise; + /** Downloads a file from the host VM to the local machine */ + download: (vmFilePath: string, localFilePath: string) => Promise; destroy: () => Promise; info: () => string; stop: () => void; @@ -33,8 +37,8 @@ export interface HostVmMountResponse { unmount: () => Promise; } export interface HostVmTransferResponse { - /** The file path of the file on the host vm */ + /** The path of the file that was either uploaded to the host VM or downloaded to the local machine from the VM */ filePath: string; - /** Delete the file from the host VM */ + /** Delete the file from the host VM or from the local machine depending on what client method was used */ delete: () => Promise; } diff --git a/x-pack/plugins/security_solution/scripts/endpoint/common/vm_services.ts b/x-pack/plugins/security_solution/scripts/endpoint/common/vm_services.ts index 084e068768e8f..fc1301c9fed9a 100644 --- a/x-pack/plugins/security_solution/scripts/endpoint/common/vm_services.ts +++ b/x-pack/plugins/security_solution/scripts/endpoint/common/vm_services.ts @@ -8,15 +8,19 @@ import type { ToolingLog } from '@kbn/tooling-log'; import execa from 'execa'; import chalk from 'chalk'; +import path from 'path'; import { userInfo } from 'os'; -import { join as pathJoin, dirname } from 'path'; +import { unlink as deleteFile } from 'fs/promises'; +import { dump } from './utils'; import type { DownloadedAgentInfo } from './agent_downloads_service'; import { BaseDataGenerator } from '../../../common/endpoint/data_generators/base_data_generator'; import { createToolingLogger } from '../../../common/endpoint/data_loaders/utils'; import type { HostVm, HostVmExecResponse, SupportedVmManager } from './types'; const baseGenerator = new BaseDataGenerator(); -export const DEFAULT_VAGRANTFILE = pathJoin(__dirname, 'vagrant', 'Vagrantfile'); +export const DEFAULT_VAGRANTFILE = path.join(__dirname, 'vagrant', 'Vagrantfile'); + +const MAX_BUFFER = 1024 * 1024 * 5; // 5MB export interface BaseVmCreateOptions { name: string; @@ -75,9 +79,16 @@ export const createMultipassHostVmClient = ( log: ToolingLog = createToolingLogger() ): HostVm => { const exec = async (command: string): Promise => { - const execResponse = await execa.command(`multipass exec ${name} -- ${command}`); - - log.verbose(execResponse); + const execResponse = await execa + .command(`multipass exec ${name} -- ${command}`, { maxBuffer: MAX_BUFFER }) + .catch((e) => { + log.error(dump(e)); + throw e; + }); + + log.verbose( + `exec response from host [${name}] for command [${command}]:\n${dump(execResponse)}` + ); return { stdout: execResponse.stdout, @@ -125,11 +136,11 @@ export const createMultipassHostVmClient = ( log.verbose(`multipass stop response:\n`, response); }; - const transfer: HostVm['transfer'] = async (localFilePath, destFilePath) => { + const upload: HostVm['upload'] = async (localFilePath, destFilePath) => { const response = await execa.command( `multipass transfer ${localFilePath} ${name}:${destFilePath}` ); - log.verbose(`Transferred file to VM [${name}]:`, response); + log.verbose(`Uploaded file to VM [${name}]:`, response); return { filePath: destFilePath, @@ -139,6 +150,27 @@ export const createMultipassHostVmClient = ( }; }; + const download: HostVm['download'] = async (vmFilePath: string, localFilePath: string) => { + const localFileAbsolutePath = path.resolve(localFilePath); + const response = await execa.command( + `multipass transfer ${name}:${vmFilePath} ${localFilePath}` + ); + log.verbose(`Downloaded file from VM [${name}]:`, response); + + return { + filePath: localFileAbsolutePath, + delete: async () => { + return deleteFile(localFileAbsolutePath).then(() => { + return { + stdout: 'success', + stderr: '', + exitCode: 0, + }; + }); + }, + }; + }; + return { type: 'multipass', name, @@ -147,7 +179,9 @@ export const createMultipassHostVmClient = ( info, mount, unmount, - transfer, + transfer: upload, + upload, + download, start, stop, }; @@ -217,7 +251,7 @@ const createVagrantVm = async ({ }: CreateVagrantVmOptions): Promise => { log.debug(`Using Vagrantfile: ${vagrantFile}`); - const VAGRANT_CWD = dirname(vagrantFile); + const VAGRANT_CWD = path.dirname(vagrantFile); // Destroy the VM running (if any) with the provided vagrant file before re-creating it try { @@ -273,18 +307,24 @@ export const createVagrantHostVmClient = ( vagrantFile: string = DEFAULT_VAGRANTFILE, log: ToolingLog = createToolingLogger() ): HostVm => { - const VAGRANT_CWD = dirname(vagrantFile); + const VAGRANT_CWD = path.dirname(vagrantFile); const execaOptions: execa.Options = { env: { VAGRANT_CWD, }, stdio: ['inherit', 'pipe', 'pipe'], + maxBuffer: MAX_BUFFER, }; log.debug(`Creating Vagrant VM client for [${name}] with vagrantfile [${vagrantFile}]`); const exec = async (command: string): Promise => { - const execResponse = await execa.command(`vagrant ssh -- ${command}`, execaOptions); + const execResponse = await execa + .command(`vagrant ssh -- ${command}`, execaOptions) + .catch((e) => { + log.error(dump(e)); + throw e; + }); log.verbose(execResponse); @@ -328,12 +368,12 @@ export const createVagrantHostVmClient = ( log.verbose('vagrant suspend response:\n', response); }; - const transfer: HostVm['transfer'] = async (localFilePath, destFilePath) => { + const upload: HostVm['upload'] = async (localFilePath, destFilePath) => { const response = await execa.command( `vagrant upload ${localFilePath} ${destFilePath}`, execaOptions ); - log.verbose(`Transferred file to VM [${name}]:`, response); + log.verbose(`Uploaded file to VM [${name}]:`, response); return { filePath: destFilePath, @@ -343,6 +383,34 @@ export const createVagrantHostVmClient = ( }; }; + const download: HostVm['download'] = async (vmFilePath, localFilePath) => { + const localFileAbsolutePath = path.resolve(localFilePath); + + // Vagrant will auto-mount the directory that includes the Vagrant file to the VM under `/vagrant`, + // and it keeps that sync'd to the local system. So we first copy the file in the VM there so we + // can retrieve it from the local machine + await exec(`cp ${vmFilePath} /vagrant`).catch((e) => { + log.error(`Error while attempting to copy file on VM:\n${dump(e)}`); + throw e; + }); + + // Now move the file from the local vagrant directory to the desired location + await execa.command(`mv ${VAGRANT_CWD}/${path.basename(vmFilePath)} ${localFileAbsolutePath}`); + + return { + filePath: localFileAbsolutePath, + delete: async () => { + return deleteFile(localFileAbsolutePath).then(() => { + return { + stdout: 'success', + stderr: '', + exitCode: 0, + }; + }); + }, + }; + }; + return { type: 'vagrant', name, @@ -351,7 +419,9 @@ export const createVagrantHostVmClient = ( info, mount, unmount, - transfer, + transfer: upload, + upload, + download, start, stop, }; diff --git a/x-pack/plugins/security_solution/scripts/run_cypress/parallel.ts b/x-pack/plugins/security_solution/scripts/run_cypress/parallel.ts index 0f93e4fceb10c..77c01622a5df4 100644 --- a/x-pack/plugins/security_solution/scripts/run_cypress/parallel.ts +++ b/x-pack/plugins/security_solution/scripts/run_cypress/parallel.ts @@ -32,7 +32,7 @@ import { createKbnClient } from '../endpoint/common/stack_services'; import type { StartedFleetServer } from '../endpoint/common/fleet_server/fleet_server_services'; import { startFleetServer } from '../endpoint/common/fleet_server/fleet_server_services'; import { renderSummaryTable } from './print_run'; -import { parseTestFileConfig, retrieveIntegrations } from './utils'; +import { parseTestFileConfig, retrieveIntegrations, setDefaultToolingLoggingLevel } from './utils'; import { getFTRConfig } from './get_ftr_config'; export const cli = () => { @@ -70,9 +70,9 @@ ${JSON.stringify(argv, null, 2)} const cypressConfigFilePath = require.resolve(`../../${argv.configFile}`) as string; const cypressConfigFile = await import(cypressConfigFilePath); - if (cypressConfigFile.env?.TOOLING_LOG_LEVEL) { - createToolingLogger.defaultLogLevel = cypressConfigFile.env.TOOLING_LOG_LEVEL; - } + // Adjust tooling log level based on the `TOOLING_LOG_LEVEL` property, which can be + // defined in the cypress config file or set in the `env` + setDefaultToolingLoggingLevel(cypressConfigFile?.env?.TOOLING_LOG_LEVEL); const log = prefixedOutputLogger('cy.parallel()', createToolingLogger()); diff --git a/x-pack/plugins/security_solution/scripts/run_cypress/parallel_serverless.ts b/x-pack/plugins/security_solution/scripts/run_cypress/parallel_serverless.ts index 0b426cf1e8c20..7a68b596ea5d1 100644 --- a/x-pack/plugins/security_solution/scripts/run_cypress/parallel_serverless.ts +++ b/x-pack/plugins/security_solution/scripts/run_cypress/parallel_serverless.ts @@ -28,7 +28,12 @@ import { INITIAL_REST_VERSION } from '@kbn/data-views-plugin/server/constants'; import { catchAxiosErrorFormatAndThrow } from '../../common/endpoint/format_axios_error'; import { createToolingLogger } from '../../common/endpoint/data_loaders/utils'; import { renderSummaryTable } from './print_run'; -import { getOnBeforeHook, parseTestFileConfig, retrieveIntegrations } from './utils'; +import { + getOnBeforeHook, + parseTestFileConfig, + retrieveIntegrations, + setDefaultToolingLoggingLevel, +} from './utils'; import { prefixedOutputLogger } from '../endpoint/common/utils'; import type { ProductType, Credentials, ProjectHandler } from './project_handler/project_handler'; @@ -363,9 +368,8 @@ ${JSON.stringify(argv, null, 2)} cypressConfigFile.env.grepTags = '@serverlessQA --@skipInServerless --@skipInServerlessMKI'; } - if (cypressConfigFile.env?.TOOLING_LOG_LEVEL) { - createToolingLogger.defaultLogLevel = cypressConfigFile.env.TOOLING_LOG_LEVEL; - } + setDefaultToolingLoggingLevel(cypressConfigFile?.env?.TOOLING_LOG_LEVEL); + // eslint-disable-next-line require-atomic-updates log = prefixedOutputLogger('cy.parallel(svl)', createToolingLogger()); diff --git a/x-pack/plugins/security_solution/scripts/run_cypress/utils.ts b/x-pack/plugins/security_solution/scripts/run_cypress/utils.ts index ba1974565e10c..6e292eff9a384 100644 --- a/x-pack/plugins/security_solution/scripts/run_cypress/utils.ts +++ b/x-pack/plugins/security_solution/scripts/run_cypress/utils.ts @@ -12,6 +12,8 @@ import generate from '@babel/generator'; import type { ExpressionStatement, ObjectExpression, ObjectProperty } from '@babel/types'; import { schema, type TypeOf } from '@kbn/config-schema'; import chalk from 'chalk'; +import type { ToolingLogTextWriterConfig } from '@kbn/tooling-log'; +import { createToolingLogger } from '../../common/endpoint/data_loaders/utils'; /** * Retrieve test files using a glob pattern. @@ -156,3 +158,22 @@ export const getOnBeforeHook = (module: unknown, beforeSpecFilePath: string): Fu return module.onBeforeHook; }; + +/** + * Sets the default log level for `ToolingLog` instances created by `createToolingLogger()`: + * `x-pack/plugins/security_solution/common/endpoint/data_loaders/utils.ts:148`. + * It will first check the NodeJs `process.env` to see if an Environment Variable was set + * and then, if provided, it will use the value defined in the Cypress Config. file. + */ +export const setDefaultToolingLoggingLevel = (defaultFallbackLoggingLevel?: string) => { + const logLevel = + process.env.TOOLING_LOG_LEVEL || + process.env.CYPRESS_TOOLING_LOG_LEVEL || + defaultFallbackLoggingLevel || + ''; + + if (logLevel) { + createToolingLogger('info').info(`Setting tooling log level to [${logLevel}]`); + createToolingLogger.defaultLogLevel = logLevel as ToolingLogTextWriterConfig['level']; + } +}; From d9f8f170ce537c139df934b535fd2e803113a7b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gon=C3=A7alo=20Rica=20Pais=20da=20Silva?= Date: Thu, 12 Dec 2024 16:28:19 +0100 Subject: [PATCH 29/52] [ObsUX][Synthtrace] Replace `multistream` use with own util method (#203988) ## Summary A whole dependency was being pulled in for doing something that could easily be done just using Node.js own utils and be made into a simple method. As such, `multistream` has been removed since there is no other place in the codebase that is using it. ## How to test * Load Kibana local dev environment using synthtrace data/scenarios. No scenario should fail to load normally, and all tests using synthtrace data should pass as expected. Closes #203860 --- package.json | 2 -- .../src/lib/utils/stream_utils.ts | 24 ++++++++++++++++--- yarn.lock | 15 ------------ 3 files changed, 21 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index ca7c719092f4b..48cafc692db56 100644 --- a/package.json +++ b/package.json @@ -1621,7 +1621,6 @@ "@types/minimist": "^1.2.5", "@types/mock-fs": "^4.13.1", "@types/moment-duration-format": "^2.2.3", - "@types/multistream": "^4.1.0", "@types/mustache": "^0.8.31", "@types/nock": "^10.0.3", "@types/node": "20.10.5", @@ -1798,7 +1797,6 @@ "mock-fs": "^5.1.2", "ms-chromium-edge-driver": "^0.5.1", "msw": "^2.4.12", - "multistream": "^4.1.0", "mutation-observer": "^1.0.3", "native-hdr-histogram": "^1.0.0", "nock": "12.0.3", diff --git a/packages/kbn-apm-synthtrace/src/lib/utils/stream_utils.ts b/packages/kbn-apm-synthtrace/src/lib/utils/stream_utils.ts index 9e52e9fc2b0ad..77aba18974b38 100644 --- a/packages/kbn-apm-synthtrace/src/lib/utils/stream_utils.ts +++ b/packages/kbn-apm-synthtrace/src/lib/utils/stream_utils.ts @@ -8,11 +8,29 @@ */ import { eachSeries } from 'async'; -import MultiStream from 'multistream'; -import { Duplex, Readable, Transform } from 'stream'; +import { Duplex, Readable, Transform, PassThrough } from 'stream'; + +/** + * Pipe one or many streams sequentially into the destination stream. Once all + * source streams have been exhausted, the destination stream is ended. + * @param sources A collection of streams to read from + * @param destination The stream to pipe data to + */ +async function combineStreams(sources: Readable[], destination: PassThrough) { + for (const stream of sources) { + await new Promise((resolve, reject) => { + stream.on('end', resolve); + stream.on('error', reject); + stream.pipe(destination, { end: false }); + }); + } + destination.emit('end'); +} export function sequential(...streams: Readable[]) { - return new MultiStream(streams, { objectMode: true }); + const output = new PassThrough({ objectMode: true }); + combineStreams(streams, output).catch((err) => output.destroy(err)); + return output; } export function fork(...streams: Transform[]): Duplex { diff --git a/yarn.lock b/yarn.lock index c8054baf36e9c..9acbb5a9da964 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11937,13 +11937,6 @@ dependencies: moment ">=2.14.0" -"@types/multistream@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@types/multistream/-/multistream-4.1.0.tgz#517770a32e5715fdda87904a6da7d179142feba4" - integrity sha512-KiMkWve/Uu0qwCtNO6ZflMLjglkXsAdLdIwb31o5YQBbevdH2DF7inqebCli+F9am8McvEqCE4GXNOUZe8jOAg== - dependencies: - "@types/node" "*" - "@types/mustache@^0.8.31": version "0.8.31" resolved "https://registry.yarnpkg.com/@types/mustache/-/mustache-0.8.31.tgz#7c86cbf74f7733f9e3bdc28817623927eb386616" @@ -24796,14 +24789,6 @@ multipipe@^1.0.2: duplexer2 "^0.1.2" object-assign "^4.1.0" -multistream@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/multistream/-/multistream-4.1.0.tgz#7bf00dfd119556fbc153cff3de4c6d477909f5a8" - integrity sha512-J1XDiAmmNpRCBfIWJv+n0ymC4ABcf/Pl+5YvC5B/D2f/2+8PtHvCNxMPKiQcZyi922Hq69J2YOpb1pTywfifyw== - dependencies: - once "^1.4.0" - readable-stream "^3.6.0" - murmurhash-js@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/murmurhash-js/-/murmurhash-js-1.0.0.tgz#b06278e21fc6c37fa5313732b0412bcb6ae15f51" From 9ce523939279bdeba399b447849db47fa0877a23 Mon Sep 17 00:00:00 2001 From: Nathan Reese Date: Thu, 12 Dec 2024 08:38:11 -0700 Subject: [PATCH 30/52] [embeddable] remove getAttributeService from start API (#203660) Part of embeddable refactor cleanup AttributeService is moved from embeddable plugin to visualizations plugin. PR reduces visualizations bundle size by avoiding importing `legacy/embeddable/index.ts` in plugin page load --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Elastic Machine --- src/plugins/embeddable/kibana.jsonc | 2 +- src/plugins/embeddable/public/index.ts | 1 - .../attribute_service.mock.tsx | 35 ---- .../attribute_service.test.ts | 196 ------------------ .../public/lib/attribute_service/index.ts | 10 - src/plugins/embeddable/public/mocks.tsx | 2 - src/plugins/embeddable/public/plugin.tsx | 18 -- src/plugins/embeddable/tsconfig.json | 1 - .../saved_searches/to_saved_search.test.ts | 7 - .../public/actions/edit_in_lens_action.tsx | 5 +- .../visualizations/public/embeddable/types.ts | 2 +- src/plugins/visualizations/public/index.ts | 6 +- .../legacy/embeddable}/attribute_service.tsx | 27 +-- .../create_vis_embeddable_from_object.ts | 3 +- .../public/legacy/embeddable/index.ts | 4 - .../embeddable/visualize_embeddable.tsx | 2 +- .../visualize_embeddable_factory.tsx | 16 +- src/plugins/visualizations/public/plugin.ts | 2 + src/plugins/visualizations/public/services.ts | 3 + .../utils/get_visualization_instance.ts | 2 +- .../translations/translations/fr-FR.json | 1 - .../translations/translations/ja-JP.json | 1 - .../translations/translations/zh-CN.json | 1 - 23 files changed, 31 insertions(+), 316 deletions(-) delete mode 100644 src/plugins/embeddable/public/lib/attribute_service/attribute_service.mock.tsx delete mode 100644 src/plugins/embeddable/public/lib/attribute_service/attribute_service.test.ts delete mode 100644 src/plugins/embeddable/public/lib/attribute_service/index.ts rename src/plugins/{embeddable/public/lib/attribute_service => visualizations/public/legacy/embeddable}/attribute_service.tsx (90%) diff --git a/src/plugins/embeddable/kibana.jsonc b/src/plugins/embeddable/kibana.jsonc index ea198de6386a3..8a012aefbc30b 100644 --- a/src/plugins/embeddable/kibana.jsonc +++ b/src/plugins/embeddable/kibana.jsonc @@ -18,7 +18,7 @@ "contentManagement" ], "optionalPlugins": ["savedObjectsTaggingOss", "usageCollection"], - "requiredBundles": ["savedObjects", "kibanaUtils", "presentationPanel"], + "requiredBundles": ["kibanaUtils", "presentationPanel"], "extraPublicDirs": ["common"] } } diff --git a/src/plugins/embeddable/public/index.ts b/src/plugins/embeddable/public/index.ts index 19d3bd76c1a77..22d845be9c933 100644 --- a/src/plugins/embeddable/public/index.ts +++ b/src/plugins/embeddable/public/index.ts @@ -82,7 +82,6 @@ export type { SelfStyledEmbeddable, ValueClickContext, } from './lib'; -export { AttributeService, ATTRIBUTE_SERVICE_KEY } from './lib/attribute_service'; export type { EmbeddableSetup, EmbeddableSetupDependencies, diff --git a/src/plugins/embeddable/public/lib/attribute_service/attribute_service.mock.tsx b/src/plugins/embeddable/public/lib/attribute_service/attribute_service.mock.tsx deleted file mode 100644 index 0500ca563593f..0000000000000 --- a/src/plugins/embeddable/public/lib/attribute_service/attribute_service.mock.tsx +++ /dev/null @@ -1,35 +0,0 @@ -/* - * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". - */ - -import { EmbeddableInput, SavedObjectEmbeddableInput } from '..'; -import { coreMock } from '@kbn/core/public/mocks'; -import { AttributeServiceOptions } from './attribute_service'; -import { CoreStart } from '@kbn/core/public'; -import { AttributeService, ATTRIBUTE_SERVICE_KEY } from '.'; - -export const mockAttributeService = < - A extends { title: string }, - V extends EmbeddableInput & { [ATTRIBUTE_SERVICE_KEY]: A } = EmbeddableInput & { - [ATTRIBUTE_SERVICE_KEY]: A; - }, - R extends SavedObjectEmbeddableInput = SavedObjectEmbeddableInput, - M extends unknown = unknown ->( - type: string, - options: AttributeServiceOptions, - customCore?: jest.Mocked -): AttributeService => { - const core = customCore ? customCore : coreMock.createStart(); - return new AttributeService( - type, - core.notifications.toasts, - options, - jest.fn().mockReturnValue(() => ({ getDisplayName: () => type })) - ); -}; diff --git a/src/plugins/embeddable/public/lib/attribute_service/attribute_service.test.ts b/src/plugins/embeddable/public/lib/attribute_service/attribute_service.test.ts deleted file mode 100644 index 3b86bdfb7d664..0000000000000 --- a/src/plugins/embeddable/public/lib/attribute_service/attribute_service.test.ts +++ /dev/null @@ -1,196 +0,0 @@ -/* - * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". - */ - -import { ATTRIBUTE_SERVICE_KEY, AttributeServiceUnwrapResult } from './attribute_service'; -import { mockAttributeService } from './attribute_service.mock'; -import { coreMock } from '@kbn/core/public/mocks'; -import { OnSaveProps } from '@kbn/saved-objects-plugin/public/save_modal'; - -interface TestAttributes { - title: string; - testAttr1?: string; - testAttr2?: { array: unknown[]; testAttr3: string }; -} - -interface TestByValueInput { - id: string; - [ATTRIBUTE_SERVICE_KEY]: TestAttributes; -} - -describe('attributeService', () => { - const defaultTestType = 'defaultTestType'; - let attributes: TestAttributes; - let byValueInput: TestByValueInput; - let byReferenceInput: { id: string; savedObjectId: string }; - const defaultSaveMethod = ( - testAttributes: TestAttributes, - savedObjectId?: string - ): Promise<{ id: string }> => { - return new Promise(() => { - return { id: '123' }; - }); - }; - - const defaultUnwrapMethod = ( - savedObjectId: string - ): Promise> => { - return new Promise(() => { - return { ...attributes }; - }); - }; - const defaultCheckForDuplicateTitle = (props: OnSaveProps): Promise => { - return new Promise(() => { - return true; - }); - }; - const options = { - saveMethod: defaultSaveMethod, - unwrapMethod: defaultUnwrapMethod, - checkForDuplicateTitle: defaultCheckForDuplicateTitle, - }; - - beforeEach(() => { - attributes = { - title: 'ultra title', - testAttr1: 'neat first attribute', - testAttr2: { array: [1, 2, 3], testAttr3: 'super attribute' }, - }; - byValueInput = { - id: '456', - attributes, - }; - byReferenceInput = { - id: '456', - savedObjectId: '123', - }; - }); - - describe('determining input type', () => { - const defaultAttributeService = mockAttributeService(defaultTestType, options); - const customAttributeService = mockAttributeService( - defaultTestType, - options - ); - - it('can determine input type given default types', () => { - expect( - defaultAttributeService.inputIsRefType({ id: '456', savedObjectId: '123' }) - ).toBeTruthy(); - expect( - defaultAttributeService.inputIsRefType({ - id: '456', - attributes: { title: 'wow I am by value' }, - }) - ).toBeFalsy(); - }); - it('can determine input type given custom types', () => { - expect( - customAttributeService.inputIsRefType({ id: '456', savedObjectId: '123' }) - ).toBeTruthy(); - expect( - customAttributeService.inputIsRefType({ - id: '456', - [ATTRIBUTE_SERVICE_KEY]: { title: 'wow I am by value' }, - }) - ).toBeFalsy(); - }); - }); - - describe('unwrapping attributes', () => { - it('does not throw error when given reference type input with no unwrap method', async () => { - const attributeService = mockAttributeService(defaultTestType, { - saveMethod: defaultSaveMethod, - checkForDuplicateTitle: jest.fn(), - }); - expect(await attributeService.unwrapAttributes(byReferenceInput)).toEqual({ - attributes: byReferenceInput, - }); - }); - - it('returns attributes when when given value type input', async () => { - const attributeService = mockAttributeService(defaultTestType, options); - expect(await attributeService.unwrapAttributes(byValueInput)).toEqual({ attributes }); - }); - - it('runs attributes through a custom unwrap method', async () => { - const attributeService = mockAttributeService(defaultTestType, { - saveMethod: defaultSaveMethod, - unwrapMethod: (savedObjectId) => { - return new Promise((resolve) => { - return resolve({ - attributes: { - ...attributes, - testAttr2: { array: [1, 2, 3, 4, 5], testAttr3: 'kibanana' }, - }, - }); - }); - }, - checkForDuplicateTitle: jest.fn(), - }); - expect(await attributeService.unwrapAttributes(byReferenceInput)).toEqual({ - attributes: { - ...attributes, - testAttr2: { array: [1, 2, 3, 4, 5], testAttr3: 'kibanana' }, - }, - }); - }); - }); - - describe('wrapping attributes', () => { - it('returns given attributes when use ref type is false', async () => { - const attributeService = mockAttributeService(defaultTestType, options); - expect(await attributeService.wrapAttributes(attributes, false)).toEqual({ attributes }); - }); - - it('calls saveMethod with appropriate parameters', async () => { - const core = coreMock.createStart(); - const saveMethod = jest.fn(); - saveMethod.mockReturnValueOnce({}); - const attributeService = mockAttributeService( - defaultTestType, - { - saveMethod, - unwrapMethod: defaultUnwrapMethod, - checkForDuplicateTitle: defaultCheckForDuplicateTitle, - }, - core - ); - expect(await attributeService.wrapAttributes(attributes, true, byReferenceInput)).toEqual( - byReferenceInput - ); - expect(saveMethod).toHaveBeenCalledWith(attributes, '123'); - }); - - it('uses custom save method when given an id', async () => { - const saveMethod = jest.fn().mockReturnValue({ id: '123' }); - const attributeService = mockAttributeService(defaultTestType, { - saveMethod, - unwrapMethod: defaultUnwrapMethod, - checkForDuplicateTitle: defaultCheckForDuplicateTitle, - }); - expect(await attributeService.wrapAttributes(attributes, true, byReferenceInput)).toEqual( - byReferenceInput - ); - expect(saveMethod).toHaveBeenCalledWith(attributes, byReferenceInput.savedObjectId); - }); - - it('uses custom save method given no id', async () => { - const saveMethod = jest.fn().mockReturnValue({ id: '678' }); - const attributeService = mockAttributeService(defaultTestType, { - saveMethod, - unwrapMethod: defaultUnwrapMethod, - checkForDuplicateTitle: defaultCheckForDuplicateTitle, - }); - expect(await attributeService.wrapAttributes(attributes, true)).toEqual({ - savedObjectId: '678', - }); - expect(saveMethod).toHaveBeenCalledWith(attributes, undefined); - }); - }); -}); diff --git a/src/plugins/embeddable/public/lib/attribute_service/index.ts b/src/plugins/embeddable/public/lib/attribute_service/index.ts deleted file mode 100644 index 7e41bfc6ceec6..0000000000000 --- a/src/plugins/embeddable/public/lib/attribute_service/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -/* - * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". - */ - -export { AttributeService, ATTRIBUTE_SERVICE_KEY } from './attribute_service'; diff --git a/src/plugins/embeddable/public/mocks.tsx b/src/plugins/embeddable/public/mocks.tsx index cdfaa8e0ce01b..ec1a272bbe574 100644 --- a/src/plugins/embeddable/public/mocks.tsx +++ b/src/plugins/embeddable/public/mocks.tsx @@ -38,7 +38,6 @@ import { EmbeddablePublicPlugin } from './plugin'; import { registerReactEmbeddableFactory } from './react_embeddable_system'; import { registerAddFromLibraryType } from './add_from_library/registry'; -export { mockAttributeService } from './lib/attribute_service/attribute_service.mock'; export type Setup = jest.Mocked; export type Start = jest.Mocked; @@ -114,7 +113,6 @@ const createStartContract = (): Start => { inject: jest.fn(), getAllMigrations: jest.fn(), getStateTransfer: jest.fn(() => createEmbeddableStateTransferMock() as EmbeddableStateTransfer), - getAttributeService: jest.fn(), }; return startContract; }; diff --git a/src/plugins/embeddable/public/plugin.tsx b/src/plugins/embeddable/public/plugin.tsx index 18af7eda372ec..b3b363edd949d 100644 --- a/src/plugins/embeddable/public/plugin.tsx +++ b/src/plugins/embeddable/public/plugin.tsx @@ -39,12 +39,9 @@ import { EmbeddableOutput, defaultEmbeddableFactoryProvider, IEmbeddable, - SavedObjectEmbeddableInput, } from './lib'; import { EmbeddableFactoryDefinition } from './lib/embeddables/embeddable_factory_definition'; import { EmbeddableStateTransfer } from './lib/state_transfer'; -import { ATTRIBUTE_SERVICE_KEY, AttributeService } from './lib/attribute_service'; -import { AttributeServiceOptions } from './lib/attribute_service/attribute_service'; import { EmbeddableStateWithType, CommonEmbeddableStartContract } from '../common/types'; import { getExtractFunction, @@ -134,19 +131,6 @@ export interface EmbeddableStart extends PersistableStateService IterableIterator; getStateTransfer: (storage?: Storage) => EmbeddableStateTransfer; - getAttributeService: < - A extends { title: string }, - V extends EmbeddableInput & { - [ATTRIBUTE_SERVICE_KEY]: A; - } = EmbeddableInput & { - [ATTRIBUTE_SERVICE_KEY]: A; - }, - R extends SavedObjectEmbeddableInput = SavedObjectEmbeddableInput, - M extends unknown = unknown - >( - type: string, - options: AttributeServiceOptions - ) => AttributeService; } export class EmbeddablePublicPlugin implements Plugin { private readonly embeddableFactoryDefinitions: Map = @@ -218,8 +202,6 @@ export class EmbeddablePublicPlugin implements Plugin - new AttributeService(type, core.notifications.toasts, options, this.getEmbeddableFactory), getStateTransfer: (storage?: Storage) => storage ? new EmbeddableStateTransfer( diff --git a/src/plugins/embeddable/tsconfig.json b/src/plugins/embeddable/tsconfig.json index 58bd02e0493a8..bf97096d1484b 100644 --- a/src/plugins/embeddable/tsconfig.json +++ b/src/plugins/embeddable/tsconfig.json @@ -7,7 +7,6 @@ "kbn_references": [ "@kbn/core", "@kbn/inspector-plugin", - "@kbn/saved-objects-plugin", "@kbn/kibana-utils-plugin", "@kbn/ui-actions-plugin", "@kbn/utility-types", diff --git a/src/plugins/saved_search/public/services/saved_searches/to_saved_search.test.ts b/src/plugins/saved_search/public/services/saved_searches/to_saved_search.test.ts index defb0e1a79986..b17eadf7e9571 100644 --- a/src/plugins/saved_search/public/services/saved_searches/to_saved_search.test.ts +++ b/src/plugins/saved_search/public/services/saved_searches/to_saved_search.test.ts @@ -8,9 +8,7 @@ */ import { contentManagementMock } from '@kbn/content-management-plugin/public/mocks'; -import { coreMock } from '@kbn/core/public/mocks'; import { dataPluginMock } from '@kbn/data-plugin/public/mocks'; -import { AttributeService, type EmbeddableStart } from '@kbn/embeddable-plugin/public'; import { spacesPluginMock } from '@kbn/spaces-plugin/public/mocks'; import { SavedSearchByValueAttributes, byValueToSavedSearch } from '.'; @@ -18,11 +16,6 @@ const mockServices = { contentManagement: contentManagementMock.createStartContract().client, search: dataPluginMock.createStartContract().search, spaces: spacesPluginMock.createStartContract(), - embeddable: { - getAttributeService: jest.fn( - (_, opts) => new AttributeService('search', coreMock.createStart().notifications.toasts, opts) - ), - } as unknown as EmbeddableStart, }; describe('toSavedSearch', () => { diff --git a/src/plugins/visualizations/public/actions/edit_in_lens_action.tsx b/src/plugins/visualizations/public/actions/edit_in_lens_action.tsx index 8995b2abf7385..f8ed7a6294dbf 100644 --- a/src/plugins/visualizations/public/actions/edit_in_lens_action.tsx +++ b/src/plugins/visualizations/public/actions/edit_in_lens_action.tsx @@ -26,7 +26,10 @@ import { import { Action } from '@kbn/ui-actions-plugin/public'; import React from 'react'; import { take } from 'rxjs'; -import { apiHasVisualizeConfig, HasVisualizeConfig } from '../legacy/embeddable'; +import { + apiHasVisualizeConfig, + type HasVisualizeConfig, +} from '../embeddable/interfaces/has_visualize_config'; import { apiHasExpressionVariables, HasExpressionVariables, diff --git a/src/plugins/visualizations/public/embeddable/types.ts b/src/plugins/visualizations/public/embeddable/types.ts index 80e7e2d9179e8..767f911d5bd52 100644 --- a/src/plugins/visualizations/public/embeddable/types.ts +++ b/src/plugins/visualizations/public/embeddable/types.ts @@ -23,7 +23,7 @@ import { SerializedTitles, } from '@kbn/presentation-publishing'; import { DeepPartial } from '@kbn/utility-types'; -import { HasVisualizeConfig } from '../legacy/embeddable'; +import type { HasVisualizeConfig } from './interfaces/has_visualize_config'; import type { Vis, VisParams, VisSavedObject } from '../types'; import type { SerializedVis } from '../vis'; diff --git a/src/plugins/visualizations/public/index.ts b/src/plugins/visualizations/public/index.ts index 3de1bfc01f2ef..54b37b0a237e1 100644 --- a/src/plugins/visualizations/public/index.ts +++ b/src/plugins/visualizations/public/index.ts @@ -19,7 +19,8 @@ export function plugin(initializerContext: PluginInitializerContext) { /** @public static code */ export { TypesService } from './vis_types/types_service'; export { VIS_EVENT_TO_TRIGGER } from './embeddable'; -export { apiHasVisualizeConfig, COMMON_VISUALIZATION_GROUPING } from './legacy/embeddable'; +export { apiHasVisualizeConfig } from './embeddable/interfaces/has_visualize_config'; +export { COMMON_VISUALIZATION_GROUPING } from './legacy/embeddable/constants'; export { VisualizationContainer } from './components'; export { getVisSchemas } from './vis_schemas'; @@ -41,7 +42,8 @@ export type VisualizeEmbeddableFactoryContract = PublicContract; export type { SchemaConfig } from '../common/types'; export { updateOldState } from './legacy/vis_update_state'; -export type { VisualizeInput, VisualizeEmbeddable, HasVisualizeConfig } from './legacy/embeddable'; +export type { VisualizeInput, VisualizeEmbeddable } from './legacy/embeddable'; +export type { HasVisualizeConfig } from './embeddable/interfaces/has_visualize_config'; export type { PersistedState } from './persisted_state'; export type { ISavedVis, diff --git a/src/plugins/embeddable/public/lib/attribute_service/attribute_service.tsx b/src/plugins/visualizations/public/legacy/embeddable/attribute_service.tsx similarity index 90% rename from src/plugins/embeddable/public/lib/attribute_service/attribute_service.tsx rename to src/plugins/visualizations/public/legacy/embeddable/attribute_service.tsx index 05aa8a3d0059a..49703371ac783 100644 --- a/src/plugins/embeddable/public/lib/attribute_service/attribute_service.tsx +++ b/src/plugins/visualizations/public/legacy/embeddable/attribute_service.tsx @@ -10,7 +10,6 @@ import React from 'react'; import { i18n } from '@kbn/i18n'; import { get, omit } from 'lodash'; -import { NotificationsStart } from '@kbn/core/public'; import { SavedObjectSaveModal, OnSaveProps, @@ -21,8 +20,8 @@ import { EmbeddableInput, SavedObjectEmbeddableInput, isSavedObjectEmbeddableInput, - EmbeddableFactory, -} from '..'; +} from '@kbn/embeddable-plugin/public'; +import { getNotifications } from '../../services'; /** * The attribute service is a shared, generic service that embeddables can use to provide the functionality @@ -64,20 +63,10 @@ export class AttributeService< RefType extends SavedObjectEmbeddableInput = SavedObjectEmbeddableInput, MetaInfo extends unknown = unknown > { - private embeddableFactory; - constructor( private type: string, - private toasts: NotificationsStart['toasts'], - private options: AttributeServiceOptions, - getEmbeddableFactory?: (embeddableFactoryId: string) => EmbeddableFactory - ) { - if (getEmbeddableFactory) { - const factory = getEmbeddableFactory(this.type); - - this.embeddableFactory = factory; - } - } + private options: AttributeServiceOptions + ) {} private async defaultUnwrapMethod( input: RefType @@ -116,8 +105,8 @@ export class AttributeService< } return { ...originalInput } as RefType; } catch (error) { - this.toasts.addDanger({ - title: i18n.translate('embeddableApi.attributeService.saveToLibraryError', { + getNotifications().toasts.addDanger({ + title: i18n.translate('visualizations.attributeService.saveToLibraryError', { defaultMessage: `An error occurred while saving. Error: {errorMessage}`, values: { errorMessage: error.message, @@ -187,9 +176,7 @@ export class AttributeService< (input as ValType)[ATTRIBUTE_SERVICE_KEY].title )} showCopyOnSave={false} - objectType={ - this.embeddableFactory ? this.embeddableFactory.getDisplayName() : this.type - } + objectType={this.type} showDescription={false} /> ); diff --git a/src/plugins/visualizations/public/legacy/embeddable/create_vis_embeddable_from_object.ts b/src/plugins/visualizations/public/legacy/embeddable/create_vis_embeddable_from_object.ts index 69ed12302f4ec..b684bd83402c5 100644 --- a/src/plugins/visualizations/public/legacy/embeddable/create_vis_embeddable_from_object.ts +++ b/src/plugins/visualizations/public/legacy/embeddable/create_vis_embeddable_from_object.ts @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { IContainer, ErrorEmbeddable, AttributeService } from '@kbn/embeddable-plugin/public'; +import { IContainer, ErrorEmbeddable } from '@kbn/embeddable-plugin/public'; import type { DataView } from '@kbn/data-views-plugin/public'; import { Vis } from '../../types'; import type { @@ -21,6 +21,7 @@ import { getHttp, getTimeFilter, getCapabilities } from '../../services'; import { urlFor } from '../../utils/saved_visualize_utils'; import { VisualizeEmbeddableFactoryDeps } from './visualize_embeddable_factory'; import { createVisualizeEmbeddableAsync } from './visualize_embeddable_async'; +import { AttributeService } from './attribute_service'; /** @deprecated * VisualizeEmbeddable is no longer registered with the legacy embeddable system and is only diff --git a/src/plugins/visualizations/public/legacy/embeddable/index.ts b/src/plugins/visualizations/public/legacy/embeddable/index.ts index 6afee494e6f4f..979a631f8c665 100644 --- a/src/plugins/visualizations/public/legacy/embeddable/index.ts +++ b/src/plugins/visualizations/public/legacy/embeddable/index.ts @@ -12,7 +12,3 @@ export { VISUALIZE_EMBEDDABLE_TYPE, COMMON_VISUALIZATION_GROUPING } from './cons export { createVisEmbeddableFromObject } from './create_vis_embeddable_from_object'; export type { VisualizeEmbeddable, VisualizeInput } from './visualize_embeddable'; -export { - type HasVisualizeConfig, - apiHasVisualizeConfig, -} from '../../embeddable/interfaces/has_visualize_config'; diff --git a/src/plugins/visualizations/public/legacy/embeddable/visualize_embeddable.tsx b/src/plugins/visualizations/public/legacy/embeddable/visualize_embeddable.tsx index 196753d73b28c..bfd87435345e5 100644 --- a/src/plugins/visualizations/public/legacy/embeddable/visualize_embeddable.tsx +++ b/src/plugins/visualizations/public/legacy/embeddable/visualize_embeddable.tsx @@ -23,7 +23,6 @@ import { Warnings } from '@kbn/charts-plugin/public'; import { hasUnsupportedDownsampledAggregationFailure } from '@kbn/search-response-warnings'; import { Adapters, - AttributeService, Embeddable, EmbeddableInput, EmbeddableOutput, @@ -53,6 +52,7 @@ import { VisualizeEmbeddableFactoryDeps } from './visualize_embeddable_factory'; import { getSavedVisualization } from '../../utils/saved_visualize_utils'; import { VisSavedObject } from '../../types'; import { toExpressionAst } from '../../embeddable/to_ast'; +import { AttributeService } from './attribute_service'; export interface VisualizeEmbeddableConfiguration { vis: Vis; diff --git a/src/plugins/visualizations/public/legacy/embeddable/visualize_embeddable_factory.tsx b/src/plugins/visualizations/public/legacy/embeddable/visualize_embeddable_factory.tsx index 7594c8d42f2ea..112a8d3b7fd8c 100644 --- a/src/plugins/visualizations/public/legacy/embeddable/visualize_embeddable_factory.tsx +++ b/src/plugins/visualizations/public/legacy/embeddable/visualize_embeddable_factory.tsx @@ -25,9 +25,9 @@ import { EmbeddableOutput, ErrorEmbeddable, IContainer, - AttributeService, } from '@kbn/embeddable-plugin/public'; import type { StartServicesGetter } from '@kbn/kibana-utils-plugin/public'; +import { AttributeService } from './attribute_service'; import { checkForDuplicateTitle } from '../../utils/saved_objects_utils/check_for_duplicate_title'; import type { VisualizeByReferenceInput, @@ -138,16 +138,10 @@ export class VisualizeEmbeddableFactory private async getAttributeService() { if (!this.attributeService) { - this.attributeService = this.deps - .start() - .plugins.embeddable.getAttributeService< - VisualizeSavedObjectAttributes, - VisualizeByValueInput, - VisualizeByReferenceInput - >(this.type, { - saveMethod: this.saveMethod.bind(this), - checkForDuplicateTitle: this.checkTitle.bind(this), - }); + this.attributeService = new AttributeService(this.type, { + saveMethod: this.saveMethod.bind(this), + checkForDuplicateTitle: this.checkTitle.bind(this), + }); } return this.attributeService!; } diff --git a/src/plugins/visualizations/public/plugin.ts b/src/plugins/visualizations/public/plugin.ts index 856c16104b6ca..6f82934b162d4 100644 --- a/src/plugins/visualizations/public/plugin.ts +++ b/src/plugins/visualizations/public/plugin.ts @@ -115,6 +115,7 @@ import { setDataViews, setInspector, getTypes, + setNotifications, } from './services'; import { VisualizeConstants, VISUALIZE_EMBEDDABLE_TYPE } from '../common/constants'; import { EditInLensAction } from './actions/edit_in_lens_action'; @@ -485,6 +486,7 @@ export class VisualizationsPlugin setSavedSearch(savedSearch); setDataViews(dataViews); setInspector(inspector); + setNotifications(core.notifications); if (spaces) { setSpaces(spaces); diff --git a/src/plugins/visualizations/public/services.ts b/src/plugins/visualizations/public/services.ts index 3b383abe52a35..09ab2e2e59272 100644 --- a/src/plugins/visualizations/public/services.ts +++ b/src/plugins/visualizations/public/services.ts @@ -21,6 +21,7 @@ import type { ExecutionContextSetup, AnalyticsServiceStart, I18nStart, + NotificationsStart, } from '@kbn/core/public'; import type { DataPublicPluginStart, TimefilterContract } from '@kbn/data-plugin/public'; import type { DataViewsPublicPluginStart } from '@kbn/data-views-plugin/public'; @@ -42,6 +43,8 @@ export const [getUISettings, setUISettings] = createGetterSetter('Analytics'); export const [getI18n, setI18n] = createGetterSetter('I18n'); export const [getTheme, setTheme] = createGetterSetter('Theme'); +export const [getNotifications, setNotifications] = + createGetterSetter('Notifications'); export const [getCapabilities, setCapabilities] = createGetterSetter('Capabilities'); diff --git a/src/plugins/visualizations/public/visualize_app/utils/get_visualization_instance.ts b/src/plugins/visualizations/public/visualize_app/utils/get_visualization_instance.ts index 3a3898093a8eb..df7c7b5dda52d 100644 --- a/src/plugins/visualizations/public/visualize_app/utils/get_visualization_instance.ts +++ b/src/plugins/visualizations/public/visualize_app/utils/get_visualization_instance.ts @@ -16,7 +16,7 @@ import { createVisAsync } from '../../vis_async'; import { convertToSerializedVis, getSavedVisualization } from '../../utils/saved_visualize_utils'; import { SerializedVis, Vis, VisSavedObject, VisualizeEmbeddableContract } from '../..'; import type { VisInstance, VisualizeServices } from '../types'; -import { VisualizeInput } from '../../legacy/embeddable'; +import type { VisualizeInput } from '../../legacy/embeddable'; function isErrorRelatedToRuntimeFields(error: ExpressionValueError['error']) { const originalError = error.original || error; diff --git a/x-pack/platform/plugins/private/translations/translations/fr-FR.json b/x-pack/platform/plugins/private/translations/translations/fr-FR.json index bd3d7a568d929..7103837a38947 100644 --- a/x-pack/platform/plugins/private/translations/translations/fr-FR.json +++ b/x-pack/platform/plugins/private/translations/translations/fr-FR.json @@ -2794,7 +2794,6 @@ "embeddableApi.addPanel.managedPanelTooltip": "Elastic gère ce panneau. Le fait de l'ajouter à un tableau de bord le dissocie de la bibliothèque.", "embeddableApi.addPanel.noMatchingObjectsMessage": "Aucun objet correspondant trouvé.", "embeddableApi.addPanel.Title": "Ajouter depuis la bibliothèque", - "embeddableApi.attributeService.saveToLibraryError": "Une erreur s'est produite lors de l'enregistrement. Erreur : {errorMessage}.", "embeddableApi.cellValueTrigger.description": "Les actions apparaissent dans les options de valeur de cellule dans la visualisation", "embeddableApi.cellValueTrigger.title": "Valeur de cellule", "embeddableApi.common.constants.grouping.annotations": "Annotations et Navigation", diff --git a/x-pack/platform/plugins/private/translations/translations/ja-JP.json b/x-pack/platform/plugins/private/translations/translations/ja-JP.json index be926d0485004..ecd025ad2ca29 100644 --- a/x-pack/platform/plugins/private/translations/translations/ja-JP.json +++ b/x-pack/platform/plugins/private/translations/translations/ja-JP.json @@ -2789,7 +2789,6 @@ "embeddableApi.addPanel.managedPanelTooltip": "Elasticはこのパネルを管理します。ダッシュボードに追加すると、ライブラリからリンクが解除されます。", "embeddableApi.addPanel.noMatchingObjectsMessage": "一致するオブジェクトが見つかりませんでした。", "embeddableApi.addPanel.Title": "ライブラリから追加", - "embeddableApi.attributeService.saveToLibraryError": "保存中にエラーが発生しました。エラー:{errorMessage}", "embeddableApi.cellValueTrigger.description": "アクションはビジュアライゼーションのセル値オプションに表示されます", "embeddableApi.cellValueTrigger.title": "セル値", "embeddableApi.common.constants.grouping.annotations": "注釈とナビゲーション", diff --git a/x-pack/platform/plugins/private/translations/translations/zh-CN.json b/x-pack/platform/plugins/private/translations/translations/zh-CN.json index f9638a6fe5028..1b4159dcbc4f2 100644 --- a/x-pack/platform/plugins/private/translations/translations/zh-CN.json +++ b/x-pack/platform/plugins/private/translations/translations/zh-CN.json @@ -2779,7 +2779,6 @@ "embeddableApi.addPanel.managedPanelTooltip": "Elastic 将管理此面板。将其添加到仪表板会取消其与库的链接。", "embeddableApi.addPanel.noMatchingObjectsMessage": "未找到任何匹配对象。", "embeddableApi.addPanel.Title": "从库中添加", - "embeddableApi.attributeService.saveToLibraryError": "保存时出错。错误:{errorMessage}", "embeddableApi.cellValueTrigger.description": "操作在可视化上的单元格值选项中显示", "embeddableApi.cellValueTrigger.title": "单元格值", "embeddableApi.common.constants.grouping.annotations": "标注和导航", From 6154ddfac23d57746e07d2f01e22bf54616ad6b4 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Fri, 13 Dec 2024 02:39:04 +1100 Subject: [PATCH 31/52] skip failing test suite (#203982) --- x-pack/test/api_integration/apis/entity_manager/search.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/api_integration/apis/entity_manager/search.ts b/x-pack/test/api_integration/apis/entity_manager/search.ts index a20364c7256e4..f164a309f0313 100644 --- a/x-pack/test/api_integration/apis/entity_manager/search.ts +++ b/x-pack/test/api_integration/apis/entity_manager/search.ts @@ -20,7 +20,8 @@ export default function ({ getService }: FtrProviderContext) { const esClient = getService('es'); const supertest = getService('supertest'); - describe('_search API', () => { + // Failing: See https://github.com/elastic/kibana/issues/203982 + describe.skip('_search API', () => { let cleanup: Function[] = []; before(() => clearEntityDefinitions(esClient)); From b0598797641ddadd02f4489c497ce21a3b562bfc Mon Sep 17 00:00:00 2001 From: Jesus Wahrman <41008968+jesuswr@users.noreply.github.com> Date: Thu, 12 Dec 2024 16:42:00 +0100 Subject: [PATCH 32/52] [UA] Removes logs explorer panel from UI (#203833) ## Summary resolves https://github.com/elastic/kibana/issues/201532 Removed the panel containing the logs explorer link. Updated tests and i18n. ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [x] The PR description includes the appropriate Release Notes section, and the correct `release_note:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) ### Identify risks Does this PR introduce any risks? For example, consider risks like hard to test bugs, performance regression, potential of data loss. Describe the risk, its severity, and mitigation for each identified risk. Invite stakeholders and evaluate how to proceed before merging. - [ ] [See some risk examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) - [ ] ... --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../translations/translations/fr-FR.json | 4 +- .../translations/translations/ja-JP.json | 4 +- .../translations/translations/zh-CN.json | 4 +- .../es_deprecation_logs.test.tsx | 36 ------ .../fix_deprecation_logs/external_links.tsx | 105 +++--------------- 5 files changed, 19 insertions(+), 134 deletions(-) diff --git a/x-pack/platform/plugins/private/translations/translations/fr-FR.json b/x-pack/platform/plugins/private/translations/translations/fr-FR.json index 7103837a38947..c77cacb7959f8 100644 --- a/x-pack/platform/plugins/private/translations/translations/fr-FR.json +++ b/x-pack/platform/plugins/private/translations/translations/fr-FR.json @@ -26137,9 +26137,9 @@ "xpack.lens.app.settingsAriaLabel": "Ouvrir le menu de paramètres Lens", "xpack.lens.app.share.defaultDashboardTitle": "Visualisation Lens [{date}]", "xpack.lens.app.shareButtonDisabledWarning": "La visualisation ne comprend aucune donnée à partager.", - "xpack.lens.app.shareModal.title": "Partager cette visualisation Lens", "xpack.lens.app.shareModal.draftModeCallout.link.warning": "Copiez le lien afin d’obtenir un lien temporaire. Enregistrez la visualisation Lens pour créer un lien permanent.", "xpack.lens.app.shareModal.draftModeCallout.title": "Modifications non enregistrées", + "xpack.lens.app.shareModal.title": "Partager cette visualisation Lens", "xpack.lens.app.shareTitle": "Partager", "xpack.lens.app.shareTitleAria": "Partager la visualisation", "xpack.lens.app.showUnderlyingDataMultipleLayers": "Impossible d’afficher les données sous-jacentes pour les visualisations avec plusieurs calques.", @@ -48594,7 +48594,6 @@ "xpack.upgradeAssistant.overview.logsStep.title": "Traiter les déclassements d'API", "xpack.upgradeAssistant.overview.logsStep.viewLogsButtonLabel": "Afficher les logs", "xpack.upgradeAssistant.overview.observe.discoveryDescription": "Recherchez et filtrez les logs de déclassement pour comprendre les types de modifications que vous devez effectuer.", - "xpack.upgradeAssistant.overview.observe.observabilityDescription": "Obtenez des informations sur les API déclassées qui sont utilisées et les applications que vous devez mettre à jour.", "xpack.upgradeAssistant.overview.pageDescription": "Préparez-vous pour la prochaine version de la Suite Elastic !", "xpack.upgradeAssistant.overview.pageTitle": "Assistant de mise à niveau", "xpack.upgradeAssistant.overview.snapshotRestoreLink": "Créer un snapshot", @@ -48631,7 +48630,6 @@ "xpack.upgradeAssistant.overview.verifyChanges.resetCounterButton": "Réinitialiser le compteur", "xpack.upgradeAssistant.overview.verifyChanges.retryButton": "Réessayer", "xpack.upgradeAssistant.overview.viewDiscoverResultsAction": "Analyser les logs dans Discover", - "xpack.upgradeAssistant.overview.viewObservabilityResultsAction": "Afficher les logs d'obsolescence dans Logs Explorer", "xpack.upgradeAssistant.reindex.reindexPrivilegesErrorBatch": "Vous ne disposez pas des privilèges appropriés pour réindexer \"{indexName}\".", "xpack.upgradeAssistant.status.allDeprecationsResolvedMessage": "Tous les avertissements de déclassement ont été résolus.", "xpack.upgradeAssistant.status.deprecationsUnresolvedMessage": "Les problèmes suivants doivent être résolus avant la mise à niveau : {upgradeIssues}.", diff --git a/x-pack/platform/plugins/private/translations/translations/ja-JP.json b/x-pack/platform/plugins/private/translations/translations/ja-JP.json index ecd025ad2ca29..964f6a716740d 100644 --- a/x-pack/platform/plugins/private/translations/translations/ja-JP.json +++ b/x-pack/platform/plugins/private/translations/translations/ja-JP.json @@ -25996,9 +25996,9 @@ "xpack.lens.app.settingsAriaLabel": "Lens設定メニューを開く", "xpack.lens.app.share.defaultDashboardTitle": "Lensビジュアライゼーション[{date}]", "xpack.lens.app.shareButtonDisabledWarning": "ビジュアライゼーションには共有するデータがありません。", - "xpack.lens.app.shareModal.title": "このLensビジュアライゼーションを共有", "xpack.lens.app.shareModal.draftModeCallout.link.warning": "リンクをコピーして、一時リンクを取得します。Lensビジュアライゼーションを保存して、永続リンクを作成します。", "xpack.lens.app.shareModal.draftModeCallout.title": "保存されていない変更", + "xpack.lens.app.shareModal.title": "このLensビジュアライゼーションを共有", "xpack.lens.app.shareTitle": "共有", "xpack.lens.app.shareTitleAria": "ビジュアライゼーションを共有", "xpack.lens.app.showUnderlyingDataMultipleLayers": "複数レイヤーのビジュアライゼーションでは、基本データを表示できません", @@ -48442,7 +48442,6 @@ "xpack.upgradeAssistant.overview.logsStep.title": "API廃止予定に対処", "xpack.upgradeAssistant.overview.logsStep.viewLogsButtonLabel": "ログを表示", "xpack.upgradeAssistant.overview.observe.discoveryDescription": "廃止予定ログを検索およびフィルターし、必要な変更のタイプを把握します。", - "xpack.upgradeAssistant.overview.observe.observabilityDescription": "使用中のAPIのうち廃止予定のAPIと、更新が必要なアプリケーションを特定できます。", "xpack.upgradeAssistant.overview.pageDescription": "次のバージョンのElastic Stackをお待ちください。", "xpack.upgradeAssistant.overview.pageTitle": "アップグレードアシスタント", "xpack.upgradeAssistant.overview.snapshotRestoreLink": "スナップショットの作成", @@ -48479,7 +48478,6 @@ "xpack.upgradeAssistant.overview.verifyChanges.resetCounterButton": "カウンターのリセット", "xpack.upgradeAssistant.overview.verifyChanges.retryButton": "再試行", "xpack.upgradeAssistant.overview.viewDiscoverResultsAction": "Discoverでログを分析", - "xpack.upgradeAssistant.overview.viewObservabilityResultsAction": "Logs Explorerで廃止予定ログを表示", "xpack.upgradeAssistant.reindex.reindexPrivilegesErrorBatch": "「{indexName}」に再インデックスするための権限が不十分です。", "xpack.upgradeAssistant.status.allDeprecationsResolvedMessage": "すべての廃止予定の警告が解決されました。", "xpack.upgradeAssistant.status.deprecationsUnresolvedMessage": "アップグレード前に次の問題を解決する必要があります:{upgradeIssues}。", diff --git a/x-pack/platform/plugins/private/translations/translations/zh-CN.json b/x-pack/platform/plugins/private/translations/translations/zh-CN.json index 1b4159dcbc4f2..cfbe54567590c 100644 --- a/x-pack/platform/plugins/private/translations/translations/zh-CN.json +++ b/x-pack/platform/plugins/private/translations/translations/zh-CN.json @@ -25558,9 +25558,9 @@ "xpack.lens.app.settingsAriaLabel": "打开 Lens 设置菜单", "xpack.lens.app.share.defaultDashboardTitle": "Lens 可视化 [{date}]", "xpack.lens.app.shareButtonDisabledWarning": "此可视化没有可共享的数据。", - "xpack.lens.app.shareModal.title": "共享此 Lens 可视化", "xpack.lens.app.shareModal.draftModeCallout.link.warning": "复制链接以获取临时链接。保存 Lens 可视化以创建永久链接。", "xpack.lens.app.shareModal.draftModeCallout.title": "未保存的更改", + "xpack.lens.app.shareModal.title": "共享此 Lens 可视化", "xpack.lens.app.shareTitle": "共享", "xpack.lens.app.shareTitleAria": "共享可视化", "xpack.lens.app.showUnderlyingDataMultipleLayers": "无法显示具有多个图层的可视化的底层数据", @@ -47731,7 +47731,6 @@ "xpack.upgradeAssistant.overview.logsStep.title": "解决 API 弃用", "xpack.upgradeAssistant.overview.logsStep.viewLogsButtonLabel": "查看日志", "xpack.upgradeAssistant.overview.observe.discoveryDescription": "搜索并筛选弃用日志以了解需要进行的更改类型。", - "xpack.upgradeAssistant.overview.observe.observabilityDescription": "深入了解正在使用哪些已弃用 API 以及需要更新哪些应用程序。", "xpack.upgradeAssistant.overview.pageDescription": "准备使用下一版 Elastic Stack!", "xpack.upgradeAssistant.overview.pageTitle": "升级助手", "xpack.upgradeAssistant.overview.snapshotRestoreLink": "创建快照", @@ -47768,7 +47767,6 @@ "xpack.upgradeAssistant.overview.verifyChanges.resetCounterButton": "重置计数器", "xpack.upgradeAssistant.overview.verifyChanges.retryButton": "重试", "xpack.upgradeAssistant.overview.viewDiscoverResultsAction": "在 Discover 中分析日志", - "xpack.upgradeAssistant.overview.viewObservabilityResultsAction": "在日志浏览器中查看弃用日志", "xpack.upgradeAssistant.status.allDeprecationsResolvedMessage": "所有弃用警告均已解决。", "xpack.upgradeAssistant.status.deprecationsUnresolvedMessage": "在升级之前必须解决以下问题:{upgradeIssues}。", "xpack.upgradeAssistant.status.esTotalCriticalDepsMessage": "{esTotalCriticalDeps} 个 Elasticsearch 弃用{esTotalCriticalDeps, plural, other {问题}}", diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecation_logs/es_deprecation_logs.test.tsx b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecation_logs/es_deprecation_logs.test.tsx index 29600c855dcbf..fe41b89de3e0e 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecation_logs/es_deprecation_logs.test.tsx +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecation_logs/es_deprecation_logs.test.tsx @@ -18,12 +18,10 @@ import { APPS_WITH_DEPRECATION_LOGS, DEPRECATION_LOGS_ORIGIN_FIELD, } from '../../../common/constants'; -import { stringifySearchParams } from '../helpers/app_context.mock'; // Once the logs team register the kibana locators in their app, we should be able // to remove this mock and follow a similar approach to how discover link is tested. // See: https://github.com/elastic/kibana/issues/104855 -const MOCKED_TIME = '2021-09-05T10:49:01.805Z'; jest.mock('../../../public/application/lib/logs_checkpoint', () => { const originalModule = jest.requireActual('../../../public/application/lib/logs_checkpoint'); @@ -157,40 +155,6 @@ describe('ES deprecation logs', () => { httpRequestsMockHelpers.setLoadDeprecationLoggingResponse(getLoggingResponse(true)); }); - test('Has a link to see logs in observability app', async () => { - await act(async () => { - testBed = await setupESDeprecationLogsPage(httpSetup, { - http: { - basePath: { - prepend: (url: string) => url, - }, - }, - }); - }); - - const { component, exists, find } = testBed; - - component.update(); - - expect(exists('viewObserveLogs')).toBe(true); - const locatorParams = stringifySearchParams({ - id: DEPRECATION_LOGS_INDEX, - timeRange: { - from: MOCKED_TIME, - to: 'now', - }, - query: { - language: 'kuery', - query: `not ${DEPRECATION_LOGS_ORIGIN_FIELD} : (${APPS_WITH_DEPRECATION_LOGS.join( - ' or ' - )})`, - }, - }); - const href = find('viewObserveLogs').props().href; - expect(href).toContain('logsExplorerUrl'); - expect(href).toContain(locatorParams); - }); - test('Has a link to see logs in discover app', async () => { await act(async () => { testBed = await setupESDeprecationLogsPage(httpSetup); diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/fix_deprecation_logs/external_links.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/fix_deprecation_logs/external_links.tsx index c96a17ed9e2ee..aef1dbfc0087c 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/fix_deprecation_logs/external_links.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/fix_deprecation_logs/external_links.tsx @@ -10,23 +10,15 @@ import { buildPhrasesFilter, PhrasesFilter } from '@kbn/es-query'; import { FormattedMessage } from '@kbn/i18n-react'; import { METRIC_TYPE } from '@kbn/analytics'; -import { EuiLink, EuiFlexGroup, EuiFlexItem, EuiSpacer, EuiPanel, EuiText } from '@elastic/eui'; +import { EuiLink, EuiSpacer, EuiText } from '@elastic/eui'; import { DataView } from '@kbn/data-views-plugin/common'; -import { - OBS_LOGS_EXPLORER_DATA_VIEW_LOCATOR_ID, - ObsLogsExplorerDataViewLocatorParams, -} from '@kbn/deeplinks-observability'; import { APPS_WITH_DEPRECATION_LOGS, DEPRECATION_LOGS_ORIGIN_FIELD, } from '../../../../../common/constants'; import { DataPublicPluginStart } from '../../../../shared_imports'; import { useAppContext } from '../../../app_context'; -import { - uiMetricService, - UIM_OBSERVABILITY_CLICK, - UIM_DISCOVER_CLICK, -} from '../../../lib/ui_metric'; +import { uiMetricService, UIM_DISCOVER_CLICK } from '../../../lib/ui_metric'; import { DEPRECATION_LOGS_INDEX_PATTERN } from '../../../../../common/constants'; @@ -129,48 +121,6 @@ const DiscoverAppLink: FunctionComponent = ({ checkpoint, deprecationData ); }; -const ObservabilityAppLink: FunctionComponent = ({ checkpoint, deprecationDataView }) => { - const { - plugins: { - share: { url }, - }, - } = useAppContext(); - - const logsLocator = url.locators.get( - OBS_LOGS_EXPLORER_DATA_VIEW_LOCATOR_ID - )!; - - if (!deprecationDataView.id) return null; - - const logsUrl = logsLocator.getRedirectUrl({ - id: deprecationDataView.id, - timeRange: { - from: checkpoint, - to: 'now', - }, - query: { - language: 'kuery', - query: `not ${DEPRECATION_LOGS_ORIGIN_FIELD} : (${APPS_WITH_DEPRECATION_LOGS.join(' or ')})`, - }, - }); - - return ( - // eslint-disable-next-line @elastic/eui/href-or-on-click - { - uiMetricService.trackUiMetric(METRIC_TYPE.CLICK, UIM_OBSERVABILITY_CLICK); - }} - data-test-subj="viewObserveLogs" - > - - - ); -}; - export const ExternalLinks: FunctionComponent> = ({ checkpoint, }) => { @@ -190,42 +140,19 @@ export const ExternalLinks: FunctionComponent }, [dataService, checkpoint, share.url.locators]); return ( - - - - -

- -

-
- - {deprecationDataView ? ( - - ) : null} -
-
- - - -

- -

-
- - {deprecationDataView ? ( - - ) : null} -
-
-
+ <> + +

+ +

+
+ + {deprecationDataView ? ( + + ) : null} + ); }; From 7218d01aa42eba6df050262a0c246922d2a0df9d Mon Sep 17 00:00:00 2001 From: Nathan Reese Date: Thu, 12 Dec 2024 09:11:48 -0700 Subject: [PATCH 33/52] [embeddable] remove setCustomEmbeddableFactoryProvider from setup API (#203853) Part of https://github.com/elastic/kibana/issues/167429 Remove `setCustomEmbeddableFactoryProvider` from embeddable setup API. `setCustomEmbeddableFactoryProvider` only used in `embeddable_enhanced` plugin. Replaced with `initializeReactEmbeddableDynamicActions` in react embeddable system. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Elastic Machine --- src/plugins/embeddable/public/mocks.tsx | 1 - src/plugins/embeddable/public/plugin.test.ts | 77 ----------- src/plugins/embeddable/public/plugin.tsx | 28 +--- .../translations/translations/fr-FR.json | 1 - .../translations/translations/ja-JP.json | 1 - .../translations/translations/zh-CN.json | 1 - .../public/actions/drilldown_grouping.ts | 21 --- .../public/actions/index.ts | 8 -- .../embeddable_enhanced/public/index.ts | 2 - .../embeddable_enhanced/public/plugin.ts | 128 +----------------- .../embeddable_enhanced/public/types.ts | 18 --- .../plugins/embeddable_enhanced/tsconfig.json | 3 - 12 files changed, 4 insertions(+), 285 deletions(-) delete mode 100644 x-pack/plugins/embeddable_enhanced/public/actions/drilldown_grouping.ts delete mode 100644 x-pack/plugins/embeddable_enhanced/public/actions/index.ts delete mode 100644 x-pack/plugins/embeddable_enhanced/public/types.ts diff --git a/src/plugins/embeddable/public/mocks.tsx b/src/plugins/embeddable/public/mocks.tsx index ec1a272bbe574..7db4efd34e48e 100644 --- a/src/plugins/embeddable/public/mocks.tsx +++ b/src/plugins/embeddable/public/mocks.tsx @@ -99,7 +99,6 @@ const createSetupContract = (): Setup => { registerReactEmbeddableFactory: jest.fn().mockImplementation(registerReactEmbeddableFactory), registerEmbeddableFactory: jest.fn(), registerEnhancement: jest.fn(), - setCustomEmbeddableFactoryProvider: jest.fn(), }; return setupContract; }; diff --git a/src/plugins/embeddable/public/plugin.test.ts b/src/plugins/embeddable/public/plugin.test.ts index b51b7e7488a68..00a19f8e9f561 100644 --- a/src/plugins/embeddable/public/plugin.test.ts +++ b/src/plugins/embeddable/public/plugin.test.ts @@ -9,83 +9,6 @@ import { coreMock } from '@kbn/core/public/mocks'; import { testPlugin } from './tests/test_plugin'; -import { EmbeddableFactoryProvider } from './types'; -import { defaultEmbeddableFactoryProvider } from './lib'; -import { HelloWorldEmbeddable } from './tests/fixtures'; - -test('can set custom embeddable factory provider', async () => { - const coreSetup = coreMock.createSetup(); - const coreStart = coreMock.createStart(); - const { setup, doStart } = testPlugin(coreSetup, coreStart); - - const customProvider: EmbeddableFactoryProvider = (def) => ({ - ...defaultEmbeddableFactoryProvider(def), - getDisplayName: () => 'Intercepted!', - }); - - setup.setCustomEmbeddableFactoryProvider(customProvider); - setup.registerEmbeddableFactory('test', { - type: 'test', - latestVersion: '1.0.0', - create: () => Promise.resolve(undefined), - getDisplayName: () => 'Test', - isEditable: () => Promise.resolve(true), - }); - - const start = doStart(); - const factory = start.getEmbeddableFactory('test'); - expect(factory!.getDisplayName()).toEqual('Intercepted!'); -}); - -test('custom embeddable factory provider test for intercepting embeddable creation and destruction', async () => { - const coreSetup = coreMock.createSetup(); - const coreStart = coreMock.createStart(); - const { setup, doStart } = testPlugin(coreSetup, coreStart); - - let updateCount = 0; - const customProvider: EmbeddableFactoryProvider = (def) => { - return { - ...defaultEmbeddableFactoryProvider(def), - create: async (input, parent) => { - const embeddable = await defaultEmbeddableFactoryProvider(def).create(input, parent); - if (embeddable) { - const subscription = embeddable.getInput$().subscribe( - () => { - updateCount++; - }, - () => {}, - () => { - subscription.unsubscribe(); - updateCount = 0; - } - ); - } - return embeddable; - }, - }; - }; - - setup.setCustomEmbeddableFactoryProvider(customProvider); - setup.registerEmbeddableFactory('test', { - type: 'test', - latestVersion: '1.0.0', - create: (input, parent) => Promise.resolve(new HelloWorldEmbeddable(input, parent)), - getDisplayName: () => 'Test', - isEditable: () => Promise.resolve(true), - }); - - const start = doStart(); - const factory = start.getEmbeddableFactory('test'); - - const embeddable = await factory?.create({ id: '123' }); - embeddable!.updateInput({ title: 'boo' }); - // initial subscription, plus the second update. - expect(updateCount).toEqual(2); - - embeddable!.destroy(); - await new Promise((resolve) => process.nextTick(resolve)); - expect(updateCount).toEqual(0); -}); describe('embeddable factory', () => { const coreSetup = coreMock.createSetup(); diff --git a/src/plugins/embeddable/public/plugin.tsx b/src/plugins/embeddable/public/plugin.tsx index b3b363edd949d..ef339e5bacc2c 100644 --- a/src/plugins/embeddable/public/plugin.tsx +++ b/src/plugins/embeddable/public/plugin.tsx @@ -27,7 +27,6 @@ import type { ContentManagementPublicStart } from '@kbn/content-management-plugi import type { SavedObjectTaggingOssPluginStart } from '@kbn/saved-objects-tagging-oss-plugin/public'; import { EmbeddableFactoryRegistry, - EmbeddableFactoryProvider, EnhancementsRegistry, EnhancementRegistryDefinition, EnhancementRegistryItem, @@ -108,10 +107,6 @@ export interface EmbeddableSetup { * @deprecated */ registerEnhancement: (enhancement: EnhancementRegistryDefinition) => void; - /** - * @deprecated - */ - setCustomEmbeddableFactoryProvider: (customProvider: EmbeddableFactoryProvider) => void; } export interface EmbeddableStart extends PersistableStateService { @@ -137,7 +132,6 @@ export class EmbeddablePublicPlugin implements Plugin; @@ -154,25 +148,12 @@ export class EmbeddablePublicPlugin implements Plugin { - if (this.customEmbeddableFactoryProvider) { - throw new Error( - 'Custom embeddable factory provider is already set, and can only be set once' - ); - } - this.customEmbeddableFactoryProvider = provider; - }, }; } public start(core: CoreStart, deps: EmbeddableStartDependencies): EmbeddableStart { this.embeddableFactoryDefinitions.forEach((def) => { - this.embeddableFactories.set( - def.type, - this.customEmbeddableFactoryProvider - ? this.customEmbeddableFactoryProvider(def) - : defaultEmbeddableFactoryProvider(def) - ); + this.embeddableFactories.set(def.type, defaultEmbeddableFactoryProvider(def)); }); this.appListSubscription = core.application.applications$.subscribe((appList) => { @@ -311,12 +292,7 @@ export class EmbeddablePublicPlugin implements Plugin - i18n.translate('xpack.embeddableEnhanced.Drilldowns', { - defaultMessage: 'Drilldowns', - }), - getIconType: () => 'symlink', - order: 25, - }, -]; diff --git a/x-pack/plugins/embeddable_enhanced/public/actions/index.ts b/x-pack/plugins/embeddable_enhanced/public/actions/index.ts deleted file mode 100644 index c351935bbf8bb..0000000000000 --- a/x-pack/plugins/embeddable_enhanced/public/actions/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -export * from './drilldown_grouping'; diff --git a/x-pack/plugins/embeddable_enhanced/public/index.ts b/x-pack/plugins/embeddable_enhanced/public/index.ts index e14c8629ced9b..c0242fecc0948 100644 --- a/x-pack/plugins/embeddable_enhanced/public/index.ts +++ b/x-pack/plugins/embeddable_enhanced/public/index.ts @@ -19,9 +19,7 @@ export function plugin(context: PluginInitializerContext) { return new EmbeddableEnhancedPlugin(context); } -export type { EnhancedEmbeddable, EnhancedEmbeddableContext } from './types'; export { type HasDynamicActions, apiHasDynamicActions, } from './embeddables/interfaces/has_dynamic_actions'; -export { drilldownGrouping as embeddableEnhancedDrilldownGrouping } from './actions'; diff --git a/x-pack/plugins/embeddable_enhanced/public/plugin.ts b/x-pack/plugins/embeddable_enhanced/public/plugin.ts index a76f33f095951..0e374070c00d1 100644 --- a/x-pack/plugins/embeddable_enhanced/public/plugin.ts +++ b/x-pack/plugins/embeddable_enhanced/public/plugin.ts @@ -6,23 +6,12 @@ */ import { CoreSetup, CoreStart, Plugin, PluginInitializerContext } from '@kbn/core/public'; -import { - defaultEmbeddableFactoryProvider, - EmbeddableContext, - EmbeddableFactory, - EmbeddableFactoryDefinition, - EmbeddableInput, - EmbeddableOutput, - EmbeddableSetup, - EmbeddableStart, - IEmbeddable, -} from '@kbn/embeddable-plugin/public'; +import { EmbeddableSetup, EmbeddableStart } from '@kbn/embeddable-plugin/public'; import { apiHasUniqueId, EmbeddableApiContext, StateComparators, } from '@kbn/presentation-publishing'; -import type { FinderAttributes } from '@kbn/saved-objects-finder-plugin/common'; import { AdvancedUiActionsSetup, AdvancedUiActionsStart, @@ -30,13 +19,12 @@ import { UiActionsEnhancedDynamicActionManager as DynamicActionManager, } from '@kbn/ui-actions-enhanced-plugin/public'; import deepEqual from 'react-fast-compare'; -import { BehaviorSubject, distinctUntilChanged } from 'rxjs'; +import { BehaviorSubject } from 'rxjs'; import { DynamicActionStorage, type DynamicActionStorageApi, } from './embeddables/dynamic_action_storage'; import { HasDynamicActions } from './embeddables/interfaces/has_dynamic_actions'; -import { EnhancedEmbeddable } from './types'; import { getDynamicActionsState } from './get_dynamic_actions_state'; export interface SetupDependencies { @@ -79,8 +67,6 @@ export class EmbeddableEnhancedPlugin private uiActions?: StartDependencies['uiActionsEnhanced']; public setup(core: CoreSetup, plugins: SetupDependencies): SetupContract { - this.setCustomEmbeddableFactoryProvider(plugins); - return {}; } @@ -94,45 +80,6 @@ export class EmbeddableEnhancedPlugin public stop() {} - private setCustomEmbeddableFactoryProvider(plugins: SetupDependencies) { - plugins.embeddable.setCustomEmbeddableFactoryProvider( - < - I extends EmbeddableInput = EmbeddableInput, - O extends EmbeddableOutput = EmbeddableOutput, - E extends IEmbeddable = IEmbeddable, - T extends FinderAttributes = {} - >( - def: EmbeddableFactoryDefinition - ): EmbeddableFactory => { - const factory: EmbeddableFactory = defaultEmbeddableFactoryProvider( - def - ); - return { - ...factory, - create: async (...args) => { - const embeddable = await factory.create(...args); - if (!embeddable) return embeddable; - return this.enhanceEmbeddableWithDynamicActions(embeddable); - }, - createFromSavedObject: async (...args) => { - const embeddable = await factory.createFromSavedObject(...args); - if (!embeddable) return embeddable; - return this.enhanceEmbeddableWithDynamicActions(embeddable); - }, - }; - } - ); - } - - private readonly isEmbeddableContext = (context: unknown): context is EmbeddableContext => { - if (!(context as EmbeddableContext)?.embeddable) { - // eslint-disable-next-line no-console - console.warn('For drilldowns to work action context should contain .embeddable field.'); - return false; - } - return true; - }; - private initializeDynamicActions( uuid: string, getTitle: () => string | undefined, @@ -183,77 +130,6 @@ export class EmbeddableEnhancedPlugin }; } - /** - * TODO: Remove this entire enhanceEmbeddableWithDynamicActions method once the embeddable refactor work is complete - */ - private enhanceEmbeddableWithDynamicActions( - embeddable: E - ): EnhancedEmbeddable { - const enhancedEmbeddable = embeddable as EnhancedEmbeddable; - - const dynamicActionsState$ = new BehaviorSubject( - { - dynamicActions: { events: [] }, - ...(embeddable.getInput().enhancements ?? {}), - } - ); - const api = { - dynamicActionsState$, - setDynamicActions: (newState: DynamicActionsSerializedState['enhancements']) => { - embeddable.updateInput({ enhancements: newState }); - }, - }; - - /** - * Keep the dynamicActionsState$ publishing subject in sync with changes to the embeddable's input. - */ - embeddable - .getInput$() - .pipe( - distinctUntilChanged(({ enhancements: old }, { enhancements: updated }) => - deepEqual(old, updated) - ) - ) - .subscribe((input) => { - dynamicActionsState$.next({ - dynamicActions: { events: [] }, - ...(input.enhancements ?? {}), - } as DynamicActionsSerializedState['enhancements']); - }); - - const storage = new DynamicActionStorage( - String(embeddable.runtimeId), - embeddable.getTitle, - api - ); - const dynamicActions = new DynamicActionManager({ - isCompatible: async (context: unknown) => { - if (!this.isEmbeddableContext(context)) return false; - return context.embeddable.runtimeId === embeddable.runtimeId; - }, - storage, - uiActions: this.uiActions!, - }); - - const stop = this.startDynamicActions(dynamicActions); - embeddable.getInput$().subscribe({ - next: () => { - storage.reload$.next(); - }, - error: stop, - complete: stop, - }); - - enhancedEmbeddable.enhancements = { - ...enhancedEmbeddable.enhancements, - dynamicActions, - }; - enhancedEmbeddable.dynamicActionsState$ = api.dynamicActionsState$; - enhancedEmbeddable.setDynamicActions = api.setDynamicActions; - - return enhancedEmbeddable; - } - private startDynamicActions(dynamicActions: DynamicActionManager) { dynamicActions.start().catch((error) => { /* eslint-disable no-console */ diff --git a/x-pack/plugins/embeddable_enhanced/public/types.ts b/x-pack/plugins/embeddable_enhanced/public/types.ts deleted file mode 100644 index c065e3b89060e..0000000000000 --- a/x-pack/plugins/embeddable_enhanced/public/types.ts +++ /dev/null @@ -1,18 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { IEmbeddable } from '@kbn/embeddable-plugin/public'; -import { HasDynamicActions } from './embeddables/interfaces/has_dynamic_actions'; - -export type EnhancedEmbeddable = E & HasDynamicActions; - -/** - * @deprecated use `EmbeddableApiContext` from `@kbn/presentation-publishing` - */ -export interface EnhancedEmbeddableContext { - embeddable: EnhancedEmbeddable; -} diff --git a/x-pack/plugins/embeddable_enhanced/tsconfig.json b/x-pack/plugins/embeddable_enhanced/tsconfig.json index 7aa9a6a2f42a6..a065672b9162a 100644 --- a/x-pack/plugins/embeddable_enhanced/tsconfig.json +++ b/x-pack/plugins/embeddable_enhanced/tsconfig.json @@ -9,12 +9,9 @@ "kbn_references": [ "@kbn/core", "@kbn/embeddable-plugin", - "@kbn/ui-actions-plugin", "@kbn/ui-actions-enhanced-plugin", - "@kbn/i18n", "@kbn/kibana-utils-plugin", "@kbn/data-plugin", - "@kbn/saved-objects-finder-plugin", "@kbn/presentation-publishing", ], "exclude": [ From 8c7883fd9830acdbef4b575071b73ada3e27cef2 Mon Sep 17 00:00:00 2001 From: Sergi Massaneda Date: Thu, 12 Dec 2024 17:12:18 +0100 Subject: [PATCH 34/52] [SecuritySolution][siem migrations] Onboarding UI flyout macros input (#203483) ## Summary From: https://github.com/elastic/security-team/issues/10667 This is the part 2 of the issue - The macros input Implementation of the Onboarding card to create migrations using the flyout. > [!NOTE] > This feature needs `siemMigrationsEnabled` experimental flag enabled to work. Otherwise only the default topic will be available and the topic selector won't be displayed. ### Screenshots Macros step loading done #### To do in part 3: - Implement missing steps in the flyout: Lookups ### Test Enable experimental flag Rule file: [rules_test.json](https://github.com/user-attachments/files/18082165/rules_test.json) Macros file: [macros_test.json](https://github.com/user-attachments/files/18082169/macros_test.json) --------- Co-authored-by: Elastic Machine Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../common/api/quickstart_client.gen.ts | 23 ++ .../common/siem_migrations/constants.ts | 2 + .../model/api/rules/rule_migration.gen.ts | 20 ++ .../api/rules/rule_migration.schema.yaml | 38 +++ .../model/rule_migration.gen.ts | 2 +- .../model/rule_migration.schema.yaml | 1 - .../siem_migrations/rules/resources/index.ts | 74 ++++- .../rules/resources/splunk/index.ts | 19 ++ .../splunk/splunk_identifier.test.ts | 135 ++++++++++ .../resources/splunk/splunk_identifier.ts | 56 ++++ .../rules/resources/splunk_identifier.test.ts | 89 ------ .../rules/resources/splunk_identifier.ts | 48 ---- .../siem_migrations/rules/resources/types.ts | 18 +- .../start_migration/start_migration_card.tsx | 22 +- .../start_migration_check_complete.ts | 5 +- .../start_migration/upload_rules_panels.tsx | 2 +- .../public/siem_migrations/rules/api/index.ts | 42 +++ .../components/data_input_flyout/constants.ts | 15 +- .../data_input_flyout/data_input_flyout.tsx | 83 ++++-- .../steps/common/get_status.ts | 18 ++ .../steps/common/sub_step_wrapper.tsx | 4 +- .../steps/common/use_parse_file_input.ts | 117 ++++++++ .../steps/macros/macros_data_input.tsx | 140 ++++++++++ .../sub_steps/check_resources/index.tsx | 54 ++++ .../sub_steps/check_resources/translations.ts | 20 ++ .../copy_export_query/copy_export_query.tsx | 53 ++++ .../sub_steps/copy_export_query/index.tsx | 26 ++ .../copy_export_query/translations.ts | 18 ++ .../sub_steps/macros_file_upload/index.tsx | 94 +++++++ .../macros_file_upload/macros_file_upload.tsx | 89 ++++++ .../macros_file_upload/translations.ts | 26 ++ .../steps/macros/translations.ts | 13 + .../steps/rules/rules_data_input.tsx | 134 +++++---- .../rules/sub_steps/check_resources/index.tsx | 33 ++- .../copy_export_query/translations.ts | 2 +- .../sub_steps/rules_file_upload/index.tsx | 5 +- .../rules_file_upload/parse_rules_file.ts | 79 ------ .../rules_file_upload/rules_file_upload.tsx | 100 +++---- .../rules_file_upload/translations.ts | 46 +--- .../data_input_flyout/translations.ts | 52 ++++ .../components/data_input_flyout/types.ts | 14 +- .../service/hooks/use_create_migration.ts | 16 +- .../hooks/use_get_missing_resources.ts | 48 ++++ .../rules/service/hooks/use_latest_stats.ts | 8 +- .../service/hooks/use_upsert_resources.ts | 51 ++++ .../rules/service/rule_migrations_service.ts | 26 +- .../lib/siem_migrations/rules/api/create.ts | 16 ++ .../lib/siem_migrations/rules/api/index.ts | 2 + .../rules/api/resources/get.ts | 9 +- .../rules/api/resources/missing.ts | 67 +++++ .../rules/api/resources/upsert.ts | 22 +- .../rules/data/__mocks__/mocks.ts | 8 + .../data/rule_migrations_data_base_client.ts | 53 +++- .../rule_migrations_data_resources_client.ts | 103 ++++++- .../data/rule_migrations_data_rules_client.ts | 25 +- .../retrievers/rule_migrations_retriever.ts | 31 ++- .../rule_resource_retriever.test.ts | 254 +++++++----------- .../retrievers/rule_resource_retriever.ts | 133 ++++----- .../rules/task/rule_migrations_task_client.ts | 125 ++++----- .../lib/siem_migrations/rules/task/types.ts | 15 +- .../services/security_solution_api.gen.ts | 25 ++ 61 files changed, 2102 insertions(+), 766 deletions(-) create mode 100644 x-pack/plugins/security_solution/common/siem_migrations/rules/resources/splunk/index.ts create mode 100644 x-pack/plugins/security_solution/common/siem_migrations/rules/resources/splunk/splunk_identifier.test.ts create mode 100644 x-pack/plugins/security_solution/common/siem_migrations/rules/resources/splunk/splunk_identifier.ts delete mode 100644 x-pack/plugins/security_solution/common/siem_migrations/rules/resources/splunk_identifier.test.ts delete mode 100644 x-pack/plugins/security_solution/common/siem_migrations/rules/resources/splunk_identifier.ts create mode 100644 x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/common/get_status.ts create mode 100644 x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/common/use_parse_file_input.ts create mode 100644 x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/macros_data_input.tsx create mode 100644 x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/check_resources/index.tsx create mode 100644 x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/check_resources/translations.ts create mode 100644 x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/copy_export_query/copy_export_query.tsx create mode 100644 x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/copy_export_query/index.tsx create mode 100644 x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/copy_export_query/translations.ts create mode 100644 x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/macros_file_upload/index.tsx create mode 100644 x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/macros_file_upload/macros_file_upload.tsx create mode 100644 x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/macros_file_upload/translations.ts create mode 100644 x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/translations.ts delete mode 100644 x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/sub_steps/rules_file_upload/parse_rules_file.ts create mode 100644 x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/translations.ts create mode 100644 x-pack/plugins/security_solution/public/siem_migrations/rules/service/hooks/use_get_missing_resources.ts create mode 100644 x-pack/plugins/security_solution/public/siem_migrations/rules/service/hooks/use_upsert_resources.ts create mode 100644 x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/resources/missing.ts diff --git a/x-pack/plugins/security_solution/common/api/quickstart_client.gen.ts b/x-pack/plugins/security_solution/common/api/quickstart_client.gen.ts index b5d72fc1ef207..3487fdf81c0c9 100644 --- a/x-pack/plugins/security_solution/common/api/quickstart_client.gen.ts +++ b/x-pack/plugins/security_solution/common/api/quickstart_client.gen.ts @@ -368,6 +368,8 @@ import type { GetRuleMigrationResourcesRequestQueryInput, GetRuleMigrationResourcesRequestParamsInput, GetRuleMigrationResourcesResponse, + GetRuleMigrationResourcesMissingRequestParamsInput, + GetRuleMigrationResourcesMissingResponse, GetRuleMigrationStatsRequestParamsInput, GetRuleMigrationStatsResponse, GetRuleMigrationTranslationStatsRequestParamsInput, @@ -1471,6 +1473,24 @@ finalize it. }) .catch(catchAxiosErrorFormatAndThrow); } + /** + * Identifies missing resources from all the rules of an existing SIEM rules migration + */ + async getRuleMigrationResourcesMissing(props: GetRuleMigrationResourcesMissingProps) { + this.log.info(`${new Date().toISOString()} Calling API GetRuleMigrationResourcesMissing`); + return this.kbnClient + .request({ + path: replaceParams( + '/internal/siem_migrations/rules/{migration_id}/resources/missing', + props.params + ), + headers: { + [ELASTIC_HTTP_VERSION_HEADER]: '1', + }, + method: 'GET', + }) + .catch(catchAxiosErrorFormatAndThrow); + } /** * Retrieves the stats of a SIEM rules migration using the migration id provided */ @@ -2423,6 +2443,9 @@ export interface GetRuleMigrationResourcesProps { query: GetRuleMigrationResourcesRequestQueryInput; params: GetRuleMigrationResourcesRequestParamsInput; } +export interface GetRuleMigrationResourcesMissingProps { + params: GetRuleMigrationResourcesMissingRequestParamsInput; +} export interface GetRuleMigrationStatsProps { params: GetRuleMigrationStatsRequestParamsInput; } diff --git a/x-pack/plugins/security_solution/common/siem_migrations/constants.ts b/x-pack/plugins/security_solution/common/siem_migrations/constants.ts index e947dda4bbcc2..531669608ed8b 100644 --- a/x-pack/plugins/security_solution/common/siem_migrations/constants.ts +++ b/x-pack/plugins/security_solution/common/siem_migrations/constants.ts @@ -27,6 +27,8 @@ export const SIEM_RULE_MIGRATIONS_PREBUILT_RULES_PATH = `${SIEM_RULE_MIGRATION_PATH}/prebuilt_rules` as const; export const SIEM_RULE_MIGRATION_RESOURCES_PATH = `${SIEM_RULE_MIGRATION_PATH}/resources` as const; +export const SIEM_RULE_MIGRATION_RESOURCES_MISSING_PATH = + `${SIEM_RULE_MIGRATION_RESOURCES_PATH}/missing` as const; export enum SiemMigrationTaskStatus { READY = 'ready', diff --git a/x-pack/plugins/security_solution/common/siem_migrations/model/api/rules/rule_migration.gen.ts b/x-pack/plugins/security_solution/common/siem_migrations/model/api/rules/rule_migration.gen.ts index 95a81d4436d8a..df89c8d7f1c4e 100644 --- a/x-pack/plugins/security_solution/common/siem_migrations/model/api/rules/rule_migration.gen.ts +++ b/x-pack/plugins/security_solution/common/siem_migrations/model/api/rules/rule_migration.gen.ts @@ -103,6 +103,8 @@ export type GetRuleMigrationResourcesRequestQuery = z.infer< export const GetRuleMigrationResourcesRequestQuery = z.object({ type: RuleMigrationResourceType.optional(), names: ArrayFromString(z.string()).optional(), + from: z.coerce.number().optional(), + size: z.coerce.number().optional(), }); export type GetRuleMigrationResourcesRequestQueryInput = z.input< typeof GetRuleMigrationResourcesRequestQuery @@ -121,6 +123,24 @@ export type GetRuleMigrationResourcesRequestParamsInput = z.input< export type GetRuleMigrationResourcesResponse = z.infer; export const GetRuleMigrationResourcesResponse = z.array(RuleMigrationResource); +export type GetRuleMigrationResourcesMissingRequestParams = z.infer< + typeof GetRuleMigrationResourcesMissingRequestParams +>; +export const GetRuleMigrationResourcesMissingRequestParams = z.object({ + migration_id: NonEmptyString, +}); +export type GetRuleMigrationResourcesMissingRequestParamsInput = z.input< + typeof GetRuleMigrationResourcesMissingRequestParams +>; + +/** + * The identified resources missing + */ +export type GetRuleMigrationResourcesMissingResponse = z.infer< + typeof GetRuleMigrationResourcesMissingResponse +>; +export const GetRuleMigrationResourcesMissingResponse = z.array(RuleMigrationResourceData); + export type GetRuleMigrationStatsRequestParams = z.infer; export const GetRuleMigrationStatsRequestParams = z.object({ migration_id: NonEmptyString, diff --git a/x-pack/plugins/security_solution/common/siem_migrations/model/api/rules/rule_migration.schema.yaml b/x-pack/plugins/security_solution/common/siem_migrations/model/api/rules/rule_migration.schema.yaml index b7e495e2ea898..fce14a2ac87b1 100644 --- a/x-pack/plugins/security_solution/common/siem_migrations/model/api/rules/rule_migration.schema.yaml +++ b/x-pack/plugins/security_solution/common/siem_migrations/model/api/rules/rule_migration.schema.yaml @@ -473,6 +473,16 @@ paths: description: The names of the resource to retrieve items: type: string + - name: from + in: query + required: false + schema: + type: number + - name: size + in: query + required: false + schema: + type: number responses: 200: description: Indicates migration resources have been retrieved correctly @@ -482,3 +492,31 @@ paths: type: array items: $ref: '../../rule_migration.schema.yaml#/components/schemas/RuleMigrationResource' + + /internal/siem_migrations/rules/{migration_id}/resources/missing: + get: + summary: Gets missing rule migration resources for a migration + operationId: GetRuleMigrationResourcesMissing + x-codegen-enabled: true + x-internal: true + description: Identifies missing resources from all the rules of an existing SIEM rules migration + tags: + - SIEM Rule Migrations + - Resources + parameters: + - name: migration_id + in: path + required: true + schema: + description: The migration id to attach the resources + $ref: '../../../../../common/api/model/primitives.schema.yaml#/components/schemas/NonEmptyString' + responses: + 200: + description: Indicates missing migration resources have been retrieved correctly + content: + application/json: + schema: + type: array + description: The identified resources missing + items: + $ref: '../../rule_migration.schema.yaml#/components/schemas/RuleMigrationResourceData' diff --git a/x-pack/plugins/security_solution/common/siem_migrations/model/rule_migration.gen.ts b/x-pack/plugins/security_solution/common/siem_migrations/model/rule_migration.gen.ts index 60220bf054a12..9fd3876e141a8 100644 --- a/x-pack/plugins/security_solution/common/siem_migrations/model/rule_migration.gen.ts +++ b/x-pack/plugins/security_solution/common/siem_migrations/model/rule_migration.gen.ts @@ -324,7 +324,7 @@ export const RuleMigrationResourceData = z.object({ /** * The resource content value. */ - content: z.string(), + content: z.string().optional(), /** * The resource arbitrary metadata. */ diff --git a/x-pack/plugins/security_solution/common/siem_migrations/model/rule_migration.schema.yaml b/x-pack/plugins/security_solution/common/siem_migrations/model/rule_migration.schema.yaml index e13e9b1d0ed75..0a99bd5ce701f 100644 --- a/x-pack/plugins/security_solution/common/siem_migrations/model/rule_migration.schema.yaml +++ b/x-pack/plugins/security_solution/common/siem_migrations/model/rule_migration.schema.yaml @@ -291,7 +291,6 @@ components: required: - type - name - - content properties: type: $ref: '#/components/schemas/RuleMigrationResourceType' diff --git a/x-pack/plugins/security_solution/common/siem_migrations/rules/resources/index.ts b/x-pack/plugins/security_solution/common/siem_migrations/rules/resources/index.ts index ffe4b3aca4076..8ec7adf050bf3 100644 --- a/x-pack/plugins/security_solution/common/siem_migrations/rules/resources/index.ts +++ b/x-pack/plugins/security_solution/common/siem_migrations/rules/resources/index.ts @@ -5,18 +5,72 @@ * 2.0. */ -import type { OriginalRule, OriginalRuleVendor } from '../../model/rule_migration.gen'; -import type { QueryResourceIdentifier, RuleResourceCollection } from './types'; -import { splResourceIdentifier } from './splunk_identifier'; +import type { + OriginalRule, + OriginalRuleVendor, + RuleMigrationResourceData, +} from '../../model/rule_migration.gen'; +import type { ResourceIdentifiers, RuleResource } from './types'; +import { splResourceIdentifiers } from './splunk'; -export const getRuleResourceIdentifier = (rule: OriginalRule): QueryResourceIdentifier => { - return ruleResourceIdentifiers[rule.vendor]; +const ruleResourceIdentifiers: Record = { + splunk: splResourceIdentifiers, }; -export const identifyRuleResources = (rule: OriginalRule): RuleResourceCollection => { - return getRuleResourceIdentifier(rule)(rule.query); +export const getRuleResourceIdentifier = (vendor: OriginalRuleVendor): ResourceIdentifiers => { + return ruleResourceIdentifiers[vendor]; }; -const ruleResourceIdentifiers: Record = { - splunk: splResourceIdentifier, -}; +export class ResourceIdentifier { + private identifiers: ResourceIdentifiers; + + constructor(vendor: OriginalRuleVendor) { + // The constructor may need query_language as an argument for other vendors + this.identifiers = ruleResourceIdentifiers[vendor]; + } + + public fromOriginalRule(originalRule: OriginalRule): RuleResource[] { + return this.identifiers.fromOriginalRule(originalRule); + } + + public fromResource(resource: RuleMigrationResourceData): RuleResource[] { + return this.identifiers.fromResource(resource); + } + + public fromOriginalRules(originalRules: OriginalRule[]): RuleResource[] { + const lists = new Set(); + const macros = new Set(); + originalRules.forEach((rule) => { + const resources = this.identifiers.fromOriginalRule(rule); + resources.forEach((resource) => { + if (resource.type === 'macro') { + macros.add(resource.name); + } else if (resource.type === 'list') { + lists.add(resource.name); + } + }); + }); + return [ + ...Array.from(macros).map((name) => ({ type: 'macro', name })), + ...Array.from(lists).map((name) => ({ type: 'list', name })), + ]; + } + + public fromResources(resources: RuleMigrationResourceData[]): RuleResource[] { + const lists = new Set(); + const macros = new Set(); + resources.forEach((resource) => { + this.identifiers.fromResource(resource).forEach((identifiedResource) => { + if (identifiedResource.type === 'macro') { + macros.add(identifiedResource.name); + } else if (identifiedResource.type === 'list') { + lists.add(identifiedResource.name); + } + }); + }); + return [ + ...Array.from(macros).map((name) => ({ type: 'macro', name })), + ...Array.from(lists).map((name) => ({ type: 'list', name })), + ]; + } +} diff --git a/x-pack/plugins/security_solution/common/siem_migrations/rules/resources/splunk/index.ts b/x-pack/plugins/security_solution/common/siem_migrations/rules/resources/splunk/index.ts new file mode 100644 index 0000000000000..a16c328da947a --- /dev/null +++ b/x-pack/plugins/security_solution/common/siem_migrations/rules/resources/splunk/index.ts @@ -0,0 +1,19 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { ResourceIdentifiers } from '../types'; +import { splResourceIdentifier } from './splunk_identifier'; + +export const splResourceIdentifiers: ResourceIdentifiers = { + fromOriginalRule: (originalRule) => splResourceIdentifier(originalRule.query), + fromResource: (resource) => { + if (resource.type === 'macro' && resource.content) { + return splResourceIdentifier(resource.content); + } + return []; + }, +}; diff --git a/x-pack/plugins/security_solution/common/siem_migrations/rules/resources/splunk/splunk_identifier.test.ts b/x-pack/plugins/security_solution/common/siem_migrations/rules/resources/splunk/splunk_identifier.test.ts new file mode 100644 index 0000000000000..5d144e5b8a38f --- /dev/null +++ b/x-pack/plugins/security_solution/common/siem_migrations/rules/resources/splunk/splunk_identifier.test.ts @@ -0,0 +1,135 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { splResourceIdentifier } from './splunk_identifier'; + +describe('splResourceIdentifier', () => { + it('should extract macros correctly', () => { + const query = + '`macro_zero`, `macro_one(arg1)`, some search command `macro_two(arg1, arg2)` another command `macro_three(arg1, arg2, arg3)`'; + + const result = splResourceIdentifier(query); + expect(result).toEqual([ + { type: 'macro', name: 'macro_zero' }, + { type: 'macro', name: 'macro_one(1)' }, + { type: 'macro', name: 'macro_two(2)' }, + { type: 'macro', name: 'macro_three(3)' }, + ]); + }); + + it('should extract macros with double quotes parameters correctly', () => { + const query = '| `macro_one("90","2")` | `macro_two("20")`'; + + const result = splResourceIdentifier(query); + expect(result).toEqual([ + { type: 'macro', name: 'macro_one(2)' }, + { type: 'macro', name: 'macro_two(1)' }, + ]); + }); + + it('should extract macros with single quotes parameters correctly', () => { + const query = "| `macro_one('90','2')` | `macro_two('20')`"; + + const result = splResourceIdentifier(query); + expect(result).toEqual([ + { type: 'macro', name: 'macro_one(2)' }, + { type: 'macro', name: 'macro_two(1)' }, + ]); + }); + + it('should extract lookup tables correctly', () => { + const query = + 'search ... | lookup my_lookup_table field AS alias OUTPUT new_field | lookup other_lookup_list | lookup third_lookup'; + + const result = splResourceIdentifier(query); + expect(result).toEqual([ + { type: 'list', name: 'my_lookup_table' }, + { type: 'list', name: 'other_lookup_list' }, + { type: 'list', name: 'third_lookup' }, + ]); + }); + + it('should extract both macros and lookup tables correctly', () => { + const query = + '`macro_one` some search command | lookup my_lookup_table field AS alias OUTPUT new_field | lookup other_lookup_list | lookup third_lookup'; + + const result = splResourceIdentifier(query); + expect(result).toEqual([ + { type: 'macro', name: 'macro_one' }, + { type: 'list', name: 'my_lookup_table' }, + { type: 'list', name: 'other_lookup_list' }, + { type: 'list', name: 'third_lookup' }, + ]); + }); + + it('should extract lookup correctly when there are modifiers', () => { + const query = + 'lookup my_lookup_1 field AS alias OUTPUT new_field | lookup local=true my_lookup_2 | lookup update=true my_lookup_3 | lookup local=true update=true my_lookup_4 | lookup update=false local=true my_lookup_5'; + + const result = splResourceIdentifier(query); + expect(result).toEqual([ + { type: 'list', name: 'my_lookup_1' }, + { type: 'list', name: 'my_lookup_2' }, + { type: 'list', name: 'my_lookup_3' }, + { type: 'list', name: 'my_lookup_4' }, + { type: 'list', name: 'my_lookup_5' }, + ]); + }); + + it('should return empty arrays if no macros or lookup tables are found', () => { + const query = 'search | stats count'; + + const result = splResourceIdentifier(query); + expect(result).toEqual([]); + }); + + it('should handle queries with both macros and lookup tables mixed with other commands', () => { + const query = + 'search `macro_one` | `my_lookup_table` field AS alias myfakelookup new_field | lookup real_lookup_list | `third_macro`'; + + const result = splResourceIdentifier(query); + expect(result).toEqual([ + { type: 'macro', name: 'macro_one' }, + { type: 'macro', name: 'my_lookup_table' }, + { type: 'macro', name: 'third_macro' }, + { type: 'list', name: 'real_lookup_list' }, + ]); + }); + + it('should ignore macros or lookup tables inside string literals with double quotes', () => { + const query = + '`macro_one` | lookup my_lookup_table | search title="`macro_two` and lookup another_table"'; + + const result = splResourceIdentifier(query); + expect(result).toEqual([ + { type: 'macro', name: 'macro_one' }, + { type: 'list', name: 'my_lookup_table' }, + ]); + }); + + it('should ignore macros or lookup tables inside string literals with single quotes', () => { + const query = + "`macro_one` | lookup my_lookup_table | search title='`macro_two` and lookup another_table'"; + + const result = splResourceIdentifier(query); + expect(result).toEqual([ + { type: 'macro', name: 'macro_one' }, + { type: 'list', name: 'my_lookup_table' }, + ]); + }); + + it('should ignore macros or lookup tables inside comments wrapped by ```', () => { + const query = + '`macro_one` ```this is a comment with `macro_two` and lookup another_table``` | lookup my_lookup_table ```this is another comment```'; + + const result = splResourceIdentifier(query); + expect(result).toEqual([ + { type: 'macro', name: 'macro_one' }, + { type: 'list', name: 'my_lookup_table' }, + ]); + }); +}); diff --git a/x-pack/plugins/security_solution/common/siem_migrations/rules/resources/splunk/splunk_identifier.ts b/x-pack/plugins/security_solution/common/siem_migrations/rules/resources/splunk/splunk_identifier.ts new file mode 100644 index 0000000000000..2ecc43321b11f --- /dev/null +++ b/x-pack/plugins/security_solution/common/siem_migrations/rules/resources/splunk/splunk_identifier.ts @@ -0,0 +1,56 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +/** + * Important: + * This library uses regular expressions that are executed against arbitrary user input, they need to be safe from ReDoS attacks. + * Please make sure to test all regular expressions them before using them. + * At the time of writing, this tool can be used to test it: https://devina.io/redos-checker + */ + +import type { ResourceIdentifier, RuleResource } from '../types'; + +const listRegex = /\b(?:lookup)\s+([\w-]+)\b/g; // Captures only the lookup name +const macrosRegex = /`([\w-]+)(?:\(([^`]*?)\))?`/g; // Captures only the macro name and arguments + +export const splResourceIdentifier: ResourceIdentifier = (input) => { + // sanitize the query to avoid mismatching macro and list names inside comments or literal strings + const sanitizedInput = sanitizeInput(input); + + const resources: RuleResource[] = []; + let macroMatch; + while ((macroMatch = macrosRegex.exec(sanitizedInput)) !== null) { + const macroName = macroMatch[1] as string; + const args = macroMatch[2] as string; // This captures the content inside the parentheses + const argCount = args ? args.split(',').length : 0; // Count arguments if present + const macroWithArgs = argCount > 0 ? `${macroName}(${argCount})` : macroName; + resources.push({ type: 'macro', name: macroWithArgs }); + } + + let listMatch; + while ((listMatch = listRegex.exec(sanitizedInput)) !== null) { + resources.push({ type: 'list', name: listMatch[1] }); + } + + return resources; +}; + +// Comments should be removed before processing the query to avoid matching macro and list names inside them +const commentRegex = /```.*?```/g; +// Literal strings should be replaced with a placeholder to avoid matching macro and list names inside them +const doubleQuoteStrRegex = /".*?"/g; +const singleQuoteStrRegex = /'.*?'/g; +// lookup operator can have modifiers like local=true or update=false before the lookup name, we need to remove them +const lookupModifiers = /\blookup\b\s+((local|update)=\s*(?:true|false)\s*)+/gi; + +const sanitizeInput = (query: string) => { + return query + .replaceAll(commentRegex, '') + .replaceAll(doubleQuoteStrRegex, '"literal"') + .replaceAll(singleQuoteStrRegex, "'literal'") + .replaceAll(lookupModifiers, 'lookup '); +}; diff --git a/x-pack/plugins/security_solution/common/siem_migrations/rules/resources/splunk_identifier.test.ts b/x-pack/plugins/security_solution/common/siem_migrations/rules/resources/splunk_identifier.test.ts deleted file mode 100644 index 2fa3be223aa67..0000000000000 --- a/x-pack/plugins/security_solution/common/siem_migrations/rules/resources/splunk_identifier.test.ts +++ /dev/null @@ -1,89 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { splResourceIdentifier } from './splunk_identifier'; - -describe('splResourceIdentifier', () => { - it('should extract macros correctly', () => { - const query = - '`macro_zero`, `macro_one(arg1)`, some search command `macro_two(arg1, arg2)` another command `macro_three(arg1, arg2, arg3)`'; - - const result = splResourceIdentifier(query); - - expect(result.macro).toEqual(['macro_zero', 'macro_one(1)', 'macro_two(2)', 'macro_three(3)']); - expect(result.list).toEqual([]); - }); - - it('should extract lookup tables correctly', () => { - const query = - 'search ... | lookup my_lookup_table field AS alias OUTPUT new_field | inputlookup other_lookup_list | lookup third_lookup'; - - const result = splResourceIdentifier(query); - - expect(result.macro).toEqual([]); - expect(result.list).toEqual(['my_lookup_table', 'other_lookup_list', 'third_lookup']); - }); - - it('should extract both macros and lookup tables correctly', () => { - const query = - '`macro_one` some search command | lookup my_lookup_table field AS alias OUTPUT new_field | inputlookup other_lookup_list | lookup third_lookup'; - - const result = splResourceIdentifier(query); - - expect(result.macro).toEqual(['macro_one']); - expect(result.list).toEqual(['my_lookup_table', 'other_lookup_list', 'third_lookup']); - }); - - it('should return empty arrays if no macros or lookup tables are found', () => { - const query = 'search | stats count'; - - const result = splResourceIdentifier(query); - - expect(result.macro).toEqual([]); - expect(result.list).toEqual([]); - }); - - it('should handle queries with both macros and lookup tables mixed with other commands', () => { - const query = - 'search `macro_one` | `my_lookup_table` field AS alias myfakelookup new_field | inputlookup real_lookup_list | `third_macro`'; - - const result = splResourceIdentifier(query); - - expect(result.macro).toEqual(['macro_one', 'my_lookup_table', 'third_macro']); - expect(result.list).toEqual(['real_lookup_list']); - }); - - it('should ignore macros or lookup tables inside string literals with double quotes', () => { - const query = - '`macro_one` | lookup my_lookup_table | search title="`macro_two` and lookup another_table"'; - - const result = splResourceIdentifier(query); - - expect(result.macro).toEqual(['macro_one']); - expect(result.list).toEqual(['my_lookup_table']); - }); - - it('should ignore macros or lookup tables inside string literals with single quotes', () => { - const query = - "`macro_one` | lookup my_lookup_table | search title='`macro_two` and lookup another_table'"; - - const result = splResourceIdentifier(query); - - expect(result.macro).toEqual(['macro_one']); - expect(result.list).toEqual(['my_lookup_table']); - }); - - it('should ignore macros or lookup tables inside comments wrapped by ```', () => { - const query = - '`macro_one` | ```this is a comment with `macro_two` and lookup another_table``` lookup my_lookup_table'; - - const result = splResourceIdentifier(query); - - expect(result.macro).toEqual(['macro_one']); - expect(result.list).toEqual(['my_lookup_table']); - }); -}); diff --git a/x-pack/plugins/security_solution/common/siem_migrations/rules/resources/splunk_identifier.ts b/x-pack/plugins/security_solution/common/siem_migrations/rules/resources/splunk_identifier.ts deleted file mode 100644 index fa46fff941c6b..0000000000000 --- a/x-pack/plugins/security_solution/common/siem_migrations/rules/resources/splunk_identifier.ts +++ /dev/null @@ -1,48 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -/** - * Important: - * This library uses regular expressions that are executed against arbitrary user input, they need to be safe from ReDoS attacks. - * Please make sure to test them before using them in production. - * At the time of writing, this tool can be used to test it: https://devina.io/redos-checker - */ - -import type { QueryResourceIdentifier } from './types'; - -const listRegex = /\b(?:lookup|inputlookup)\s+([\w-]+)\b/g; // Captures only the lookup table name -const macrosRegex = /`([\w-]+)(?:\(([^`]*?)\))?`/g; // Captures only the macro name and arguments - -const commentRegex = /```.*```/g; -const doubleQuoteStrRegex = /".*"/g; -const singleQuoteStrRegex = /'.*'/g; - -export const splResourceIdentifier: QueryResourceIdentifier = (query) => { - // sanitize the query to avoid mismatching macro and list names inside comments or literal strings - const sanitizedQuery = query - .replaceAll(commentRegex, '') - .replaceAll(doubleQuoteStrRegex, '"literal"') - .replaceAll(singleQuoteStrRegex, "'literal'"); - - const macro = []; - let macroMatch; - while ((macroMatch = macrosRegex.exec(sanitizedQuery)) !== null) { - const macroName = macroMatch[1]; - const args = macroMatch[2]; // This captures the content inside the parentheses - const argCount = args ? args.split(',').length : 0; // Count arguments if present - const macroWithArgs = argCount > 0 ? `${macroName}(${argCount})` : macroName; - macro.push(macroWithArgs); - } - - const list = []; - let listMatch; - while ((listMatch = listRegex.exec(sanitizedQuery)) !== null) { - list.push(listMatch[1]); - } - - return { macro, list }; -}; diff --git a/x-pack/plugins/security_solution/common/siem_migrations/rules/resources/types.ts b/x-pack/plugins/security_solution/common/siem_migrations/rules/resources/types.ts index 93f6f3ad3db17..70c6e3b72124f 100644 --- a/x-pack/plugins/security_solution/common/siem_migrations/rules/resources/types.ts +++ b/x-pack/plugins/security_solution/common/siem_migrations/rules/resources/types.ts @@ -5,7 +5,19 @@ * 2.0. */ -import type { RuleMigrationResourceType } from '../../model/rule_migration.gen'; +import type { + OriginalRule, + RuleMigrationResourceData, + RuleMigrationResourceType, +} from '../../model/rule_migration.gen'; -export type RuleResourceCollection = Record; -export type QueryResourceIdentifier = (query: string) => RuleResourceCollection; +export interface RuleResource { + type: RuleMigrationResourceType; + name: string; +} +export type ResourceIdentifier = (input: string) => RuleResource[]; + +export interface ResourceIdentifiers { + fromOriginalRule: (originalRule: OriginalRule) => RuleResource[]; + fromResource: (resource: RuleMigrationResourceData) => RuleResource[]; +} diff --git a/x-pack/plugins/security_solution/public/onboarding/components/onboarding_body/cards/siem_migrations/start_migration/start_migration_card.tsx b/x-pack/plugins/security_solution/public/onboarding/components/onboarding_body/cards/siem_migrations/start_migration/start_migration_card.tsx index c1e7539c8e101..a8d7aa78d0c93 100644 --- a/x-pack/plugins/security_solution/public/onboarding/components/onboarding_body/cards/siem_migrations/start_migration/start_migration_card.tsx +++ b/x-pack/plugins/security_solution/public/onboarding/components/onboarding_body/cards/siem_migrations/start_migration/start_migration_card.tsx @@ -5,8 +5,9 @@ * 2.0. */ -import React, { useCallback, useState } from 'react'; +import React, { useCallback, useEffect, useState } from 'react'; import { EuiSpacer, EuiText } from '@elastic/eui'; +import { SiemMigrationTaskStatus } from '../../../../../../../common/siem_migrations/constants'; import { OnboardingCardId } from '../../../../../constants'; import type { RuleMigrationTaskStats } from '../../../../../../../common/siem_migrations/model/rule_migration.gen'; import { useLatestStats } from '../../../../../../siem_migrations/rules/service/hooks/use_latest_stats'; @@ -21,22 +22,29 @@ import * as i18n from './translations'; import { MissingAIConnectorCallout } from './missing_ai_connector_callout'; export const StartMigrationCard: OnboardingCardComponent = React.memo( - ({ checkComplete, isCardComplete, setExpandedCardId }) => { + ({ setComplete, isCardComplete, setExpandedCardId }) => { const styles = useStyles(); - const { data: migrationsStats, isLoading } = useLatestStats(); + const { data: migrationsStats, isLoading, refreshStats } = useLatestStats(); const [isFlyoutOpen, setIsFlyoutOpen] = useState(); const [flyoutMigrationStats, setFlyoutMigrationStats] = useState< RuleMigrationTaskStats | undefined >(); + useEffect(() => { + // Set card complete if any migration is finished + if (!isCardComplete(OnboardingCardId.siemMigrationsStart) && migrationsStats) { + if (migrationsStats.some(({ status }) => status === SiemMigrationTaskStatus.FINISHED)) { + setComplete(true); + } + } + }, [isCardComplete, migrationsStats, setComplete]); + const closeFlyout = useCallback(() => { setIsFlyoutOpen(false); setFlyoutMigrationStats(undefined); - if (!isCardComplete(OnboardingCardId.siemMigrationsStart)) { - checkComplete(); - } - }, [checkComplete, isCardComplete]); + refreshStats(); + }, [refreshStats]); const openFlyout = useCallback((migrationStats?: RuleMigrationTaskStats) => { setFlyoutMigrationStats(migrationStats); diff --git a/x-pack/plugins/security_solution/public/onboarding/components/onboarding_body/cards/siem_migrations/start_migration/start_migration_check_complete.ts b/x-pack/plugins/security_solution/public/onboarding/components/onboarding_body/cards/siem_migrations/start_migration/start_migration_check_complete.ts index 41e65352d4bc3..79a7238b9554e 100644 --- a/x-pack/plugins/security_solution/public/onboarding/components/onboarding_body/cards/siem_migrations/start_migration/start_migration_check_complete.ts +++ b/x-pack/plugins/security_solution/public/onboarding/components/onboarding_body/cards/siem_migrations/start_migration/start_migration_check_complete.ts @@ -5,12 +5,15 @@ * 2.0. */ +import { SiemMigrationTaskStatus } from '../../../../../../../common/siem_migrations/constants'; import type { OnboardingCardCheckComplete } from '../../../../../types'; export const checkStartMigrationCardComplete: OnboardingCardCheckComplete = async ({ siemMigrations, }) => { const migrationsStats = await siemMigrations.rules.getRuleMigrationsStats(); - const isComplete = migrationsStats.length > 0; + const isComplete = migrationsStats.some( + (migrationStats) => migrationStats.status === SiemMigrationTaskStatus.FINISHED + ); return isComplete; }; diff --git a/x-pack/plugins/security_solution/public/onboarding/components/onboarding_body/cards/siem_migrations/start_migration/upload_rules_panels.tsx b/x-pack/plugins/security_solution/public/onboarding/components/onboarding_body/cards/siem_migrations/start_migration/upload_rules_panels.tsx index 95b53d921fd1f..6d011fc5fbb5b 100644 --- a/x-pack/plugins/security_solution/public/onboarding/components/onboarding_body/cards/siem_migrations/start_migration/upload_rules_panels.tsx +++ b/x-pack/plugins/security_solution/public/onboarding/components/onboarding_body/cards/siem_migrations/start_migration/upload_rules_panels.tsx @@ -28,7 +28,7 @@ export const UploadRulesPanels = React.memo(({ migration {migrationsStats.map((migrationStats) => ( - + {migrationStats.status === SiemMigrationTaskStatus.READY && ( )} diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/api/index.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/api/index.ts index 57fb5d0422093..17aa00dd0f01e 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/api/index.ts +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/api/index.ts @@ -19,6 +19,8 @@ import { SIEM_RULE_MIGRATION_START_PATH, SIEM_RULE_MIGRATION_STATS_PATH, SIEM_RULE_MIGRATION_TRANSLATION_STATS_PATH, + SIEM_RULE_MIGRATION_RESOURCES_MISSING_PATH, + SIEM_RULE_MIGRATION_RESOURCES_PATH, SIEM_RULE_MIGRATIONS_PREBUILT_RULES_PATH, } from '../../../../common/siem_migrations/constants'; import type { @@ -31,6 +33,9 @@ import type { InstallMigrationRulesResponse, StartRuleMigrationRequestBody, GetRuleMigrationStatsResponse, + GetRuleMigrationResourcesMissingResponse, + UpsertRuleMigrationResourcesRequestBody, + UpsertRuleMigrationResourcesResponse, GetRuleMigrationPrebuiltRulesResponse, } from '../../../../common/siem_migrations/model/api/rules/rule_migration.gen'; @@ -86,6 +91,43 @@ export const createRuleMigration = async ({ ); }; +export interface GetRuleMigrationMissingResourcesParams { + /** `id` of the migration to get missing resources for */ + migrationId: string; + /** Optional AbortSignal for cancelling request */ + signal?: AbortSignal; +} +/** Retrieves all missing resources of a specific migration. */ +export const getMissingResources = async ({ + migrationId, + signal, +}: GetRuleMigrationMissingResourcesParams): Promise => { + return KibanaServices.get().http.get( + replaceParams(SIEM_RULE_MIGRATION_RESOURCES_MISSING_PATH, { migration_id: migrationId }), + { version: '1', signal } + ); +}; + +export interface UpsertResourcesParams { + /** Optional `id` of migration to add the resources to. */ + migrationId: string; + /** The body containing the `connectorId` to use for the migration */ + body: UpsertRuleMigrationResourcesRequestBody; + /** Optional AbortSignal for cancelling request */ + signal?: AbortSignal; +} +/** Updates or creates resources for a specific migration. */ +export const upsertMigrationResources = async ({ + migrationId, + body, + signal, +}: UpsertResourcesParams): Promise => { + return KibanaServices.get().http.post( + replaceParams(SIEM_RULE_MIGRATION_RESOURCES_PATH, { migration_id: migrationId }), + { body: JSON.stringify(body), version: '1', signal } + ); +}; + export interface StartRuleMigrationParams { /** `id` of the migration to start */ migrationId: string; diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/constants.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/constants.ts index aa331bf17c832..d390b395ed98f 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/constants.ts +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/constants.ts @@ -5,13 +5,7 @@ * 2.0. */ -export enum DataInputStep { - rules = 'rules', - macros = 'macros', - lookups = 'lookups', -} - -export const SPL_RULES_COLUMNS = [ +export const SPLUNK_RULES_COLUMNS = [ 'id', 'title', 'search', @@ -23,4 +17,9 @@ export const SPL_RULES_COLUMNS = [ export const RULES_SPLUNK_QUERY = `| rest /servicesNS/-/-/saved/searches | search action.correlationsearch.enabled = "1" OR (eai:acl.app = "Splunk_Security_Essentials" AND is_scheduled=1) | where disabled=0 -| table ${SPL_RULES_COLUMNS.join(', ')}`; +| table ${SPLUNK_RULES_COLUMNS.join(', ')}`; + +export const SPLUNK_MACROS_COLUMNS = ['title', 'definition'] as const; + +export const MACROS_SPLUNK_QUERY = `| rest /servicesNS/-/-/admin/macros count=0 +| table ${SPLUNK_MACROS_COLUMNS.join(', ')}`; diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/data_input_flyout.tsx b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/data_input_flyout.tsx index 6a4916a5e54b3..ffc40c59d495a 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/data_input_flyout.tsx +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/data_input_flyout.tsx @@ -17,10 +17,19 @@ import { EuiButton, } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; -import type { RuleMigrationTaskStats } from '../../../../../common/siem_migrations/model/rule_migration.gen'; -import { DataInputStep } from './constants'; +import type { + RuleMigrationResourceData, + RuleMigrationTaskStats, +} from '../../../../../common/siem_migrations/model/rule_migration.gen'; import { RulesDataInput } from './steps/rules/rules_data_input'; import { useStartMigration } from '../../service/hooks/use_start_migration'; +import { DataInputStep } from './types'; +import { MacrosDataInput } from './steps/macros/macros_data_input'; + +interface MissingResourcesIndexed { + macros: string[]; + lookups: string[]; +} export interface MigrationDataInputFlyoutProps { onClose: () => void; @@ -31,6 +40,9 @@ export const MigrationDataInputFlyout = React.memo( initialMigrationSats ); + const [missingResourcesIndexed, setMissingResourcesIndexed] = useState< + MissingResourcesIndexed | undefined + >(); const { startMigration, isLoading: isStartLoading } = useStartMigration(onClose); const onStartMigration = useCallback(() => { @@ -39,23 +51,43 @@ export const MigrationDataInputFlyout = React.memo(() => { - if (migrationStats) { - return DataInputStep.macros; - } - return DataInputStep.rules; - }); + const [dataInputStep, setDataInputStep] = useState(DataInputStep.Rules); - const onMigrationCreated = useCallback( - (createdMigrationStats: RuleMigrationTaskStats) => { - if (createdMigrationStats) { - setMigrationStats(createdMigrationStats); - setDataInputStep(DataInputStep.macros); + const onMigrationCreated = useCallback((createdMigrationStats: RuleMigrationTaskStats) => { + setMigrationStats(createdMigrationStats); + }, []); + + const onMissingResourcesFetched = useCallback( + (missingResources: RuleMigrationResourceData[]) => { + const newMissingResourcesIndexed = missingResources.reduce( + (acc, { type, name }) => { + if (type === 'macro') { + acc.macros.push(name); + } else if (type === 'list') { + acc.lookups.push(name); + } + return acc; + }, + { macros: [], lookups: [] } + ); + setMissingResourcesIndexed(newMissingResourcesIndexed); + if (newMissingResourcesIndexed.macros.length) { + setDataInputStep(DataInputStep.Macros); + return; + } + if (newMissingResourcesIndexed.lookups.length) { + setDataInputStep(DataInputStep.Lookups); + return; } + setDataInputStep(DataInputStep.End); }, - [setDataInputStep] + [] ); + const onMacrosCreated = useCallback(() => { + setDataInputStep(DataInputStep.Lookups); + }, []); + return ( - + + + + + + + + diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/common/get_status.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/common/get_status.ts new file mode 100644 index 0000000000000..f9f14298d00be --- /dev/null +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/common/get_status.ts @@ -0,0 +1,18 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { EuiStepStatus } from '@elastic/eui'; + +export const getStatus = (step: number, currentStep: number): EuiStepStatus => { + if (step === currentStep) { + return 'current'; + } + if (step < currentStep) { + return 'complete'; + } + return 'incomplete'; +}; diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/common/sub_step_wrapper.tsx b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/common/sub_step_wrapper.tsx index 438134b0ad99a..fc0bd0e8c3b44 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/common/sub_step_wrapper.tsx +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/common/sub_step_wrapper.tsx @@ -16,11 +16,11 @@ const style = css` } `; -export const SubStepWrapper = React.memo>(({ children }) => { +export const SubStepsWrapper = React.memo>(({ children }) => { return ( {children} ); }); -SubStepWrapper.displayName = 'SubStepWrapper'; +SubStepsWrapper.displayName = 'SubStepsWrapper'; diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/common/use_parse_file_input.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/common/use_parse_file_input.ts new file mode 100644 index 0000000000000..b99cf826194f9 --- /dev/null +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/common/use_parse_file_input.ts @@ -0,0 +1,117 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { useState, useCallback } from 'react'; +import { FILE_UPLOAD_ERROR } from '../../translations'; + +export interface SplunkRow { + result: T; +} + +export type OnFileParsed = (content: SplunkRow[]) => void; + +export const useParseFileInput = (onFileParsed: OnFileParsed) => { + const [isParsing, setIsParsing] = useState(false); + const [error, setError] = useState(); + + const parseFile = useCallback( + (files: FileList | null) => { + if (!files) { + return; + } + + setError(undefined); + + const rulesFile = files[0]; + const reader = new FileReader(); + + reader.onloadstart = () => setIsParsing(true); + reader.onloadend = () => setIsParsing(false); + + reader.onload = function (e) { + // We can safely cast to string since we call `readAsText` to load the file. + const fileContent = e.target?.result as string | undefined; + + if (fileContent == null) { + setError(FILE_UPLOAD_ERROR.CAN_NOT_READ); + return; + } + + if (fileContent === '' && e.loaded > 100000) { + // V8-based browsers can't handle large files and return an empty string + // instead of an error; see https://stackoverflow.com/a/61316641 + setError(FILE_UPLOAD_ERROR.TOO_LARGE_TO_PARSE); + return; + } + + try { + const parsedData = parseContent(fileContent); + onFileParsed(parsedData); + } catch (err) { + setError(err.message); + } + }; + + const handleReaderError = function () { + const message = reader.error?.message; + if (message) { + setError(FILE_UPLOAD_ERROR.CAN_NOT_READ_WITH_REASON(message)); + } else { + setError(FILE_UPLOAD_ERROR.CAN_NOT_READ); + } + }; + + reader.onerror = handleReaderError; + reader.onabort = handleReaderError; + + reader.readAsText(rulesFile); + }, + [onFileParsed] + ); + + return { parseFile, isParsing, error }; +}; + +const parseContent = (fileContent: string): SplunkRow[] => { + const trimmedContent = fileContent.trim(); + let arrayContent: SplunkRow[]; + if (trimmedContent.startsWith('[')) { + arrayContent = parseJSONArray(trimmedContent); + } else { + arrayContent = parseNDJSON(trimmedContent); + } + if (arrayContent.length === 0) { + throw new Error(FILE_UPLOAD_ERROR.EMPTY); + } + return arrayContent; +}; + +const parseNDJSON = (fileContent: string): SplunkRow[] => { + return fileContent + .split(/\n(?=\{)/) // split at newline followed by '{'. + .filter((entry) => entry.trim() !== '') // Remove empty entries. + .map(parseJSON); // Parse each entry as JSON. +}; + +const parseJSONArray = (fileContent: string): SplunkRow[] => { + const parsedContent = parseJSON(fileContent); + if (!Array.isArray(parsedContent)) { + throw new Error(FILE_UPLOAD_ERROR.NOT_ARRAY); + } + return parsedContent; +}; + +const parseJSON = (fileContent: string) => { + try { + return JSON.parse(fileContent); + } catch (error) { + if (error instanceof RangeError) { + throw new Error(FILE_UPLOAD_ERROR.TOO_LARGE_TO_PARSE); + } + throw new Error(FILE_UPLOAD_ERROR.CAN_NOT_PARSE); + } +}; diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/macros_data_input.tsx b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/macros_data_input.tsx new file mode 100644 index 0000000000000..f19e704b96710 --- /dev/null +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/macros_data_input.tsx @@ -0,0 +1,140 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { EuiStepProps } from '@elastic/eui'; +import { + EuiFlexGroup, + EuiFlexItem, + EuiPanel, + EuiStepNumber, + EuiSteps, + EuiTitle, +} from '@elastic/eui'; +import React, { useCallback, useMemo, useState } from 'react'; +import type { RuleMigrationTaskStats } from '../../../../../../../common/siem_migrations/model/rule_migration.gen'; +import { SubStepsWrapper } from '../common/sub_step_wrapper'; +import type { OnResourcesCreated, OnMissingResourcesFetched, DataInputStep } from '../../types'; +import { getStatus } from '../common/get_status'; +import { useCopyExportQueryStep } from './sub_steps/copy_export_query'; +import { useMacrosFileUploadStep } from './sub_steps/macros_file_upload'; +import * as i18n from './translations'; +import { useCheckResourcesStep } from './sub_steps/check_resources'; + +const DataInputStepNumber: DataInputStep = 2; + +interface MacrosDataInputSubStepsProps { + migrationStats: RuleMigrationTaskStats; + missingMacros: string[]; + onMacrosCreated: OnResourcesCreated; + onMissingResourcesFetched: OnMissingResourcesFetched; +} +interface MacrosDataInputProps + extends Omit { + dataInputStep: DataInputStep; + migrationStats?: RuleMigrationTaskStats; + missingMacros?: string[]; +} +export const MacrosDataInput = React.memo( + ({ + dataInputStep, + migrationStats, + missingMacros, + onMacrosCreated, + onMissingResourcesFetched, + }) => { + const dataInputStatus = useMemo( + () => getStatus(DataInputStepNumber, dataInputStep), + [dataInputStep] + ); + + return ( + + + + + + + + + + {i18n.MACROS_DATA_INPUT_TITLE} + + + + + {dataInputStatus === 'current' && migrationStats && missingMacros && ( + + + + )} + + + ); + } +); +MacrosDataInput.displayName = 'MacrosDataInput'; + +const END = 10 as const; +type SubStep = 1 | 2 | 3 | typeof END; +export const MacrosDataInputSubSteps = React.memo( + ({ migrationStats, missingMacros, onMacrosCreated, onMissingResourcesFetched }) => { + const [subStep, setSubStep] = useState(missingMacros.length ? 1 : 3); + + // Copy query step + const onCopied = useCallback(() => { + setSubStep(2); + }, []); + const copyStep = useCopyExportQueryStep({ status: getStatus(1, subStep), onCopied }); + + // Upload macros step + const onMacrosCreatedStep = useCallback(() => { + onMacrosCreated(); + setSubStep(3); + }, [onMacrosCreated]); + const uploadStep = useMacrosFileUploadStep({ + status: getStatus(2, subStep), + migrationStats, + missingMacros, + onMacrosCreated: onMacrosCreatedStep, + }); + + // Check missing resources step + const onMissingResourcesFetchedStep = useCallback( + (newMissingResources) => { + onMissingResourcesFetched(newMissingResources); + setSubStep(END); + }, + [onMissingResourcesFetched] + ); + const resourcesStep = useCheckResourcesStep({ + status: getStatus(3, subStep), + migrationStats, + onMissingResourcesFetched: onMissingResourcesFetchedStep, + }); + + const steps = useMemo( + () => [copyStep, uploadStep, resourcesStep], + [copyStep, uploadStep, resourcesStep] + ); + + return ( + + + + ); + } +); +MacrosDataInputSubSteps.displayName = 'MacrosDataInputActive'; diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/check_resources/index.tsx b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/check_resources/index.tsx new file mode 100644 index 0000000000000..d83890e1f260c --- /dev/null +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/check_resources/index.tsx @@ -0,0 +1,54 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React, { useEffect, useMemo } from 'react'; +import { EuiText, type EuiStepProps, type EuiStepStatus } from '@elastic/eui'; +// import { useGetMissingResources } from '../../../../../../logic/use_get_migration_missing_resources'; +import type { RuleMigrationTaskStats } from '../../../../../../../../../common/siem_migrations/model/rule_migration.gen'; +import { useGetMissingResources } from '../../../../../../service/hooks/use_get_missing_resources'; +import type { OnMissingResourcesFetched } from '../../../../types'; +import * as i18n from './translations'; + +export interface CheckResourcesStepProps { + status: EuiStepStatus; + migrationStats: RuleMigrationTaskStats | undefined; + onMissingResourcesFetched: OnMissingResourcesFetched; +} +export const useCheckResourcesStep = ({ + status, + migrationStats, + onMissingResourcesFetched, +}: CheckResourcesStepProps): EuiStepProps => { + const { getMissingResources, isLoading, error } = + useGetMissingResources(onMissingResourcesFetched); + + useEffect(() => { + if (status === 'current' && migrationStats?.id) { + getMissingResources(migrationStats.id); + } + }, [getMissingResources, status, migrationStats?.id]); + + const uploadStepStatus = useMemo(() => { + if (isLoading) { + return 'loading'; + } + if (error) { + return 'danger'; + } + return status; + }, [isLoading, error, status]); + + return { + title: i18n.RULES_DATA_INPUT_CHECK_RESOURCES_TITLE, + status: uploadStepStatus, + children: ( + + {i18n.RULES_DATA_INPUT_CHECK_RESOURCES_DESCRIPTION} + + ), + }; +}; diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/check_resources/translations.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/check_resources/translations.ts new file mode 100644 index 0000000000000..159b4033fafd6 --- /dev/null +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/check_resources/translations.ts @@ -0,0 +1,20 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { i18n } from '@kbn/i18n'; + +export const RULES_DATA_INPUT_CHECK_RESOURCES_TITLE = i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.rules.checkResources.title', + { defaultMessage: 'Check for macros and lookups' } +); + +export const RULES_DATA_INPUT_CHECK_RESOURCES_DESCRIPTION = i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.rules.checkResources.description', + { + defaultMessage: `For best translation results, we will automatically review your rules for macros and lookups and ask you to upload them. Once uploaded, we'll be able to deliver a more complete rule translation for all rules using those macros or lookups.`, + } +); diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/copy_export_query/copy_export_query.tsx b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/copy_export_query/copy_export_query.tsx new file mode 100644 index 0000000000000..93f2ce715184c --- /dev/null +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/copy_export_query/copy_export_query.tsx @@ -0,0 +1,53 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React, { useCallback } from 'react'; +import { EuiCodeBlock, EuiSpacer, EuiText } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; +import { MACROS_SPLUNK_QUERY } from '../../../../constants'; +import * as i18n from './translations'; + +interface CopyExportQueryProps { + onCopied: () => void; +} +export const CopyExportQuery = React.memo(({ onCopied }) => { + const onClick: React.MouseEventHandler = useCallback( + (ev) => { + // The only button inside the element is the "copy" button. + if ((ev.target as Element).tagName === 'BUTTON') { + onCopied(); + } + }, + [onCopied] + ); + + return ( + <> + {/* The click event is also dispatched when using the keyboard actions (space or enter) for "copy" button. + No need to use keyboard specific events, disabling the a11y lint rule:*/} + {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */} +
+ {/* onCopy react event is dispatched when the user copies text manually */} + + {MACROS_SPLUNK_QUERY} + +
+ + + {i18n.RULES_DATA_INPUT_COPY_DESCRIPTION_SECTION}, + format: {'JSON'}, + }} + /> + + + ); +}); +CopyExportQuery.displayName = 'CopyExportQuery'; diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/copy_export_query/index.tsx b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/copy_export_query/index.tsx new file mode 100644 index 0000000000000..3d2adcc78857b --- /dev/null +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/copy_export_query/index.tsx @@ -0,0 +1,26 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import type { EuiStepProps, EuiStepStatus } from '@elastic/eui'; +import { CopyExportQuery } from './copy_export_query'; +import * as i18n from './translations'; + +export interface CopyExportQueryStepProps { + status: EuiStepStatus; + onCopied: () => void; +} +export const useCopyExportQueryStep = ({ + status, + onCopied, +}: CopyExportQueryStepProps): EuiStepProps => { + return { + title: i18n.RULES_DATA_INPUT_COPY_TITLE, + status, + children: , + }; +}; diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/copy_export_query/translations.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/copy_export_query/translations.ts new file mode 100644 index 0000000000000..71466a54dd138 --- /dev/null +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/copy_export_query/translations.ts @@ -0,0 +1,18 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { i18n } from '@kbn/i18n'; + +export const RULES_DATA_INPUT_COPY_TITLE = i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.macros.copyExportQuery.title', + { defaultMessage: 'Copy macros query' } +); + +export const RULES_DATA_INPUT_COPY_DESCRIPTION_SECTION = i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.macros.copyExportQuery.description.section', + { defaultMessage: 'Search and Reporting' } +); diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/macros_file_upload/index.tsx b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/macros_file_upload/index.tsx new file mode 100644 index 0000000000000..f2353e3f0276a --- /dev/null +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/macros_file_upload/index.tsx @@ -0,0 +1,94 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React, { useCallback, useMemo } from 'react'; +import type { EuiStepProps, EuiStepStatus } from '@elastic/eui'; +import { ResourceIdentifier } from '../../../../../../../../../common/siem_migrations/rules/resources'; +import { useUpsertResources } from '../../../../../../service/hooks/use_upsert_resources'; +import type { + RuleMigrationResourceData, + RuleMigrationTaskStats, +} from '../../../../../../../../../common/siem_migrations/model/rule_migration.gen'; +import type { OnResourcesCreated } from '../../../../types'; +import { MacrosFileUpload } from './macros_file_upload'; +import * as i18n from './translations'; + +export interface RulesFileUploadStepProps { + status: EuiStepStatus; + migrationStats: RuleMigrationTaskStats; + missingMacros: string[]; + onMacrosCreated: OnResourcesCreated; +} +export const useMacrosFileUploadStep = ({ + status, + migrationStats, + missingMacros, + onMacrosCreated, +}: RulesFileUploadStepProps): EuiStepProps => { + const { upsertResources, isLoading, error } = useUpsertResources(onMacrosCreated); + + const upsertMigrationResources = useCallback( + (macrosFromFile: RuleMigrationResourceData[]) => { + const macrosIndexed: Record = Object.fromEntries( + macrosFromFile.map((macro) => [macro.name, macro]) + ); + const resourceIdentifier = new ResourceIdentifier('splunk'); + const macrosToUpsert: RuleMigrationResourceData[] = []; + let missingMacrosIt: string[] = missingMacros; + + while (missingMacrosIt.length > 0) { + const macros: RuleMigrationResourceData[] = []; + missingMacrosIt.forEach((macroName) => { + const macro = macrosIndexed[macroName]; + if (macro) { + macros.push(macro); + } else { + // Macro missing from file + } + }); + macrosToUpsert.push(...macros); + + missingMacrosIt = resourceIdentifier + .fromResources(macros) + .reduce((acc, resource) => { + if (resource.type === 'macro') { + acc.push(resource.name); + } + return acc; + }, []); + } + + if (macrosToUpsert.length === 0) { + return; // No missing macros provided + } + upsertResources(migrationStats.id, macrosToUpsert); + }, + [upsertResources, migrationStats, missingMacros] + ); + + const uploadStepStatus = useMemo(() => { + if (isLoading) { + return 'loading'; + } + if (error) { + return 'danger'; + } + return status; + }, [isLoading, error, status]); + + return { + title: i18n.RULES_DATA_INPUT_FILE_UPLOAD_TITLE, + status: uploadStepStatus, + children: ( + + ), + }; +}; diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/macros_file_upload/macros_file_upload.tsx b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/macros_file_upload/macros_file_upload.tsx new file mode 100644 index 0000000000000..b8d7022d9b454 --- /dev/null +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/macros_file_upload/macros_file_upload.tsx @@ -0,0 +1,89 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React, { useCallback, useMemo } from 'react'; +import { EuiFilePicker, EuiFormRow, EuiText } from '@elastic/eui'; +import { isPlainObject } from 'lodash'; +import type { RuleMigrationResourceData } from '../../../../../../../../../common/siem_migrations/model/rule_migration.gen'; +import { FILE_UPLOAD_ERROR } from '../../../../translations'; +import type { SPLUNK_MACROS_COLUMNS } from '../../../../constants'; +import { useParseFileInput, type SplunkRow } from '../../../common/use_parse_file_input'; +import * as i18n from './translations'; + +type SplunkMacroResult = Partial>; + +export interface MacrosFileUploadProps { + createResources: (resources: RuleMigrationResourceData[]) => void; + apiError?: string; + isLoading?: boolean; +} +export const MacrosFileUpload = React.memo( + ({ createResources, apiError, isLoading }) => { + const onFileParsed = useCallback( + (content: Array>) => { + const rules = content.map(formatMacroRow); + createResources(rules); + }, + [createResources] + ); + + const { parseFile, isParsing, error: fileError } = useParseFileInput(onFileParsed); + + const error = useMemo(() => { + if (apiError) { + return apiError; + } + return fileError; + }, [apiError, fileError]); + + return ( + + {error} + + } + isInvalid={error != null} + fullWidth + > + + + {i18n.RULES_DATA_INPUT_FILE_UPLOAD_PROMPT} + + + } + accept="application/json, application/x-ndjson" + onChange={parseFile} + display="large" + aria-label="Upload logs sample file" + isLoading={isParsing || isLoading} + disabled={isParsing || isLoading} + data-test-subj="macrosFilePicker" + data-loading={isParsing} + /> + + ); + } +); +MacrosFileUpload.displayName = 'MacrosFileUpload'; + +const formatMacroRow = (row: SplunkRow): RuleMigrationResourceData => { + if (!isPlainObject(row.result)) { + throw new Error(FILE_UPLOAD_ERROR.NOT_OBJECT); + } + const macroResource: Partial = { + type: 'macro', + name: row.result.title, + content: row.result.definition, + }; + // resource document format validation delegated to API + return macroResource as RuleMigrationResourceData; +}; diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/macros_file_upload/translations.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/macros_file_upload/translations.ts new file mode 100644 index 0000000000000..25b64787d6dcd --- /dev/null +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/sub_steps/macros_file_upload/translations.ts @@ -0,0 +1,26 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { i18n } from '@kbn/i18n'; + +export const RULES_DATA_INPUT_FILE_UPLOAD_TITLE = i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.macros.macrosFileUpload.title', + { defaultMessage: 'Update your macros export' } +); +export const RULES_DATA_INPUT_FILE_UPLOAD_PROMPT = i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.macros.macrosFileUpload.prompt', + { defaultMessage: 'Select or drag and drop the exported JSON file' } +); + +export const RULES_DATA_INPUT_CREATE_MIGRATION_SUCCESS = i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.macros.macrosFileUpload.createSuccess', + { defaultMessage: 'Macros uploaded successfully' } +); +export const RULES_DATA_INPUT_CREATE_MIGRATION_ERROR = i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.macros.macrosFileUpload.createError', + { defaultMessage: 'Failed to upload macros file' } +); diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/translations.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/translations.ts new file mode 100644 index 0000000000000..7061e91311308 --- /dev/null +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/macros/translations.ts @@ -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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { i18n } from '@kbn/i18n'; + +export const MACROS_DATA_INPUT_TITLE = i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.macros.title', + { defaultMessage: 'Upload identified macros' } +); diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/rules_data_input.tsx b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/rules_data_input.tsx index 2b20dcda0cea7..acc22a030b02f 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/rules_data_input.tsx +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/rules_data_input.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import type { EuiStepProps, EuiStepStatus } from '@elastic/eui'; +import type { EuiStepProps } from '@elastic/eui'; import { EuiFlexGroup, EuiFlexItem, @@ -14,57 +14,31 @@ import { EuiSteps, EuiTitle, } from '@elastic/eui'; -import React, { useMemo, useState } from 'react'; -import { SubStepWrapper } from '../common/sub_step_wrapper'; -import type { OnMigrationCreated } from '../../types'; +import React, { useCallback, useMemo, useState } from 'react'; +import type { RuleMigrationTaskStats } from '../../../../../../../common/siem_migrations/model/rule_migration.gen'; +import { SubStepsWrapper } from '../common/sub_step_wrapper'; +import type { OnMigrationCreated, OnMissingResourcesFetched, DataInputStep } from '../../types'; import { useCopyExportQueryStep } from './sub_steps/copy_export_query'; import { useRulesFileUploadStep } from './sub_steps/rules_file_upload'; import * as i18n from './translations'; import { useCheckResourcesStep } from './sub_steps/check_resources'; +import { getStatus } from '../common/get_status'; -type Step = 1 | 2 | 3 | 4; -const getStatus = (step: Step, currentStep: Step): EuiStepStatus => { - if (step === currentStep) { - return 'current'; - } - if (step < currentStep) { - return 'complete'; - } - return 'incomplete'; -}; +const DataInputStepNumber: DataInputStep = 1; -interface RulesDataInputProps { - selected: boolean; +interface RulesDataInputSubStepsProps { + migrationStats?: RuleMigrationTaskStats; onMigrationCreated: OnMigrationCreated; + onMissingResourcesFetched: OnMissingResourcesFetched; +} +interface RulesDataInputProps extends RulesDataInputSubStepsProps { + dataInputStep: DataInputStep; } - export const RulesDataInput = React.memo( - ({ selected, onMigrationCreated }) => { - const [step, setStep] = useState(1); - - const copyStep = useCopyExportQueryStep({ - status: getStatus(1, step), - onCopied: () => setStep(2), - }); - - const uploadStep = useRulesFileUploadStep({ - status: getStatus(2, step), - onMigrationCreated: (stats) => { - onMigrationCreated(stats); - setStep(3); - }, - }); - - const resourcesStep = useCheckResourcesStep({ - status: getStatus(3, step), - onComplete: () => { - setStep(4); - }, - }); - - const steps = useMemo( - () => [copyStep, uploadStep, resourcesStep], - [copyStep, uploadStep, resourcesStep] + ({ dataInputStep, migrationStats, onMigrationCreated, onMissingResourcesFetched }) => { + const dataInputStatus = useMemo( + () => getStatus(DataInputStepNumber, dataInputStep), + [dataInputStep] ); return ( @@ -73,7 +47,11 @@ export const RulesDataInput = React.memo( - + @@ -82,14 +60,72 @@ export const RulesDataInput = React.memo( - - - - - + {dataInputStatus === 'current' && ( + + + + )}
); } ); RulesDataInput.displayName = 'RulesDataInput'; + +const END = 10 as const; +type SubStep = 1 | 2 | 3 | typeof END; +export const RulesDataInputSubSteps = React.memo( + ({ migrationStats, onMigrationCreated, onMissingResourcesFetched }) => { + const [subStep, setSubStep] = useState(migrationStats ? 3 : 1); + + // Copy query step + const onCopied = useCallback(() => { + setSubStep(2); + }, []); + const copyStep = useCopyExportQueryStep({ status: getStatus(1, subStep), onCopied }); + + // Upload rules step + const onMigrationCreatedStep = useCallback( + (stats) => { + onMigrationCreated(stats); + setSubStep(3); + }, + [onMigrationCreated] + ); + const uploadStep = useRulesFileUploadStep({ + status: getStatus(2, subStep), + migrationStats, + onMigrationCreated: onMigrationCreatedStep, + }); + + // Check missing resources step + const onMissingResourcesFetchedStep = useCallback( + (missingResources) => { + onMissingResourcesFetched(missingResources); + setSubStep(END); + }, + [onMissingResourcesFetched] + ); + const resourcesStep = useCheckResourcesStep({ + status: getStatus(3, subStep), + migrationStats, + onMissingResourcesFetched: onMissingResourcesFetchedStep, + }); + + const steps = useMemo( + () => [copyStep, uploadStep, resourcesStep], + [copyStep, uploadStep, resourcesStep] + ); + + return ( + + + + ); + } +); +RulesDataInputSubSteps.displayName = 'RulesDataInputActive'; diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/sub_steps/check_resources/index.tsx b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/sub_steps/check_resources/index.tsx index 3b081eb203267..02aa109872f4a 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/sub_steps/check_resources/index.tsx +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/sub_steps/check_resources/index.tsx @@ -5,22 +5,45 @@ * 2.0. */ -import React from 'react'; +import React, { useEffect, useMemo } from 'react'; import { EuiText, type EuiStepProps, type EuiStepStatus } from '@elastic/eui'; +import type { RuleMigrationTaskStats } from '../../../../../../../../../common/siem_migrations/model/rule_migration.gen'; +import { useGetMissingResources } from '../../../../../../service/hooks/use_get_missing_resources'; +import type { OnMissingResourcesFetched } from '../../../../types'; import * as i18n from './translations'; export interface CheckResourcesStepProps { status: EuiStepStatus; - onComplete: () => void; + migrationStats: RuleMigrationTaskStats | undefined; + onMissingResourcesFetched: OnMissingResourcesFetched; } export const useCheckResourcesStep = ({ status, - onComplete, + migrationStats, + onMissingResourcesFetched, }: CheckResourcesStepProps): EuiStepProps => { - // onComplete(); // TODO: check the resources + const { getMissingResources, isLoading, error } = + useGetMissingResources(onMissingResourcesFetched); + + useEffect(() => { + if (status === 'current' && migrationStats?.id) { + getMissingResources(migrationStats.id); + } + }, [getMissingResources, status, migrationStats?.id]); + + const uploadStepStatus = useMemo(() => { + if (isLoading) { + return 'loading'; + } + if (error) { + return 'danger'; + } + return status; + }, [isLoading, error, status]); + return { title: i18n.RULES_DATA_INPUT_CHECK_RESOURCES_TITLE, - status, + status: uploadStepStatus, children: ( {i18n.RULES_DATA_INPUT_CHECK_RESOURCES_DESCRIPTION} diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/sub_steps/copy_export_query/translations.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/sub_steps/copy_export_query/translations.ts index d76eb71f2e378..78a0636661604 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/sub_steps/copy_export_query/translations.ts +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/sub_steps/copy_export_query/translations.ts @@ -9,7 +9,7 @@ import { i18n } from '@kbn/i18n'; export const RULES_DATA_INPUT_COPY_TITLE = i18n.translate( 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.rules.copyExportQuery.title', - { defaultMessage: 'Copy and export query' } + { defaultMessage: 'Copy rules query' } ); export const RULES_DATA_INPUT_COPY_DESCRIPTION_SECTION = i18n.translate( diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/sub_steps/rules_file_upload/index.tsx b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/sub_steps/rules_file_upload/index.tsx index ab7838b28908b..97dfd903e499e 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/sub_steps/rules_file_upload/index.tsx +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/sub_steps/rules_file_upload/index.tsx @@ -7,6 +7,7 @@ import React, { useCallback, useMemo, useState } from 'react'; import type { EuiStepProps, EuiStepStatus } from '@elastic/eui'; +import type { RuleMigrationTaskStats } from '../../../../../../../../../common/siem_migrations/model/rule_migration.gen'; import type { OnMigrationCreated } from '../../../../types'; import { RulesFileUpload } from './rules_file_upload'; import { @@ -17,13 +18,15 @@ import * as i18n from './translations'; export interface RulesFileUploadStepProps { status: EuiStepStatus; + migrationStats?: RuleMigrationTaskStats; onMigrationCreated: OnMigrationCreated; } export const useRulesFileUploadStep = ({ status, + migrationStats, onMigrationCreated, }: RulesFileUploadStepProps): EuiStepProps => { - const [isCreated, setIsCreated] = useState(false); + const [isCreated, setIsCreated] = useState(!!migrationStats); const onSuccess = useCallback( (stats) => { setIsCreated(true); diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/sub_steps/rules_file_upload/parse_rules_file.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/sub_steps/rules_file_upload/parse_rules_file.ts deleted file mode 100644 index 3d5dbb32ccde8..0000000000000 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/sub_steps/rules_file_upload/parse_rules_file.ts +++ /dev/null @@ -1,79 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { isPlainObject } from 'lodash/fp'; -import type { OriginalRule } from '../../../../../../../../../common/siem_migrations/model/rule_migration.gen'; -import type { SPL_RULES_COLUMNS } from '../../../../constants'; -import * as i18n from './translations'; - -type SplunkResult = Partial>; -interface SplunkRow { - result: SplunkResult; -} - -export const parseContent = (fileContent: string): OriginalRule[] => { - const trimmedContent = fileContent.trim(); - let arrayContent: SplunkRow[]; - if (trimmedContent.startsWith('[')) { - arrayContent = parseJSONArray(trimmedContent); - } else { - arrayContent = parseNDJSON(trimmedContent); - } - if (arrayContent.length === 0) { - throw new Error(i18n.RULES_DATA_INPUT_FILE_UPLOAD_ERROR.EMPTY); - } - return arrayContent.map(convertFormat); -}; - -const parseNDJSON = (fileContent: string): SplunkRow[] => { - return fileContent - .split(/\n(?=\{)/) // split at newline followed by '{'. - .filter((entry) => entry.trim() !== '') // Remove empty entries. - .map(parseJSON); // Parse each entry as JSON. -}; - -const parseJSONArray = (fileContent: string): SplunkRow[] => { - const parsedContent = parseJSON(fileContent); - if (!Array.isArray(parsedContent)) { - throw new Error(i18n.RULES_DATA_INPUT_FILE_UPLOAD_ERROR.NOT_ARRAY); - } - return parsedContent; -}; - -const parseJSON = (fileContent: string) => { - try { - return JSON.parse(fileContent); - } catch (error) { - if (error instanceof RangeError) { - throw new Error(i18n.RULES_DATA_INPUT_FILE_UPLOAD_ERROR.TOO_LARGE_TO_PARSE); - } - throw new Error(i18n.RULES_DATA_INPUT_FILE_UPLOAD_ERROR.CAN_NOT_PARSE); - } -}; - -const convertFormat = (row: SplunkRow): OriginalRule => { - if (!isPlainObject(row) || !isPlainObject(row.result)) { - throw new Error(i18n.RULES_DATA_INPUT_FILE_UPLOAD_ERROR.NOT_OBJECT); - } - const originalRule: Partial = { - id: row.result.id, - vendor: 'splunk', - title: row.result.title, - query: row.result.search, - query_language: 'spl', - description: row.result['action.escu.eli5']?.trim() || row.result.description, - }; - - if (row.result['action.correlationsearch.annotations']) { - try { - originalRule.annotations = JSON.parse(row.result['action.correlationsearch.annotations']); - } catch (error) { - delete originalRule.annotations; - } - } - return originalRule as OriginalRule; -}; diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/sub_steps/rules_file_upload/rules_file_upload.tsx b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/sub_steps/rules_file_upload/rules_file_upload.tsx index 0f9787a4ddf68..bec9182420073 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/sub_steps/rules_file_upload/rules_file_upload.tsx +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/sub_steps/rules_file_upload/rules_file_upload.tsx @@ -5,12 +5,17 @@ * 2.0. */ -import React, { useCallback, useMemo, useState } from 'react'; +import React, { useCallback, useMemo } from 'react'; import { EuiFilePicker, EuiFormRow, EuiText } from '@elastic/eui'; +import { isPlainObject } from 'lodash'; import type { OriginalRule } from '../../../../../../../../../common/siem_migrations/model/rule_migration.gen'; import type { CreateMigration } from '../../../../../../service/hooks/use_create_migration'; -import { parseContent } from './parse_rules_file'; import * as i18n from './translations'; +import { FILE_UPLOAD_ERROR } from '../../../../translations'; +import { useParseFileInput, type SplunkRow } from '../../../common/use_parse_file_input'; +import type { SPLUNK_RULES_COLUMNS } from '../../../../constants'; + +type SplunkRulesResult = Partial>; export interface RulesFileUploadProps { createMigration: CreateMigration; @@ -20,65 +25,16 @@ export interface RulesFileUploadProps { } export const RulesFileUpload = React.memo( ({ createMigration, apiError, isLoading, isCreated }) => { - const [isParsing, setIsParsing] = useState(false); - const [fileError, setFileError] = useState(); - - const onChangeFile = useCallback( - (files: FileList | null) => { - if (!files) { - return; - } - - setFileError(undefined); - - const rulesFile = files[0]; - const reader = new FileReader(); - - reader.onloadstart = () => setIsParsing(true); - reader.onloadend = () => setIsParsing(false); - - reader.onload = function (e) { - // We can safely cast to string since we call `readAsText` to load the file. - const fileContent = e.target?.result as string | undefined; - - if (fileContent == null) { - setFileError(i18n.RULES_DATA_INPUT_FILE_UPLOAD_ERROR.CAN_NOT_READ); - return; - } - - if (fileContent === '' && e.loaded > 100000) { - // V8-based browsers can't handle large files and return an empty string - // instead of an error; see https://stackoverflow.com/a/61316641 - setFileError(i18n.RULES_DATA_INPUT_FILE_UPLOAD_ERROR.TOO_LARGE_TO_PARSE); - return; - } - - let data: OriginalRule[]; - try { - data = parseContent(fileContent); - createMigration(data); - } catch (err) { - setFileError(err.message); - } - }; - - const handleReaderError = function () { - const message = reader.error?.message; - if (message) { - setFileError(i18n.RULES_DATA_INPUT_FILE_UPLOAD_ERROR.CAN_NOT_READ_WITH_REASON(message)); - } else { - setFileError(i18n.RULES_DATA_INPUT_FILE_UPLOAD_ERROR.CAN_NOT_READ); - } - }; - - reader.onerror = handleReaderError; - reader.onabort = handleReaderError; - - reader.readAsText(rulesFile); + const onFileParsed = useCallback( + (content: Array>) => { + const rules = content.map(formatRuleRow); + createMigration(rules); }, [createMigration] ); + const { parseFile, isParsing, error: fileError } = useParseFileInput(onFileParsed); + const error = useMemo(() => { if (apiError) { return apiError; @@ -106,10 +62,10 @@ export const RulesFileUpload = React.memo( } - accept="application/json" - onChange={onChangeFile} + accept="application/json, application/x-ndjson" + onChange={parseFile} display="large" - aria-label="Upload logs sample file" + aria-label="Upload rules file" isLoading={isParsing || isLoading} disabled={isLoading || isCreated} data-test-subj="rulesFilePicker" @@ -120,3 +76,27 @@ export const RulesFileUpload = React.memo( } ); RulesFileUpload.displayName = 'RulesFileUpload'; + +const formatRuleRow = (row: SplunkRow): OriginalRule => { + if (!isPlainObject(row.result)) { + throw new Error(FILE_UPLOAD_ERROR.NOT_OBJECT); + } + const originalRule: Partial = { + id: row.result.id, + vendor: 'splunk', + title: row.result.title, + query: row.result.search, + query_language: 'spl', + description: row.result['action.escu.eli5']?.trim() || row.result.description, + }; + + if (row.result['action.correlationsearch.annotations']) { + try { + originalRule.annotations = JSON.parse(row.result['action.correlationsearch.annotations']); + } catch (error) { + delete originalRule.annotations; + } + } + // rule document format validation delegated to API + return originalRule as OriginalRule; +}; diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/sub_steps/rules_file_upload/translations.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/sub_steps/rules_file_upload/translations.ts index 675eed61f4973..b560849ca1cd7 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/sub_steps/rules_file_upload/translations.ts +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/steps/rules/sub_steps/rules_file_upload/translations.ts @@ -9,57 +9,13 @@ import { i18n } from '@kbn/i18n'; export const RULES_DATA_INPUT_FILE_UPLOAD_TITLE = i18n.translate( 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.rules.rulesFileUpload.title', - { defaultMessage: 'Update your rule export' } + { defaultMessage: 'Update your rules export' } ); export const RULES_DATA_INPUT_FILE_UPLOAD_PROMPT = i18n.translate( 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.rules.rulesFileUpload.prompt', { defaultMessage: 'Select or drag and drop the exported JSON file' } ); -export const RULES_DATA_INPUT_FILE_UPLOAD_ERROR = { - CAN_NOT_READ: i18n.translate( - 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.rules.rulesFileUpload.error.canNotRead', - { defaultMessage: 'Failed to read the rules export file' } - ), - CAN_NOT_READ_WITH_REASON: (reason: string) => - i18n.translate( - 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.rules.rulesFileUpload.error.canNotReadWithReason', - { - defaultMessage: 'An error occurred when reading rules export file: {reason}', - values: { reason }, - } - ), - CAN_NOT_PARSE: i18n.translate( - 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.rules.rulesFileUpload.error.canNotParse', - { defaultMessage: 'Cannot parse the rules export file as either a JSON file' } - ), - TOO_LARGE_TO_PARSE: i18n.translate( - 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.rules.rulesFileUpload.error.tooLargeToParse', - { defaultMessage: 'This rules export file is too large to parse' } - ), - NOT_ARRAY: i18n.translate( - 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.rules.rulesFileUpload.error.notArray', - { defaultMessage: 'The rules export file is not an array' } - ), - EMPTY: i18n.translate( - 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.rules.rulesFileUpload.error.empty', - { defaultMessage: 'The rules export file is empty' } - ), - NOT_OBJECT: i18n.translate( - 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.rules.rulesFileUpload.error.notObject', - { defaultMessage: 'The rules export file contains non-object entries' } - ), - WRONG_FORMAT: (formatError: string) => { - return i18n.translate( - 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.rules.rulesFileUpload.error.wrongFormat', - { - defaultMessage: 'The rules export file has wrong format: {formatError}', - values: { formatError }, - } - ); - }, -}; - export const RULES_DATA_INPUT_CREATE_MIGRATION_SUCCESS = i18n.translate( 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.rules.rulesFileUpload.createSuccess', { defaultMessage: 'Rules uploaded successfully' } diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/translations.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/translations.ts new file mode 100644 index 0000000000000..1e7988b596e42 --- /dev/null +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/translations.ts @@ -0,0 +1,52 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { i18n } from '@kbn/i18n'; + +export const FILE_UPLOAD_ERROR = { + CAN_NOT_READ: i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.fileUploadError.canNotRead', + { defaultMessage: 'Failed to read file' } + ), + CAN_NOT_READ_WITH_REASON: (reason: string) => + i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.fileUploadError.canNotReadWithReason', + { + defaultMessage: 'An error occurred when reading file: {reason}', + values: { reason }, + } + ), + CAN_NOT_PARSE: i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.fileUploadError.canNotParse', + { defaultMessage: 'Cannot parse the file as either a JSON file or NDJSON file' } + ), + TOO_LARGE_TO_PARSE: i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.fileUploadError.tooLargeToParse', + { defaultMessage: 'This file is too large to parse' } + ), + NOT_ARRAY: i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.fileUploadError.notArray', + { defaultMessage: 'The file content is not an array' } + ), + EMPTY: i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.fileUploadError.empty', + { defaultMessage: 'The file is empty' } + ), + NOT_OBJECT: i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.fileUploadError.notObject', + { defaultMessage: 'The file contains non-object entries' } + ), + WRONG_FORMAT: (formatError: string) => { + return i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.dataInputFlyout.fileUploadError.wrongFormat', + { + defaultMessage: 'The file has wrong format: {formatError}', + values: { formatError }, + } + ); + }, +}; diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/types.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/types.ts index 16d8f60043bcb..b293a9394ba54 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/types.ts +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/data_input_flyout/types.ts @@ -5,6 +5,18 @@ * 2.0. */ -import type { RuleMigrationTaskStats } from '../../../../../common/siem_migrations/model/rule_migration.gen'; +import type { + RuleMigrationResourceData, + RuleMigrationTaskStats, +} from '../../../../../common/siem_migrations/model/rule_migration.gen'; export type OnMigrationCreated = (migrationStats: RuleMigrationTaskStats) => void; +export type OnResourcesCreated = () => void; +export type OnMissingResourcesFetched = (missingResources: RuleMigrationResourceData[]) => void; + +export enum DataInputStep { + Rules = 1, + Macros = 2, + Lookups = 3, + End = 10, +} diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/service/hooks/use_create_migration.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/service/hooks/use_create_migration.ts index 94082cf59d359..18a4ebe47bf8d 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/service/hooks/use_create_migration.ts +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/service/hooks/use_create_migration.ts @@ -12,10 +12,15 @@ import type { CreateRuleMigrationRequestBody } from '../../../../../common/siem_ import { useKibana } from '../../../../common/lib/kibana/kibana_react'; import { reducer, initialState } from './common/api_request_reducer'; -export const RULES_DATA_INPUT_CREATE_MIGRATION_SUCCESS = i18n.translate( - 'xpack.securitySolution.siemMigrations.rules.service.createRuleSuccess', - { defaultMessage: 'Rules uploaded successfully' } +export const RULES_DATA_INPUT_CREATE_MIGRATION_SUCCESS_TITLE = i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.service.createRuleSuccess.title', + { defaultMessage: 'Rule migration created successfully' } ); +export const RULES_DATA_INPUT_CREATE_MIGRATION_SUCCESS_DESCRIPTION = (rules: number) => + i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.service.createRuleSuccess.description', + { defaultMessage: '{rules} rules uploaded', values: { rules } } + ); export const RULES_DATA_INPUT_CREATE_MIGRATION_ERROR = i18n.translate( 'xpack.securitySolution.siemMigrations.rules.service.createRuleError', { defaultMessage: 'Failed to upload rules file' } @@ -36,7 +41,10 @@ export const useCreateMigration = (onSuccess: OnSuccess) => { const migrationId = await siemMigrations.rules.createRuleMigration(data); const stats = await siemMigrations.rules.getRuleMigrationStats(migrationId); - notifications.toasts.addSuccess(RULES_DATA_INPUT_CREATE_MIGRATION_SUCCESS); + notifications.toasts.addSuccess({ + title: RULES_DATA_INPUT_CREATE_MIGRATION_SUCCESS_TITLE, + text: RULES_DATA_INPUT_CREATE_MIGRATION_SUCCESS_DESCRIPTION(data.length), + }); onSuccess(stats); dispatch({ type: 'success' }); } catch (err) { diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/service/hooks/use_get_missing_resources.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/service/hooks/use_get_missing_resources.ts new file mode 100644 index 0000000000000..a0679aa1e8bd2 --- /dev/null +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/service/hooks/use_get_missing_resources.ts @@ -0,0 +1,48 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { useCallback, useReducer } from 'react'; +import { i18n } from '@kbn/i18n'; +import type { RuleMigrationResourceData } from '../../../../../common/siem_migrations/model/rule_migration.gen'; +import { useKibana } from '../../../../common/lib/kibana/kibana_react'; +import { reducer, initialState } from './common/api_request_reducer'; + +export const RULES_DATA_INPUT_CREATE_MIGRATION_ERROR = i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.service.getMissingResourcesError', + { defaultMessage: 'Failed to fetch missing macros & lookups' } +); + +export type GetMissingResources = (migrationId: string) => void; +export type OnSuccess = (missingResources: RuleMigrationResourceData[]) => void; + +export const useGetMissingResources = (onSuccess: OnSuccess) => { + const { siemMigrations, notifications } = useKibana().services; + const [state, dispatch] = useReducer(reducer, initialState); + + const getMissingResources = useCallback( + (migrationId) => { + (async () => { + try { + dispatch({ type: 'start' }); + const missingResources = await siemMigrations.rules.getMissingResources(migrationId); + + onSuccess(missingResources); + dispatch({ type: 'success' }); + } catch (err) { + const apiError = err.body ?? err; + notifications.toasts.addError(apiError, { + title: RULES_DATA_INPUT_CREATE_MIGRATION_ERROR, + }); + dispatch({ type: 'error', error: apiError }); + } + })(); + }, + [siemMigrations.rules, notifications.toasts, onSuccess] + ); + + return { isLoading: state.loading, error: state.error, getMissingResources }; +}; diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/service/hooks/use_latest_stats.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/service/hooks/use_latest_stats.ts index 8b692f07eb3cb..88c6b798e2f40 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/service/hooks/use_latest_stats.ts +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/service/hooks/use_latest_stats.ts @@ -6,7 +6,7 @@ */ import useObservable from 'react-use/lib/useObservable'; -import { useEffect, useMemo } from 'react'; +import { useCallback, useEffect, useMemo } from 'react'; import { useKibana } from '../../../../common/lib/kibana/kibana_react'; export const useLatestStats = () => { @@ -16,8 +16,12 @@ export const useLatestStats = () => { siemMigrations.rules.startPolling(); }, [siemMigrations.rules]); + const refreshStats = useCallback(() => { + siemMigrations.rules.getRuleMigrationsStats(); // this updates latestStats$ internally + }, [siemMigrations.rules]); + const latestStats$ = useMemo(() => siemMigrations.rules.getLatestStats$(), [siemMigrations]); const latestStats = useObservable(latestStats$, null); - return { data: latestStats ?? [], isLoading: latestStats === null }; + return { data: latestStats ?? [], isLoading: latestStats === null, refreshStats }; }; diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/service/hooks/use_upsert_resources.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/service/hooks/use_upsert_resources.ts new file mode 100644 index 0000000000000..eab3888422bae --- /dev/null +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/service/hooks/use_upsert_resources.ts @@ -0,0 +1,51 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { useCallback, useReducer } from 'react'; +import { i18n } from '@kbn/i18n'; +import type { UpsertRuleMigrationResourcesRequestBody } from '../../../../../common/siem_migrations/model/api/rules/rule_migration.gen'; +import { useKibana } from '../../../../common/lib/kibana/kibana_react'; +import { reducer, initialState } from './common/api_request_reducer'; + +export const RULES_DATA_INPUT_UPSERT_MIGRATION_RESOURCES_ERROR = i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.service.upsertRuleMigrationResourcesError', + { defaultMessage: 'Failed to upload rule migration resources' } +); + +export type UpsertResources = ( + migrationId: string, + data: UpsertRuleMigrationResourcesRequestBody +) => void; +export type OnSuccess = () => void; + +export const useUpsertResources = (onSuccess: OnSuccess) => { + const { siemMigrations, notifications } = useKibana().services; + const [state, dispatch] = useReducer(reducer, initialState); + + const upsertResources = useCallback( + (migrationId, data) => { + (async () => { + try { + dispatch({ type: 'start' }); + await siemMigrations.rules.upsertMigrationResources(migrationId, data); + + onSuccess(); + dispatch({ type: 'success' }); + } catch (err) { + const apiError = err.body ?? err; + notifications.toasts.addError(apiError, { + title: RULES_DATA_INPUT_UPSERT_MIGRATION_RESOURCES_ERROR, + }); + dispatch({ type: 'error', error: apiError }); + } + })(); + }, + [siemMigrations.rules, notifications.toasts, onSuccess] + ); + + return { isLoading: state.loading, error: state.error, upsertResources }; +}; diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/service/rule_migrations_service.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/service/rule_migrations_service.ts index c13b0606d771d..75b7887db6525 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/service/rule_migrations_service.ts +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/service/rule_migrations_service.ts @@ -13,11 +13,15 @@ import { TRACE_OPTIONS_SESSION_STORAGE_KEY, } from '@kbn/elastic-assistant/impl/assistant_context/constants'; import type { LangSmithOptions } from '../../../../common/siem_migrations/model/common.gen'; -import type { RuleMigrationTaskStats } from '../../../../common/siem_migrations/model/rule_migration.gen'; +import type { + RuleMigrationResourceData, + RuleMigrationTaskStats, +} from '../../../../common/siem_migrations/model/rule_migration.gen'; import type { CreateRuleMigrationRequestBody, GetAllStatsRuleMigrationResponse, GetRuleMigrationStatsResponse, + UpsertRuleMigrationResourcesRequestBody, } from '../../../../common/siem_migrations/model/api/rules/rule_migration.gen'; import { SiemMigrationTaskStatus } from '../../../../common/siem_migrations/constants'; import type { StartPluginsDependencies } from '../../../types'; @@ -29,6 +33,8 @@ import { getRuleMigrationsStatsAll, startRuleMigration, type GetRuleMigrationsStatsAllParams, + getMissingResources, + upsertMigrationResources, } from '../api'; import type { RuleMigrationStats } from '../types'; import { getSuccessToast } from './success_notification'; @@ -99,6 +105,20 @@ export class SiemRulesMigrationsService { return migrationId as string; } + public async upsertMigrationResources( + migrationId: string, + body: UpsertRuleMigrationResourcesRequestBody + ): Promise { + if (body.length === 0) { + throw new Error(i18n.EMPTY_RULES_ERROR); + } + // Batching creation to avoid hitting the max payload size limit of the API + for (let i = 0; i < body.length; i += CREATE_MIGRATION_BODY_BATCH_SIZE) { + const bodyBatch = body.slice(i, i + CREATE_MIGRATION_BODY_BATCH_SIZE); + await upsertMigrationResources({ migrationId, body: bodyBatch }); + } + } + public async startRuleMigration(migrationId: string): Promise { const connectorId = this.connectorIdStorage.get(); if (!connectorId) { @@ -135,6 +155,10 @@ export class SiemRulesMigrationsService { return results; } + public async getMissingResources(migrationId: string): Promise { + return getMissingResources({ migrationId }); + } + private async getRuleMigrationsStatsWithRetry( params: GetRuleMigrationsStatsAllParams = {}, sleepSecs?: number diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/create.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/create.ts index 19669fa75cd3d..1e0a2fc5cb8c5 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/create.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/create.ts @@ -8,6 +8,7 @@ import type { IKibanaResponse, Logger } from '@kbn/core/server'; import { buildRouteValidationWithZod } from '@kbn/zod-helpers'; import { v4 as uuidV4 } from 'uuid'; +import { ResourceIdentifier } from '../../../../../common/siem_migrations/rules/resources'; import { SIEM_RULE_MIGRATION_CREATE_PATH } from '../../../../../common/siem_migrations/constants'; import { CreateRuleMigrationRequestBody, @@ -43,6 +44,11 @@ export const registerSiemRuleMigrationsCreateRoute = ( const originalRules = req.body; const migrationId = req.params.migration_id ?? uuidV4(); try { + const [firstOriginalRule] = originalRules; + if (!firstOriginalRule) { + return res.noContent(); + } + const ctx = await context.resolve(['securitySolution']); const ruleMigrationsClient = ctx.securitySolution.getSiemRuleMigrationsClient(); @@ -53,6 +59,16 @@ export const registerSiemRuleMigrationsCreateRoute = ( await ruleMigrationsClient.data.rules.create(ruleMigrations); + // Create identified resource documents without content to keep track of them + const resourceIdentifier = new ResourceIdentifier(firstOriginalRule.vendor); + const resources = resourceIdentifier + .fromOriginalRules(originalRules) + .map((resource) => ({ ...resource, migration_id: migrationId })); + + if (resources.length > 0) { + await ruleMigrationsClient.data.resources.create(resources); + } + return res.ok({ body: { migration_id: migrationId } }); } catch (err) { logger.error(err); diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/index.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/index.ts index a327d4b28a9bd..241e59ac02a27 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/index.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/index.ts @@ -20,6 +20,7 @@ import { registerSiemRuleMigrationsResourceGetRoute } from './resources/get'; import { registerSiemRuleMigrationsRetryRoute } from './retry'; import { registerSiemRuleMigrationsInstallRoute } from './install'; import { registerSiemRuleMigrationsInstallTranslatedRoute } from './install_translated'; +import { registerSiemRuleMigrationsResourceGetMissingRoute } from './resources/missing'; import { registerSiemRuleMigrationsPrebuiltRulesRoute } from './get_prebuilt_rules'; export const registerSiemRuleMigrationsRoutes = ( @@ -41,4 +42,5 @@ export const registerSiemRuleMigrationsRoutes = ( registerSiemRuleMigrationsResourceUpsertRoute(router, logger); registerSiemRuleMigrationsResourceGetRoute(router, logger); + registerSiemRuleMigrationsResourceGetMissingRoute(router, logger); }; diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/resources/get.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/resources/get.ts index 7f2cfc8743f07..8d1e1d353e32d 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/resources/get.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/resources/get.ts @@ -39,16 +39,13 @@ export const registerSiemRuleMigrationsResourceGetRoute = ( withLicense( async (context, req, res): Promise> => { const migrationId = req.params.migration_id; - const { type, names } = req.query; + const { type, names, from, size } = req.query; try { const ctx = await context.resolve(['securitySolution']); const ruleMigrationsClient = ctx.securitySolution.getSiemRuleMigrationsClient(); - const resources = await ruleMigrationsClient.data.resources.get( - migrationId, - type, - names - ); + const options = { filters: { type, names }, from, size }; + const resources = await ruleMigrationsClient.data.resources.get(migrationId, options); return res.ok({ body: resources }); } catch (err) { diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/resources/missing.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/resources/missing.ts new file mode 100644 index 0000000000000..0c9ad11f4cce6 --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/resources/missing.ts @@ -0,0 +1,67 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { IKibanaResponse, Logger } from '@kbn/core/server'; +import { buildRouteValidationWithZod } from '@kbn/zod-helpers'; +import type { RuleMigrationResourceData } from '../../../../../../common/siem_migrations/model/rule_migration.gen'; +import { + GetRuleMigrationResourcesMissingRequestParams, + type GetRuleMigrationResourcesMissingResponse, +} from '../../../../../../common/siem_migrations/model/api/rules/rule_migration.gen'; +import { SIEM_RULE_MIGRATION_RESOURCES_MISSING_PATH } from '../../../../../../common/siem_migrations/constants'; +import type { SecuritySolutionPluginRouter } from '../../../../../types'; +import { withLicense } from '../util/with_license'; + +export const registerSiemRuleMigrationsResourceGetMissingRoute = ( + router: SecuritySolutionPluginRouter, + logger: Logger +) => { + router.versioned + .get({ + path: SIEM_RULE_MIGRATION_RESOURCES_MISSING_PATH, + access: 'internal', + security: { authz: { requiredPrivileges: ['securitySolution'] } }, + }) + .addVersion( + { + version: '1', + validate: { + request: { + params: buildRouteValidationWithZod(GetRuleMigrationResourcesMissingRequestParams), + }, + }, + }, + withLicense( + async ( + context, + req, + res + ): Promise> => { + const migrationId = req.params.migration_id; + try { + const ctx = await context.resolve(['securitySolution']); + const ruleMigrationsClient = ctx.securitySolution.getSiemRuleMigrationsClient(); + + const options = { filters: { hasContent: false } }; + const batches = ruleMigrationsClient.data.resources.searchBatches(migrationId, options); + + const missingResources: RuleMigrationResourceData[] = []; + let results = await batches.next(); + while (results.length) { + missingResources.push(...results.map(({ type, name }) => ({ type, name }))); + results = await batches.next(); + } + + return res.ok({ body: missingResources }); + } catch (err) { + logger.error(err); + return res.badRequest({ body: err.message }); + } + } + ) + ); +}; diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/resources/upsert.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/resources/upsert.ts index 645fa09b49dc1..9557c5cfd652f 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/resources/upsert.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/resources/upsert.ts @@ -7,6 +7,7 @@ import type { IKibanaResponse, Logger } from '@kbn/core/server'; import { buildRouteValidationWithZod } from '@kbn/zod-helpers'; +import { ResourceIdentifier } from '../../../../../../common/siem_migrations/rules/resources'; import { UpsertRuleMigrationResourcesRequestBody, UpsertRuleMigrationResourcesRequestParams, @@ -49,13 +50,30 @@ export const registerSiemRuleMigrationsResourceUpsertRoute = ( const ctx = await context.resolve(['securitySolution']); const ruleMigrationsClient = ctx.securitySolution.getSiemRuleMigrationsClient(); + // Check if the migration exists + const { data } = await ruleMigrationsClient.data.rules.get(migrationId, { size: 1 }); + const [rule] = data; + if (!rule) { + return res.notFound({ body: { message: 'Migration not found' } }); + } + + // Upsert identified resource documents with content const ruleMigrations = resources.map((resource) => ({ - migration_id: migrationId, ...resource, + migration_id: migrationId, })); - await ruleMigrationsClient.data.resources.upsert(ruleMigrations); + // Create identified resource documents without content to keep track of them + const resourceIdentifier = new ResourceIdentifier(rule.original_rule.vendor); + const resourcesToCreate = resourceIdentifier + .fromResources(resources) + .map((resource) => ({ + ...resource, + migration_id: migrationId, + })); + await ruleMigrationsClient.data.resources.create(resourcesToCreate); + return res.ok({ body: { acknowledged: true } }); } catch (err) { logger.error(err); diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/__mocks__/mocks.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/__mocks__/mocks.ts index d8dc1bb168a72..77ed5e87084e9 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/__mocks__/mocks.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/__mocks__/mocks.ts @@ -11,6 +11,10 @@ import type { RuleMigrationsDataRulesClient } from '../rule_migrations_data_rule export const mockRuleMigrationsDataRulesClient = { create: jest.fn().mockResolvedValue(undefined), get: jest.fn().mockResolvedValue([]), + searchBatches: jest.fn().mockReturnValue({ + next: jest.fn().mockResolvedValue([]), + all: jest.fn().mockResolvedValue([]), + }), takePending: jest.fn().mockResolvedValue([]), saveCompleted: jest.fn().mockResolvedValue(undefined), saveError: jest.fn().mockResolvedValue(undefined), @@ -27,6 +31,10 @@ export const MockRuleMigrationsDataRulesClient = jest export const mockRuleMigrationsDataResourcesClient = { upsert: jest.fn().mockResolvedValue(undefined), get: jest.fn().mockResolvedValue(undefined), + searchBatches: jest.fn().mockReturnValue({ + next: jest.fn().mockResolvedValue([]), + all: jest.fn().mockResolvedValue([]), + }), }; export const MockRuleMigrationsDataResourcesClient = jest .fn() diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/rule_migrations_data_base_client.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/rule_migrations_data_base_client.ts index 14825326eee0e..31931fce0b1d9 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/rule_migrations_data_base_client.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/rule_migrations_data_base_client.ts @@ -5,12 +5,19 @@ * 2.0. */ -import type { SearchHit, SearchResponse } from '@elastic/elasticsearch/lib/api/types'; +import type { + SearchHit, + SearchRequest, + SearchResponse, + Duration, +} from '@elastic/elasticsearch/lib/api/types'; import type { ElasticsearchClient, Logger } from '@kbn/core/server'; import assert from 'assert'; import type { Stored } from '../types'; import type { IndexNameProvider } from './rule_migrations_data_client'; +const DEFAULT_PIT_KEEP_ALIVE: Duration = '30s' as const; + export class RuleMigrationsDataBaseClient { constructor( protected getIndexName: IndexNameProvider, @@ -42,4 +49,48 @@ export class RuleMigrationsDataBaseClient { ? response.hits.total : response.hits.total?.value ?? 0; } + + /** Returns functions to iterate over all the search results in batches */ + protected getSearchBatches( + search: SearchRequest, + keepAlive: Duration = DEFAULT_PIT_KEEP_ALIVE + ) { + const pitPromise = this.getIndexName().then((index) => + this.esClient + .openPointInTime({ index, keep_alive: keepAlive }) + .then(({ id }) => ({ id, keep_alive: keepAlive })) + ); + + let currentBatchSearch: Promise> | undefined; + /* Returns the next batch of search results */ + const next = async (): Promise>> => { + const pit = await pitPromise; + if (!currentBatchSearch) { + currentBatchSearch = this.esClient.search({ ...search, pit }); + } else { + currentBatchSearch = currentBatchSearch.then((previousResponse) => { + if (previousResponse.hits.hits.length === 0) { + return previousResponse; + } + const lastSort = previousResponse.hits.hits[previousResponse.hits.hits.length - 1].sort; + return this.esClient.search({ ...search, pit, search_after: lastSort }); + }); + } + const response = await currentBatchSearch; + return this.processResponseHits(response); + }; + + /** Returns all the search results */ + const all = async (): Promise>> => { + const allResults: Array> = []; + let results = await next(); + while (results.length) { + allResults.push(...results); + results = await next(); + } + return allResults; + }; + + return { next, all }; + } } diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/rule_migrations_data_resources_client.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/rule_migrations_data_resources_client.ts index 888a41aca944c..97e51e9bafdb0 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/rule_migrations_data_resources_client.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/rule_migrations_data_resources_client.ts @@ -6,7 +6,7 @@ */ import { sha256 } from 'js-sha256'; -import type { QueryDslQueryContainer } from '@elastic/elasticsearch/lib/api/types'; +import type { QueryDslQueryContainer, Duration } from '@elastic/elasticsearch/lib/api/types'; import type { RuleMigrationResource, RuleMigrationResourceType, @@ -14,12 +14,30 @@ import type { import type { StoredRuleMigrationResource } from '../types'; import { RuleMigrationsDataBaseClient } from './rule_migrations_data_base_client'; -export type CreateRuleMigrationResourceInput = Omit; +export type CreateRuleMigrationResourceInput = Pick< + RuleMigrationResource, + 'migration_id' | 'type' | 'name' | 'metadata' +> & { + content?: string; +}; +export interface RuleMigrationResourceFilters { + type?: RuleMigrationResourceType; + names?: string[]; + hasContent?: boolean; +} +export interface RuleMigrationResourceGetOptions { + filters?: RuleMigrationResourceFilters; + size?: number; + from?: number; +} /* BULK_MAX_SIZE defines the number to break down the bulk operations by. * The 500 number was chosen as a reasonable number to avoid large payloads. It can be adjusted if needed. */ const BULK_MAX_SIZE = 500 as const; +/* DEFAULT_SEARCH_BATCH_SIZE defines the default number of documents to retrieve per search operation + * when retrieving search results in batches. */ +const DEFAULT_SEARCH_BATCH_SIZE = 500 as const; export class RuleMigrationsDataResourcesClient extends RuleMigrationsDataBaseClient { public async upsert(resources: CreateRuleMigrationResourceInput[]): Promise { @@ -52,24 +70,43 @@ export class RuleMigrationsDataResourcesClient extends RuleMigrationsDataBaseCli } } + /** Creates the resources in the index only if they do not exist */ + public async create(resources: CreateRuleMigrationResourceInput[]): Promise { + const index = await this.getIndexName(); + + let resourcesSlice: CreateRuleMigrationResourceInput[]; + const createdAt = new Date().toISOString(); + while ((resourcesSlice = resources.splice(0, BULK_MAX_SIZE)).length > 0) { + await this.esClient + .bulk({ + refresh: 'wait_for', + operations: resourcesSlice.flatMap((resource) => [ + { create: { _id: this.createId(resource), _index: index } }, + { + ...resource, + '@timestamp': createdAt, + updated_by: this.username, + updated_at: createdAt, + }, + ]), + }) + .catch((error) => { + this.logger.error(`Error upsert resources: ${error.message}`); + throw error; + }); + } + } + public async get( migrationId: string, - type?: RuleMigrationResourceType, - names?: string[] + options: RuleMigrationResourceGetOptions = {} ): Promise { + const { filters, size, from } = options; const index = await this.getIndexName(); - - const filter: QueryDslQueryContainer[] = [{ term: { migration_id: migrationId } }]; - if (type) { - filter.push({ term: { type } }); - } - if (names) { - filter.push({ terms: { name: names } }); - } - const query = { bool: { filter } }; + const query = this.getFilterQuery(migrationId, filters); return this.esClient - .search({ index, query }) + .search({ index, query, size, from }) .then(this.processResponseHits.bind(this)) .catch((error) => { this.logger.error(`Error searching resources: ${error.message}`); @@ -77,8 +114,46 @@ export class RuleMigrationsDataResourcesClient extends RuleMigrationsDataBaseCli }); } + /** Returns batching functions to traverse all the migration resources search results */ + searchBatches( + migrationId: string, + options: { scroll?: Duration; size?: number; filters?: RuleMigrationResourceFilters } = {} + ) { + const { size = DEFAULT_SEARCH_BATCH_SIZE, filters = {}, scroll } = options; + const query = this.getFilterQuery(migrationId, filters); + const search = { query, sort: '_doc', scroll, size }; // sort by _doc to ensure consistent order + try { + return this.getSearchBatches(search); + } catch (error) { + this.logger.error(`Error scrolling rule migration resources: ${error.message}`); + throw error; + } + } + private createId(resource: CreateRuleMigrationResourceInput): string { const key = `${resource.migration_id}-${resource.type}-${resource.name}`; return sha256.create().update(key).hex(); } + + private getFilterQuery( + migrationId: string, + filters: RuleMigrationResourceFilters = {} + ): QueryDslQueryContainer { + const filter: QueryDslQueryContainer[] = [{ term: { migration_id: migrationId } }]; + if (filters.type) { + filter.push({ term: { type: filters.type } }); + } + if (filters.names) { + filter.push({ terms: { name: filters.names } }); + } + if (filters.hasContent != null) { + const existContent = { exists: { field: 'content' } }; + if (filters.hasContent) { + filter.push(existContent); + } else { + filter.push({ bool: { must_not: existContent } }); + } + } + return { bool: { filter } }; + } } diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/rule_migrations_data_rules_client.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/rule_migrations_data_rules_client.ts index 1eeb3ced0572a..8cdc776f631b0 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/rule_migrations_data_rules_client.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/rule_migrations_data_rules_client.ts @@ -13,6 +13,7 @@ import type { AggregationsStringTermsAggregate, AggregationsStringTermsBucket, QueryDslQueryContainer, + Duration, } from '@elastic/elasticsearch/lib/api/types'; import type { StoredRuleMigration } from '../types'; import { SiemMigrationStatus } from '../../../../../common/siem_migrations/constants'; @@ -52,9 +53,11 @@ export interface RuleMigrationGetOptions { } /* BULK_MAX_SIZE defines the number to break down the bulk operations by. - * The 500 number was chosen as a reasonable number to avoid large payloads. It can be adjusted if needed. - */ + * The 500 number was chosen as a reasonable number to avoid large payloads. It can be adjusted if needed. */ const BULK_MAX_SIZE = 500 as const; +/* DEFAULT_SEARCH_BATCH_SIZE defines the default number of documents to retrieve per search operation + * when retrieving search results in batches. */ +const DEFAULT_SEARCH_BATCH_SIZE = 500 as const; export class RuleMigrationsDataRulesClient extends RuleMigrationsDataBaseClient { /** Indexes an array of rule migrations to be processed */ @@ -123,7 +126,7 @@ export class RuleMigrationsDataRulesClient extends RuleMigrationsDataBaseClient { filters = {}, sort = {}, from, size }: RuleMigrationGetOptions = {} ): Promise<{ total: number; data: StoredRuleMigration[] }> { const index = await this.getIndexName(); - const query = this.getFilterQuery(migrationId, { ...filters }); + const query = this.getFilterQuery(migrationId, filters); const result = await this.esClient .search({ @@ -143,6 +146,22 @@ export class RuleMigrationsDataRulesClient extends RuleMigrationsDataBaseClient }; } + /** Returns batching functions to traverse all the migration rules search results */ + searchBatches( + migrationId: string, + options: { scroll?: Duration; size?: number; filters?: RuleMigrationFilters } = {} + ) { + const { size = DEFAULT_SEARCH_BATCH_SIZE, filters = {}, scroll } = options; + const query = this.getFilterQuery(migrationId, filters); + const search = { query, sort: '_doc', scroll, size }; // sort by _doc to ensure consistent order + try { + return this.getSearchBatches(search); + } catch (error) { + this.logger.error(`Error scrolling rule migrations: ${error.message}`); + throw error; + } + } + /** * Retrieves `pending` rule migrations with the provided id and updates their status to `processing`. * This operation is not atomic at migration level: diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/retrievers/rule_migrations_retriever.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/retrievers/rule_migrations_retriever.ts index 22c884fa4043b..29852558cda48 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/retrievers/rule_migrations_retriever.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/retrievers/rule_migrations_retriever.ts @@ -5,19 +5,42 @@ * 2.0. */ +import type { RulesClient } from '@kbn/alerting-plugin/server'; +import type { SavedObjectsClientContract } from '@kbn/core/server'; import type { RuleMigrationsDataClient } from '../../data/rule_migrations_data_client'; import { IntegrationRetriever } from './integration_retriever'; import { PrebuiltRulesRetriever } from './prebuilt_rules_retriever'; import { RuleResourceRetriever } from './rule_resource_retriever'; +interface RuleMigrationsRetrieverDeps { + data: RuleMigrationsDataClient; + rules: RulesClient; + savedObjects: SavedObjectsClientContract; +} + export class RuleMigrationsRetriever { public readonly resources: RuleResourceRetriever; public readonly integrations: IntegrationRetriever; public readonly prebuiltRules: PrebuiltRulesRetriever; - constructor(dataClient: RuleMigrationsDataClient, migrationId: string) { - this.resources = new RuleResourceRetriever(migrationId, dataClient); - this.integrations = new IntegrationRetriever(dataClient); - this.prebuiltRules = new PrebuiltRulesRetriever(dataClient); + constructor(migrationId: string, private readonly clients: RuleMigrationsRetrieverDeps) { + this.resources = new RuleResourceRetriever(migrationId, this.clients.data); + this.integrations = new IntegrationRetriever(this.clients.data); + this.prebuiltRules = new PrebuiltRulesRetriever(this.clients.data); + } + + public async initialize() { + await Promise.all([ + this.resources.initialize(), + // Populates the indices used for RAG searches on prebuilt rules and integrations. + this.clients.data.prebuiltRules.create({ + rulesClient: this.clients.rules, + soClient: this.clients.savedObjects, + }), + // Will use Fleet API client for integration retrieval as an argument once feature is available + this.clients.data.integrations.create(), + ]).catch((error) => { + throw new Error(`Failed to initialize RuleMigrationsRetriever: ${error}`); + }); } } diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/retrievers/rule_resource_retriever.test.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/retrievers/rule_resource_retriever.test.ts index 51618d5f3ca13..1e02eec2315e7 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/retrievers/rule_resource_retriever.test.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/retrievers/rule_resource_retriever.test.ts @@ -5,176 +5,124 @@ * 2.0. */ -import { MAX_RECURSION_DEPTH, RuleResourceRetriever } from './rule_resource_retriever'; // Adjust path as needed +import { RuleResourceRetriever } from './rule_resource_retriever'; // Adjust path as needed import type { OriginalRule } from '../../../../../../common/siem_migrations/model/rule_migration.gen'; -import { MockRuleMigrationsDataClient } from '../../data/__mocks__/mocks'; - -const mockRuleResourceIdentifier = jest.fn(); -const mockGetRuleResourceIdentifier = jest.fn((_: unknown) => mockRuleResourceIdentifier); -jest.mock('../../../../../../common/siem_migrations/rules/resources', () => ({ - getRuleResourceIdentifier: (params: unknown) => mockGetRuleResourceIdentifier(params), -})); +import { ResourceIdentifier } from '../../../../../../common/siem_migrations/rules/resources'; +import type { RuleMigrationsDataClient } from '../../data/rule_migrations_data_client'; jest.mock('../../data/rule_migrations_data_service'); +jest.mock('../../../../../../common/siem_migrations/rules/resources'); + +const MockResourceIdentifier = ResourceIdentifier as jest.Mock; describe('RuleResourceRetriever', () => { let retriever: RuleResourceRetriever; - const mockRuleMigrationsDataClient = new MockRuleMigrationsDataClient(); - const migrationId = 'test-migration-id'; - const ruleQuery = 'rule-query'; - const originalRule = { query: ruleQuery } as OriginalRule; + let mockDataClient: jest.Mocked; + let mockResourceIdentifier: jest.Mocked; beforeEach(() => { - retriever = new RuleResourceRetriever(migrationId, mockRuleMigrationsDataClient); - mockRuleResourceIdentifier.mockReturnValue({ list: [], macro: [] }); - - mockRuleMigrationsDataClient.resources.get.mockImplementation( - async (_: string, type: string, names: string[]) => - names.map((name) => ({ type, name, content: `${name}-content` })) - ); - - mockRuleResourceIdentifier.mockImplementation((query) => { - if (query === ruleQuery) { - return { list: ['list1', 'list2'], macro: ['macro1'] }; - } - return { list: [], macro: [] }; - }); - - jest.clearAllMocks(); + mockDataClient = { + resources: { searchBatches: jest.fn().mockReturnValue({ next: jest.fn(() => []) }) }, + } as unknown as RuleMigrationsDataClient; + + retriever = new RuleResourceRetriever('mockMigrationId', mockDataClient); + + MockResourceIdentifier.mockImplementation(() => ({ + fromOriginalRule: jest.fn().mockReturnValue([]), + fromResources: jest.fn().mockReturnValue([]), + })); + mockResourceIdentifier = new MockResourceIdentifier( + 'splunk' + ) as jest.Mocked; }); - describe('getResources', () => { - it('should call resource identification', async () => { - await retriever.getResources(originalRule); + it('throws an error if initialize is not called before getResources', async () => { + const originalRule = { vendor: 'splunk' } as unknown as OriginalRule; - expect(mockGetRuleResourceIdentifier).toHaveBeenCalledWith(originalRule); - expect(mockRuleResourceIdentifier).toHaveBeenCalledWith(ruleQuery); - expect(mockRuleResourceIdentifier).toHaveBeenCalledWith('macro1-content'); - }); - - it('should retrieve resources', async () => { - const resources = await retriever.getResources(originalRule); - - expect(mockRuleMigrationsDataClient.resources.get).toHaveBeenCalledWith(migrationId, 'list', [ - 'list1', - 'list2', - ]); - expect(mockRuleMigrationsDataClient.resources.get).toHaveBeenCalledWith( - migrationId, - 'macro', - ['macro1'] - ); - - expect(resources).toEqual({ - list: [ - { type: 'list', name: 'list1', content: 'list1-content' }, - { type: 'list', name: 'list2', content: 'list2-content' }, - ], - macro: [{ type: 'macro', name: 'macro1', content: 'macro1-content' }], - }); - }); + await expect(retriever.getResources(originalRule)).rejects.toThrow( + 'initialize must be called before calling getResources' + ); + }); - it('should retrieve nested resources', async () => { - mockRuleResourceIdentifier.mockImplementation((query) => { - if (query === ruleQuery) { - return { list: ['list1', 'list2'], macro: ['macro1'] }; - } - if (query === 'macro1-content') { - return { list: ['list3'], macro: [] }; - } - return { list: [], macro: [] }; - }); - - const resources = await retriever.getResources(originalRule); - - expect(mockRuleMigrationsDataClient.resources.get).toHaveBeenCalledWith(migrationId, 'list', [ - 'list1', - 'list2', - ]); - expect(mockRuleMigrationsDataClient.resources.get).toHaveBeenCalledWith( - migrationId, - 'macro', - ['macro1'] - ); - expect(mockRuleMigrationsDataClient.resources.get).toHaveBeenCalledWith(migrationId, 'list', [ - 'list3', - ]); - - expect(resources).toEqual({ - list: [ - { type: 'list', name: 'list1', content: 'list1-content' }, - { type: 'list', name: 'list2', content: 'list2-content' }, - { type: 'list', name: 'list3', content: 'list3-content' }, - ], - macro: [{ type: 'macro', name: 'macro1', content: 'macro1-content' }], - }); - }); + it('returns an empty object if no matching resources are found', async () => { + const originalRule = { vendor: 'splunk' } as unknown as OriginalRule; - it('should handle missing macros', async () => { - mockRuleMigrationsDataClient.resources.get.mockImplementation( - async (_: string, type: string, names: string[]) => { - if (type === 'macro') { - return []; - } - return names.map((name) => ({ type, name, content: `${name}-content` })); - } - ); - - const resources = await retriever.getResources(originalRule); - - expect(resources).toEqual({ - list: [ - { type: 'list', name: 'list1', content: 'list1-content' }, - { type: 'list', name: 'list2', content: 'list2-content' }, - ], - }); - }); + // Mock the resource identifier to return no resources + mockResourceIdentifier.fromOriginalRule.mockReturnValue([]); + await retriever.initialize(); // Pretend initialize has been called - it('should handle missing lists', async () => { - mockRuleMigrationsDataClient.resources.get.mockImplementation( - async (_: string, type: string, names: string[]) => { - if (type === 'list') { - return []; - } - return names.map((name) => ({ type, name, content: `${name}-content` })); - } - ); - - const resources = await retriever.getResources(originalRule); - - expect(resources).toEqual({ - macro: [{ type: 'macro', name: 'macro1', content: 'macro1-content' }], - }); - }); + const result = await retriever.getResources(originalRule); + expect(result).toEqual({}); + }); - it('should not include resources with missing content', async () => { - mockRuleMigrationsDataClient.resources.get.mockImplementation( - async (_: string, type: string, names: string[]) => { - return names.map((name) => { - if (name === 'list1') { - return { type, name, content: '' }; - } - return { type, name, content: `${name}-content` }; - }); - } - ); - - const resources = await retriever.getResources(originalRule); - - expect(resources).toEqual({ - list: [{ type: 'list', name: 'list2', content: 'list2-content' }], - macro: [{ type: 'macro', name: 'macro1', content: 'macro1-content' }], - }); + it('returns matching macro and list resources', async () => { + const mockExistingResources = { + macro: { macro1: { name: 'macro1', type: 'macro' } }, + list: { list1: { name: 'list1', type: 'list' } }, + }; + // Inject existing resources manually + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (retriever as any).existingResources = mockExistingResources; + + const mockResourcesIdentified = [ + { name: 'macro1', type: 'macro' as const }, + { name: 'list1', type: 'list' as const }, + ]; + MockResourceIdentifier.mockImplementation(() => ({ + fromOriginalRule: jest.fn().mockReturnValue(mockResourcesIdentified), + fromResources: jest.fn().mockReturnValue([]), + })); + + const originalRule = { vendor: 'splunk' } as unknown as OriginalRule; + + const result = await retriever.getResources(originalRule); + expect(result).toEqual({ + macro: [{ name: 'macro1', type: 'macro' }], + list: [{ name: 'list1', type: 'list' }], }); + }); - it('should stop recursion after reaching MAX_RECURSION_DEPTH', async () => { - mockRuleResourceIdentifier.mockImplementation(() => { - return { list: [], macro: ['infinite-macro'] }; - }); - - const resources = await retriever.getResources(originalRule); - - expect(resources.macro?.length).toEqual(MAX_RECURSION_DEPTH); + it('handles nested resources properly', async () => { + const originalRule = { vendor: 'splunk' } as unknown as OriginalRule; + + const mockExistingResources = { + macro: { + macro1: { name: 'macro1', type: 'macro' }, + macro2: { name: 'macro2', type: 'macro' }, + }, + list: { + list1: { name: 'list1', type: 'list' }, + list2: { name: 'list2', type: 'list' }, + }, + }; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (retriever as any).existingResources = mockExistingResources; + + const mockResourcesIdentifiedFromRule = [ + { name: 'macro1', type: 'macro' as const }, + { name: 'list1', type: 'list' as const }, + ]; + + const mockNestedResources = [ + { name: 'macro2', type: 'macro' as const }, + { name: 'list2', type: 'list' as const }, + ]; + + MockResourceIdentifier.mockImplementation(() => ({ + fromOriginalRule: jest.fn().mockReturnValue(mockResourcesIdentifiedFromRule), + fromResources: jest.fn().mockReturnValue([]).mockReturnValueOnce(mockNestedResources), + })); + + const result = await retriever.getResources(originalRule); + expect(result).toEqual({ + macro: [ + { name: 'macro1', type: 'macro' }, + { name: 'macro2', type: 'macro' }, + ], + list: [ + { name: 'list1', type: 'list' }, + { name: 'list2', type: 'list' }, + ], }); }); }); diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/retrievers/rule_resource_retriever.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/retrievers/rule_resource_retriever.ts index d80646dc27c4d..b89939e199e5a 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/retrievers/rule_resource_retriever.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/retrievers/rule_resource_retriever.ts @@ -5,9 +5,7 @@ * 2.0. */ -import { isEmpty } from 'lodash/fp'; -import type { QueryResourceIdentifier } from '../../../../../../common/siem_migrations/rules/resources/types'; -import { getRuleResourceIdentifier } from '../../../../../../common/siem_migrations/rules/resources'; +import { ResourceIdentifier } from '../../../../../../common/siem_migrations/rules/resources'; import type { OriginalRule, RuleMigrationResource, @@ -15,86 +13,91 @@ import type { } from '../../../../../../common/siem_migrations/model/rule_migration.gen'; import type { RuleMigrationsDataClient } from '../../data/rule_migrations_data_client'; +export interface RuleMigrationDefinedResource extends RuleMigrationResource { + content: string; // ensures content exists +} export type RuleMigrationResources = Partial< - Record + Record >; - -/* It's not a common practice to have more than 2-3 nested levels of resources. - * This limit is just to prevent infinite recursion in case something goes wrong. - */ -export const MAX_RECURSION_DEPTH = 30; +interface ExistingResources { + macro: Record; + list: Record; +} export class RuleResourceRetriever { + private existingResources?: ExistingResources; + constructor( private readonly migrationId: string, private readonly dataClient: RuleMigrationsDataClient ) {} - public async getResources(originalRule: OriginalRule): Promise { - const resourceIdentifier = getRuleResourceIdentifier(originalRule); - return this.recursiveRetriever(originalRule.query, resourceIdentifier); + public async initialize(): Promise { + const batches = this.dataClient.resources.searchBatches( + this.migrationId, + { filters: { hasContent: true } } + ); + + const existingRuleResources: ExistingResources = { macro: {}, list: {} }; + let resources; + do { + resources = await batches.next(); + resources.forEach((resource) => { + existingRuleResources[resource.type][resource.name] = resource; + }); + } while (resources.length > 0); + + this.existingResources = existingRuleResources; } - private recursiveRetriever = async ( - query: string, - resourceIdentifier: QueryResourceIdentifier, - it = 0 - ): Promise => { - if (it >= MAX_RECURSION_DEPTH) { - return {}; + public async getResources(originalRule: OriginalRule): Promise { + const existingResources = this.existingResources; + if (!existingResources) { + throw new Error('initialize must be called before calling getResources'); } - const identifiedResources = resourceIdentifier(query); - const resources: RuleMigrationResources = {}; - - const listNames = identifiedResources.list; - if (listNames.length > 0) { - const listsWithContent = await this.dataClient.resources - .get(this.migrationId, 'list', listNames) - .then(withContent); + const resourceIdentifier = new ResourceIdentifier(originalRule.vendor); + const resourcesIdentifiedFromRule = resourceIdentifier.fromOriginalRule(originalRule); - if (listsWithContent.length > 0) { - resources.list = listsWithContent; + const macrosFound = new Map(); + const listsFound = new Map(); + resourcesIdentifiedFromRule.forEach((resource) => { + const existingResource = existingResources[resource.type][resource.name]; + if (existingResource) { + if (resource.type === 'macro') { + macrosFound.set(resource.name, existingResource); + } else if (resource.type === 'list') { + listsFound.set(resource.name, existingResource); + } } - } + }); - const macroNames = identifiedResources.macro; - if (macroNames.length > 0) { - const macrosWithContent = await this.dataClient.resources - .get(this.migrationId, 'macro', macroNames) - .then(withContent); + const resourcesFound = [...macrosFound.values(), ...listsFound.values()]; + if (!resourcesFound.length) { + return {}; + } - if (macrosWithContent.length > 0) { - // retrieve nested resources inside macros - const macrosNestedResources = await Promise.all( - macrosWithContent.map(({ content }) => - this.recursiveRetriever(content, resourceIdentifier, it + 1) - ) - ); + let nestedResourcesFound = resourcesFound; + do { + const nestedResourcesIdentified = resourceIdentifier.fromResources(nestedResourcesFound); - // Process lists inside macros - const macrosNestedLists = macrosNestedResources.flatMap( - (macroNestedResources) => macroNestedResources.list ?? [] - ); - if (macrosNestedLists.length > 0) { - resources.list = (resources.list ?? []).concat(macrosNestedLists); + nestedResourcesFound = []; + nestedResourcesIdentified.forEach((resource) => { + const existingResource = existingResources[resource.type][resource.name]; + if (existingResource) { + nestedResourcesFound.push(existingResource); + if (resource.type === 'macro') { + macrosFound.set(resource.name, existingResource); + } else if (resource.type === 'list') { + listsFound.set(resource.name, existingResource); + } } + }); + } while (nestedResourcesFound.length > 0); - // Process macros inside macros - const macrosNestedMacros = macrosNestedResources.flatMap( - (macroNestedResources) => macroNestedResources.macro ?? [] - ); - - if (macrosNestedMacros.length > 0) { - macrosWithContent.push(...macrosNestedMacros); - } - resources.macro = macrosWithContent; - } - } - return resources; - }; + return { + ...(macrosFound.size > 0 ? { macro: Array.from(macrosFound.values()) } : {}), + ...(listsFound.size > 0 ? { list: Array.from(listsFound.values()) } : {}), + }; + } } - -const withContent = (resources: RuleMigrationResource[]) => { - return resources.filter((resource) => !isEmpty(resource.content)); -}; diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/rule_migrations_task_client.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/rule_migrations_task_client.ts index 6dbee5c64ee47..fe3e01fe84925 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/rule_migrations_task_client.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/rule_migrations_task_client.ts @@ -20,9 +20,8 @@ import type { MigrateRuleState } from './agent/types'; import { RuleMigrationsRetriever } from './retrievers'; import type { MigrationAgent, - RuleMigrationTaskPrepareParams, - RuleMigrationTaskRunParams, RuleMigrationTaskStartParams, + RuleMigrationTaskCreateAgentParams, RuleMigrationTaskStartResult, RuleMigrationTaskStopResult, } from './types'; @@ -63,82 +62,40 @@ export class RuleMigrationsTaskClient { return { exists: true, started: false }; } - const abortController = new AbortController(); - - // Retrieve agent from prepare and pass it to run right after without awaiting but using .then - this.prepare({ ...params, abortController }) - .then((agent) => this.run({ ...params, agent, abortController })) - .catch((error) => { - this.logger.error(`Error starting migration ID:${migrationId} with error:${error}`, error); - }); - - return { exists: true, started: true }; - } - - private async prepare({ - migrationId, - connectorId, - inferenceClient, - actionsClient, - rulesClient, - soClient, - abortController, - }: RuleMigrationTaskPrepareParams): Promise { - await Promise.all([ - // Populates the indices used for RAG searches on prebuilt rules and integrations. - await this.data.prebuiltRules.create({ rulesClient, soClient }), - // Will use Fleet API client for integration retrieval as an argument once feature is available - await this.data.integrations.create(), - ]).catch((error) => { - this.logger.error(`Error preparing RAG indices for migration ID:${migrationId}`, error); - throw error; + // run the migration without awaiting it to execute it in the background + this.run(params).catch((error) => { + this.logger.error(`Error executing migration ID:${migrationId}`, error); }); - const ruleMigrationsRetriever = new RuleMigrationsRetriever(this.data, migrationId); - - const actionsClientChat = new ActionsClientChat(connectorId, actionsClient, this.logger); - const model = await actionsClientChat.createModel({ - signal: abortController.signal, - temperature: 0.05, - }); - - const agent = getRuleMigrationAgent({ - connectorId, - model, - inferenceClient, - ruleMigrationsRetriever, - logger: this.logger, - }); - return agent; + return { exists: true, started: true }; } - private async run({ - migrationId, - agent, - invocationConfig, - abortController, - }: RuleMigrationTaskRunParams): Promise { + private async run(params: RuleMigrationTaskStartParams): Promise { + const { migrationId, invocationConfig } = params; if (this.migrationsRunning.has(migrationId)) { // This should never happen, but just in case throw new Error(`Task already running for migration ID:${migrationId} `); } this.logger.info(`Starting migration ID:${migrationId}`); + const abortController = new AbortController(); this.migrationsRunning.set(migrationId, { user: this.currentUser.username, abortController }); - const config: RunnableConfig = { - ...invocationConfig, - // signal: abortController.signal, // not working properly https://github.com/langchain-ai/langgraphjs/issues/319 - }; const abortPromise = abortSignalToPromise(abortController.signal); + const withAbortRace = async (task: Promise) => Promise.race([task, abortPromise.promise]); + + const sleep = async (seconds: number) => { + this.logger.debug(`Sleeping ${seconds}s for migration ID:${migrationId}`); + await withAbortRace(new Promise((resolve) => setTimeout(resolve, seconds * 1000))); + }; try { - const sleep = async (seconds: number) => { - this.logger.debug(`Sleeping ${seconds}s for migration ID:${migrationId}`); - await Promise.race([ - new Promise((resolve) => setTimeout(resolve, seconds * 1000)), - abortPromise.promise, - ]); + this.logger.debug(`Creating agent for migration ID:${migrationId}`); + const agent = await withAbortRace(this.createAgent({ ...params, abortController })); + + const config: RunnableConfig = { + ...invocationConfig, + // signal: abortController.signal, // not working properly https://github.com/langchain-ai/langgraphjs/issues/319 }; let isDone: boolean = false; @@ -154,10 +111,12 @@ export class RuleMigrationsTaskClient { try { const start = Date.now(); - const migrationResult: MigrateRuleState = await Promise.race([ - agent.invoke({ original_rule: ruleMigration.original_rule }, config), - abortPromise.promise, // workaround for the issue with the langGraph signal - ]); + const invocation = agent.invoke( + { original_rule: ruleMigration.original_rule }, + config + ); + // using withAbortRace is a workaround for the issue with the langGraph signal not working properly + const migrationResult = await withAbortRace(invocation); const duration = (Date.now() - start) / 1000; this.logger.debug( @@ -211,6 +170,38 @@ export class RuleMigrationsTaskClient { } } + private async createAgent({ + migrationId, + connectorId, + inferenceClient, + actionsClient, + rulesClient, + soClient, + abortController, + }: RuleMigrationTaskCreateAgentParams): Promise { + const actionsClientChat = new ActionsClientChat(connectorId, actionsClient, this.logger); + const model = await actionsClientChat.createModel({ + signal: abortController.signal, + temperature: 0.05, + }); + + const ruleMigrationsRetriever = new RuleMigrationsRetriever(migrationId, { + data: this.data, + rules: rulesClient, + savedObjects: soClient, + }); + await ruleMigrationsRetriever.initialize(); + + const agent = getRuleMigrationAgent({ + connectorId, + model, + inferenceClient, + ruleMigrationsRetriever, + logger: this.logger, + }); + return agent; + } + /** Updates all the rules in a migration to be re-executed */ public async updateToRetry(migrationId: string): Promise<{ updated: boolean }> { if (this.migrationsRunning.has(migrationId)) { diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/types.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/types.ts index 7ac7e848ba80d..7ddb08f1e47d6 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/types.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/types.ts @@ -30,20 +30,7 @@ export interface RuleMigrationTaskStartParams { soClient: SavedObjectsClientContract; } -export interface RuleMigrationTaskPrepareParams { - migrationId: string; - connectorId: string; - inferenceClient: InferenceClient; - actionsClient: ActionsClient; - rulesClient: RulesClient; - soClient: SavedObjectsClientContract; - abortController: AbortController; -} - -export interface RuleMigrationTaskRunParams { - migrationId: string; - invocationConfig: RunnableConfig; - agent: MigrationAgent; +export interface RuleMigrationTaskCreateAgentParams extends RuleMigrationTaskStartParams { abortController: AbortController; } diff --git a/x-pack/test/api_integration/services/security_solution_api.gen.ts b/x-pack/test/api_integration/services/security_solution_api.gen.ts index a6d0ac86a810c..30903c2f572b2 100644 --- a/x-pack/test/api_integration/services/security_solution_api.gen.ts +++ b/x-pack/test/api_integration/services/security_solution_api.gen.ts @@ -104,6 +104,7 @@ import { GetRuleMigrationResourcesRequestQueryInput, GetRuleMigrationResourcesRequestParamsInput, } from '@kbn/security-solution-plugin/common/siem_migrations/model/api/rules/rule_migration.gen'; +import { GetRuleMigrationResourcesMissingRequestParamsInput } from '@kbn/security-solution-plugin/common/siem_migrations/model/api/rules/rule_migration.gen'; import { GetRuleMigrationStatsRequestParamsInput } from '@kbn/security-solution-plugin/common/siem_migrations/model/api/rules/rule_migration.gen'; import { GetRuleMigrationTranslationStatsRequestParamsInput } from '@kbn/security-solution-plugin/common/siem_migrations/model/api/rules/rule_migration.gen'; import { GetTimelineRequestQueryInput } from '@kbn/security-solution-plugin/common/api/timeline/get_timeline/get_timeline_route.gen'; @@ -998,6 +999,27 @@ finalize it. .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana') .query(props.query); }, + /** + * Identifies missing resources from all the rules of an existing SIEM rules migration + */ + getRuleMigrationResourcesMissing( + props: GetRuleMigrationResourcesMissingProps, + kibanaSpace: string = 'default' + ) { + return supertest + .get( + routeWithNamespace( + replaceParams( + '/internal/siem_migrations/rules/{migration_id}/resources/missing', + props.params + ), + kibanaSpace + ) + ) + .set('kbn-xsrf', 'true') + .set(ELASTIC_HTTP_VERSION_HEADER, '1') + .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana'); + }, /** * Retrieves the stats of a SIEM rules migration using the migration id provided */ @@ -1760,6 +1782,9 @@ export interface GetRuleMigrationResourcesProps { query: GetRuleMigrationResourcesRequestQueryInput; params: GetRuleMigrationResourcesRequestParamsInput; } +export interface GetRuleMigrationResourcesMissingProps { + params: GetRuleMigrationResourcesMissingRequestParamsInput; +} export interface GetRuleMigrationStatsProps { params: GetRuleMigrationStatsRequestParamsInput; } From 668f776583a60d35283a119fa007f7af9d1c57da Mon Sep 17 00:00:00 2001 From: Ievgen Sorokopud Date: Thu, 12 Dec 2024 17:22:38 +0100 Subject: [PATCH 35/52] [Rules migration] ES|QL query editing and validation in translation tab in the flyout (#11381) (#203601) ## Summary [Internal link](https://github.com/elastic/security-team/issues/10820) to the feature details These changes add a possibility to edit, validate and save custom migration rules: * There are new `edit`, `save` and `cancel` buttons in the translation tab of the details flyout for the non-installed custom rules * There is a new ES|QL query editing component in the translation tab which allows edit and validate the ES|QL query * On saving the ES|QL query the custom migration rule will be updated and based on the ES|QL validation a new `translation_result` might be set: `full` if query is valid, `partial` if query has syntax errors, `untraslated` if query is an empty string. ## Screen recording https://github.com/user-attachments/assets/59cfc56f-3de8-4f7a-a2f9-79cb3fdee1c7 ### Other changes Next fixes and adjustments were also implemented as part of this PR: * `Error` status in migration rules table to indicate whether the rule translation has been failed * Callouts inside the translation tab in details flyout * Updated `Fully translated` status title into `Translated` ### Known issue There is an issue with the autocompletion menu of the ES|QL query editor component. It is being shifted. It could be because we are using this component within the flyout and we might need to ask help from the team which takes care of it. --- .../model/api/rules/rule_migration.gen.ts | 28 +--- .../api/rules/rule_migration.schema.yaml | 25 ++-- .../model/rule_migration.gen.ts | 23 +++ .../model/rule_migration.schema.yaml | 19 +++ .../public/siem_migrations/rules/api/index.ts | 24 ++++ .../components/rule_details_flyout/index.tsx | 104 +++++++++++--- .../translation_tab/callout.tsx | 65 +++++++++ .../translation_tab/index.tsx | 39 ++--- .../translation_tab/migration_rule_query.tsx | 136 +++++++++++++++--- .../translation_tab/schema.tsx | 33 +++++ .../translation_tab/translations.ts | 80 ++++++++++- .../translation_tab/types.ts | 14 ++ .../rule_details_flyout/translations.ts | 7 + .../rules/components/rules_table/index.tsx | 11 ++ .../components/rules_table_columns/name.tsx | 11 +- .../components/rules_table_columns/status.tsx | 4 +- .../rules/components/status_badge/index.tsx | 62 +++++--- .../components/status_badge/translations.ts | 7 + .../use_migration_rule_preview_flyout.tsx | 46 +++--- .../rules/logic/translations.ts | 7 + .../rules/logic/use_get_migration_rules.ts | 5 +- .../rules/logic/use_update_migration_rules.ts | 40 ++++++ .../rules/utils/translations.ts | 2 +- .../lib/siem_migrations/rules/api/get.ts | 3 +- .../rules/api/util/installation.ts | 15 +- .../data/rule_migrations_data_rules_client.ts | 29 ++-- .../lib/siem_migrations/rules/data/utils.ts | 42 ++++++ 27 files changed, 706 insertions(+), 175 deletions(-) create mode 100644 x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translation_tab/callout.tsx create mode 100644 x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translation_tab/schema.tsx create mode 100644 x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translation_tab/types.ts create mode 100644 x-pack/plugins/security_solution/public/siem_migrations/rules/logic/use_update_migration_rules.ts create mode 100644 x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/utils.ts diff --git a/x-pack/plugins/security_solution/common/siem_migrations/model/api/rules/rule_migration.gen.ts b/x-pack/plugins/security_solution/common/siem_migrations/model/api/rules/rule_migration.gen.ts index df89c8d7f1c4e..47c06e1e02c7a 100644 --- a/x-pack/plugins/security_solution/common/siem_migrations/model/api/rules/rule_migration.gen.ts +++ b/x-pack/plugins/security_solution/common/siem_migrations/model/api/rules/rule_migration.gen.ts @@ -17,11 +17,8 @@ import { z } from '@kbn/zod'; import { ArrayFromString } from '@kbn/zod-helpers'; -import { NonEmptyString } from '../../../../api/model/primitives.gen'; import { - ElasticRulePartial, - RuleMigrationTranslationResult, - RuleMigrationComments, + UpdateRuleMigrationData, RuleMigrationTaskStats, OriginalRule, RuleMigration, @@ -31,6 +28,7 @@ import { RuleMigrationResourceType, RuleMigrationResource, } from '../../rule_migration.gen'; +import { NonEmptyString } from '../../../../api/model/primitives.gen'; import { ConnectorId, LangSmithOptions } from '../../common.gen'; export type CreateRuleMigrationRequestParams = z.infer; @@ -62,6 +60,7 @@ export const GetRuleMigrationRequestQuery = z.object({ sort_field: NonEmptyString.optional(), sort_direction: z.enum(['asc', 'desc']).optional(), search_term: z.string().optional(), + ids: ArrayFromString(NonEmptyString).optional(), }); export type GetRuleMigrationRequestQueryInput = z.input; @@ -251,26 +250,7 @@ export const StopRuleMigrationResponse = z.object({ }); export type UpdateRuleMigrationRequestBody = z.infer; -export const UpdateRuleMigrationRequestBody = z.array( - z.object({ - /** - * The rule migration id - */ - id: NonEmptyString, - /** - * The migrated elastic rule attributes to update. - */ - elastic_rule: ElasticRulePartial.optional(), - /** - * The rule translation result. - */ - translation_result: RuleMigrationTranslationResult.optional(), - /** - * The comments for the migration including a summary from the LLM in markdown. - */ - comments: RuleMigrationComments.optional(), - }) -); +export const UpdateRuleMigrationRequestBody = z.array(UpdateRuleMigrationData); export type UpdateRuleMigrationRequestBodyInput = z.input; export type UpdateRuleMigrationResponse = z.infer; diff --git a/x-pack/plugins/security_solution/common/siem_migrations/model/api/rules/rule_migration.schema.yaml b/x-pack/plugins/security_solution/common/siem_migrations/model/api/rules/rule_migration.schema.yaml index fce14a2ac87b1..69e43b57dabd3 100644 --- a/x-pack/plugins/security_solution/common/siem_migrations/model/api/rules/rule_migration.schema.yaml +++ b/x-pack/plugins/security_solution/common/siem_migrations/model/api/rules/rule_migration.schema.yaml @@ -20,22 +20,7 @@ paths: schema: type: array items: - type: object - required: - - id - properties: - id: - description: The rule migration id - $ref: '../../../../../common/api/model/primitives.schema.yaml#/components/schemas/NonEmptyString' - elastic_rule: - description: The migrated elastic rule attributes to update. - $ref: '../../rule_migration.schema.yaml#/components/schemas/ElasticRulePartial' - translation_result: - description: The rule translation result. - $ref: '../../rule_migration.schema.yaml#/components/schemas/RuleMigrationTranslationResult' - comments: - description: The comments for the migration including a summary from the LLM in markdown. - $ref: '../../rule_migration.schema.yaml#/components/schemas/RuleMigrationComments' + $ref: '../../rule_migration.schema.yaml#/components/schemas/UpdateRuleMigrationData' responses: 200: description: Indicates rules migrations have been updated correctly. @@ -151,6 +136,14 @@ paths: required: false schema: type: string + - name: ids + in: query + required: false + schema: + type: array + items: + description: The rule migration id + $ref: '../../../../../common/api/model/primitives.schema.yaml#/components/schemas/NonEmptyString' responses: 200: diff --git a/x-pack/plugins/security_solution/common/siem_migrations/model/rule_migration.gen.ts b/x-pack/plugins/security_solution/common/siem_migrations/model/rule_migration.gen.ts index 9fd3876e141a8..064df05c5ad41 100644 --- a/x-pack/plugins/security_solution/common/siem_migrations/model/rule_migration.gen.ts +++ b/x-pack/plugins/security_solution/common/siem_migrations/model/rule_migration.gen.ts @@ -303,6 +303,29 @@ export const RuleMigrationTranslationStats = z.object({ }), }); +/** + * The rule migration data object for rule update operation + */ +export type UpdateRuleMigrationData = z.infer; +export const UpdateRuleMigrationData = z.object({ + /** + * The rule migration id + */ + id: NonEmptyString, + /** + * The migrated elastic rule attributes to update. + */ + elastic_rule: ElasticRulePartial.optional(), + /** + * The rule translation result. + */ + translation_result: RuleMigrationTranslationResult.optional(), + /** + * The comments for the migration including a summary from the LLM in markdown. + */ + comments: RuleMigrationComments.optional(), +}); + /** * The type of the rule migration resource. */ diff --git a/x-pack/plugins/security_solution/common/siem_migrations/model/rule_migration.schema.yaml b/x-pack/plugins/security_solution/common/siem_migrations/model/rule_migration.schema.yaml index 0a99bd5ce701f..3171a62298f15 100644 --- a/x-pack/plugins/security_solution/common/siem_migrations/model/rule_migration.schema.yaml +++ b/x-pack/plugins/security_solution/common/siem_migrations/model/rule_migration.schema.yaml @@ -276,6 +276,25 @@ components: items: type: string + UpdateRuleMigrationData: + type: object + description: The rule migration data object for rule update operation + required: + - id + properties: + id: + description: The rule migration id + $ref: '../../../common/api/model/primitives.schema.yaml#/components/schemas/NonEmptyString' + elastic_rule: + description: The migrated elastic rule attributes to update. + $ref: '#/components/schemas/ElasticRulePartial' + translation_result: + description: The rule translation result. + $ref: '#/components/schemas/RuleMigrationTranslationResult' + comments: + description: The comments for the migration including a summary from the LLM in markdown. + $ref: '#/components/schemas/RuleMigrationComments' + ## Rule migration resources RuleMigrationResourceType: diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/api/index.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/api/index.ts index 17aa00dd0f01e..02fb423b05279 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/api/index.ts +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/api/index.ts @@ -7,6 +7,7 @@ import { replaceParams } from '@kbn/openapi-common/shared'; +import type { UpdateRuleMigrationData } from '../../../../common/siem_migrations/model/rule_migration.gen'; import type { LangSmithOptions } from '../../../../common/siem_migrations/model/common.gen'; import { KibanaServices } from '../../../common/lib/kibana'; @@ -37,6 +38,7 @@ import type { UpsertRuleMigrationResourcesRequestBody, UpsertRuleMigrationResourcesResponse, GetRuleMigrationPrebuiltRulesResponse, + UpdateRuleMigrationResponse, } from '../../../../common/siem_migrations/model/api/rules/rule_migration.gen'; export interface GetRuleMigrationStatsParams { @@ -168,6 +170,8 @@ export interface GetRuleMigrationParams { sortDirection?: 'asc' | 'desc'; /** Optional search term to filter documents */ searchTerm?: string; + /** Optional rules ids to filter documents */ + ids?: string[]; /** Optional AbortSignal for cancelling request */ signal?: AbortSignal; } @@ -179,6 +183,7 @@ export const getRuleMigrations = async ({ sortField, sortDirection, searchTerm, + ids, signal, }: GetRuleMigrationParams): Promise => { return KibanaServices.get().http.get( @@ -191,6 +196,7 @@ export const getRuleMigrations = async ({ sort_field: sortField, sort_direction: sortDirection, search_term: searchTerm, + ids, }, signal, } @@ -272,3 +278,21 @@ export const getRuleMigrationsPrebuiltRules = async ({ { version: '1', signal } ); }; + +export interface UpdateRulesParams { + /** The list of migration rules data to update */ + rulesToUpdate: UpdateRuleMigrationData[]; + /** Optional AbortSignal for cancelling request */ + signal?: AbortSignal; +} +/** Updates provided migration rules. */ +export const updateMigrationRules = async ({ + rulesToUpdate, + signal, +}: UpdateRulesParams): Promise => { + return KibanaServices.get().http.put(SIEM_RULE_MIGRATIONS_PATH, { + version: '1', + body: JSON.stringify(rulesToUpdate), + signal, + }); +}; diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/index.tsx b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/index.tsx index 9762cc578e0cc..fa13c44d764a8 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/index.tsx +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/index.tsx @@ -6,7 +6,7 @@ */ import type { FC, PropsWithChildren } from 'react'; -import React, { useMemo, useState, useEffect } from 'react'; +import React, { useMemo, useState, useEffect, useCallback } from 'react'; import { css } from '@emotion/css'; import { euiThemeVars } from '@kbn/ui-theme'; import { @@ -21,16 +21,21 @@ import { EuiFlexGroup, EuiFlexItem, useGeneratedHtmlId, + EuiSkeletonLoading, + EuiSkeletonTitle, + EuiSkeletonText, } from '@elastic/eui'; import type { EuiTabbedContentTab, EuiTabbedContentProps, EuiFlyoutProps } from '@elastic/eui'; import type { RuleMigration } from '../../../../../common/siem_migrations/model/rule_migration.gen'; +import { useAppToasts } from '../../../../common/hooks/use_app_toasts'; import { RuleOverviewTab, useOverviewTabSections, } from '../../../../detection_engine/rule_management/components/rule_details/rule_overview_tab'; import type { RuleResponse } from '../../../../../common/api/detection_engine/model/rule_schema'; +import * as logicI18n from '../../logic/translations'; import * as i18n from './translations'; import { DEFAULT_DESCRIPTION_LIST_COLUMN_WIDTHS, @@ -41,6 +46,7 @@ import { convertMigrationCustomRuleToSecurityRulePayload, isMigrationCustomRule, } from '../../../../../common/siem_migrations/rules/utils'; +import { useUpdateMigrationRules } from '../../logic/use_update_migration_rules'; /* * Fixes tabs to the top and allows the content to scroll. @@ -62,11 +68,12 @@ export const TabContentPadding: FC> = ({ children }) ); interface MigrationRuleDetailsFlyoutProps { - ruleActions?: React.ReactNode; ruleMigration: RuleMigration; + ruleActions?: React.ReactNode; matchedPrebuiltRule?: RuleResponse; size?: EuiFlyoutProps['size']; extraTabs?: EuiTabbedContentTab[]; + isDataLoading?: boolean; closeFlyout: () => void; } @@ -77,19 +84,52 @@ export const MigrationRuleDetailsFlyout: React.FC { + const { addError } = useAppToasts(); + const { expandedOverviewSections, toggleOverviewSection } = useOverviewTabSections(); - const rule = useMemo(() => { - if (isMigrationCustomRule(ruleMigration.elastic_rule)) { - return convertMigrationCustomRuleToSecurityRulePayload( - ruleMigration.elastic_rule, - false - ) as RuleResponse; // TODO: we need to adjust RuleOverviewTab to allow partial RuleResponse as a parameter; + const { mutateAsync: updateMigrationRules } = useUpdateMigrationRules( + ruleMigration.migration_id + ); + + const [isUpdating, setIsUpdating] = useState(false); + const isLoading = isDataLoading || isUpdating; + + const handleTranslationUpdate = useCallback( + async (ruleName: string, ruleQuery: string) => { + if (!ruleMigration || isLoading) { + return; + } + setIsUpdating(true); + try { + await updateMigrationRules([ + { + id: ruleMigration.id, + elastic_rule: { + title: ruleName, + query: ruleQuery, + }, + }, + ]); + } catch (error) { + addError(error, { title: logicI18n.UPDATE_MIGRATION_RULES_FAILURE }); + } finally { + setIsUpdating(false); + } + }, + [addError, ruleMigration, isLoading, updateMigrationRules] + ); + + const ruleDetailsToOverview = useMemo(() => { + const elasticRule = ruleMigration?.elastic_rule; + if (isMigrationCustomRule(elasticRule)) { + return convertMigrationCustomRuleToSecurityRulePayload(elasticRule, false) as RuleResponse; // TODO: we need to adjust RuleOverviewTab to allow partial RuleResponse as a parameter; } return matchedPrebuiltRule; - }, [matchedPrebuiltRule, ruleMigration]); + }, [ruleMigration, matchedPrebuiltRule]); const translationTab: EuiTabbedContentTab = useMemo( () => ({ @@ -97,14 +137,17 @@ export const MigrationRuleDetailsFlyout: React.FC - + {ruleMigration && ( + + )} ), }), - [matchedPrebuiltRule, ruleMigration] + [ruleMigration, handleTranslationUpdate, matchedPrebuiltRule] ); const overviewTab: EuiTabbedContentTab = useMemo( @@ -113,9 +156,9 @@ export const MigrationRuleDetailsFlyout: React.FC - {rule && ( + {ruleDetailsToOverview && ( ), }), - [rule, size, expandedOverviewSections, toggleOverviewSection] + [ruleDetailsToOverview, size, expandedOverviewSections, toggleOverviewSection] ); const tabs = useMemo(() => { @@ -149,6 +192,16 @@ export const MigrationRuleDetailsFlyout: React.FC { + return ( + + ); + }, [selectedTab, tabs]); + const migrationsRulesFlyoutTitleId = useGeneratedHtmlId({ prefix: 'migrationRulesFlyoutTitle', }); @@ -166,16 +219,23 @@ export const MigrationRuleDetailsFlyout: React.FC

- {rule?.name ?? ruleMigration.original_rule.title} + {ruleDetailsToOverview?.name ?? + ruleMigration?.original_rule.title ?? + i18n.UNKNOWN_MIGRATION_RULE_TITLE}

- + + + + } + loadedContent={tabsContent} /> diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translation_tab/callout.tsx b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translation_tab/callout.tsx new file mode 100644 index 0000000000000..fd014b28fcd8e --- /dev/null +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translation_tab/callout.tsx @@ -0,0 +1,65 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { FC } from 'react'; +import React from 'react'; +import type { IconType } from '@elastic/eui'; +import { EuiCallOut } from '@elastic/eui'; +import { + RuleMigrationTranslationResultEnum, + type RuleMigrationTranslationResult, +} from '../../../../../../common/siem_migrations/model/rule_migration.gen'; +import * as i18n from './translations'; + +const getCallOutInfo = ( + translationResult: RuleMigrationTranslationResult +): { title: string; message?: string; icon: IconType; color: 'success' | 'warning' | 'danger' } => { + switch (translationResult) { + case RuleMigrationTranslationResultEnum.full: + return { + title: i18n.CALLOUT_TRANSLATED_RULE_TITLE, + icon: 'checkInCircleFilled', + color: 'success', + }; + case RuleMigrationTranslationResultEnum.partial: + return { + title: i18n.CALLOUT_PARTIALLY_TRANSLATED_RULE_TITLE, + message: i18n.CALLOUT_PARTIALLY_TRANSLATED_RULE_DESCRIPTION, + icon: 'warningFilled', + color: 'warning', + }; + case RuleMigrationTranslationResultEnum.untranslatable: + return { + title: i18n.CALLOUT_NOT_TRANSLATED_RULE_TITLE, + message: i18n.CALLOUT_NOT_TRANSLATED_RULE_DESCRIPTION, + icon: 'checkInCircleFilled', + color: 'danger', + }; + } +}; + +export interface TranslationCallOutProps { + translationResult: RuleMigrationTranslationResult; +} + +export const TranslationCallOut: FC = React.memo( + ({ translationResult }) => { + const { title, message, icon, color } = getCallOutInfo(translationResult); + + return ( + + {message} + + ); + } +); +TranslationCallOut.displayName = 'TranslationCallOut'; diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translation_tab/index.tsx b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translation_tab/index.tsx index a80480b8837bb..28a07dc0caa3f 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translation_tab/index.tsx +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translation_tab/index.tsx @@ -9,10 +9,8 @@ import React, { useMemo } from 'react'; import { EuiAccordion, EuiBadge, - EuiFieldText, EuiFlexGroup, EuiFlexItem, - EuiFormRow, EuiSpacer, EuiSplitPanel, EuiTitle, @@ -29,20 +27,22 @@ import { convertTranslationResultIntoColor, convertTranslationResultIntoText, } from '../../../utils/helpers'; +import { TranslationCallOut } from './callout'; interface TranslationTabProps { ruleMigration: RuleMigration; matchedPrebuiltRule?: RuleResponse; + onTranslationUpdate?: (ruleName: string, ruleQuery: string) => Promise; } export const TranslationTab: React.FC = React.memo( - ({ ruleMigration, matchedPrebuiltRule }) => { + ({ ruleMigration, matchedPrebuiltRule, onTranslationUpdate }) => { const { euiTheme } = useEuiTheme(); - const name = useMemo( - () => ruleMigration.elastic_rule?.title ?? ruleMigration.original_rule.title, - [ruleMigration.elastic_rule?.title, ruleMigration.original_rule.title] - ); + const isInstalled = !!ruleMigration.elastic_rule?.id; + const canEdit = !matchedPrebuiltRule && !isInstalled; + + const ruleName = matchedPrebuiltRule?.name ?? ruleMigration.elastic_rule?.title; const originalQuery = ruleMigration.original_rule.query; const elasticQuery = useMemo(() => { let query = ruleMigration.elastic_rule?.query; @@ -55,10 +55,12 @@ export const TranslationTab: React.FC = React.memo( return ( <> - - - - + {ruleMigration.translation_result && !isInstalled && ( + <> + + + + )} } @@ -85,7 +87,9 @@ export const TranslationTab: React.FC = React.memo( onClick={() => {}} onClickAriaLabel={'Click to update translation status'} > - {convertTranslationResultIntoText(ruleMigration.translation_result)} + {isInstalled + ? i18n.INSTALLED_LABEL + : convertTranslationResultIntoText(ruleMigration.translation_result)}
@@ -95,6 +99,7 @@ export const TranslationTab: React.FC = React.memo( @@ -108,13 +113,11 @@ export const TranslationTab: React.FC = React.memo( /> diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translation_tab/migration_rule_query.tsx b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translation_tab/migration_rule_query.tsx index 534f765da97bc..252fd11ead9fb 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translation_tab/migration_rule_query.tsx +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translation_tab/migration_rule_query.tsx @@ -5,29 +5,71 @@ * 2.0. */ -import React, { useMemo } from 'react'; +import React, { useCallback, useMemo, useState } from 'react'; import { + EuiButtonEmpty, EuiFlexGroup, EuiFlexItem, EuiHorizontalRule, - EuiMarkdownEditor, EuiMarkdownFormat, + EuiSpacer, EuiTitle, useEuiTheme, } from '@elastic/eui'; import { css } from '@emotion/react'; +import { VALIDATION_WARNING_CODES } from '../../../../../detection_engine/rule_creation/constants/validation_warning_codes'; +import { useFormWithWarnings } from '../../../../../common/hooks/use_form_with_warnings'; +import { EsqlQueryEdit } from '../../../../../detection_engine/rule_creation/components/esql_query_edit'; +import { Field, Form, getUseField } from '../../../../../shared_imports'; +import type { RuleTranslationSchema } from './types'; +import { schema } from './schema'; import * as i18n from './translations'; +const CommonUseField = getUseField({ component: Field }); + interface MigrationRuleQueryProps { title: string; + ruleName?: string; query: string; canEdit?: boolean; + onTranslationUpdate?: (ruleName: string, ruleQuery: string) => Promise; } export const MigrationRuleQuery: React.FC = React.memo( - ({ title, query, canEdit }) => { + ({ title, ruleName, query, canEdit, onTranslationUpdate }) => { const { euiTheme } = useEuiTheme(); + const formDefaultValue: RuleTranslationSchema = useMemo(() => { + return { + ruleName: ruleName ?? '', + queryBar: { + query: { + query, + language: 'esql', + }, + }, + }; + }, [query, ruleName]); + const { form } = useFormWithWarnings({ + defaultValue: formDefaultValue, + options: { stripEmptyFields: false, warningValidationCodes: VALIDATION_WARNING_CODES }, + schema, + }); + + const [editMode, setEditMode] = useState(false); + const onCancel = useCallback(() => setEditMode(false), []); + const onEdit = useCallback(() => { + form.reset({ defaultValue: formDefaultValue }); + setEditMode(true); + }, [form, formDefaultValue]); + const onSave = useCallback(async () => { + const { data, isValid } = await form.submit(); + if (isValid) { + await onTranslationUpdate?.(data.ruleName, data.queryBar.query.query); + setEditMode(false); + } + }, [form, onTranslationUpdate]); + const headerComponent = useMemo(() => { return ( = React.memo( ); }, [euiTheme, title]); - const queryTextComponent = useMemo(() => { - if (canEdit) { - return ( - {}} - height={400} - initialViewMode={'viewing'} - /> - ); - } else { - return {query}; + const readQueryComponent = useMemo(() => { + if (editMode) { + return null; } - }, [canEdit, query]); + return ( + <> + {canEdit ? ( + + + + {i18n.EDIT} + + + + ) : ( + + )} + +

{ruleName}

+
+ + {query} + + ); + }, [canEdit, editMode, onEdit, query, ruleName]); + + const editQueryComponent = useMemo(() => { + if (!editMode) { + return null; + } + return ( +
+ + + + {i18n.CANCEL} + + + + + {i18n.SAVE} + + + + + + + + ); + }, [editMode, form, onCancel, onSave]); return ( <> {headerComponent} - - {queryTextComponent} + + {readQueryComponent} + {editQueryComponent} ); } diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translation_tab/schema.tsx b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translation_tab/schema.tsx new file mode 100644 index 0000000000000..5b49fbc91f57a --- /dev/null +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translation_tab/schema.tsx @@ -0,0 +1,33 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { queryRequiredValidatorFactory } from '../../../../../detection_engine/rule_creation_ui/validators/query_required_validator_factory'; +import { FIELD_TYPES, fieldValidators, type FormSchema } from '../../../../../shared_imports'; +import type { RuleTranslationSchema } from './types'; +import * as i18n from './translations'; + +export const schema: FormSchema = { + ruleName: { + type: FIELD_TYPES.TEXT, + label: i18n.NAME_LABEL, + validations: [ + { + validator: fieldValidators.emptyField(i18n.NAME_REQUIRED_ERROR_MESSAGE), + }, + ], + }, + queryBar: { + fieldsToValidateOnChange: ['queryBar'], + validations: [ + { + validator: (...args) => { + return queryRequiredValidatorFactory('esql')(...args); + }, + }, + ], + }, +}; diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translation_tab/translations.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translation_tab/translations.ts index 1592a80d32478..70325c76b9325 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translation_tab/translations.ts +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translation_tab/translations.ts @@ -21,17 +21,17 @@ export const NAME_LABEL = i18n.translate( } ); -export const SPLUNK_QUERY_TITLE = i18n.translate( - 'xpack.securitySolution.siemMigrations.rules.translationDetails.translationTab.splunkQueryTitle', +export const NAME_REQUIRED_ERROR_MESSAGE = i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.translationDetails.translationTab.nameFieldRequiredError', { - defaultMessage: 'Splunk query', + defaultMessage: 'A name is required.', } ); -export const PREBUILT_RULE_QUERY_TITLE = i18n.translate( - 'xpack.securitySolution.siemMigrations.rules.translationDetails.translationTab.prebuiltRuleQueryTitle', +export const SPLUNK_QUERY_TITLE = i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.translationDetails.translationTab.splunkQueryTitle', { - defaultMessage: 'Prebuilt rule query', + defaultMessage: 'Splunk query', } ); @@ -48,3 +48,71 @@ export const TRANSLATED_QUERY_AREAL_LABEL = i18n.translate( defaultMessage: 'Translated query', } ); + +export const INSTALLED_LABEL = i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.translationDetails.translationTab.installedLabel', + { + defaultMessage: 'Installed', + } +); + +export const EDIT = i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.translationDetails.translationTab.editButtonLabel', + { + defaultMessage: 'Edit', + } +); + +export const SAVE = i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.translationDetails.translationTab.saveButtonLabel', + { + defaultMessage: 'Save', + } +); + +export const CANCEL = i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.translationDetails.translationTab.cancelButtonLabel', + { + defaultMessage: 'Cancel', + } +); + +export const CALLOUT_TRANSLATED_RULE_TITLE = i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.translationDetails.translationTab.translatedRuleCalloutTitle', + { + defaultMessage: + 'This rule has been fully translated. Install rule to finish migration. Once installed, you’ll be able to fine tune the rule.', + } +); + +export const CALLOUT_PARTIALLY_TRANSLATED_RULE_TITLE = i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.translationDetails.translationTab.partiallyTranslatedRuleCalloutTitle', + { + defaultMessage: + 'Parts of the query couldn’t be translated, please complete to Install the rule and finish migrating.', + } +); + +export const CALLOUT_PARTIALLY_TRANSLATED_RULE_DESCRIPTION = i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.translationDetails.translationTab.partiallyTranslatedRuleCalloutDescription', + { + defaultMessage: + 'In order to save this SIEM Rule to Elastic, you’ll need to finish the query and define the rule severity below. Complete the required fields and finalize the query to save as Rule. Or if you need help, please reach out to Elastic support.', + } +); + +export const CALLOUT_NOT_TRANSLATED_RULE_TITLE = i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.translationDetails.translationTab.notTranslatedRuleCalloutTitle', + { + defaultMessage: + 'This query couldn’t be translated, please complete to Install the rule and finish migrating.', + } +); + +export const CALLOUT_NOT_TRANSLATED_RULE_DESCRIPTION = i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.translationDetails.translationTab.notTranslatedRuleCalloutDescription', + { + defaultMessage: + 'When a query cannot be partially translated, there could be a misalignment in features between the SIEM product.', + } +); diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translation_tab/types.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translation_tab/types.ts new file mode 100644 index 0000000000000..1b509a71f47a6 --- /dev/null +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translation_tab/types.ts @@ -0,0 +1,14 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +type EsqlLanguage = 'esql'; + +export interface RuleTranslationSchema { + ruleName: string; + // The type is compatible with the validation function used in form schema + queryBar: { query: { query: string; language: EsqlLanguage } }; +} diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translations.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translations.ts index 8e6582b8c198e..47a476ef42899 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translations.ts +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rule_details_flyout/translations.ts @@ -7,6 +7,13 @@ import { i18n } from '@kbn/i18n'; +export const UNKNOWN_MIGRATION_RULE_TITLE = i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.translationDetails.unknownMigrationRuleTitle', + { + defaultMessage: 'Unknown migration rule', + } +); + export const OVERVIEW_TAB_LABEL = i18n.translate( 'xpack.securitySolution.siemMigrations.rules.translationDetails.overviewTabLabel', { diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rules_table/index.tsx b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rules_table/index.tsx index 106e7ba514d3f..07ba44d4d167e 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rules_table/index.tsx +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rules_table/index.tsx @@ -224,11 +224,22 @@ export const MigrationRulesTable: React.FC = React.mem [installSingleRule, isLoading] ); + const getMigrationRule = useCallback( + (ruleId: string) => { + if (!isLoading && ruleMigrations.length) { + return ruleMigrations.find((item) => item.id === ruleId); + } + }, + [isLoading, ruleMigrations] + ); + const { migrationRuleDetailsFlyout: rulePreviewFlyout, openMigrationRuleDetails: openRulePreview, } = useMigrationRuleDetailsFlyout({ + isLoading, prebuiltRules, + getMigrationRule, ruleActionsFactory, }); diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rules_table_columns/name.tsx b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rules_table_columns/name.tsx index dd77636521eda..ce0e1d3c99d8d 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rules_table_columns/name.tsx +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rules_table_columns/name.tsx @@ -6,7 +6,7 @@ */ import React from 'react'; -import { EuiLink } from '@elastic/eui'; +import { EuiLink, EuiText } from '@elastic/eui'; import type { RuleMigration } from '../../../../../common/siem_migrations/model/rule_migration.gen'; import * as i18n from './translations'; import type { TableColumn } from './constants'; @@ -17,6 +17,13 @@ interface NameProps { } const Name = ({ rule, openMigrationRuleDetails }: NameProps) => { + if (!rule.elastic_rule) { + return ( + + {rule.original_rule.title} + + ); + } return ( { @@ -24,7 +31,7 @@ const Name = ({ rule, openMigrationRuleDetails }: NameProps) => { }} data-test-subj="ruleName" > - {rule.elastic_rule?.title} + {rule.elastic_rule.title} ); }; diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rules_table_columns/status.tsx b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rules_table_columns/status.tsx index 5daec1f1b4fa9..2936878c93b8b 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rules_table_columns/status.tsx +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/rules_table_columns/status.tsx @@ -15,9 +15,7 @@ export const createStatusColumn = (): TableColumn => { return { field: 'translation_result', name: i18n.COLUMN_STATUS, - render: (value: RuleMigration['translation_result'], rule: RuleMigration) => ( - - ), + render: (_, rule: RuleMigration) => , sortable: true, truncateText: true, width: '15%', diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/status_badge/index.tsx b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/status_badge/index.tsx index 8f8bcff40f674..f1f435c7e14ad 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/status_badge/index.tsx +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/status_badge/index.tsx @@ -10,7 +10,11 @@ import { euiLightVars } from '@kbn/ui-theme'; import { EuiFlexGroup, EuiFlexItem, EuiHealth, EuiIcon, EuiToolTip } from '@elastic/eui'; import { css } from '@emotion/css'; -import type { RuleMigrationTranslationResult } from '../../../../../common/siem_migrations/model/rule_migration.gen'; +import { + RuleMigrationStatusEnum, + type RuleMigration, + type RuleMigrationTranslationResult, +} from '../../../../../common/siem_migrations/model/rule_migration.gen'; import { convertTranslationResultIntoText } from '../../utils/helpers'; import * as i18n from './translations'; @@ -27,35 +31,51 @@ const statusToColorMap: Record = { }; interface StatusBadgeProps { - value?: RuleMigrationTranslationResult; - installedRuleId?: string; + migrationRule: RuleMigration; 'data-test-subj'?: string; } export const StatusBadge: React.FC = React.memo( - ({ value, installedRuleId, 'data-test-subj': dataTestSubj = 'translation-result' }) => { - const translationResult = installedRuleId ? 'full' : value ?? 'untranslatable'; - const displayValue = installedRuleId - ? i18n.RULE_STATUS_INSTALLED - : convertTranslationResultIntoText(translationResult); - const color = statusToColorMap[translationResult]; + ({ migrationRule, 'data-test-subj': dataTestSubj = 'translation-result' }) => { + // Installed + if (migrationRule.elastic_rule?.id) { + return ( + + + + + + {i18n.RULE_STATUS_INSTALLED} + + + ); + } - return ( - - {installedRuleId ? ( + // Failed + if (migrationRule.status === RuleMigrationStatusEnum.failed) { + return ( + - + - {displayValue} + {i18n.RULE_STATUS_FAILED} - ) : ( - -
- {displayValue} -
-
- )} +
+ ); + } + + const translationResult = migrationRule.translation_result ?? 'untranslatable'; + const displayValue = convertTranslationResultIntoText(translationResult); + const color = statusToColorMap[translationResult]; + + return ( + + +
+ {displayValue} +
+
); } diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/status_badge/translations.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/status_badge/translations.ts index 0a7b1c37f7acf..a84fd298ed364 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/components/status_badge/translations.ts +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/components/status_badge/translations.ts @@ -13,3 +13,10 @@ export const RULE_STATUS_INSTALLED = i18n.translate( defaultMessage: 'Installed', } ); + +export const RULE_STATUS_FAILED = i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.status.failedLabel', + { + defaultMessage: 'Error', + } +); diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/hooks/use_migration_rule_preview_flyout.tsx b/x-pack/plugins/security_solution/public/siem_migrations/rules/hooks/use_migration_rule_preview_flyout.tsx index 4df54d6331f66..4efaa4aba7181 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/hooks/use_migration_rule_preview_flyout.tsx +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/hooks/use_migration_rule_preview_flyout.tsx @@ -8,7 +8,6 @@ import type { ReactNode } from 'react'; import React, { useCallback, useState, useMemo } from 'react'; import type { EuiTabbedContentTab } from '@elastic/eui'; -import type { RuleResponse } from '../../../../common/api/detection_engine'; import type { PrebuiltRuleVersion, RuleMigration, @@ -16,7 +15,9 @@ import type { import { MigrationRuleDetailsFlyout } from '../components/rule_details_flyout'; interface UseMigrationRuleDetailsFlyoutParams { + isLoading?: boolean; prebuiltRules: Record; + getMigrationRule: (ruleId: string) => RuleMigration | undefined; ruleActionsFactory: (ruleMigration: RuleMigration, closeRulePreview: () => void) => ReactNode; extraTabsFactory?: (ruleMigration: RuleMigration) => EuiTabbedContentTab[]; } @@ -28,13 +29,34 @@ interface UseMigrationRuleDetailsFlyoutResult { } export function useMigrationRuleDetailsFlyout({ + isLoading, prebuiltRules, + getMigrationRule, extraTabsFactory, ruleActionsFactory, }: UseMigrationRuleDetailsFlyoutParams): UseMigrationRuleDetailsFlyoutResult { - const [ruleMigration, setMigrationRuleForPreview] = useState(); - const [matchedPrebuiltRule, setMatchedPrebuiltRule] = useState(); - const closeMigrationRuleDetails = useCallback(() => setMigrationRuleForPreview(undefined), []); + const [migrationRuleId, setMigrationRuleId] = useState(); + + const ruleMigration = useMemo(() => { + if (migrationRuleId) { + return getMigrationRule(migrationRuleId); + } + }, [getMigrationRule, migrationRuleId]); + const matchedPrebuiltRule = useMemo(() => { + if (ruleMigration) { + // Find matched prebuilt rule if any and prioritize its installed version + const matchedPrebuiltRuleVersion = ruleMigration.elastic_rule?.prebuilt_rule_id + ? prebuiltRules[ruleMigration.elastic_rule.prebuilt_rule_id] + : undefined; + return matchedPrebuiltRuleVersion?.current ?? matchedPrebuiltRuleVersion?.target; + } + }, [prebuiltRules, ruleMigration]); + + const openMigrationRuleDetails = useCallback((rule: RuleMigration) => { + setMigrationRuleId(rule.id); + }, []); + const closeMigrationRuleDetails = useCallback(() => setMigrationRuleId(undefined), []); + const ruleActions = useMemo( () => ruleMigration && ruleActionsFactory(ruleMigration, closeMigrationRuleDetails), [ruleMigration, ruleActionsFactory, closeMigrationRuleDetails] @@ -44,21 +66,6 @@ export function useMigrationRuleDetailsFlyout({ [ruleMigration, extraTabsFactory] ); - const openMigrationRuleDetails = useCallback( - (rule: RuleMigration) => { - setMigrationRuleForPreview(rule); - - // Find matched prebuilt rule if any and prioritize its installed version - const matchedPrebuiltRuleVersion = rule.elastic_rule?.prebuilt_rule_id - ? prebuiltRules[rule.elastic_rule.prebuilt_rule_id] - : undefined; - const prebuiltRule = - matchedPrebuiltRuleVersion?.current ?? matchedPrebuiltRuleVersion?.target; - setMatchedPrebuiltRule(prebuiltRule); - }, - [prebuiltRules] - ); - return { migrationRuleDetailsFlyout: ruleMigration && ( ), openMigrationRuleDetails, diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/logic/translations.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/logic/translations.ts index 3f92da4e8ddcc..ef3521fd37301 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/logic/translations.ts +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/logic/translations.ts @@ -34,3 +34,10 @@ export const INSTALL_MIGRATION_RULES_FAILURE = i18n.translate( defaultMessage: 'Failed to install migration rules', } ); + +export const UPDATE_MIGRATION_RULES_FAILURE = i18n.translate( + 'xpack.securitySolution.siemMigrations.rules.updateMigrationRulesFailDescription', + { + defaultMessage: 'Failed to update migration rules', + } +); diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/logic/use_get_migration_rules.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/logic/use_get_migration_rules.ts index 4109575459233..b06f041e2c58e 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/logic/use_get_migration_rules.ts +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/logic/use_get_migration_rules.ts @@ -18,9 +18,10 @@ export const useGetMigrationRules = (params: { migrationId: string; page?: number; perPage?: number; - sortField: string; - sortDirection: 'asc' | 'desc'; + sortField?: string; + sortDirection?: 'asc' | 'desc'; searchTerm?: string; + ids?: string[]; }) => { const { addError } = useAppToasts(); diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/logic/use_update_migration_rules.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/logic/use_update_migration_rules.ts new file mode 100644 index 0000000000000..1e0fa22c466f0 --- /dev/null +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/logic/use_update_migration_rules.ts @@ -0,0 +1,40 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { useMutation } from '@tanstack/react-query'; +import type { UpdateRuleMigrationData } from '../../../../common/siem_migrations/model/rule_migration.gen'; +import { SIEM_RULE_MIGRATIONS_PATH } from '../../../../common/siem_migrations/constants'; +import type { UpdateRuleMigrationResponse } from '../../../../common/siem_migrations/model/api/rules/rule_migration.gen'; +import { useAppToasts } from '../../../common/hooks/use_app_toasts'; +import * as i18n from './translations'; +import { useInvalidateGetMigrationRules } from './use_get_migration_rules'; +import { useInvalidateGetMigrationTranslationStats } from './use_get_migration_translation_stats'; +import { updateMigrationRules } from '../api'; + +export const UPDATE_MIGRATION_RULES_MUTATION_KEY = ['PUT', SIEM_RULE_MIGRATIONS_PATH]; + +export const useUpdateMigrationRules = (migrationId: string) => { + const { addError } = useAppToasts(); + + const invalidateGetRuleMigrations = useInvalidateGetMigrationRules(migrationId); + const invalidateGetMigrationTranslationStats = + useInvalidateGetMigrationTranslationStats(migrationId); + + return useMutation( + (rulesToUpdate) => updateMigrationRules({ rulesToUpdate }), + { + mutationKey: UPDATE_MIGRATION_RULES_MUTATION_KEY, + onError: (error) => { + addError(error, { title: i18n.UPDATE_MIGRATION_RULES_FAILURE }); + }, + onSettled: () => { + invalidateGetRuleMigrations(); + invalidateGetMigrationTranslationStats(); + }, + } + ); +}; diff --git a/x-pack/plugins/security_solution/public/siem_migrations/rules/utils/translations.ts b/x-pack/plugins/security_solution/public/siem_migrations/rules/utils/translations.ts index 366ad435c61b4..03f76cb833818 100644 --- a/x-pack/plugins/security_solution/public/siem_migrations/rules/utils/translations.ts +++ b/x-pack/plugins/security_solution/public/siem_migrations/rules/utils/translations.ts @@ -10,7 +10,7 @@ import { i18n } from '@kbn/i18n'; export const SIEM_TRANSLATION_RESULT_FULL_LABEL = i18n.translate( 'xpack.securitySolution.siemMigrations.rules.translationResult.full', { - defaultMessage: 'Fully translated', + defaultMessage: 'Translated', } ); diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/get.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/get.ts index 30037aeea88ae..2450bd02edadc 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/get.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/get.ts @@ -45,13 +45,14 @@ export const registerSiemRuleMigrationsGetRoute = ( sort_field: sortField, sort_direction: sortDirection, search_term: searchTerm, + ids, } = req.query; try { const ctx = await context.resolve(['securitySolution']); const ruleMigrationsClient = ctx.securitySolution.getSiemRuleMigrationsClient(); const options: RuleMigrationGetOptions = { - filters: { searchTerm }, + filters: { searchTerm, ids }, sort: { sortField, sortDirection }, size: perPage, from: page && perPage ? page * perPage : 0, diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/util/installation.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/util/installation.ts index 8716c83ce6ba3..de95d818dd18d 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/util/installation.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/api/util/installation.ts @@ -7,13 +7,13 @@ import type { Logger, SavedObjectsClientContract } from '@kbn/core/server'; import type { RulesClient } from '@kbn/alerting-plugin/server'; +import type { UpdateRuleMigrationData } from '../../../../../../common/siem_migrations/model/rule_migration.gen'; import { initPromisePool } from '../../../../../utils/promise_pool'; import type { SecuritySolutionApiRequestHandlerContext } from '../../../../..'; import { performTimelinesInstallation } from '../../../../detection_engine/prebuilt_rules/logic/perform_timelines_installation'; import { createPrebuiltRules } from '../../../../detection_engine/prebuilt_rules/logic/rule_objects/create_prebuilt_rules'; import type { IDetectionRulesClient } from '../../../../detection_engine/rule_management/logic/detection_rules_client/detection_rules_client_interface'; import type { RuleResponse } from '../../../../../../common/api/detection_engine'; -import type { UpdateRuleMigrationInput } from '../../data/rule_migrations_data_rules_client'; import type { StoredRuleMigration } from '../../types'; import { getPrebuiltRules, getUniquePrebuiltRuleIds } from './prebuilt_rules'; import { @@ -32,7 +32,7 @@ const installPrebuiltRules = async ( rulesClient: RulesClient, savedObjectsClient: SavedObjectsClientContract, detectionRulesClient: IDetectionRulesClient -): Promise => { +): Promise => { // Get required prebuilt rules const prebuiltRulesIds = getUniquePrebuiltRuleIds(rulesToInstall); const prebuiltRules = await getPrebuiltRules(rulesClient, savedObjectsClient, prebuiltRulesIds); @@ -66,7 +66,7 @@ const installPrebuiltRules = async ( ]; // Create migration rules updates templates - const rulesToUpdate: UpdateRuleMigrationInput[] = []; + const rulesToUpdate: UpdateRuleMigrationData[] = []; installedRules.forEach((installedRule) => { const filteredRules = rulesToInstall.filter( (rule) => rule.elastic_rule?.prebuilt_rule_id === installedRule.rule_id @@ -89,8 +89,8 @@ export const installCustomRules = async ( enabled: boolean, detectionRulesClient: IDetectionRulesClient, logger: Logger -): Promise => { - const rulesToUpdate: UpdateRuleMigrationInput[] = []; +): Promise => { + const rulesToUpdate: UpdateRuleMigrationData[] = []; const createCustomRulesOutcome = await initPromisePool({ concurrency: MAX_CUSTOM_RULES_TO_CREATE_IN_PARALLEL, items: rulesToInstall, @@ -211,10 +211,7 @@ export const installTranslated = async ({ logger ); - const rulesToUpdate: UpdateRuleMigrationInput[] = [ - ...updatedPrebuiltRules, - ...updatedCustomRules, - ]; + const rulesToUpdate: UpdateRuleMigrationData[] = [...updatedPrebuiltRules, ...updatedCustomRules]; if (rulesToUpdate.length) { await ruleMigrationsClient.data.rules.update(rulesToUpdate); diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/rule_migrations_data_rules_client.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/rule_migrations_data_rules_client.ts index 8cdc776f631b0..b483b3bdd4fbb 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/rule_migrations_data_rules_client.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/rule_migrations_data_rules_client.ts @@ -17,24 +17,21 @@ import type { } from '@elastic/elasticsearch/lib/api/types'; import type { StoredRuleMigration } from '../types'; import { SiemMigrationStatus } from '../../../../../common/siem_migrations/constants'; -import type { - ElasticRule, - RuleMigration, - RuleMigrationTaskStats, - RuleMigrationTranslationStats, +import { + type RuleMigration, + type RuleMigrationTaskStats, + type RuleMigrationTranslationStats, + type UpdateRuleMigrationData, } from '../../../../../common/siem_migrations/model/rule_migration.gen'; import { RuleMigrationsDataBaseClient } from './rule_migrations_data_base_client'; import { getSortingOptions, type RuleMigrationSort } from './sort'; import { conditions as searchConditions } from './search'; +import { convertEsqlQueryToTranslationResult } from './utils'; export type CreateRuleMigrationInput = Omit< RuleMigration, '@timestamp' | 'id' | 'status' | 'created_by' >; -export type UpdateRuleMigrationInput = { elastic_rule?: Partial } & Pick< - RuleMigration, - 'id' | 'translation_result' | 'comments' ->; export type RuleMigrationDataStats = Omit; export type RuleMigrationAllDataStats = RuleMigrationDataStats[]; @@ -90,22 +87,30 @@ export class RuleMigrationsDataRulesClient extends RuleMigrationsDataBaseClient } /** Updates an array of rule migrations to be processed */ - async update(ruleMigrations: UpdateRuleMigrationInput[]): Promise { + async update(ruleMigrations: UpdateRuleMigrationData[]): Promise { const index = await this.getIndexName(); - let ruleMigrationsSlice: UpdateRuleMigrationInput[]; + let ruleMigrationsSlice: UpdateRuleMigrationData[]; const updatedAt = new Date().toISOString(); while ((ruleMigrationsSlice = ruleMigrations.splice(0, BULK_MAX_SIZE)).length) { await this.esClient .bulk({ refresh: 'wait_for', operations: ruleMigrationsSlice.flatMap((ruleMigration) => { - const { id, ...rest } = ruleMigration; + const { + id, + translation_result: translationResult, + elastic_rule: elasticRule, + ...rest + } = ruleMigration; return [ { update: { _index: index, _id: id } }, { doc: { ...rest, + elastic_rule: elasticRule, + translation_result: + translationResult ?? convertEsqlQueryToTranslationResult(elasticRule?.query), updated_by: this.username, updated_at: updatedAt, }, diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/utils.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/utils.ts new file mode 100644 index 0000000000000..ca547da00e8c9 --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/utils.ts @@ -0,0 +1,42 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { parseEsqlQuery } from '@kbn/securitysolution-utils'; +import { + RuleMigrationTranslationResultEnum, + type RuleMigrationTranslationResult, +} from '../../../../../common/siem_migrations/model/rule_migration.gen'; + +export const isValidEsqlQuery = (esqlQuery: string) => { + const { isEsqlQueryAggregating, hasMetadataOperator, errors } = parseEsqlQuery(esqlQuery); + + // Check if there are any syntax errors + if (errors.length) { + return false; + } + + // non-aggregating query which does not have metadata, is not a valid one + if (!isEsqlQueryAggregating && !hasMetadataOperator) { + return false; + } + + return true; +}; + +export const convertEsqlQueryToTranslationResult = ( + esqlQuery?: string +): RuleMigrationTranslationResult | undefined => { + if (esqlQuery === undefined) { + return undefined; + } + if (esqlQuery === '') { + return RuleMigrationTranslationResultEnum.untranslatable; + } + return isValidEsqlQuery(esqlQuery) + ? RuleMigrationTranslationResultEnum.full + : RuleMigrationTranslationResultEnum.partial; +}; From 2ab38a3664cf7f103ac1a57f664c736a8e3d495b Mon Sep 17 00:00:00 2001 From: Kevin Delemme Date: Thu, 12 Dec 2024 11:49:34 -0500 Subject: [PATCH 36/52] feat(investigation): Add eventTypes filter on the API (#202829) --- .../src/rest_specs/event.ts | 19 --- .../src/rest_specs/get_events.ts | 16 ++- .../src/rest_specs/index.ts | 2 - .../src/schema/event.ts | 33 ++--- .../public/hooks/query_key_factory.ts | 8 +- .../hooks/use_add_investigation_note.ts | 11 +- .../hooks/use_delete_investigation_note.ts | 11 +- .../public/hooks/use_fetch_alert.tsx | 1 + .../use_fetch_all_investigation_stats.ts | 3 +- .../hooks/use_fetch_all_investigation_tags.ts | 3 +- .../public/hooks/use_fetch_entities.ts | 4 +- .../public/hooks/use_fetch_events.ts | 20 ++- .../hooks/use_fetch_investigation_list.ts | 2 - .../hooks/use_update_investigation_note.ts | 6 +- .../add_investigation_item.tsx | 2 +- .../assistant_hypothesis.tsx | 13 +- .../events_timeline/events_timeline.tsx | 114 ----------------- .../details/components/grid_item/index.tsx | 20 +-- .../investigation_details.tsx | 7 +- .../investigation_items.tsx | 48 ++------ .../investigation_items_list.tsx | 2 +- .../investigation_notes/edit_note_form.tsx | 20 ++- .../investigation_notes.tsx | 22 +++- .../components/investigation_notes/note.tsx | 10 +- .../investigation_search_bar.tsx | 56 --------- .../events_timeline/alert_event.tsx | 8 +- .../events_timeline/annotation_event.tsx | 8 +- .../events_timeline/events_timeline.tsx | 115 ++++++++++++++++++ .../events_timeline/timeline_theme.ts | 2 +- .../investigation_timeline.tsx | 27 ++++ .../investigation_event_types_filter.tsx | 106 ++++++++++++++++ .../investigation_timeline_filter_bar.tsx | 71 +++++++++++ .../contexts/investigation_context.tsx | 53 +------- ...investigate_app_server_route_repository.ts | 13 +- .../server/services/get_events.ts | 16 +-- .../investigate_app/tsconfig.json | 101 +++++++-------- 36 files changed, 536 insertions(+), 437 deletions(-) delete mode 100644 packages/kbn-investigation-shared/src/rest_specs/event.ts delete mode 100644 x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/events_timeline/events_timeline.tsx delete mode 100644 x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_search_bar/investigation_search_bar.tsx rename x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/{ => investigation_timeline}/events_timeline/alert_event.tsx (80%) rename x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/{ => investigation_timeline}/events_timeline/annotation_event.tsx (86%) create mode 100644 x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/events_timeline.tsx rename x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/{ => investigation_timeline}/events_timeline/timeline_theme.ts (94%) create mode 100644 x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline.tsx create mode 100644 x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline_filter_bar/investigation_event_types_filter.tsx create mode 100644 x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline_filter_bar/investigation_timeline_filter_bar.tsx diff --git a/packages/kbn-investigation-shared/src/rest_specs/event.ts b/packages/kbn-investigation-shared/src/rest_specs/event.ts deleted file mode 100644 index e63083f75c824..0000000000000 --- a/packages/kbn-investigation-shared/src/rest_specs/event.ts +++ /dev/null @@ -1,19 +0,0 @@ -/* - * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". - */ - -import { z } from '@kbn/zod'; -import { eventSchema } from '../schema'; - -const eventResponseSchema = eventSchema; - -type EventResponse = z.output; -type EventSchema = z.output; - -export { eventResponseSchema }; -export type { EventResponse, EventSchema }; diff --git a/packages/kbn-investigation-shared/src/rest_specs/get_events.ts b/packages/kbn-investigation-shared/src/rest_specs/get_events.ts index 064a75fab1562..801e0b47dc482 100644 --- a/packages/kbn-investigation-shared/src/rest_specs/get_events.ts +++ b/packages/kbn-investigation-shared/src/rest_specs/get_events.ts @@ -8,7 +8,7 @@ */ import { z } from '@kbn/zod'; -import { eventResponseSchema } from './event'; +import { eventTypeSchema, eventSchema } from '../schema'; const getEventsParamsSchema = z .object({ @@ -17,12 +17,24 @@ const getEventsParamsSchema = z rangeFrom: z.string(), rangeTo: z.string(), filter: z.string(), + eventTypes: z.string().transform((val, ctx) => { + const eventTypes = val.split(','); + const hasInvalidType = eventTypes.some((eventType) => !eventTypeSchema.parse(eventType)); + if (hasInvalidType) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: 'Invalid event type', + }); + return z.NEVER; + } + return val.split(',').map((v) => eventTypeSchema.parse(v)); + }), }) .partial(), }) .partial(); -const getEventsResponseSchema = z.array(eventResponseSchema); +const getEventsResponseSchema = z.array(eventSchema); type GetEventsParams = z.infer; type GetEventsResponse = z.output; diff --git a/packages/kbn-investigation-shared/src/rest_specs/index.ts b/packages/kbn-investigation-shared/src/rest_specs/index.ts index d0070c8b8959d..3a6c5de095caa 100644 --- a/packages/kbn-investigation-shared/src/rest_specs/index.ts +++ b/packages/kbn-investigation-shared/src/rest_specs/index.ts @@ -25,7 +25,6 @@ export type * from './investigation_note'; export type * from './update'; export type * from './update_item'; export type * from './update_note'; -export type * from './event'; export type * from './get_events'; export type * from './entity'; export type * from './get_entities'; @@ -48,7 +47,6 @@ export * from './investigation_note'; export * from './update'; export * from './update_item'; export * from './update_note'; -export * from './event'; export * from './get_events'; export * from './entity'; export * from './get_entities'; diff --git a/packages/kbn-investigation-shared/src/schema/event.ts b/packages/kbn-investigation-shared/src/schema/event.ts index c954a0de13fb3..695d565e92c61 100644 --- a/packages/kbn-investigation-shared/src/schema/event.ts +++ b/packages/kbn-investigation-shared/src/schema/event.ts @@ -17,8 +17,15 @@ const eventTypeSchema = z.union([ z.literal('anomaly'), ]); +const sourceSchema = z.record(z.string(), z.any()); + const annotationEventSchema = z.object({ eventType: z.literal('annotation'), + id: z.string(), + title: z.string(), + description: z.string(), + timestamp: z.number(), + source: sourceSchema.optional(), annotationType: z.string().optional(), }); @@ -31,21 +38,19 @@ const alertStatusSchema = z.union([ const alertEventSchema = z.object({ eventType: z.literal('alert'), + id: z.string(), + title: z.string(), + description: z.string(), + timestamp: z.number(), + source: sourceSchema.optional(), alertStatus: alertStatusSchema, }); -const sourceSchema = z.record(z.string(), z.any()); +const eventSchema = z.discriminatedUnion('eventType', [annotationEventSchema, alertEventSchema]); + +type EventResponse = z.output; +type AlertEventResponse = z.output; +type AnnotationEventResponse = z.output; -const eventSchema = z.intersection( - z.object({ - id: z.string(), - title: z.string(), - description: z.string(), - timestamp: z.number(), - eventType: eventTypeSchema, - source: sourceSchema.optional(), - }), - z.discriminatedUnion('eventType', [annotationEventSchema, alertEventSchema]) -); - -export { eventSchema }; +export type { EventResponse, AlertEventResponse, AnnotationEventResponse }; +export { eventSchema, eventTypeSchema, alertEventSchema, annotationEventSchema }; diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/query_key_factory.ts b/x-pack/plugins/observability_solution/investigate_app/public/hooks/query_key_factory.ts index 38e4c90aebe09..494b2b134aacb 100644 --- a/x-pack/plugins/observability_solution/investigate_app/public/hooks/query_key_factory.ts +++ b/x-pack/plugins/observability_solution/investigate_app/public/hooks/query_key_factory.ts @@ -12,8 +12,12 @@ export const investigationKeys = { userProfiles: (profileIds: Set) => [...investigationKeys.all, 'userProfiles', ...profileIds] as const, tags: () => [...investigationKeys.all, 'tags'] as const, - events: (rangeFrom?: string, rangeTo?: string, filter?: string) => - [...investigationKeys.all, 'events', rangeFrom, rangeTo, filter] as const, + events: (params: { + rangeFrom?: string; + rangeTo?: string; + filter?: string; + eventTypes?: string[]; + }) => [...investigationKeys.all, 'events', params] as const, stats: () => [...investigationKeys.all, 'stats'] as const, lists: () => [...investigationKeys.all, 'list'] as const, list: (params: { page: number; perPage: number; search?: string; filter?: string }) => diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_add_investigation_note.ts b/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_add_investigation_note.ts index 3f349238c73f5..659e56b9172d3 100644 --- a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_add_investigation_note.ts +++ b/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_add_investigation_note.ts @@ -11,8 +11,9 @@ import { CreateInvestigationNoteParams, CreateInvestigationNoteResponse, } from '@kbn/investigation-shared'; -import { useMutation } from '@tanstack/react-query'; +import { useMutation, useQueryClient } from '@tanstack/react-query'; import { useKibana } from './use_kibana'; +import { investigationKeys } from './query_key_factory'; type ServerError = IHttpFetchError; @@ -23,6 +24,7 @@ export function useAddInvestigationNote() { notifications: { toasts }, }, } = useKibana(); + const queryClient = useQueryClient(); return useMutation< CreateInvestigationNoteResponse, @@ -39,7 +41,12 @@ export function useAddInvestigationNote() { ); }, { - onSuccess: (response, {}) => { + onSuccess: (_, { investigationId }) => { + queryClient.invalidateQueries({ + queryKey: investigationKeys.detailNotes(investigationId), + exact: false, + }); + toasts.addSuccess( i18n.translate('xpack.investigateApp.addInvestigationNote.successMessage', { defaultMessage: 'Note saved', diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_delete_investigation_note.ts b/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_delete_investigation_note.ts index 8eaeea2d67b87..5b4e6e6d6128c 100644 --- a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_delete_investigation_note.ts +++ b/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_delete_investigation_note.ts @@ -6,13 +6,15 @@ */ import { IHttpFetchError, ResponseErrorBody } from '@kbn/core/public'; -import { useMutation } from '@tanstack/react-query'; +import { useMutation, useQueryClient } from '@tanstack/react-query'; import { i18n } from '@kbn/i18n'; import { useKibana } from './use_kibana'; +import { investigationKeys } from './query_key_factory'; type ServerError = IHttpFetchError; export function useDeleteInvestigationNote() { + const queryClient = useQueryClient(); const { core: { http, @@ -34,7 +36,12 @@ export function useDeleteInvestigationNote() { ); }, { - onSuccess: (response, {}) => { + onSuccess: (response, { investigationId }) => { + queryClient.invalidateQueries({ + queryKey: investigationKeys.detailNotes(investigationId), + exact: false, + }); + toasts.addSuccess( i18n.translate('xpack.investigateApp.useDeleteInvestigationNote.successMessage', { defaultMessage: 'Note deleted', diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_alert.tsx b/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_alert.tsx index 7d2245ac38618..76f22d2ccff3c 100644 --- a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_alert.tsx +++ b/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_alert.tsx @@ -44,6 +44,7 @@ export function useFetchAlert({ investigation }: UseFetchAlertParams): UseFetchA }); }, staleTime: 60 * 1000, + retry: false, refetchOnWindowFocus: false, onError: (error: Error) => { toasts.addError(error, { diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_all_investigation_stats.ts b/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_all_investigation_stats.ts index 2b2c8b92b0d4f..8b5ad9f8abd76 100644 --- a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_all_investigation_stats.ts +++ b/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_all_investigation_stats.ts @@ -51,8 +51,7 @@ export function useFetchAllInvestigationStats(): Response { }; }, retry: false, - cacheTime: 600 * 1000, // 10 minutes - staleTime: 0, + staleTime: 15 * 1000, onError: (error: Error) => { toasts.addError(error, { title: i18n.translate('xpack.investigateApp.useFetchAllInvestigationStats.errorTitle', { diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_all_investigation_tags.ts b/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_all_investigation_tags.ts index 083742f09b685..be912df756440 100644 --- a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_all_investigation_tags.ts +++ b/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_all_investigation_tags.ts @@ -35,8 +35,7 @@ export function useFetchAllInvestigationTags(): Response { signal, }); }, - cacheTime: 600 * 1000, // 10_minutes - staleTime: 0, + staleTime: 15 * 1000, refetchOnWindowFocus: false, retry: false, onError: (error: Error) => { diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_entities.ts b/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_entities.ts index a8cee1a9c1857..5d99d9ed906ec 100644 --- a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_entities.ts +++ b/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_entities.ts @@ -50,9 +50,7 @@ export function useFetchEntities({ }); }, refetchOnWindowFocus: false, - onError: (error: Error) => { - // ignore error - }, + retry: false, enabled: Boolean(investigationId && (serviceName || hostName || containerId)), }); diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_events.ts b/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_events.ts index 5b885fc664b13..8447789562fa5 100644 --- a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_events.ts +++ b/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_events.ts @@ -6,16 +6,14 @@ */ import { i18n } from '@kbn/i18n'; -import { useQuery } from '@tanstack/react-query'; import { GetEventsResponse } from '@kbn/investigation-shared'; +import { useQuery } from '@tanstack/react-query'; +import { isArray } from 'lodash'; import { investigationKeys } from './query_key_factory'; import { useKibana } from './use_kibana'; export interface Response { - isInitialLoading: boolean; isLoading: boolean; - isRefetching: boolean; - isSuccess: boolean; isError: boolean; data?: GetEventsResponse; } @@ -24,10 +22,12 @@ export function useFetchEvents({ rangeFrom, rangeTo, filter, + eventTypes, }: { rangeFrom?: string; rangeTo?: string; filter?: string; + eventTypes?: string[]; }): Response { const { core: { @@ -36,21 +36,20 @@ export function useFetchEvents({ }, } = useKibana(); - const { isInitialLoading, isLoading, isError, isSuccess, isRefetching, data } = useQuery({ - queryKey: investigationKeys.events(rangeFrom, rangeTo, filter), + const { isLoading, isError, data } = useQuery({ + queryKey: investigationKeys.events({ rangeFrom, rangeTo, filter, eventTypes }), queryFn: async ({ signal }) => { - return await http.get(`/api/observability/events`, { + return http.get(`/api/observability/events`, { query: { rangeFrom, rangeTo, filter, + ...(isArray(eventTypes) && eventTypes.length > 0 && { eventTypes: eventTypes.join(',') }), }, version: '2023-10-31', signal, }); }, - cacheTime: 600 * 1000, // 10_minutes - staleTime: 0, refetchOnWindowFocus: false, retry: false, onError: (error: Error) => { @@ -64,10 +63,7 @@ export function useFetchEvents({ return { data, - isInitialLoading, isLoading, - isRefetching, - isSuccess, isError, }; } diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_investigation_list.ts b/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_investigation_list.ts index cadd0de89a8e3..9d19d4d4cc04c 100644 --- a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_investigation_list.ts +++ b/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_investigation_list.ts @@ -64,8 +64,6 @@ export function useFetchInvestigationList({ retry: false, refetchInterval: 60 * 1000, refetchOnWindowFocus: false, - cacheTime: 600 * 1000, // 10 minutes - staleTime: 0, onError: (error: Error) => { toasts.addError(error, { title: i18n.translate('xpack.investigateApp.useFetchInvestigationList.errorTitle', { diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_update_investigation_note.ts b/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_update_investigation_note.ts index 14da1ec22feef..a66aedb4611c2 100644 --- a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_update_investigation_note.ts +++ b/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_update_investigation_note.ts @@ -39,12 +39,16 @@ export function useUpdateInvestigationNote() { }, { onSuccess: (response, { investigationId }) => { + queryClient.invalidateQueries({ + queryKey: investigationKeys.detailNotes(investigationId), + exact: false, + }); + toasts.addSuccess( i18n.translate('xpack.investigateApp.useUpdateInvestigationNote.successMessage', { defaultMessage: 'Note updated', }) ); - queryClient.invalidateQueries({ queryKey: investigationKeys.detailNotes(investigationId) }); }, onError: (error, {}, context) => { toasts.addError( diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/add_investigation_item/add_investigation_item.tsx b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/add_investigation_item/add_investigation_item.tsx index 0516bc7d9190c..341b9d441cb61 100644 --- a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/add_investigation_item/add_investigation_item.tsx +++ b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/add_investigation_item/add_investigation_item.tsx @@ -10,8 +10,8 @@ import { css } from '@emotion/css'; import { ESQLLangEditor } from '@kbn/esql/public'; import { i18n } from '@kbn/i18n'; import React from 'react'; -import { AddFromLibraryButton } from '../add_from_library_button'; import { useInvestigation } from '../../contexts/investigation_context'; +import { AddFromLibraryButton } from '../add_from_library_button'; import { EsqlWidgetPreview } from './esql_widget_preview'; const emptyPreview = css` diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/assistant_hypothesis/assistant_hypothesis.tsx b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/assistant_hypothesis/assistant_hypothesis.tsx index cf993e53790cb..57ced473922d0 100644 --- a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/assistant_hypothesis/assistant_hypothesis.tsx +++ b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/assistant_hypothesis/assistant_hypothesis.tsx @@ -4,11 +4,10 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ + import { i18n } from '@kbn/i18n'; import type { RootCauseAnalysisEvent } from '@kbn/observability-ai-server/root_cause_analysis'; import { EcsFieldsResponse } from '@kbn/rule-registry-plugin/common'; -import React, { useState, useRef, useEffect } from 'react'; -import { omit } from 'lodash'; import { ALERT_FLAPPING_HISTORY, ALERT_RULE_EXECUTION_TIMESTAMP, @@ -17,9 +16,11 @@ import { EVENT_KIND, } from '@kbn/rule-registry-plugin/common/technical_rule_data_field_names'; import { isRequestAbortedError } from '@kbn/server-route-repository-client'; +import { omit } from 'lodash'; +import React, { useEffect, useRef, useState } from 'react'; import { useKibana } from '../../../../hooks/use_kibana'; -import { useInvestigation } from '../../contexts/investigation_context'; import { useUpdateInvestigation } from '../../../../hooks/use_update_investigation'; +import { useInvestigation } from '../../contexts/investigation_context'; export interface InvestigationContextualInsight { key: string; @@ -27,7 +28,7 @@ export interface InvestigationContextualInsight { data: unknown; } -export function AssistantHypothesis({ investigationId }: { investigationId: string }) { +export function AssistantHypothesis() { const { alert, globalParams: { timeRange }, @@ -87,7 +88,7 @@ export function AssistantHypothesis({ investigationId }: { investigationId: stri .stream('POST /internal/observability/investigation/root_cause_analysis', { params: { body: { - investigationId, + investigationId: investigation!.id, connectorId, context: `The user is investigating an alert for the ${serviceName} service, and wants to find the root cause. Here is the alert: @@ -156,7 +157,7 @@ export function AssistantHypothesis({ investigationId }: { investigationId: stri setEvents([]); if (investigation?.rootCauseAnalysis) { updateInvestigation({ - investigationId, + investigationId: investigation!.id, payload: { rootCauseAnalysis: { events: [], diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/events_timeline/events_timeline.tsx b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/events_timeline/events_timeline.tsx deleted file mode 100644 index 45b245f68b4b0..0000000000000 --- a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/events_timeline/events_timeline.tsx +++ /dev/null @@ -1,114 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ -import React, { useMemo, useRef } from 'react'; -import moment from 'moment'; - -import { Chart, Axis, AreaSeries, Position, ScaleType, Settings } from '@elastic/charts'; -import { useActiveCursor } from '@kbn/charts-plugin/public'; -import { EuiSkeletonText } from '@elastic/eui'; -import { getBrushData } from '@kbn/observability-utils-browser/chart/utils'; -import { AnnotationEvent } from './annotation_event'; -import { TIME_LINE_THEME } from './timeline_theme'; -import { useFetchEvents } from '../../../../hooks/use_fetch_events'; -import { useInvestigation } from '../../contexts/investigation_context'; -import { useKibana } from '../../../../hooks/use_kibana'; -import { AlertEvent } from './alert_event'; - -export const EventsTimeLine = () => { - const { dependencies } = useKibana(); - - const baseTheme = dependencies.start.charts.theme.useChartsBaseTheme(); - - const { globalParams, updateInvestigationParams } = useInvestigation(); - - const { data: events, isLoading } = useFetchEvents({ - rangeFrom: globalParams.timeRange.from, - rangeTo: globalParams.timeRange.to, - }); - - const chartRef = useRef(null); - const handleCursorUpdate = useActiveCursor(dependencies.start.charts.activeCursor, chartRef, { - isDateHistogram: true, - }); - - const data = useMemo(() => { - const points = [ - { x: moment(globalParams.timeRange.from).valueOf(), y: 0 }, - { x: moment(globalParams.timeRange.to).valueOf(), y: 0 }, - ]; - - // adding 100 fake points to the chart so the chart shows cursor on hover - for (let i = 0; i < 100; i++) { - const diff = - moment(globalParams.timeRange.to).valueOf() - moment(globalParams.timeRange.from).valueOf(); - points.push({ x: moment(globalParams.timeRange.from).valueOf() + (diff / 100) * i, y: 0 }); - } - return points; - }, [globalParams.timeRange.from, globalParams.timeRange.to]); - - if (isLoading) { - return ; - } - - const alertEvents = events?.filter((evt) => evt.eventType === 'alert'); - const annotations = events?.filter((evt) => evt.eventType === 'annotation'); - - return ( - <> - - { - const { from, to } = getBrushData(brush); - updateInvestigationParams({ - timeRange: { from, to }, - }); - }} - /> - - moment(d).format('LTS')} - style={{ - tickLine: { - visible: true, - strokeWidth: 1, - stroke: '#98A2B3', - }, - }} - /> - - {alertEvents?.map((event) => ( - - ))} - - {annotations?.map((annotation) => ( - - ))} - - false} - /> - - - ); -}; diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/grid_item/index.tsx b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/grid_item/index.tsx index c43ae1ffaa04f..443190a7d16cb 100644 --- a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/grid_item/index.tsx +++ b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/grid_item/index.tsx @@ -7,8 +7,8 @@ import { EuiFlexGroup, EuiFlexItem, EuiPanel, EuiText } from '@elastic/eui'; import { css } from '@emotion/css'; import React from 'react'; -import { useTheme } from '../../../../hooks/use_theme'; import { InvestigateTextButton } from '../../../../components/investigate_text_button'; +import { useTheme } from '../../../../hooks/use_theme'; export const GRID_ITEM_HEADER_HEIGHT = 40; @@ -21,8 +21,6 @@ interface GridItemProps { loading: boolean; } -const editTitleButtonClassName = `investigateGridItemTitleEditButton`; - const titleContainerClassName = css` overflow: hidden; `; @@ -35,11 +33,6 @@ const titleItemClassName = css` } `; -const panelContainerClassName = css` - overflow: clip; - overflow-clip-margin: 20px; -`; - const panelClassName = css` overflow-y: auto; `; @@ -47,9 +40,6 @@ const panelClassName = css` const panelContentClassName = css` overflow-y: auto; height: 100%; - > [data-shared-item] { - height: 100%; - } `; export function GridItem({ id, title, children, onDelete, onCopy, loading }: GridItemProps) { @@ -64,10 +54,6 @@ export function GridItem({ id, title, children, onDelete, onCopy, loading }: Gri max-width: 100%; transition: opacity ${theme.animation.normal} ${theme.animation.resistance}; overflow: auto; - - &:not(:hover) .${editTitleButtonClassName} { - opacity: 0; - } `; return ( @@ -119,9 +105,7 @@ export function GridItem({ id, title, children, onDelete, onCopy, loading }: Gri
- -
{children}
-
+ {children} ); diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_details/investigation_details.tsx b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_details/investigation_details.tsx index 5c9682348ee28..55b264eeb09e6 100644 --- a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_details/investigation_details.tsx +++ b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_details/investigation_details.tsx @@ -72,12 +72,11 @@ export function InvestigationDetails({ user }: Props) { ], }} > - - + + - - + diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_items/investigation_items.tsx b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_items/investigation_items.tsx index bd03324a994ac..8acc4831aa68a 100644 --- a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_items/investigation_items.tsx +++ b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_items/investigation_items.tsx @@ -5,52 +5,20 @@ * 2.0. */ -import datemath from '@elastic/datemath'; -import { EuiFlexGroup, EuiFlexItem, EuiSpacer } from '@elastic/eui'; +import { EuiFlexGroup } from '@elastic/eui'; import React from 'react'; -import { EventsTimeLine } from '../events_timeline/events_timeline'; -import { useInvestigation } from '../../contexts/investigation_context'; import { AddInvestigationItem } from '../add_investigation_item/add_investigation_item'; -import { InvestigationItemsList } from '../investigation_items_list/investigation_items_list'; -import { InvestigationSearchBar } from '../investigation_search_bar/investigation_search_bar'; import { AssistantHypothesis } from '../assistant_hypothesis/assistant_hypothesis'; +import { InvestigationItemsList } from '../investigation_items_list/investigation_items_list'; +import { InvestigationTimeline } from '../investigation_timeline/investigation_timeline'; export function InvestigationItems() { - const { globalParams, updateInvestigationParams, investigation } = useInvestigation(); - return ( - <> - - { - const nextTimeRange = { - from: datemath.parse(dateRange.from)!.toISOString(), - to: datemath.parse(dateRange.to)!.toISOString(), - }; - - updateInvestigationParams({ timeRange: nextTimeRange }); - }} - /> - - - - - - {investigation?.id && ( - - - - )} - - - - - - - + + + + - + ); } diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_items_list/investigation_items_list.tsx b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_items_list/investigation_items_list.tsx index e65b29e2c3762..227ea5f91b24e 100644 --- a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_items_list/investigation_items_list.tsx +++ b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_items_list/investigation_items_list.tsx @@ -18,7 +18,7 @@ export function InvestigationItemsList() { } return ( - + {renderableItems.map((item) => { return ( diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_notes/edit_note_form.tsx b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_notes/edit_note_form.tsx index ccf1f0ab20df6..bd509fb26bc90 100644 --- a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_notes/edit_note_form.tsx +++ b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_notes/edit_note_form.tsx @@ -11,6 +11,7 @@ import { InvestigationNoteResponse } from '@kbn/investigation-shared'; import React, { useState } from 'react'; import { ResizableTextInput } from './resizable_text_input'; import { useInvestigation } from '../../contexts/investigation_context'; +import { useUpdateInvestigationNote } from '../../../../hooks/use_update_investigation_note'; interface Props { note: InvestigationNoteResponse; @@ -19,11 +20,22 @@ interface Props { export function EditNoteForm({ note, onClose }: Props) { const [noteInput, setNoteInput] = useState(note.content); - const { updateNote, isUpdatingNote } = useInvestigation(); + const { investigation } = useInvestigation(); + const { mutate: updateNote, isLoading: isUpdatingNote } = useUpdateInvestigationNote(); - const onUpdate = async () => { - await updateNote(note.id, noteInput.trim()); - onClose(); + const onUpdate = () => { + updateNote( + { + investigationId: investigation!.id, + noteId: note.id, + note: { content: noteInput.trim() }, + }, + { + onSuccess: () => { + onClose(); + }, + } + ); }; return ( diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_notes/investigation_notes.tsx b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_notes/investigation_notes.tsx index ec63b09358159..50ec61bc4555b 100644 --- a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_notes/investigation_notes.tsx +++ b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_notes/investigation_notes.tsx @@ -18,6 +18,8 @@ import { i18n } from '@kbn/i18n'; import { InvestigationNoteResponse } from '@kbn/investigation-shared'; import { AuthenticatedUser } from '@kbn/security-plugin/common'; import React, { useState } from 'react'; +import { useAddInvestigationNote } from '../../../../hooks/use_add_investigation_note'; +import { useFetchInvestigationNotes } from '../../../../hooks/use_fetch_investigation_notes'; import { useFetchUserProfiles } from '../../../../hooks/use_fetch_user_profiles'; import { useTheme } from '../../../../hooks/use_theme'; import { useInvestigation } from '../../contexts/investigation_context'; @@ -30,15 +32,25 @@ export interface Props { export function InvestigationNotes({ user }: Props) { const theme = useTheme(); - const { investigation, addNote, isAddingNote } = useInvestigation(); + const { investigation } = useInvestigation(); + const { data: notes } = useFetchInvestigationNotes({ + investigationId: investigation!.id, + }); + const { mutate: addNote, isLoading: isAddingNote } = useAddInvestigationNote(); const { data: userProfiles, isLoading: isLoadingUserProfiles } = useFetchUserProfiles({ profileIds: new Set(investigation?.notes.map((note) => note.createdBy)), }); const [noteInput, setNoteInput] = useState(''); - const onAddNote = async (content: string) => { - await addNote(content); - setNoteInput(''); + const onAddNote = (content: string) => { + addNote( + { investigationId: investigation!.id, note: { content } }, + { + onSuccess: () => { + setNoteInput(''); + }, + } + ); }; const panelClassName = css` @@ -58,7 +70,7 @@ export function InvestigationNotes({ user }: Props) { - {investigation?.notes.map((currNote: InvestigationNoteResponse) => { + {notes?.map((currNote: InvestigationNoteResponse) => { return ( { + deleteNote({ investigationId: investigation!.id, noteId: note.id }); + }; const timelineContainerClassName = css` padding-bottom: 16px; @@ -98,7 +104,7 @@ export function Note({ note, isOwner, userProfile, userProfileLoading }: Props) iconSize="s" iconType="trash" disabled={isDeletingNote} - onClick={async () => await deleteNote(note.id)} + onClick={onDeleteNote} data-test-subj="deleteInvestigationNoteButton" className={actionButtonClassname} /> diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_search_bar/investigation_search_bar.tsx b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_search_bar/investigation_search_bar.tsx deleted file mode 100644 index a6ad73bc67d0d..0000000000000 --- a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_search_bar/investigation_search_bar.tsx +++ /dev/null @@ -1,56 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ -import { css } from '@emotion/css'; -import type { TimeRange } from '@kbn/es-query'; -import { SearchBar } from '@kbn/unified-search-plugin/public'; -import React from 'react'; -import { useKibana } from '../../../../hooks/use_kibana'; - -const parentClassName = css` - width: 100%; -`; - -interface Props { - dateRangeFrom?: string; - dateRangeTo?: string; - onQuerySubmit: (payload: { dateRange: TimeRange }, isUpdate?: boolean) => void; - onRefresh?: Required>['onRefresh']; -} - -export function InvestigationSearchBar({ - dateRangeFrom, - dateRangeTo, - onQuerySubmit, - onRefresh, -}: Props) { - const { - dependencies: { - start: { unifiedSearch }, - }, - } = useKibana(); - - return ( -
- { - onQuerySubmit({ dateRange }); - }} - showQueryInput={false} - showFilterBar={false} - showQueryMenu={false} - showDatePicker - showSubmitButton={true} - dateRangeFrom={dateRangeFrom} - dateRangeTo={dateRangeTo} - onRefresh={onRefresh} - displayStyle="inPage" - disableQueryLanguageSwitcher - /> -
- ); -} diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/events_timeline/alert_event.tsx b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/alert_event.tsx similarity index 80% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/events_timeline/alert_event.tsx rename to x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/alert_event.tsx index 2e5ab220054e4..4c39efd9019ba 100644 --- a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/events_timeline/alert_event.tsx +++ b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/alert_event.tsx @@ -5,13 +5,13 @@ * 2.0. */ -import { LineAnnotation, AnnotationDomainType } from '@elastic/charts'; +import { AnnotationDomainType, LineAnnotation } from '@elastic/charts'; import { EuiIcon } from '@elastic/eui'; -import React from 'react'; +import { AlertEventResponse } from '@kbn/investigation-shared'; import moment from 'moment'; -import { EventSchema } from '@kbn/investigation-shared'; +import React from 'react'; -export const AlertEvent = ({ event }: { event: EventSchema }) => { +export const AlertEvent = ({ event }: { event: AlertEventResponse }) => { return ( { + const { dependencies } = useKibana(); + const baseTheme = dependencies.start.charts.theme.useChartsBaseTheme(); + const { globalParams, updateInvestigationParams } = useInvestigation(); + const chartRef = useRef(null); + + const { data: events, isLoading } = useFetchEvents({ + rangeFrom: globalParams.timeRange.from, + rangeTo: globalParams.timeRange.to, + eventTypes, + }); + + const handleCursorUpdate = useActiveCursor(dependencies.start.charts.activeCursor, chartRef, { + isDateHistogram: true, + }); + + const data = useMemo(() => { + const points = [ + { x: moment(globalParams.timeRange.from).valueOf(), y: 0 }, + { x: moment(globalParams.timeRange.to).valueOf(), y: 0 }, + ]; + + // adding 100 fake points to the chart so the chart shows cursor on hover + for (let i = 0; i < 100; i++) { + const diff = + moment(globalParams.timeRange.to).valueOf() - moment(globalParams.timeRange.from).valueOf(); + points.push({ x: moment(globalParams.timeRange.from).valueOf() + (diff / 100) * i, y: 0 }); + } + return points; + }, [globalParams.timeRange.from, globalParams.timeRange.to]); + + if (isLoading) { + return ; + } + + return ( + + { + const { from, to } = getBrushData(brush); + updateInvestigationParams({ + timeRange: { from, to }, + }); + }} + /> + + moment(d).format('LTS')} + style={{ + tickLine: { + visible: true, + strokeWidth: 1, + stroke: '#98A2B3', + }, + }} + /> + + {events?.map((event) => { + if (event.eventType === 'alert') { + return ; + } + if (event.eventType === 'annotation') { + return ; + } + assertNever(event); + })} + + false} + /> + + ); +}; diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/events_timeline/timeline_theme.ts b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/timeline_theme.ts similarity index 94% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/events_timeline/timeline_theme.ts rename to x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/timeline_theme.ts index a1d7441fee539..21ad1240ca8e3 100644 --- a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/events_timeline/timeline_theme.ts +++ b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/timeline_theme.ts @@ -7,7 +7,7 @@ import { PartialTheme } from '@elastic/charts'; -export const TIME_LINE_THEME: PartialTheme = { +export const TIMELINE_THEME: PartialTheme = { highlighter: { point: { opacity: 0, diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline.tsx b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline.tsx new file mode 100644 index 0000000000000..f02fde7d43faf --- /dev/null +++ b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline.tsx @@ -0,0 +1,27 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { EuiFlexGroup, EuiPanel } from '@elastic/eui'; +import React, { useState } from 'react'; +import { EventsTimeline } from './events_timeline/events_timeline'; +import { InvestigationTimelineFilterBar } from './investigation_timeline_filter_bar/investigation_timeline_filter_bar'; + +export function InvestigationTimeline() { + const [eventTypes, setEventTypes] = useState([]); + + return ( + + + setEventTypes(selected)} + /> + + + + + ); +} diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline_filter_bar/investigation_event_types_filter.tsx b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline_filter_bar/investigation_event_types_filter.tsx new file mode 100644 index 0000000000000..e66425f60d54f --- /dev/null +++ b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline_filter_bar/investigation_event_types_filter.tsx @@ -0,0 +1,106 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { + EuiFilterButton, + EuiFilterGroup, + EuiPopover, + EuiPopoverTitle, + EuiSelectable, + EuiSelectableOption, + useGeneratedHtmlId, +} from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import React, { useState } from 'react'; + +interface Props { + onSelected: (eventTypes: string[]) => void; +} + +export function InvestigationEventTypesFilter({ onSelected }: Props) { + const [isPopoverOpen, setIsPopoverOpen] = useState(false); + const [items, setItems] = useState([ + { + key: 'alert', + label: i18n.translate('xpack.investigateApp.investigationEventTypesFilter.alertLabel', { + defaultMessage: 'Alert', + }), + checked: 'on', + }, + { + key: 'annotation', + label: i18n.translate('xpack.investigateApp.investigationEventTypesFilter.annotationLabel', { + defaultMessage: 'Annotation', + }), + checked: 'on', + }, + ]); + + const togglePopover = () => { + setIsPopoverOpen(!isPopoverOpen); + }; + const closePopover = () => { + setIsPopoverOpen(false); + }; + + const filterGroupPopoverId = useGeneratedHtmlId({ + prefix: 'filterGroupPopover', + }); + + const handleChange = (newOptions: EuiSelectableOption[]) => { + setItems(newOptions); + + const selected = newOptions + .filter((option) => option.checked === 'on') + .map((option) => option.key!); + onSelected(selected); + }; + + const button = ( + item.checked !== 'off').length} + hasActiveFilters={!!items.find((item) => item.checked === 'on')} + numActiveFilters={items.filter((item) => item.checked === 'on').length} + > + {i18n.translate( + 'xpack.investigateApp.investigationEventTypesFilter.filtersFilterButtonLabel', + { defaultMessage: 'Filters' } + )} + + ); + + return ( + + + + {(list) => ( +
+ + {i18n.translate( + 'xpack.investigateApp.investigationEventTypesFilter.filterEventTypePopoverTitleLabel', + { defaultMessage: 'Filter event type' } + )} + + {list} +
+ )} +
+
+
+ ); +} diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline_filter_bar/investigation_timeline_filter_bar.tsx b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline_filter_bar/investigation_timeline_filter_bar.tsx new file mode 100644 index 0000000000000..16ecb2bd42a4d --- /dev/null +++ b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline_filter_bar/investigation_timeline_filter_bar.tsx @@ -0,0 +1,71 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { EuiDatePicker, EuiDatePickerRange, EuiFlexGroup } from '@elastic/eui'; +import { css } from '@emotion/react'; +import moment from 'moment'; +import React from 'react'; +import { useInvestigation } from '../../../contexts/investigation_context'; +import { InvestigationEventTypesFilter } from './investigation_event_types_filter'; + +interface Props { + onEventTypesSelected: (eventTypes: string[]) => void; +} + +export function InvestigationTimelineFilterBar({ onEventTypesSelected }: Props) { + const { globalParams, updateInvestigationParams } = useInvestigation(); + + return ( + + + + { + if (!date) return; + + updateInvestigationParams({ + timeRange: { + from: date.toISOString(), + to: globalParams.timeRange.to, + }, + }); + }} + showTimeSelect + /> + } + endDateControl={ + { + if (!date) return; + + updateInvestigationParams({ + timeRange: { + from: globalParams.timeRange.from, + to: date.toISOString(), + }, + }); + }} + showTimeSelect + /> + } + /> + + ); +} diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/contexts/investigation_context.tsx b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/contexts/investigation_context.tsx index ec571d0e2db80..f086e48665566 100644 --- a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/contexts/investigation_context.tsx +++ b/x-pack/plugins/observability_solution/investigate_app/public/pages/details/contexts/investigation_context.tsx @@ -7,19 +7,16 @@ import { i18n } from '@kbn/i18n'; import { type GlobalWidgetParameters } from '@kbn/investigate-plugin/public'; -import { EcsFieldsResponse } from '@kbn/rule-registry-plugin/common'; import { GetInvestigationResponse, InvestigationItem, Item } from '@kbn/investigation-shared'; +import { EcsFieldsResponse } from '@kbn/rule-registry-plugin/common'; import { isEqual } from 'lodash'; import React, { createContext, useContext, useEffect, useRef, useState } from 'react'; import { useAddInvestigationItem } from '../../../hooks/use_add_investigation_item'; -import { useAddInvestigationNote } from '../../../hooks/use_add_investigation_note'; import { useDeleteInvestigationItem } from '../../../hooks/use_delete_investigation_item'; -import { useDeleteInvestigationNote } from '../../../hooks/use_delete_investigation_note'; -import { useFetchInvestigation } from '../../../hooks/use_fetch_investigation'; import { useFetchAlert } from '../../../hooks/use_fetch_alert'; +import { useFetchInvestigation } from '../../../hooks/use_fetch_investigation'; import { useKibana } from '../../../hooks/use_kibana'; import { useUpdateInvestigation } from '../../../hooks/use_update_investigation'; -import { useUpdateInvestigationNote } from '../../../hooks/use_update_investigation_note'; export type RenderedInvestigationItem = InvestigationItem & { loading: boolean; @@ -36,13 +33,6 @@ interface InvestigationContextProps { deleteItem: (itemId: string) => Promise; isAddingItem: boolean; isDeletingItem: boolean; - // note - addNote: (content: string) => Promise; - updateNote: (noteId: string, content: string) => Promise; - deleteNote: (noteId: string) => Promise; - isAddingNote: boolean; - isUpdatingNote: boolean; - isDeletingNote: boolean; } export const InvestigationContext = createContext({ @@ -54,13 +44,6 @@ export const InvestigationContext = createContext({ deleteItem: async () => {}, isAddingItem: false, isDeletingItem: false, - // note - addNote: async () => {}, - updateNote: async (noteId: string, content: string) => {}, - deleteNote: async (noteId: string) => {}, - isAddingNote: false, - isUpdatingNote: false, - isDeletingNote: false, }); export function useInvestigation() { @@ -90,32 +73,6 @@ export function InvestigationProvider({ Record >({}); - const { mutateAsync: addInvestigationNote, isLoading: isAddingNote } = useAddInvestigationNote(); - const { mutateAsync: updateInvestigationNote, isLoading: isUpdatingNote } = - useUpdateInvestigationNote(); - const { mutateAsync: deleteInvestigationNote, isLoading: isDeletingNote } = - useDeleteInvestigationNote(); - - const addNote = async (content: string) => { - await addInvestigationNote({ investigationId: initialInvestigation.id, note: { content } }); - refetch(); - }; - - const updateNote = async (noteId: string, content: string) => { - await updateInvestigationNote({ - investigationId: initialInvestigation.id, - noteId, - note: { content: content.trim() }, - }); - - refetch(); - }; - - const deleteNote = async (noteId: string) => { - await deleteInvestigationNote({ investigationId: initialInvestigation.id, noteId }); - refetch(); - }; - const { mutateAsync: updateInvestigation } = useUpdateInvestigation(); const { mutateAsync: addInvestigationItem, isLoading: isAddingItem } = useAddInvestigationItem(); const { mutateAsync: deleteInvestigationItem, isLoading: isDeletingItem } = @@ -221,12 +178,6 @@ export function InvestigationProvider({ deleteItem, isAddingItem, isDeletingItem, - addNote, - updateNote, - deleteNote, - isAddingNote, - isUpdatingNote, - isDeletingNote, }} > {children} diff --git a/x-pack/plugins/observability_solution/investigate_app/server/routes/get_global_investigate_app_server_route_repository.ts b/x-pack/plugins/observability_solution/investigate_app/server/routes/get_global_investigate_app_server_route_repository.ts index 1728e6b69b7d3..397401803382e 100644 --- a/x-pack/plugins/observability_solution/investigate_app/server/routes/get_global_investigate_app_server_route_repository.ts +++ b/x-pack/plugins/observability_solution/investigate_app/server/routes/get_global_investigate_app_server_route_repository.ts @@ -6,6 +6,8 @@ */ import { + GetEntitiesResponse, + GetEventsResponse, createInvestigationItemParamsSchema, createInvestigationNoteParamsSchema, createInvestigationParamsSchema, @@ -16,9 +18,7 @@ import { getAllInvestigationStatsParamsSchema, getAllInvestigationTagsParamsSchema, getEntitiesParamsSchema, - GetEntitiesResponse, getEventsParamsSchema, - GetEventsResponse, getInvestigationItemsParamsSchema, getInvestigationNotesParamsSchema, getInvestigationParamsSchema, @@ -335,12 +335,17 @@ const getEventsRoute = createInvestigateAppServerRoute({ const alertsClient: AlertsClient = await getAlertsClient({ plugins, request }); const events: GetEventsResponse = []; - if (annotationsClient) { + const includeAllEventTypes = !params?.query?.eventTypes || params.query.eventTypes.length === 0; + + if ( + annotationsClient && + (includeAllEventTypes || params?.query?.eventTypes?.includes('annotation')) + ) { const annotationEvents = await getAnnotationEvents(params?.query ?? {}, annotationsClient); events.push(...annotationEvents); } - if (alertsClient) { + if (alertsClient && (includeAllEventTypes || params?.query?.eventTypes?.includes('alert'))) { const alertEvents = await getAlertEvents(params?.query ?? {}, alertsClient); events.push(...alertEvents); } diff --git a/x-pack/plugins/observability_solution/investigate_app/server/services/get_events.ts b/x-pack/plugins/observability_solution/investigate_app/server/services/get_events.ts index 53f42f4c6c057..3cf87dc54b87c 100644 --- a/x-pack/plugins/observability_solution/investigate_app/server/services/get_events.ts +++ b/x-pack/plugins/observability_solution/investigate_app/server/services/get_events.ts @@ -7,9 +7,11 @@ import datemath from '@elastic/datemath'; import { + AlertEventResponse, + AnnotationEventResponse, GetEventsParams, - GetEventsResponse, - getEventsResponseSchema, + alertEventSchema, + annotationEventSchema, } from '@kbn/investigation-shared'; import { ScopedAnnotationsClient } from '@kbn/observability-plugin/server'; import { @@ -19,13 +21,13 @@ import { ALERT_STATUS, ALERT_UUID, } from '@kbn/rule-data-utils'; -import { AlertsClient } from './get_alerts_client'; import { rangeQuery } from '../lib/queries'; +import { AlertsClient } from './get_alerts_client'; export async function getAnnotationEvents( params: GetEventsParams, annotationsClient: ScopedAnnotationsClient -): Promise { +): Promise { const response = await annotationsClient.find({ start: params?.rangeFrom, end: params?.rangeTo, @@ -60,13 +62,13 @@ export async function getAnnotationEvents( }; }); - return getEventsResponseSchema.parse(events); + return annotationEventSchema.array().parse(events); } export async function getAlertEvents( params: GetEventsParams, alertsClient: AlertsClient -): Promise { +): Promise { const startInMs = datemath.parse(params?.rangeFrom ?? 'now-15m')!.valueOf(); const endInMs = datemath.parse(params?.rangeTo ?? 'now')!.valueOf(); const filterJSON = params?.filter ? JSON.parse(params.filter) : {}; @@ -101,5 +103,5 @@ export async function getAlertEvents( }; }); - return getEventsResponseSchema.parse(events); + return alertEventSchema.array().parse(events); } diff --git a/x-pack/plugins/observability_solution/investigate_app/tsconfig.json b/x-pack/plugins/observability_solution/investigate_app/tsconfig.json index 1bce5cad1c796..7fad9f021f580 100644 --- a/x-pack/plugins/observability_solution/investigate_app/tsconfig.json +++ b/x-pack/plugins/observability_solution/investigate_app/tsconfig.json @@ -17,67 +17,68 @@ ".storybook/**/*.js" ], "kbn_references": [ - "@kbn/esql", + "@kbn/alerting-plugin", + "@kbn/apm-data-access-plugin", + "@kbn/calculate-auto", + "@kbn/charts-plugin", + "@kbn/config-schema", + "@kbn/content-management-plugin", + "@kbn/core-elasticsearch-server", + "@kbn/core-saved-objects-server", + "@kbn/core-security-common", "@kbn/core", - "@kbn/data-views-plugin", - "@kbn/expressions-plugin", - "@kbn/kibana-utils-plugin", - "@kbn/utility-types-jest", - "@kbn/es-types", "@kbn/data-plugin", + "@kbn/data-views-plugin", + "@kbn/dataset-quality-plugin", + "@kbn/deeplinks-observability", "@kbn/embeddable-plugin", - "@kbn/unified-search-plugin", - "@kbn/kibana-react-plugin", - "@kbn/server-route-repository", - "@kbn/server-route-repository-client", - "@kbn/react-kibana-context-theme", - "@kbn/shared-ux-link-redirect-app", - "@kbn/shared-ux-router", + "@kbn/entities-schema", + "@kbn/es-query", + "@kbn/es-types", + "@kbn/esql-utils", + "@kbn/esql", + "@kbn/expressions-plugin", + "@kbn/field-types", + "@kbn/i18n-react", "@kbn/i18n", - "@kbn/investigation-shared", - "@kbn/lens-plugin", - "@kbn/rule-registry-plugin", - "@kbn/security-plugin", - "@kbn/rule-data-utils", + "@kbn/inference-common", + "@kbn/inference-plugin", "@kbn/investigate-plugin", - "@kbn/observability-utils-browser", + "@kbn/investigation-shared", + "@kbn/kibana-react-plugin", + "@kbn/kibana-utils-plugin", "@kbn/lens-embeddable-utils", - "@kbn/i18n-react", - "@kbn/es-query", - "@kbn/saved-objects-finder-plugin", - "@kbn/presentation-containers", - "@kbn/observability-ai-server", - "@kbn/charts-plugin", - "@kbn/observability-shared-plugin", - "@kbn/core-security-common", - "@kbn/deeplinks-observability", + "@kbn/lens-plugin", + "@kbn/licensing-plugin", "@kbn/logging", - "@kbn/esql-utils", - "@kbn/observability-ai-assistant-plugin", + "@kbn/management-settings-ids", + "@kbn/ml-random-sampler-utils", "@kbn/observability-ai-assistant-app-plugin", - "@kbn/content-management-plugin", - "@kbn/dataset-quality-plugin", - "@kbn/ui-actions-plugin", - "@kbn/field-types", - "@kbn/entities-schema", + "@kbn/observability-ai-assistant-plugin", + "@kbn/observability-ai-server", "@kbn/observability-plugin", - "@kbn/config-schema", - "@kbn/visualization-utils", - "@kbn/usage-collection-plugin", - "@kbn/calculate-auto", - "@kbn/ml-random-sampler-utils", - "@kbn/zod", - "@kbn/inference-common", - "@kbn/core-elasticsearch-server", - "@kbn/sse-utils", - "@kbn/management-settings-ids", + "@kbn/observability-shared-plugin", + "@kbn/observability-utils-browser", "@kbn/observability-utils-server", - "@kbn/licensing-plugin", - "@kbn/core-saved-objects-server", - "@kbn/alerting-plugin", + "@kbn/presentation-containers", + "@kbn/react-kibana-context-theme", + "@kbn/rule-data-utils", + "@kbn/rule-registry-plugin", + "@kbn/saved-objects-finder-plugin", + "@kbn/security-plugin", + "@kbn/server-route-repository-client", + "@kbn/server-route-repository", + "@kbn/shared-ux-link-redirect-app", + "@kbn/shared-ux-router", "@kbn/slo-plugin", - "@kbn/inference-plugin", "@kbn/spaces-plugin", - "@kbn/apm-data-access-plugin", + "@kbn/sse-utils", + "@kbn/std", + "@kbn/ui-actions-plugin", + "@kbn/unified-search-plugin", + "@kbn/usage-collection-plugin", + "@kbn/utility-types-jest", + "@kbn/visualization-utils", + "@kbn/zod", ], } From a4e4a6061bdd6d75ae82dd005c507b2e4ed5f230 Mon Sep 17 00:00:00 2001 From: Gerard Soldevila Date: Thu, 12 Dec 2024 17:50:03 +0100 Subject: [PATCH 37/52] Make `task_cost_check` test resilient to changes in order (#204045) ## Summary Addresses failures such as https://buildkite.com/elastic/kibana-pull-request/builds/259739#0193bb07-c759-4749-965e-10e63ac0810a. We believe the order in which task types are registered might have been affected by the relocation of the `@kbn/observability-ai-assistant-app-plugin` in the scope of _Sustainable Kibana Architecture_. --- .../task_cost_check.test.ts.snap | 54 +++++++++---------- .../integration_tests/task_cost_check.test.ts | 20 ++++--- 2 files changed, 39 insertions(+), 35 deletions(-) diff --git a/x-pack/plugins/task_manager/server/integration_tests/__snapshots__/task_cost_check.test.ts.snap b/x-pack/plugins/task_manager/server/integration_tests/__snapshots__/task_cost_check.test.ts.snap index 754d9f0c66b4b..1e3fa4cbf8645 100644 --- a/x-pack/plugins/task_manager/server/integration_tests/__snapshots__/task_cost_check.test.ts.snap +++ b/x-pack/plugins/task_manager/server/integration_tests/__snapshots__/task_cost_check.test.ts.snap @@ -4,95 +4,95 @@ exports[`Task cost checks detects tasks with cost definitions 1`] = ` Array [ Object { "cost": 1, - "taskType": "actions:.email", + "taskType": "actions:.bedrock", }, Object { "cost": 1, - "taskType": "actions:.index", + "taskType": "actions:.cases", }, Object { "cost": 1, - "taskType": "actions:.pagerduty", + "taskType": "actions:.cases-webhook", }, Object { "cost": 1, - "taskType": "actions:.swimlane", + "taskType": "actions:.crowdstrike", }, Object { "cost": 1, - "taskType": "actions:.server-log", + "taskType": "actions:.d3security", }, Object { "cost": 1, - "taskType": "actions:.slack", + "taskType": "actions:.email", }, Object { "cost": 1, - "taskType": "actions:.slack_api", + "taskType": "actions:.gemini", }, Object { "cost": 1, - "taskType": "actions:.webhook", + "taskType": "actions:.gen-ai", }, Object { "cost": 1, - "taskType": "actions:.cases-webhook", + "taskType": "actions:.index", }, Object { "cost": 1, - "taskType": "actions:.xmatters", + "taskType": "actions:.jira", }, Object { "cost": 1, - "taskType": "actions:.servicenow", + "taskType": "actions:.observability-ai-assistant", }, Object { "cost": 1, - "taskType": "actions:.servicenow-sir", + "taskType": "actions:.opsgenie", }, Object { "cost": 1, - "taskType": "actions:.servicenow-itom", + "taskType": "actions:.pagerduty", }, Object { "cost": 1, - "taskType": "actions:.jira", + "taskType": "actions:.resilient", }, Object { "cost": 1, - "taskType": "actions:.teams", + "taskType": "actions:.sentinelone", }, Object { "cost": 1, - "taskType": "actions:.torq", + "taskType": "actions:.server-log", }, Object { "cost": 1, - "taskType": "actions:.opsgenie", + "taskType": "actions:.servicenow", }, Object { "cost": 1, - "taskType": "actions:.tines", + "taskType": "actions:.servicenow-itom", }, Object { "cost": 1, - "taskType": "actions:.gen-ai", + "taskType": "actions:.servicenow-sir", }, Object { "cost": 1, - "taskType": "actions:.bedrock", + "taskType": "actions:.slack", }, Object { "cost": 1, - "taskType": "actions:.gemini", + "taskType": "actions:.slack_api", }, Object { "cost": 1, - "taskType": "actions:.d3security", + "taskType": "actions:.swimlane", }, Object { "cost": 1, - "taskType": "actions:.resilient", + "taskType": "actions:.teams", }, Object { "cost": 1, @@ -100,19 +100,19 @@ Array [ }, Object { "cost": 1, - "taskType": "actions:.sentinelone", + "taskType": "actions:.tines", }, Object { "cost": 1, - "taskType": "actions:.crowdstrike", + "taskType": "actions:.torq", }, Object { "cost": 1, - "taskType": "actions:.cases", + "taskType": "actions:.webhook", }, Object { "cost": 1, - "taskType": "actions:.observability-ai-assistant", + "taskType": "actions:.xmatters", }, Object { "cost": 10, diff --git a/x-pack/plugins/task_manager/server/integration_tests/task_cost_check.test.ts b/x-pack/plugins/task_manager/server/integration_tests/task_cost_check.test.ts index 96678f714ac69..df11792b2c4ad 100644 --- a/x-pack/plugins/task_manager/server/integration_tests/task_cost_check.test.ts +++ b/x-pack/plugins/task_manager/server/integration_tests/task_cost_check.test.ts @@ -12,6 +12,7 @@ import { import { TaskCost, TaskDefinition } from '../task'; import { setupTestServers } from './lib'; import { TaskTypeDictionary } from '../task_type_dictionary'; +import { sortBy } from 'lodash'; jest.mock('../task_type_dictionary', () => { const actual = jest.requireActual('../task_type_dictionary'); @@ -50,14 +51,17 @@ describe('Task cost checks', () => { it('detects tasks with cost definitions', async () => { const taskTypes = taskTypeDictionary.getAllDefinitions(); - const taskTypesWithCost = taskTypes - .map((taskType: TaskDefinition) => - !!taskType.cost ? { taskType: taskType.type, cost: taskType.cost } : null - ) - .filter( - (tt: { taskType: string; cost: TaskCost } | null) => - null != tt && tt.cost !== TaskCost.Normal - ); + const taskTypesWithCost = sortBy( + taskTypes + .map((taskType: TaskDefinition) => + !!taskType.cost ? { taskType: taskType.type, cost: taskType.cost } : null + ) + .filter( + (tt: { taskType: string; cost: TaskCost } | null) => + null != tt && tt.cost !== TaskCost.Normal + ), + 'taskType' + ); expect(taskTypesWithCost).toMatchSnapshot(); }); }); From cebcf01d35b84308e1ca9eabed694864a9e39ed9 Mon Sep 17 00:00:00 2001 From: natasha-moore-elastic <137783811+natasha-moore-elastic@users.noreply.github.com> Date: Thu, 12 Dec 2024 16:53:29 +0000 Subject: [PATCH 38/52] [DOCS] Adds conceptual content to API docs (#202305) ## Summary Resolves https://github.com/elastic/security-docs-internal/issues/49. In order to retire asciidoc API docs, we first need to move over any relevant content from those docs to the API reference site. This PR adds the relevant conceptual information from: - https://www.elastic.co/guide/en/security/master/exceptions-api-overview.html - https://www.elastic.co/guide/en/security/master/lists-api-overview.html - https://www.elastic.co/guide/en/security/master/rule-api-overview.html ### Previews: Bump previews expire after 30min, so I'm providing screenshots below: Detections preview: ![detections_preview](https://github.com/user-attachments/assets/c47b9d85-b5d0-4a32-8668-dc1ae2215681) Exceptions preview: ![exceptions_preview](https://github.com/user-attachments/assets/b3fe9139-2162-4c56-bba9-751dffa11cb4) Lists preview: ![lists_preview](https://github.com/user-attachments/assets/1c714f17-825d-45c7-8112-cc3d25c51047) --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- oas_docs/output/kibana.serverless.yaml | 68 ++++++++++++++++- oas_docs/output/kibana.yaml | 68 ++++++++++++++++- ...eptions_api_2023_10_31.bundled.schema.yaml | 54 ++++++++++++- ...eptions_api_2023_10_31.bundled.schema.yaml | 54 ++++++++++++- .../scripts/openapi_bundle.js | 32 +------- .../exceptions_ess.info.yaml | 26 +++++++ .../exceptions_serverless.info.yaml | 26 +++++++ ...n_lists_api_2023_10_31.bundled.schema.yaml | 75 ++++++++++++++++++- ...n_lists_api_2023_10_31.bundled.schema.yaml | 75 ++++++++++++++++++- .../scripts/openapi_bundle.js | 30 +------- .../openapi_bundle_info/lists_ess.info.yaml | 49 ++++++++++++ .../lists_serverless.info.yaml | 49 ++++++++++++ ...ections_api_2023_10_31.bundled.schema.yaml | 28 +++++-- ...ections_api_2023_10_31.bundled.schema.yaml | 28 +++++-- .../scripts/openapi/bundle_detections.js | 38 ++-------- .../detections_ess.info.yaml | 14 ++++ .../detections_serverless.info.yaml | 14 ++++ 17 files changed, 610 insertions(+), 118 deletions(-) create mode 100644 packages/kbn-securitysolution-exceptions-common/scripts/openapi_bundle_info/exceptions_ess.info.yaml create mode 100644 packages/kbn-securitysolution-exceptions-common/scripts/openapi_bundle_info/exceptions_serverless.info.yaml create mode 100644 packages/kbn-securitysolution-lists-common/scripts/openapi_bundle_info/lists_ess.info.yaml create mode 100644 packages/kbn-securitysolution-lists-common/scripts/openapi_bundle_info/lists_serverless.info.yaml create mode 100644 x-pack/plugins/security_solution/scripts/openapi/bundle_detections_info/detections_ess.info.yaml create mode 100644 x-pack/plugins/security_solution/scripts/openapi/bundle_detections_info/detections_serverless.info.yaml diff --git a/oas_docs/output/kibana.serverless.yaml b/oas_docs/output/kibana.serverless.yaml index 5d4725f0b2e24..6ec1b18657c5b 100644 --- a/oas_docs/output/kibana.serverless.yaml +++ b/oas_docs/output/kibana.serverless.yaml @@ -114,7 +114,12 @@ tags: - description: Manage and interact with Security Assistant resources. name: Security AI Assistant API x-displayName: Security AI assistant - - description: You can create rules that automatically turn events and external alerts sent to Elastic Security into detection alerts. These alerts are displayed on the Detections page. + - description: | + Use the detections APIs to create and manage detection rules. Detection rules search events and external alerts sent to Elastic Security and generate detection alerts from any hits. Alerts are displayed on the **Alerts** page and can be assigned and triaged, using the alert status to mark them as open, closed, or acknowledged. + > warn + > If the API key used for authorization has different privileges than the key that created or most recently updated a rule, the rule behavior might change. + + > If the API key that created a rule is deleted, or the user that created the rule becomes inactive, the rule will stop running. name: Security Detections API x-displayName: Security detections - description: Endpoint Exceptions API allows you to manage detection rule endpoint exceptions to prevent a rule from generating an alert from incoming events even when the rule's other criteria are met. @@ -126,10 +131,67 @@ tags: - description: '' name: Security Entity Analytics API x-displayName: Security entity analytics - - description: Exceptions API allows you to manage detection rule exceptions to prevent a rule from generating an alert from incoming events even when the rule's other criteria are met. + - description: | + Exceptions are associated with detection and endpoint rules, and are used to prevent a rule from generating an alert from incoming events, even when the rule's other criteria are met. They can help reduce the number of false positives and prevent trusted processes and network activity from generating unnecessary alerts. + + Exceptions are made up of: + + * **Exception containers**: A container for related exceptions. Generally, a single exception container contains all the exception items relevant for a subset of rules. For example, a container can be used to group together network-related exceptions that are relevant for a large number of network rules. The container can then be associated with all the relevant rules. + * **Exception items**: The query (fields, values, and logic) used to prevent rules from generating alerts. When an exception item's query evaluates to `true`, the rule does not generate an alert. + + For detection rules, you can also use lists to define rule exceptions. A list holds multiple values of the same Elasticsearch data type, such as IP addresses. These values are used to determine when an exception prevents an alert from being generated. + > info + > You cannot use lists with endpoint rule exceptions. + + > info + > Only exception containers can be associated with rules. You cannot directly associate an exception item or a list container with a rule. To use list exceptions, create an exception item that references the relevant list container. + + ## Exceptions requirements + + Before you can start working with exceptions that use value lists, you must create the `.lists` and `.items` data streams for the relevant Kibana space. To do this, use the [Create list data streams](../operation/operation-createlistindex) endpoint. Once these data streams are created, your role needs privileges to manage rules. For a complete list of requirements, refer to [Enable and access detections](https://www.elastic.co/guide/en/serverless/current/security-detections-requirements.html#enable-detections-ui). name: Security Exceptions API x-displayName: Security exceptions - - description: Lists API allows you to manage lists of keywords, IPs or IP ranges items. + - description: | + Lists can be used with detection rule exceptions to define values that prevent a rule from generating alerts. + + Lists are made up of: + + * **List containers**: A container for values of the same Elasticsearch data type. The following data types can be used: + * `boolean` + * `byte` + * `date` + * `date_nanos` + * `date_range` + * `double` + * `double_range` + * `float` + * `float_range` + * `half_float` + * `integer` + * `integer_range` + * `ip` + * `ip_range` + * `keyword` + * `long` + * `long_range` + * `short` + * `text` + * **List items**: The values used to determine whether the exception prevents an alert from being generated. + + All list items in the same list container must be of the same data type, and each item defines a single value. For example, an IP list container named `internal-ip-addresses-southport` contains five items, where each item defines one internal IP address: + 1. `192.168.1.1` + 2. `192.168.1.3` + 3. `192.168.1.18` + 4. `192.168.1.12` + 5. `192.168.1.7` + + To use these IP addresses as values for defining rule exceptions, use the Security exceptions API to [create an exception list item](../operation/operation-createexceptionlistitem) that references the `internal-ip-addresses-southport` list. + > info + > Lists cannot be added directly to rules, nor do they define the operators used to determine when exceptions are applied (`is in list`, `is not in list`). Use an exception item to define the operator and associate it with an [exception container](../operation/operation-createexceptionlist). You can then add the exception container to a rule's `exceptions_list` object. + + ## Lists requirements + + Before you can start using lists, you must create the `.lists` and `.items` data streams for the relevant Kibana space. To do this, use the [Create list data streams](../operation/operation-createlistindex) endpoint. Once these data streams are created, your role needs privileges to manage rules. Refer to [Enable and access detections](https://www.elastic.co/guide/en/serverless/current/security-detections-requirements.html#enable-detections-ui) for a complete list of requirements. name: Security Lists API x-displayName: Security lists - description: Run live queries, manage packs and saved queries. diff --git a/oas_docs/output/kibana.yaml b/oas_docs/output/kibana.yaml index b8f8fa29e84ee..64111b953ca7b 100644 --- a/oas_docs/output/kibana.yaml +++ b/oas_docs/output/kibana.yaml @@ -130,7 +130,12 @@ tags: - description: Manage and interact with Security Assistant resources. name: Security AI Assistant API x-displayName: Security AI assistant - - description: You can create rules that automatically turn events and external alerts sent to Elastic Security into detection alerts. These alerts are displayed on the Detections page. + - description: | + Use the detections APIs to create and manage detection rules. Detection rules search events and external alerts sent to Elastic Security and generate detection alerts from any hits. Alerts are displayed on the **Alerts** page and can be assigned and triaged, using the alert status to mark them as open, closed, or acknowledged. + > warn + > If the API key used for authorization has different privileges than the key that created or most recently updated a rule, the rule behavior might change. + + > If the API key that created a rule is deleted, or the user that created the rule becomes inactive, the rule will stop running. name: Security Detections API x-displayName: Security detections - description: Endpoint Exceptions API allows you to manage detection rule endpoint exceptions to prevent a rule from generating an alert from incoming events even when the rule's other criteria are met. @@ -142,10 +147,67 @@ tags: - description: '' name: Security Entity Analytics API x-displayName: Security entity analytics - - description: Exceptions API allows you to manage detection rule exceptions to prevent a rule from generating an alert from incoming events even when the rule's other criteria are met. + - description: | + Exceptions are associated with detection and endpoint rules, and are used to prevent a rule from generating an alert from incoming events, even when the rule's other criteria are met. They can help reduce the number of false positives and prevent trusted processes and network activity from generating unnecessary alerts. + + Exceptions are made up of: + + * **Exception containers**: A container for related exceptions. Generally, a single exception container contains all the exception items relevant for a subset of rules. For example, a container can be used to group together network-related exceptions that are relevant for a large number of network rules. The container can then be associated with all the relevant rules. + * **Exception items**: The query (fields, values, and logic) used to prevent rules from generating alerts. When an exception item's query evaluates to `true`, the rule does not generate an alert. + + For detection rules, you can also use lists to define rule exceptions. A list holds multiple values of the same Elasticsearch data type, such as IP addresses. These values are used to determine when an exception prevents an alert from being generated. + > info + > You cannot use lists with endpoint rule exceptions. + + > info + > Only exception containers can be associated with rules. You cannot directly associate an exception item or a list container with a rule. To use list exceptions, create an exception item that references the relevant list container. + + ## Exceptions requirements + + Before you can start working with exceptions that use value lists, you must create the `.lists` and `.items` data streams for the relevant Kibana space. To do this, use the [Create list data streams](../operation/operation-createlistindex) endpoint. Once these data streams are created, your role needs privileges to manage rules. For a complete list of requirements, refer to [Enable and access detections](https://www.elastic.co/guide/en/security/current/detections-permissions-section.html#enable-detections-ui). name: Security Exceptions API x-displayName: Security exceptions - - description: Lists API allows you to manage lists of keywords, IPs or IP ranges items. + - description: | + Lists can be used with detection rule exceptions to define values that prevent a rule from generating alerts. + + Lists are made up of: + + * **List containers**: A container for values of the same Elasticsearch data type. The following data types can be used: + * `boolean` + * `byte` + * `date` + * `date_nanos` + * `date_range` + * `double` + * `double_range` + * `float` + * `float_range` + * `half_float` + * `integer` + * `integer_range` + * `ip` + * `ip_range` + * `keyword` + * `long` + * `long_range` + * `short` + * `text` + * **List items**: The values used to determine whether the exception prevents an alert from being generated. + + All list items in the same list container must be of the same data type, and each item defines a single value. For example, an IP list container named `internal-ip-addresses-southport` contains five items, where each item defines one internal IP address: + 1. `192.168.1.1` + 2. `192.168.1.3` + 3. `192.168.1.18` + 4. `192.168.1.12` + 5. `192.168.1.7` + + To use these IP addresses as values for defining rule exceptions, use the Security exceptions API to [create an exception list item](../operation/operation-createexceptionlistitem) that references the `internal-ip-addresses-southport` list. + > info + > Lists cannot be added directly to rules, nor do they define the operators used to determine when exceptions are applied (`is in list`, `is not in list`). Use an exception item to define the operator and associate it with an [exception container](../operation/operation-createexceptionlist). You can then add the exception container to a rule's `exceptions_list` object. + + ## Lists requirements + + Before you can start using lists, you must create the `.lists` and `.items` data streams for the relevant Kibana space. To do this, use the [Create list data streams](../operation/operation-createlistindex) endpoint. Once these data streams are created, your role needs privileges to manage rules. Refer to [Enable and access detections](https://www.elastic.co/guide/en/security/current/detections-permissions-section.html#enable-detections-ui) for a complete list of requirements. name: Security Lists API x-displayName: Security lists - description: Run live queries, manage packs and saved queries. diff --git a/packages/kbn-securitysolution-exceptions-common/docs/openapi/ess/security_solution_exceptions_api_2023_10_31.bundled.schema.yaml b/packages/kbn-securitysolution-exceptions-common/docs/openapi/ess/security_solution_exceptions_api_2023_10_31.bundled.schema.yaml index d02bd360cc313..c4f44ca0e85f5 100644 --- a/packages/kbn-securitysolution-exceptions-common/docs/openapi/ess/security_solution_exceptions_api_2023_10_31.bundled.schema.yaml +++ b/packages/kbn-securitysolution-exceptions-common/docs/openapi/ess/security_solution_exceptions_api_2023_10_31.bundled.schema.yaml @@ -1899,9 +1899,55 @@ components: security: - BasicAuth: [] tags: - - description: >- - Exceptions API allows you to manage detection rule exceptions to prevent a - rule from generating an alert from incoming events even when the rule's - other criteria are met. + - description: > + Exceptions are associated with detection and endpoint rules, and are used + to prevent a rule from generating an alert from incoming events, even when + the rule's other criteria are met. They can help reduce the number of + false positives and prevent trusted processes and network activity from + generating unnecessary alerts. + + + Exceptions are made up of: + + + * **Exception containers**: A container for related exceptions. Generally, + a single exception container contains all the exception items relevant for + a subset of rules. For example, a container can be used to group together + network-related exceptions that are relevant for a large number of network + rules. The container can then be associated with all the relevant rules. + + * **Exception items**: The query (fields, values, and logic) used to + prevent rules from generating alerts. When an exception item's query + evaluates to `true`, the rule does not generate an alert. + + + For detection rules, you can also use lists to define rule exceptions. A + list holds multiple values of the same Elasticsearch data type, such as IP + addresses. These values are used to determine when an exception prevents + an alert from being generated. + + > info + + > You cannot use lists with endpoint rule exceptions. + + + > info + + > Only exception containers can be associated with rules. You cannot + directly associate an exception item or a list container with a rule. To + use list exceptions, create an exception item that references the relevant + list container. + + + ## Exceptions requirements + + + Before you can start working with exceptions that use value lists, you + must create the `.lists` and `.items` data streams for the relevant Kibana + space. To do this, use the [Create list data + streams](../operation/operation-createlistindex) endpoint. Once these data + streams are created, your role needs privileges to manage rules. For a + complete list of requirements, refer to [Enable and access + detections](https://www.elastic.co/guide/en/security/current/detections-permissions-section.html#enable-detections-ui). name: Security Exceptions API x-displayName: Security exceptions diff --git a/packages/kbn-securitysolution-exceptions-common/docs/openapi/serverless/security_solution_exceptions_api_2023_10_31.bundled.schema.yaml b/packages/kbn-securitysolution-exceptions-common/docs/openapi/serverless/security_solution_exceptions_api_2023_10_31.bundled.schema.yaml index 885028d7e2d94..c686d57b725f9 100644 --- a/packages/kbn-securitysolution-exceptions-common/docs/openapi/serverless/security_solution_exceptions_api_2023_10_31.bundled.schema.yaml +++ b/packages/kbn-securitysolution-exceptions-common/docs/openapi/serverless/security_solution_exceptions_api_2023_10_31.bundled.schema.yaml @@ -1899,9 +1899,55 @@ components: security: - BasicAuth: [] tags: - - description: >- - Exceptions API allows you to manage detection rule exceptions to prevent a - rule from generating an alert from incoming events even when the rule's - other criteria are met. + - description: > + Exceptions are associated with detection and endpoint rules, and are used + to prevent a rule from generating an alert from incoming events, even when + the rule's other criteria are met. They can help reduce the number of + false positives and prevent trusted processes and network activity from + generating unnecessary alerts. + + + Exceptions are made up of: + + + * **Exception containers**: A container for related exceptions. Generally, + a single exception container contains all the exception items relevant for + a subset of rules. For example, a container can be used to group together + network-related exceptions that are relevant for a large number of network + rules. The container can then be associated with all the relevant rules. + + * **Exception items**: The query (fields, values, and logic) used to + prevent rules from generating alerts. When an exception item's query + evaluates to `true`, the rule does not generate an alert. + + + For detection rules, you can also use lists to define rule exceptions. A + list holds multiple values of the same Elasticsearch data type, such as IP + addresses. These values are used to determine when an exception prevents + an alert from being generated. + + > info + + > You cannot use lists with endpoint rule exceptions. + + + > info + + > Only exception containers can be associated with rules. You cannot + directly associate an exception item or a list container with a rule. To + use list exceptions, create an exception item that references the relevant + list container. + + + ## Exceptions requirements + + + Before you can start working with exceptions that use value lists, you + must create the `.lists` and `.items` data streams for the relevant Kibana + space. To do this, use the [Create list data + streams](../operation/operation-createlistindex) endpoint. Once these data + streams are created, your role needs privileges to manage rules. For a + complete list of requirements, refer to [Enable and access + detections](https://www.elastic.co/guide/en/serverless/current/security-detections-requirements.html#enable-detections-ui). name: Security Exceptions API x-displayName: Security exceptions diff --git a/packages/kbn-securitysolution-exceptions-common/scripts/openapi_bundle.js b/packages/kbn-securitysolution-exceptions-common/scripts/openapi_bundle.js index 83c84d91daaf5..70299e56eac2e 100644 --- a/packages/kbn-securitysolution-exceptions-common/scripts/openapi_bundle.js +++ b/packages/kbn-securitysolution-exceptions-common/scripts/openapi_bundle.js @@ -22,21 +22,7 @@ const ROOT = resolve(__dirname, '..'); ), options: { includeLabels: ['serverless'], - prototypeDocument: { - info: { - title: 'Security Exceptions API (Elastic Cloud Serverless)', - description: - "Exceptions API allows you to manage detection rule exceptions to prevent a rule from generating an alert from incoming events even when the rule's other criteria are met.", - }, - tags: [ - { - name: 'Security Exceptions API', - 'x-displayName': 'Security exceptions', - description: - "Exceptions API allows you to manage detection rule exceptions to prevent a rule from generating an alert from incoming events even when the rule's other criteria are met.", - }, - ], - }, + prototypeDocument: join(ROOT, 'scripts/openapi_bundle_info/exceptions_serverless.info.yaml'), }, }); @@ -48,21 +34,7 @@ const ROOT = resolve(__dirname, '..'); ), options: { includeLabels: ['ess'], - prototypeDocument: { - info: { - title: 'Security Exceptions API (Elastic Cloud and self-hosted)', - description: - "Exceptions API allows you to manage detection rule exceptions to prevent a rule from generating an alert from incoming events even when the rule's other criteria are met.", - }, - tags: [ - { - name: 'Security Exceptions API', - 'x-displayName': 'Security exceptions', - description: - "Exceptions API allows you to manage detection rule exceptions to prevent a rule from generating an alert from incoming events even when the rule's other criteria are met.", - }, - ], - }, + prototypeDocument: join(ROOT, 'scripts/openapi_bundle_info/exceptions_ess.info.yaml'), }, }); })(); diff --git a/packages/kbn-securitysolution-exceptions-common/scripts/openapi_bundle_info/exceptions_ess.info.yaml b/packages/kbn-securitysolution-exceptions-common/scripts/openapi_bundle_info/exceptions_ess.info.yaml new file mode 100644 index 0000000000000..855870c444c7c --- /dev/null +++ b/packages/kbn-securitysolution-exceptions-common/scripts/openapi_bundle_info/exceptions_ess.info.yaml @@ -0,0 +1,26 @@ +openapi: 3.0.3 +info: + title: "Security Exceptions API (Elastic Cloud and self-hosted)" + description: "Exceptions API allows you to manage detection rule exceptions to prevent a rule from generating an alert from incoming events even when the rule's other criteria are met." + +tags: + - name: "Security Exceptions API" + x-displayName: "Security exceptions" + description: | + Exceptions are associated with detection and endpoint rules, and are used to prevent a rule from generating an alert from incoming events, even when the rule's other criteria are met. They can help reduce the number of false positives and prevent trusted processes and network activity from generating unnecessary alerts. + + Exceptions are made up of: + + * **Exception containers**: A container for related exceptions. Generally, a single exception container contains all the exception items relevant for a subset of rules. For example, a container can be used to group together network-related exceptions that are relevant for a large number of network rules. The container can then be associated with all the relevant rules. + * **Exception items**: The query (fields, values, and logic) used to prevent rules from generating alerts. When an exception item's query evaluates to `true`, the rule does not generate an alert. + + For detection rules, you can also use lists to define rule exceptions. A list holds multiple values of the same Elasticsearch data type, such as IP addresses. These values are used to determine when an exception prevents an alert from being generated. + > info + > You cannot use lists with endpoint rule exceptions. + + > info + > Only exception containers can be associated with rules. You cannot directly associate an exception item or a list container with a rule. To use list exceptions, create an exception item that references the relevant list container. + + ## Exceptions requirements + + Before you can start working with exceptions that use value lists, you must create the `.lists` and `.items` data streams for the relevant Kibana space. To do this, use the [Create list data streams](../operation/operation-createlistindex) endpoint. Once these data streams are created, your role needs privileges to manage rules. For a complete list of requirements, refer to [Enable and access detections](https://www.elastic.co/guide/en/security/current/detections-permissions-section.html#enable-detections-ui). diff --git a/packages/kbn-securitysolution-exceptions-common/scripts/openapi_bundle_info/exceptions_serverless.info.yaml b/packages/kbn-securitysolution-exceptions-common/scripts/openapi_bundle_info/exceptions_serverless.info.yaml new file mode 100644 index 0000000000000..a8894d997be98 --- /dev/null +++ b/packages/kbn-securitysolution-exceptions-common/scripts/openapi_bundle_info/exceptions_serverless.info.yaml @@ -0,0 +1,26 @@ +openapi: 3.0.3 +info: + title: "Security Exceptions API (Elastic Cloud Serverless)" + description: "Exceptions API allows you to manage detection rule exceptions to prevent a rule from generating an alert from incoming events even when the rule's other criteria are met." + +tags: + - name: "Security Exceptions API" + x-displayName: "Security exceptions" + description: | + Exceptions are associated with detection and endpoint rules, and are used to prevent a rule from generating an alert from incoming events, even when the rule's other criteria are met. They can help reduce the number of false positives and prevent trusted processes and network activity from generating unnecessary alerts. + + Exceptions are made up of: + + * **Exception containers**: A container for related exceptions. Generally, a single exception container contains all the exception items relevant for a subset of rules. For example, a container can be used to group together network-related exceptions that are relevant for a large number of network rules. The container can then be associated with all the relevant rules. + * **Exception items**: The query (fields, values, and logic) used to prevent rules from generating alerts. When an exception item's query evaluates to `true`, the rule does not generate an alert. + + For detection rules, you can also use lists to define rule exceptions. A list holds multiple values of the same Elasticsearch data type, such as IP addresses. These values are used to determine when an exception prevents an alert from being generated. + > info + > You cannot use lists with endpoint rule exceptions. + + > info + > Only exception containers can be associated with rules. You cannot directly associate an exception item or a list container with a rule. To use list exceptions, create an exception item that references the relevant list container. + + ## Exceptions requirements + + Before you can start working with exceptions that use value lists, you must create the `.lists` and `.items` data streams for the relevant Kibana space. To do this, use the [Create list data streams](../operation/operation-createlistindex) endpoint. Once these data streams are created, your role needs privileges to manage rules. For a complete list of requirements, refer to [Enable and access detections](https://www.elastic.co/guide/en/serverless/current/security-detections-requirements.html#enable-detections-ui). diff --git a/packages/kbn-securitysolution-lists-common/docs/openapi/ess/security_solution_lists_api_2023_10_31.bundled.schema.yaml b/packages/kbn-securitysolution-lists-common/docs/openapi/ess/security_solution_lists_api_2023_10_31.bundled.schema.yaml index ef88149b49b32..a8324753a6798 100644 --- a/packages/kbn-securitysolution-lists-common/docs/openapi/ess/security_solution_lists_api_2023_10_31.bundled.schema.yaml +++ b/packages/kbn-securitysolution-lists-common/docs/openapi/ess/security_solution_lists_api_2023_10_31.bundled.schema.yaml @@ -1562,6 +1562,79 @@ components: security: - BasicAuth: [] tags: - - description: Lists API allows you to manage lists of keywords, IPs or IP ranges items. + - description: > + Lists can be used with detection rule exceptions to define values that + prevent a rule from generating alerts. + + + Lists are made up of: + + + * **List containers**: A container for values of the same Elasticsearch + data type. The following data types can be used: + * `boolean` + * `byte` + * `date` + * `date_nanos` + * `date_range` + * `double` + * `double_range` + * `float` + * `float_range` + * `half_float` + * `integer` + * `integer_range` + * `ip` + * `ip_range` + * `keyword` + * `long` + * `long_range` + * `short` + * `text` + * **List items**: The values used to determine whether the exception + prevents an alert from being generated. + + + All list items in the same list container must be of the same data type, + and each item defines a single value. For example, an IP list container + named `internal-ip-addresses-southport` contains five items, where each + item defines one internal IP address: + + 1. `192.168.1.1` + + 2. `192.168.1.3` + + 3. `192.168.1.18` + + 4. `192.168.1.12` + + 5. `192.168.1.7` + + + To use these IP addresses as values for defining rule exceptions, use the + Security exceptions API to [create an exception list + item](../operation/operation-createexceptionlistitem) that references the + `internal-ip-addresses-southport` list. + + > info + + > Lists cannot be added directly to rules, nor do they define the + operators used to determine when exceptions are applied (`is in list`, `is + not in list`). Use an exception item to define the operator and associate + it with an [exception + container](../operation/operation-createexceptionlist). You can then add + the exception container to a rule's `exceptions_list` object. + + + ## Lists requirements + + + Before you can start using lists, you must create the `.lists` and + `.items` data streams for the relevant Kibana space. To do this, use the + [Create list data streams](../operation/operation-createlistindex) + endpoint. Once these data streams are created, your role needs privileges + to manage rules. Refer to [Enable and access + detections](https://www.elastic.co/guide/en/security/current/detections-permissions-section.html#enable-detections-ui) + for a complete list of requirements. name: Security Lists API x-displayName: Security lists diff --git a/packages/kbn-securitysolution-lists-common/docs/openapi/serverless/security_solution_lists_api_2023_10_31.bundled.schema.yaml b/packages/kbn-securitysolution-lists-common/docs/openapi/serverless/security_solution_lists_api_2023_10_31.bundled.schema.yaml index e3558193b30da..5cba050e50c35 100644 --- a/packages/kbn-securitysolution-lists-common/docs/openapi/serverless/security_solution_lists_api_2023_10_31.bundled.schema.yaml +++ b/packages/kbn-securitysolution-lists-common/docs/openapi/serverless/security_solution_lists_api_2023_10_31.bundled.schema.yaml @@ -1562,6 +1562,79 @@ components: security: - BasicAuth: [] tags: - - description: Lists API allows you to manage lists of keywords, IPs or IP ranges items. + - description: > + Lists can be used with detection rule exceptions to define values that + prevent a rule from generating alerts. + + + Lists are made up of: + + + * **List containers**: A container for values of the same Elasticsearch + data type. The following data types can be used: + * `boolean` + * `byte` + * `date` + * `date_nanos` + * `date_range` + * `double` + * `double_range` + * `float` + * `float_range` + * `half_float` + * `integer` + * `integer_range` + * `ip` + * `ip_range` + * `keyword` + * `long` + * `long_range` + * `short` + * `text` + * **List items**: The values used to determine whether the exception + prevents an alert from being generated. + + + All list items in the same list container must be of the same data type, + and each item defines a single value. For example, an IP list container + named `internal-ip-addresses-southport` contains five items, where each + item defines one internal IP address: + + 1. `192.168.1.1` + + 2. `192.168.1.3` + + 3. `192.168.1.18` + + 4. `192.168.1.12` + + 5. `192.168.1.7` + + + To use these IP addresses as values for defining rule exceptions, use the + Security exceptions API to [create an exception list + item](../operation/operation-createexceptionlistitem) that references the + `internal-ip-addresses-southport` list. + + > info + + > Lists cannot be added directly to rules, nor do they define the + operators used to determine when exceptions are applied (`is in list`, `is + not in list`). Use an exception item to define the operator and associate + it with an [exception + container](../operation/operation-createexceptionlist). You can then add + the exception container to a rule's `exceptions_list` object. + + + ## Lists requirements + + + Before you can start using lists, you must create the `.lists` and + `.items` data streams for the relevant Kibana space. To do this, use the + [Create list data streams](../operation/operation-createlistindex) + endpoint. Once these data streams are created, your role needs privileges + to manage rules. Refer to [Enable and access + detections](https://www.elastic.co/guide/en/serverless/current/security-detections-requirements.html#enable-detections-ui) + for a complete list of requirements. name: Security Lists API x-displayName: Security lists diff --git a/packages/kbn-securitysolution-lists-common/scripts/openapi_bundle.js b/packages/kbn-securitysolution-lists-common/scripts/openapi_bundle.js index b8ea2ea2e8377..7a61724759178 100644 --- a/packages/kbn-securitysolution-lists-common/scripts/openapi_bundle.js +++ b/packages/kbn-securitysolution-lists-common/scripts/openapi_bundle.js @@ -22,20 +22,7 @@ const ROOT = resolve(__dirname, '..'); ), options: { includeLabels: ['serverless'], - prototypeDocument: { - info: { - title: 'Security Lists API (Elastic Cloud Serverless)', - description: 'Lists API allows you to manage lists of keywords, IPs or IP ranges items.', - }, - tags: [ - { - name: 'Security Lists API', - 'x-displayName': 'Security lists', - description: - 'Lists API allows you to manage lists of keywords, IPs or IP ranges items.', - }, - ], - }, + prototypeDocument: join(ROOT, 'scripts/openapi_bundle_info/lists_serverless.info.yaml'), }, }); @@ -47,20 +34,7 @@ const ROOT = resolve(__dirname, '..'); ), options: { includeLabels: ['ess'], - prototypeDocument: { - info: { - title: 'Security Lists API (Elastic Cloud and self-hosted)', - description: 'Lists API allows you to manage lists of keywords, IPs or IP ranges items.', - }, - tags: [ - { - name: 'Security Lists API', - 'x-displayName': 'Security lists', - description: - 'Lists API allows you to manage lists of keywords, IPs or IP ranges items.', - }, - ], - }, + prototypeDocument: join(ROOT, 'scripts/openapi_bundle_info/lists_ess.info.yaml'), }, }); })(); diff --git a/packages/kbn-securitysolution-lists-common/scripts/openapi_bundle_info/lists_ess.info.yaml b/packages/kbn-securitysolution-lists-common/scripts/openapi_bundle_info/lists_ess.info.yaml new file mode 100644 index 0000000000000..f2f528c8d7ba7 --- /dev/null +++ b/packages/kbn-securitysolution-lists-common/scripts/openapi_bundle_info/lists_ess.info.yaml @@ -0,0 +1,49 @@ +openapi: 3.0.3 +info: + title: "Security Lists API (Elastic Cloud and self-hosted)" + description: "Lists API allows you to manage lists of keywords, IPs or IP ranges items." + +tags: + - name: "Security Lists API" + x-displayName: "Security lists" + description: | + Lists can be used with detection rule exceptions to define values that prevent a rule from generating alerts. + + Lists are made up of: + + * **List containers**: A container for values of the same Elasticsearch data type. The following data types can be used: + * `boolean` + * `byte` + * `date` + * `date_nanos` + * `date_range` + * `double` + * `double_range` + * `float` + * `float_range` + * `half_float` + * `integer` + * `integer_range` + * `ip` + * `ip_range` + * `keyword` + * `long` + * `long_range` + * `short` + * `text` + * **List items**: The values used to determine whether the exception prevents an alert from being generated. + + All list items in the same list container must be of the same data type, and each item defines a single value. For example, an IP list container named `internal-ip-addresses-southport` contains five items, where each item defines one internal IP address: + 1. `192.168.1.1` + 2. `192.168.1.3` + 3. `192.168.1.18` + 4. `192.168.1.12` + 5. `192.168.1.7` + + To use these IP addresses as values for defining rule exceptions, use the Security exceptions API to [create an exception list item](../operation/operation-createexceptionlistitem) that references the `internal-ip-addresses-southport` list. + > info + > Lists cannot be added directly to rules, nor do they define the operators used to determine when exceptions are applied (`is in list`, `is not in list`). Use an exception item to define the operator and associate it with an [exception container](../operation/operation-createexceptionlist). You can then add the exception container to a rule's `exceptions_list` object. + + ## Lists requirements + + Before you can start using lists, you must create the `.lists` and `.items` data streams for the relevant Kibana space. To do this, use the [Create list data streams](../operation/operation-createlistindex) endpoint. Once these data streams are created, your role needs privileges to manage rules. Refer to [Enable and access detections](https://www.elastic.co/guide/en/security/current/detections-permissions-section.html#enable-detections-ui) for a complete list of requirements. diff --git a/packages/kbn-securitysolution-lists-common/scripts/openapi_bundle_info/lists_serverless.info.yaml b/packages/kbn-securitysolution-lists-common/scripts/openapi_bundle_info/lists_serverless.info.yaml new file mode 100644 index 0000000000000..8f3245db29a99 --- /dev/null +++ b/packages/kbn-securitysolution-lists-common/scripts/openapi_bundle_info/lists_serverless.info.yaml @@ -0,0 +1,49 @@ +openapi: 3.0.3 +info: + title: "Security Lists API (Elastic Cloud Serverless)" + description: "Lists API allows you to manage lists of keywords, IPs or IP ranges items." + +tags: + - name: "Security Lists API" + x-displayName: "Security lists" + description: | + Lists can be used with detection rule exceptions to define values that prevent a rule from generating alerts. + + Lists are made up of: + + * **List containers**: A container for values of the same Elasticsearch data type. The following data types can be used: + * `boolean` + * `byte` + * `date` + * `date_nanos` + * `date_range` + * `double` + * `double_range` + * `float` + * `float_range` + * `half_float` + * `integer` + * `integer_range` + * `ip` + * `ip_range` + * `keyword` + * `long` + * `long_range` + * `short` + * `text` + * **List items**: The values used to determine whether the exception prevents an alert from being generated. + + All list items in the same list container must be of the same data type, and each item defines a single value. For example, an IP list container named `internal-ip-addresses-southport` contains five items, where each item defines one internal IP address: + 1. `192.168.1.1` + 2. `192.168.1.3` + 3. `192.168.1.18` + 4. `192.168.1.12` + 5. `192.168.1.7` + + To use these IP addresses as values for defining rule exceptions, use the Security exceptions API to [create an exception list item](../operation/operation-createexceptionlistitem) that references the `internal-ip-addresses-southport` list. + > info + > Lists cannot be added directly to rules, nor do they define the operators used to determine when exceptions are applied (`is in list`, `is not in list`). Use an exception item to define the operator and associate it with an [exception container](../operation/operation-createexceptionlist). You can then add the exception container to a rule's `exceptions_list` object. + + ## Lists requirements + + Before you can start using lists, you must create the `.lists` and `.items` data streams for the relevant Kibana space. To do this, use the [Create list data streams](../operation/operation-createlistindex) endpoint. Once these data streams are created, your role needs privileges to manage rules. Refer to [Enable and access detections](https://www.elastic.co/guide/en/serverless/current/security-detections-requirements.html#enable-detections-ui) for a complete list of requirements. diff --git a/x-pack/plugins/security_solution/docs/openapi/ess/security_solution_detections_api_2023_10_31.bundled.schema.yaml b/x-pack/plugins/security_solution/docs/openapi/ess/security_solution_detections_api_2023_10_31.bundled.schema.yaml index dfc824035575d..6c865ab356c1d 100644 --- a/x-pack/plugins/security_solution/docs/openapi/ess/security_solution_detections_api_2023_10_31.bundled.schema.yaml +++ b/x-pack/plugins/security_solution/docs/openapi/ess/security_solution_detections_api_2023_10_31.bundled.schema.yaml @@ -1,9 +1,11 @@ openapi: 3.0.3 info: description: >- - You can create rules that automatically turn events and external alerts sent - to Elastic Security into detection alerts. These alerts are displayed on the - Detections page. + Use the detections APIs to create and manage detection rules. Detection + rules search events and external alerts sent to Elastic Security and + generate detection alerts from any hits. Alerts are displayed on the + **Alerts** page and can be assigned and triaged, using the alert status to + mark them as open, closed, or acknowledged. title: Security Detections API (Elastic Cloud and self-hosted) version: '2023-10-31' servers: @@ -7110,9 +7112,21 @@ components: security: - BasicAuth: [] tags: - - description: >- - You can create rules that automatically turn events and external alerts - sent to Elastic Security into detection alerts. These alerts are displayed - on the Detections page. + - description: > + Use the detections APIs to create and manage detection rules. Detection + rules search events and external alerts sent to Elastic Security and + generate detection alerts from any hits. Alerts are displayed on the + **Alerts** page and can be assigned and triaged, using the alert status to + mark them as open, closed, or acknowledged. + + > warn + + > If the API key used for authorization has different privileges than the + key that created or most recently updated a rule, the rule behavior might + change. + + + > If the API key that created a rule is deleted, or the user that created + the rule becomes inactive, the rule will stop running. name: Security Detections API x-displayName: Security detections diff --git a/x-pack/plugins/security_solution/docs/openapi/serverless/security_solution_detections_api_2023_10_31.bundled.schema.yaml b/x-pack/plugins/security_solution/docs/openapi/serverless/security_solution_detections_api_2023_10_31.bundled.schema.yaml index f81cc1227c893..583944c5b3435 100644 --- a/x-pack/plugins/security_solution/docs/openapi/serverless/security_solution_detections_api_2023_10_31.bundled.schema.yaml +++ b/x-pack/plugins/security_solution/docs/openapi/serverless/security_solution_detections_api_2023_10_31.bundled.schema.yaml @@ -1,9 +1,11 @@ openapi: 3.0.3 info: description: >- - You can create rules that automatically turn events and external alerts sent - to Elastic Security into detection alerts. These alerts are displayed on the - Detections page. + Use the detections APIs to create and manage detection rules. Detection + rules search events and external alerts sent to Elastic Security and + generate detection alerts from any hits. Alerts are displayed on the + **Alerts** page and can be assigned and triaged, using the alert status to + mark them as open, closed, or acknowledged. title: Security Detections API (Elastic Cloud Serverless) version: '2023-10-31' servers: @@ -6252,9 +6254,21 @@ components: security: - BasicAuth: [] tags: - - description: >- - You can create rules that automatically turn events and external alerts - sent to Elastic Security into detection alerts. These alerts are displayed - on the Detections page. + - description: > + Use the detections APIs to create and manage detection rules. Detection + rules search events and external alerts sent to Elastic Security and + generate detection alerts from any hits. Alerts are displayed on the + **Alerts** page and can be assigned and triaged, using the alert status to + mark them as open, closed, or acknowledged. + + > warn + + > If the API key used for authorization has different privileges than the + key that created or most recently updated a rule, the rule behavior might + change. + + + > If the API key that created a rule is deleted, or the user that created + the rule becomes inactive, the rule will stop running. name: Security Detections API x-displayName: Security detections diff --git a/x-pack/plugins/security_solution/scripts/openapi/bundle_detections.js b/x-pack/plugins/security_solution/scripts/openapi/bundle_detections.js index 2c0e36f3db8ee..7bfd659927ec3 100644 --- a/x-pack/plugins/security_solution/scripts/openapi/bundle_detections.js +++ b/x-pack/plugins/security_solution/scripts/openapi/bundle_detections.js @@ -20,21 +20,10 @@ const ROOT = resolve(__dirname, '../..'); ), options: { includeLabels: ['serverless'], - prototypeDocument: { - info: { - title: 'Security Detections API (Elastic Cloud Serverless)', - description: - 'You can create rules that automatically turn events and external alerts sent to Elastic Security into detection alerts. These alerts are displayed on the Detections page.', - }, - tags: [ - { - name: 'Security Detections API', - 'x-displayName': 'Security detections', - description: - 'You can create rules that automatically turn events and external alerts sent to Elastic Security into detection alerts. These alerts are displayed on the Detections page.', - }, - ], - }, + prototypeDocument: join( + ROOT, + 'scripts/openapi/bundle_detections_info/detections_serverless.info.yaml' + ), }, }); @@ -46,21 +35,10 @@ const ROOT = resolve(__dirname, '../..'); ), options: { includeLabels: ['ess'], - prototypeDocument: { - info: { - title: 'Security Detections API (Elastic Cloud and self-hosted)', - description: - 'You can create rules that automatically turn events and external alerts sent to Elastic Security into detection alerts. These alerts are displayed on the Detections page.', - }, - tags: [ - { - name: 'Security Detections API', - 'x-displayName': 'Security detections', - description: - 'You can create rules that automatically turn events and external alerts sent to Elastic Security into detection alerts. These alerts are displayed on the Detections page.', - }, - ], - }, + prototypeDocument: join( + ROOT, + 'scripts/openapi/bundle_detections_info/detections_ess.info.yaml' + ), }, }); })(); diff --git a/x-pack/plugins/security_solution/scripts/openapi/bundle_detections_info/detections_ess.info.yaml b/x-pack/plugins/security_solution/scripts/openapi/bundle_detections_info/detections_ess.info.yaml new file mode 100644 index 0000000000000..bb3f8830dc35a --- /dev/null +++ b/x-pack/plugins/security_solution/scripts/openapi/bundle_detections_info/detections_ess.info.yaml @@ -0,0 +1,14 @@ +openapi: 3.0.3 +info: + title: "Security Detections API (Elastic Cloud and self-hosted)" + description: "Use the detections APIs to create and manage detection rules. Detection rules search events and external alerts sent to Elastic Security and generate detection alerts from any hits. Alerts are displayed on the **Alerts** page and can be assigned and triaged, using the alert status to mark them as open, closed, or acknowledged." + +tags: + - name: "Security Detections API" + x-displayName: "Security detections" + description: | + Use the detections APIs to create and manage detection rules. Detection rules search events and external alerts sent to Elastic Security and generate detection alerts from any hits. Alerts are displayed on the **Alerts** page and can be assigned and triaged, using the alert status to mark them as open, closed, or acknowledged. + > warn + > If the API key used for authorization has different privileges than the key that created or most recently updated a rule, the rule behavior might change. + + > If the API key that created a rule is deleted, or the user that created the rule becomes inactive, the rule will stop running. \ No newline at end of file diff --git a/x-pack/plugins/security_solution/scripts/openapi/bundle_detections_info/detections_serverless.info.yaml b/x-pack/plugins/security_solution/scripts/openapi/bundle_detections_info/detections_serverless.info.yaml new file mode 100644 index 0000000000000..a90f669b4ed28 --- /dev/null +++ b/x-pack/plugins/security_solution/scripts/openapi/bundle_detections_info/detections_serverless.info.yaml @@ -0,0 +1,14 @@ +openapi: 3.0.3 +info: + title: "Security Detections API (Elastic Cloud Serverless)" + description: "Use the detections APIs to create and manage detection rules. Detection rules search events and external alerts sent to Elastic Security and generate detection alerts from any hits. Alerts are displayed on the **Alerts** page and can be assigned and triaged, using the alert status to mark them as open, closed, or acknowledged." + +tags: + - name: "Security Detections API" + x-displayName: "Security detections" + description: | + Use the detections APIs to create and manage detection rules. Detection rules search events and external alerts sent to Elastic Security and generate detection alerts from any hits. Alerts are displayed on the **Alerts** page and can be assigned and triaged, using the alert status to mark them as open, closed, or acknowledged. + > warn + > If the API key used for authorization has different privileges than the key that created or most recently updated a rule, the rule behavior might change. + + > If the API key that created a rule is deleted, or the user that created the rule becomes inactive, the rule will stop running. \ No newline at end of file From 08da9468b28afdad386b91a26507cd45e1c85098 Mon Sep 17 00:00:00 2001 From: Marco Antonio Ghiani Date: Thu, 12 Dec 2024 18:01:49 +0100 Subject: [PATCH 39/52] [One Discover] Revert token change from vis palette (#204054) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 📓 Summary Related to https://github.com/elastic/kibana/pull/202985 This change reverts a suggestion that was applied but that should only be valid for v9. Co-authored-by: Marco Antonio Ghiani --- .../src/data_types/logs/utils/get_log_level_color.test.ts | 4 +--- .../src/data_types/logs/utils/get_log_level_color.ts | 4 ++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/kbn-discover-utils/src/data_types/logs/utils/get_log_level_color.test.ts b/packages/kbn-discover-utils/src/data_types/logs/utils/get_log_level_color.test.ts index d5d76ddb6041d..fcbf7848603a9 100644 --- a/packages/kbn-discover-utils/src/data_types/logs/utils/get_log_level_color.test.ts +++ b/packages/kbn-discover-utils/src/data_types/logs/utils/get_log_level_color.test.ts @@ -13,9 +13,7 @@ import { LogLevelCoalescedValue } from './get_log_level_coalesed_value'; const euiTheme = { colors: { - vis: { - euiColorVisGrey0: '#d3dae6', - }, + mediumShade: '#d3dae6', }, }; diff --git a/packages/kbn-discover-utils/src/data_types/logs/utils/get_log_level_color.ts b/packages/kbn-discover-utils/src/data_types/logs/utils/get_log_level_color.ts index b51318a570923..1418ae7f10f45 100644 --- a/packages/kbn-discover-utils/src/data_types/logs/utils/get_log_level_color.ts +++ b/packages/kbn-discover-utils/src/data_types/logs/utils/get_log_level_color.ts @@ -25,7 +25,7 @@ export const getLogLevelColor = ( switch (logLevelCoalescedValue) { case LogLevelCoalescedValue.trace: - return euiTheme.colors.vis.euiColorVisGrey0; + return euiTheme.colors.mediumShade; case LogLevelCoalescedValue.debug: return euiPaletteForTemperature6[2]; // lighter, closer to the default color for all other unknown log levels case LogLevelCoalescedValue.info: @@ -45,6 +45,6 @@ export const getLogLevelColor = ( case LogLevelCoalescedValue.fatal: return euiPaletteRed9[13]; default: - return euiTheme.colors.vis.euiColorVisGrey0; + return euiTheme.colors.mediumShade; } }; From 231f1b3fca277d947ff8de23fbceac3e28ea88eb Mon Sep 17 00:00:00 2001 From: Kfir Peled <61654899+kfirpeled@users.noreply.github.com> Date: Thu, 12 Dec 2024 17:45:00 +0000 Subject: [PATCH 40/52] [Cloud Security] CDR Graph - fix labels overlap when there are multiple labels (#204020) --- .../graph/jest.config.js | 4 + .../src/components/graph/layout_graph.ts | 22 +++-- .../components/graph_layout.stories.test.tsx | 93 +++++++++++++++++++ .../src/components/graph_layout.stories.tsx | 28 ++++++ .../storybook/config/babel_with_emotion.ts | 25 +++++ 5 files changed, 164 insertions(+), 8 deletions(-) create mode 100644 x-pack/packages/kbn-cloud-security-posture/graph/src/components/graph_layout.stories.test.tsx create mode 100644 x-pack/packages/kbn-cloud-security-posture/storybook/config/babel_with_emotion.ts diff --git a/x-pack/packages/kbn-cloud-security-posture/graph/jest.config.js b/x-pack/packages/kbn-cloud-security-posture/graph/jest.config.js index 3b8fbbd9384a4..3f600bebb30f7 100644 --- a/x-pack/packages/kbn-cloud-security-posture/graph/jest.config.js +++ b/x-pack/packages/kbn-cloud-security-posture/graph/jest.config.js @@ -9,6 +9,10 @@ module.exports = { preset: '@kbn/test', roots: ['/x-pack/packages/kbn-cloud-security-posture/graph'], rootDir: '../../../..', + transform: { + '^.+\\.(js|tsx?)$': + '/x-pack/packages/kbn-cloud-security-posture/storybook/config/babel_with_emotion.ts', + }, setupFiles: ['jest-canvas-mock'], setupFilesAfterEnv: ['/x-pack/packages/kbn-cloud-security-posture/graph/setup_tests.ts'], }; diff --git a/x-pack/packages/kbn-cloud-security-posture/graph/src/components/graph/layout_graph.ts b/x-pack/packages/kbn-cloud-security-posture/graph/src/components/graph/layout_graph.ts index 868461f99cdee..d0cf9f0f150cd 100644 --- a/x-pack/packages/kbn-cloud-security-posture/graph/src/components/graph/layout_graph.ts +++ b/x-pack/packages/kbn-cloud-security-posture/graph/src/components/graph/layout_graph.ts @@ -50,6 +50,10 @@ export const layoutGraph = ( nodesById[node.id] = node; } + if (node.parentId) { + return; + } + g.setNode(node.id, { ...node, ...size, @@ -59,6 +63,14 @@ export const layoutGraph = ( Dagre.layout(g); const layoutedNodes = nodes.map((node) => { + // For grouped nodes, we want to keep the original position relative to the parent + if (node.data.shape === 'label' && node.data.parentId) { + return { + ...node, + position: nodesById[node.data.id].position, + }; + } + const dagreNode = g.node(node.data.id); // We are shifting the dagre node position (anchor=center center) to the top left @@ -66,13 +78,7 @@ export const layoutGraph = ( const x = dagreNode.x - (dagreNode.width ?? 0) / 2; const y = dagreNode.y - (dagreNode.height ?? 0) / 2; - // For grouped nodes, we want to keep the original position relative to the parent - if (node.data.shape === 'label' && node.data.parentId) { - return { - ...node, - position: nodesById[node.data.id].position, - }; - } else if (node.data.shape === 'group') { + if (node.data.shape === 'group') { return { ...node, position: { x, y }, @@ -130,7 +136,7 @@ const layoutGroupChildren = ( const childSize = calcLabelSize(child.data.label); child.position = { x: groupNodeWidth / 2 - childSize.width / 2, - y: index * (childSize.height * 2 + space), + y: index * (childSize.height + space), }; }); diff --git a/x-pack/packages/kbn-cloud-security-posture/graph/src/components/graph_layout.stories.test.tsx b/x-pack/packages/kbn-cloud-security-posture/graph/src/components/graph_layout.stories.test.tsx new file mode 100644 index 0000000000000..77da232f27bd3 --- /dev/null +++ b/x-pack/packages/kbn-cloud-security-posture/graph/src/components/graph_layout.stories.test.tsx @@ -0,0 +1,93 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { composeStories } from '@storybook/testing-react'; +import { render } from '@testing-library/react'; +import React from 'react'; +import * as stories from './graph_layout.stories'; + +const { GraphLargeStackedEdgeCases } = composeStories(stories); + +const TRANSLATE_XY_REGEX = + /translate\(\s*([+-]?\d+(\.\d+)?)(px|%)?\s*,\s*([+-]?\d+(\.\d+)?)(px|%)?\s*\)/; + +interface Rect { + left: number; + top: number; + right: number; + bottom: number; +} + +const getLabelRect = (el: HTMLElement): Rect | undefined => { + const match = el.style.transform.match(TRANSLATE_XY_REGEX); + + if (!match || match.length < 5) { + return; + } + + return { + left: Number(match[1]), + right: Number(match[1]) + 120, + top: Number(match[4]), + bottom: Number(match[4]) + 32, + }; +}; + +const rectIntersect = (rect1: Rect, rect2: Rect) => { + return !( + rect1.top > rect2.bottom || + rect1.right < rect2.left || + rect1.bottom < rect2.top || + rect1.left > rect2.right + ); +}; + +describe('GraphLargeStackedEdgeCases story', () => { + it('all labels should be visible', async () => { + const { getAllByText } = render(); + + const labels = GraphLargeStackedEdgeCases.args?.nodes?.filter((node) => node.shape === 'label'); + + // With JSDOM toBeVisible can't check if elements are visually obscured by other overlapping elements + // This is a workaround which gives a rough estimation of a label's bounding rectangle and check for intersections + const labelsBoundingRect: Rect[] = []; + const labelElements: Set = new Set(); + + for (const { label } of labels ?? []) { + // Get all label nodes that contains the label's text + const allLabelElements = getAllByText( + (_content, element) => element?.textContent === `${label!}`, + { + exact: true, + selector: 'div.react-flow__node-label', + } + ); + expect(allLabelElements.length).toBeGreaterThan(0); + + for (const labelElm of allLabelElements) { + const id = labelElm.getAttribute('data-id'); + + // Same label can appear more than once in the graph, so we skip them if already scanned + if (labelElements.has(id!)) { + continue; + } + labelElements.add(id!); + + expect(labelElm).toBeVisible(); + const labelRect = getLabelRect(labelElm); + expect(labelRect).not.toBeUndefined(); + + // Checks if current rect intersects with other labels + for (const currRect of labelsBoundingRect) { + expect(rectIntersect(currRect, labelRect!)).toBeFalsy(); + } + + labelsBoundingRect.push(labelRect!); + } + } + }); +}); diff --git a/x-pack/packages/kbn-cloud-security-posture/graph/src/components/graph_layout.stories.tsx b/x-pack/packages/kbn-cloud-security-posture/graph/src/components/graph_layout.stories.tsx index 140e81238d390..e576a5abf030e 100644 --- a/x-pack/packages/kbn-cloud-security-posture/graph/src/components/graph_layout.stories.tsx +++ b/x-pack/packages/kbn-cloud-security-posture/graph/src/components/graph_layout.stories.tsx @@ -503,3 +503,31 @@ GraphStackedEdgeCases.args = { }, ]), }; + +export const GraphLargeStackedEdgeCases = Template.bind({}); + +GraphLargeStackedEdgeCases.args = { + ...extractEdges([ + ...baseGraph, + ...Array(10) + .fill(0) + .map((_v, idx) => ({ + id: 'a(oktauser)-b(hackeruser)', + source: 'oktauser', + target: 'hackeruser', + label: 'CreateUser' + idx, + color: 'primary', + shape: 'label', + })), + ...Array(10) + .fill(0) + .map((_v, idx) => ({ + id: 'a(siem-windows)-b(user)', + source: 'siem-windows', + target: 'user', + label: 'User login to OKTA' + idx, + color: 'danger', + shape: 'label', + })), + ]), +}; diff --git a/x-pack/packages/kbn-cloud-security-posture/storybook/config/babel_with_emotion.ts b/x-pack/packages/kbn-cloud-security-posture/storybook/config/babel_with_emotion.ts new file mode 100644 index 0000000000000..7512a5bba8737 --- /dev/null +++ b/x-pack/packages/kbn-cloud-security-posture/storybook/config/babel_with_emotion.ts @@ -0,0 +1,25 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import babelJest from 'babel-jest'; + +// eslint-disable-next-line import/no-default-export +export default babelJest.createTransformer({ + presets: [ + [ + require.resolve('@kbn/babel-preset/node_preset'), + { + '@babel/preset-env': { + // disable built-in filtering, which is more performant but strips the import of `regenerator-runtime` required by EUI + useBuiltIns: false, + corejs: false, + }, + }, + ], + ], + plugins: ['@emotion'], +}); From a1a78d1dc4c7fa3058c828156b93ebc062092136 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Fern=C3=A1ndez=20Haro?= Date: Thu, 12 Dec 2024 18:56:47 +0100 Subject: [PATCH 41/52] [Deprecation Service] Add `namespaces` callout to the docs (#202768) --- src/core/server/docs/kib_core_deprecations_service.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/core/server/docs/kib_core_deprecations_service.mdx b/src/core/server/docs/kib_core_deprecations_service.mdx index 2594bd2f0dd6b..1cf5fd50869f1 100644 --- a/src/core/server/docs/kib_core_deprecations_service.mdx +++ b/src/core/server/docs/kib_core_deprecations_service.mdx @@ -152,9 +152,13 @@ coreSetup.deprecations.registerDeprecations({ ``` The `getDeprecations` function is invoked when the user requests to see the deprecations affecting their deployment. -The function provides a context object which contains a scoped Elasticsearch client and a saved objects client. +The function provides a context object which contains a scoped Elasticsearch client and a Saved Objects client. -To check the full TS types of the service please check the [generated core docs](../../../../docs/development/core/server/kibana-plugin-core-server.deprecationsservicesetup.md). +⚠️When using the Saved Objects client, bear in mind that all Spaces must be checked for deprecations: +By default, the Saved Objects client retrieves data from the current Space only. To override this behavior, add the +option `namespaces: ['*']` to search in all Spaces. When getting by ID, it's best to loop through all the spaces and get with `namespaces: [mySpaceOverride]`. + +To check the full TS types of the service please check the [generated core docs](https://docs.elastic.dev/kibana-dev-docs/api/kbn-core-deprecations-server). ### Example ```ts From 5e69fd1498c16ead25b65526928b2bc71cb87dab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Luis=20Gonz=C3=A1lez?= Date: Thu, 12 Dec 2024 18:57:01 +0100 Subject: [PATCH 42/52] [Search] Fixing connectors flaky FTR (#203520) ## Summary Fixing flaky test when choosing a connector with the new EuiComboBox component. https://github.com/elastic/kibana/issues/203462 --------- Co-authored-by: Elastic Machine --- .../functional/page_objects/svl_search_connectors_page.ts | 6 ++---- x-pack/test_serverless/functional/services/index.ts | 3 +++ 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/x-pack/test_serverless/functional/page_objects/svl_search_connectors_page.ts b/x-pack/test_serverless/functional/page_objects/svl_search_connectors_page.ts index 2e754337c03fe..96155e592ee94 100644 --- a/x-pack/test_serverless/functional/page_objects/svl_search_connectors_page.ts +++ b/x-pack/test_serverless/functional/page_objects/svl_search_connectors_page.ts @@ -12,6 +12,7 @@ export function SvlSearchConnectorsPageProvider({ getService }: FtrProviderConte const browser = getService('browser'); const retry = getService('retry'); const es = getService('es'); + const comboBox = getService('comboBox'); return { helpers: { async deleteAllConnectors() { @@ -63,10 +64,7 @@ export function SvlSearchConnectorsPageProvider({ getService }: FtrProviderConte async editType(type: string) { await testSubjects.existOrFail('serverlessSearchEditConnectorType'); await testSubjects.existOrFail('serverlessSearchEditConnectorTypeChoices'); - await testSubjects.click('serverlessSearchEditConnectorTypeChoices'); - await testSubjects.setValue('serverlessSearchEditConnectorTypeChoices', type); - await testSubjects.exists(`serverlessSearchConnectorServiceType-${type}`); - await testSubjects.click(`serverlessSearchConnectorServiceType-${type}`); + await comboBox.filterOptionsList('serverlessSearchEditConnectorTypeChoices', type); }, async expectConnectorIdToMatchUrl(connectorId: string) { expect(await browser.getCurrentUrl()).contain(`/app/connectors/${connectorId}`); diff --git a/x-pack/test_serverless/functional/services/index.ts b/x-pack/test_serverless/functional/services/index.ts index 770cdbb88c97a..198b6be56934d 100644 --- a/x-pack/test_serverless/functional/services/index.ts +++ b/x-pack/test_serverless/functional/services/index.ts @@ -5,6 +5,7 @@ * 2.0. */ +import { ComboBoxService } from '@kbn/test-suites-src/functional/services/combo_box'; import { services as deploymentAgnosticFunctionalServices } from './deployment_agnostic_services'; import { services as svlSharedServices } from '../../shared/services'; import { SvlCommonNavigationServiceProvider } from './svl_common_navigation'; @@ -35,4 +36,6 @@ export const services = { // log services svlLogsSynthtraceClient: LogsSynthtraceProvider, alertingApi: SvlApiIntegrationSvcs.alertingApi, + // EUI components + comboBox: ComboBoxService, }; From 0dabc52fefae7aca57b39461a7405e1312152cd5 Mon Sep 17 00:00:00 2001 From: David Olaru Date: Thu, 12 Dec 2024 18:05:01 +0000 Subject: [PATCH 43/52] [kbn-code-owners] General improvements (#204023) ## Summary The following improvements have been made: - Added `--json` flag to CLI command to output result as JSON - Terminology updated to more accurately reflect object contents - Code owner teams are always returned as an array - Search path validation (is under repo root, exists) - Proper handling of inline comments - Better logging for `scripts/check_ftr_code_owners.js` Existing usage of the `@kbn/code-owners` package has been updated accordingly, without modifying outcomes. --- packages/kbn-code-owners/index.ts | 11 +- packages/kbn-code-owners/src/cli.ts | 55 ++++++++ packages/kbn-code-owners/src/code_owners.ts | 127 ++++++++++++++++++ .../kbn-code-owners/src/file_code_owner.ts | 106 --------------- packages/kbn-code-owners/src/path.ts | 48 +++++++ .../src/reporting/playwright.ts | 21 +-- .../lib/mocha/reporter/scout_ftr_reporter.ts | 21 +-- .../run_check_ftr_code_owners.ts | 23 ++-- .../src/mocha/junit_report_generation.js | 12 +- scripts/get_owners_for_file.js | 2 +- 10 files changed, 267 insertions(+), 159 deletions(-) create mode 100644 packages/kbn-code-owners/src/cli.ts create mode 100644 packages/kbn-code-owners/src/code_owners.ts delete mode 100644 packages/kbn-code-owners/src/file_code_owner.ts create mode 100644 packages/kbn-code-owners/src/path.ts diff --git a/packages/kbn-code-owners/index.ts b/packages/kbn-code-owners/index.ts index 1c371d27e2575..df85bb6d9c624 100644 --- a/packages/kbn-code-owners/index.ts +++ b/packages/kbn-code-owners/index.ts @@ -7,9 +7,10 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -export type { PathWithOwners, CodeOwnership } from './src/file_code_owner'; +export type { CodeOwnersEntry } from './src/code_owners'; +export * as cli from './src/cli'; export { - getPathsWithOwnersReversed, - getCodeOwnersForFile, - runGetOwnersForFileCli, -} from './src/file_code_owner'; + getCodeOwnersEntries, + findCodeOwnersEntryForPath, + getOwningTeamsForPath, +} from './src/code_owners'; diff --git a/packages/kbn-code-owners/src/cli.ts b/packages/kbn-code-owners/src/cli.ts new file mode 100644 index 0000000000000..9e7a839e0546c --- /dev/null +++ b/packages/kbn-code-owners/src/cli.ts @@ -0,0 +1,55 @@ +/* + * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import { run } from '@kbn/dev-cli-runner'; +import { findCodeOwnersEntryForPath } from './code_owners'; +import { throwIfPathIsMissing, throwIfPathNotInRepo } from './path'; + +/** + * CLI entrypoint for finding code owners for a given path. + */ +export async function findCodeOwnersForPath() { + await run( + async ({ flagsReader, log }) => { + const targetPath = flagsReader.requiredPath('path'); + throwIfPathIsMissing(targetPath, 'Target path', true); + throwIfPathNotInRepo(targetPath, true); + + const codeOwnersEntry = findCodeOwnersEntryForPath(targetPath); + + if (!codeOwnersEntry) { + log.warning(`No matching code owners entry found for path ${targetPath}`); + return; + } + + if (flagsReader.boolean('json')) { + // Replacer function that hides irrelevant fields in JSON output + const hideIrrelevantFields = (k: string, v: any) => { + return ['matcher'].includes(k) ? undefined : v; + }; + + log.write(JSON.stringify(codeOwnersEntry, hideIrrelevantFields, 2)); + return; + } + + log.write(`Matching pattern: ${codeOwnersEntry.pattern}`); + log.write('Teams:', codeOwnersEntry.teams); + }, + { + description: `Find code owners for a given path in this local Kibana repository`, + flags: { + string: ['path'], + boolean: ['json'], + help: ` + --path Path to find owners for (required) + --json Output result as JSON`, + }, + } + ); +} diff --git a/packages/kbn-code-owners/src/code_owners.ts b/packages/kbn-code-owners/src/code_owners.ts new file mode 100644 index 0000000000000..47aa2a67171c0 --- /dev/null +++ b/packages/kbn-code-owners/src/code_owners.ts @@ -0,0 +1,127 @@ +/* + * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import { REPO_ROOT } from '@kbn/repo-info'; +import fs from 'node:fs'; +import path from 'node:path'; + +import ignore, { Ignore } from 'ignore'; +import { CODE_OWNERS_FILE, throwIfPathIsMissing, throwIfPathNotInRepo } from './path'; + +export interface CodeOwnersEntry { + pattern: string; + matcher: Ignore; + teams: string[]; + comment?: string; +} + +/** + * Generator function that yields lines from the CODEOWNERS file + */ +export function* getCodeOwnersLines(): Generator { + const codeOwnerLines = fs + .readFileSync(CODE_OWNERS_FILE, { encoding: 'utf8', flag: 'r' }) + .split(/\r?\n/); + + for (const line of codeOwnerLines) { + // Empty line + if (line.length === 0) continue; + + // Comment + if (line.startsWith('#')) continue; + + // Assignment override on backport branches to avoid review requests + if (line.includes('@kibanamachine')) continue; + + yield line.trim(); + } +} + +/** + * Get all code owner entries from the CODEOWNERS file + * + * Entries are ordered in reverse relative to how they're defined in the CODEOWNERS file + * as patterns defined lower in the CODEOWNERS file can override earlier entries. + */ +export function getCodeOwnersEntries(): CodeOwnersEntry[] { + const entries: CodeOwnersEntry[] = []; + + for (const line of getCodeOwnersLines()) { + const comment = line + .match(/#(.+)$/) + ?.at(1) + ?.trim(); + + const [rawPathPattern, ...rawTeams] = line + .replace(/#.+$/, '') // drop comment + .split(/\s+/); + + const pathPattern = rawPathPattern.replace(/\/$/, ''); + + entries.push({ + pattern: pathPattern, + teams: rawTeams.map((t) => t.replace('@', '')).filter((t) => t.length > 0), + comment, + + // Register code owner entry with the `ignores` lib for easy pattern matching later on + matcher: ignore().add(pathPattern), + }); + } + + // Reverse entry order as patterns defined lower in the CODEOWNERS file can override earlier entries + entries.reverse(); + + return entries; +} + +/** + * Get a list of matching code owners for a given path + * + * Tip: + * If you're making a lot of calls to this function, fetch the code owner paths once using + * `getCodeOwnersEntries` and pass it in the `getCodeOwnersEntries` parameter to speed up your queries.. + * + * @param searchPath The path to find code owners for + * @param codeOwnersEntries Pre-defined list of code owner paths to search in + * + * @returns Code owners entry if a match is found. + * @throws Error if `searchPath` does not exist or is not part of this repository + */ +export function findCodeOwnersEntryForPath( + searchPath: string, + codeOwnersEntries?: CodeOwnersEntry[] +): CodeOwnersEntry | undefined { + throwIfPathIsMissing(CODE_OWNERS_FILE, 'Code owners file'); + throwIfPathNotInRepo(searchPath); + const searchPathRelativeToRepo = path.relative(REPO_ROOT, searchPath); + + return (codeOwnersEntries || getCodeOwnersEntries()).find( + (p) => p.matcher.test(searchPathRelativeToRepo).ignored + ); +} + +/** + * Get a list of matching code owners for a given path + * + * Tip: + * If you're making a lot of calls to this function, fetch the code owner paths once using + * `getCodeOwnersEntries` and pass it in the `getCodeOwnersEntries` parameter to speed up your queries. + * + * @param searchPath The path to find code owners for + * @param codeOwnersEntries Pre-defined list of code owner entries + * + * @returns List of code owners for the given path. Empty list if no matching entry is found. + * @throws Error if `searchPath` does not exist or is not part of this repository + */ +export function getOwningTeamsForPath( + searchPath: string, + codeOwnersEntries?: CodeOwnersEntry[] +): string[] { + return findCodeOwnersEntryForPath(searchPath, codeOwnersEntries)?.teams || []; +} diff --git a/packages/kbn-code-owners/src/file_code_owner.ts b/packages/kbn-code-owners/src/file_code_owner.ts deleted file mode 100644 index aa3c856f15f7c..0000000000000 --- a/packages/kbn-code-owners/src/file_code_owner.ts +++ /dev/null @@ -1,106 +0,0 @@ -/* - * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". - */ - -import { REPO_ROOT } from '@kbn/repo-info'; -import { createFailError, createFlagError } from '@kbn/dev-cli-errors'; -import { join as joinPath } from 'path'; -import { existsSync, readFileSync } from 'fs'; -import { run } from '@kbn/dev-cli-runner'; - -import type { Ignore } from 'ignore'; -import ignore from 'ignore'; - -export interface PathWithOwners { - path: string; - teams: string; - ignorePattern: Ignore; -} -export type CodeOwnership = Partial> | undefined; - -const existOrThrow = (targetFile: string) => { - if (existsSync(targetFile) === false) - throw createFailError(`Unable to determine code owners: file ${targetFile} Not Found`); -}; - -/** - * Get the .github/CODEOWNERS entries, prepared for path matching. - * The last matching CODEOWNERS entry has highest precedence: - * https://help.github.com/articles/about-codeowners/ - * so entries are returned in reversed order to later search for the first match. - */ -export function getPathsWithOwnersReversed(): PathWithOwners[] { - const codeownersPath = joinPath(REPO_ROOT, '.github', 'CODEOWNERS'); - existOrThrow(codeownersPath); - const codeownersContent = readFileSync(codeownersPath, { encoding: 'utf8', flag: 'r' }); - const codeownersLines = codeownersContent.split(/\r?\n/); - const codeowners = codeownersLines - .map((line) => line.trim()) - .filter((line) => line && line[0] !== '#') - // kibanamachine is an assignment override on backport branches to avoid review requests - .filter((line) => line && !line.includes('@kibanamachine')); - - const pathsWithOwners: PathWithOwners[] = codeowners.map((c) => { - const [path, ...ghTeams] = c.split(/\s+/); - const cleanedPath = path.replace(/\/$/, ''); // remove trailing slash - return { - path: cleanedPath, - teams: ghTeams.map((t) => t.replace('@', '')).join(), - // register CODEOWNERS entries with the `ignores` lib for later path matching - ignorePattern: ignore().add([cleanedPath]), - }; - }); - - return pathsWithOwners.reverse(); -} - -/** - * Get the GitHub CODEOWNERS for a file in the repository - * @param filePath the file to get code owners for - * @param reversedCodeowners a cached reversed code owners list, use to speed up multiple requests - */ -export function getCodeOwnersForFile( - filePath: string, - reversedCodeowners?: PathWithOwners[] -): CodeOwnership { - const pathsWithOwners = reversedCodeowners ?? getPathsWithOwnersReversed(); - const match = pathsWithOwners.find((p) => p.ignorePattern.test(filePath).ignored); - if (match?.path && match.teams) return { path: match.path, teams: match.teams }; - return; -} -const trimFrontSlash = (x: string): string => x.replace(/^\//, ''); -/** - * Run the getCodeOwnersForFile() method above. - * Report back to the cli with either success and the owner(s), or a failure. - * - * This function depends on a --file param being passed on the cli, like this: - * $ node scripts/get_owners_for_file.js --file SOME-FILE - */ -export async function runGetOwnersForFileCli() { - run( - async ({ flags, log }) => { - const targetFile = flags.file as string; - if (!targetFile) throw createFlagError(`Missing --file argument`); - existOrThrow(targetFile); // This call is duplicated in getPathsWithOwnersReversed(), so this is a short circuit - const result = getCodeOwnersForFile(targetFile); - if (result) - log.success(`Found matching entry in .github/CODEOWNERS: -${trimFrontSlash(result?.path ? result.path : '')} ${result.teams}`); - else log.error(`Ownership of file [${targetFile}] is UNKNOWN`); - }, - { - description: 'Report file ownership from GitHub CODEOWNERS file.', - flags: { - string: ['file'], - help: ` - --file Required, path to the file to report owners for. - `, - }, - } - ); -} diff --git a/packages/kbn-code-owners/src/path.ts b/packages/kbn-code-owners/src/path.ts new file mode 100644 index 0000000000000..4a8c09b041c82 --- /dev/null +++ b/packages/kbn-code-owners/src/path.ts @@ -0,0 +1,48 @@ +/* + * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import fs from 'node:fs'; +import path from 'node:path'; +import { createFailError } from '@kbn/dev-cli-errors'; +import { REPO_ROOT } from '@kbn/repo-info'; + +/** CODEOWNERS file path **/ +export const CODE_OWNERS_FILE = path.join(REPO_ROOT, '.github', 'CODEOWNERS'); + +/** + * Throw an error if the given path does not exist + * + * @param targetPath Path to check + * @param description Path description used in the error message if an exception is thrown + * @param cli Whether this function is called from a CLI context + */ +export function throwIfPathIsMissing( + targetPath: fs.PathLike, + description = 'File', + cli: boolean = false +) { + if (fs.existsSync(targetPath)) return; + const msg = `${description} ${targetPath} does not exist`; + throw cli ? createFailError(msg) : new Error(msg); +} + +/** + * Throw an error if the given path does not reside in this repo + * + * @param targetPath Path to check + * @param cli Whether this function is called from a CLI context + */ +export function throwIfPathNotInRepo(targetPath: fs.PathLike, cli: boolean = false) { + const relativePath = path.relative(REPO_ROOT, targetPath.toString()); + + if (relativePath.includes('../')) { + const msg = `Path ${targetPath} is not part of this repository.`; + throw cli ? createFailError(msg) : new Error(msg); + } +} diff --git a/packages/kbn-scout-reporting/src/reporting/playwright.ts b/packages/kbn-scout-reporting/src/reporting/playwright.ts index f50b25bab83d3..98ad6655626ae 100644 --- a/packages/kbn-scout-reporting/src/reporting/playwright.ts +++ b/packages/kbn-scout-reporting/src/reporting/playwright.ts @@ -24,9 +24,9 @@ import { SCOUT_REPORT_OUTPUT_ROOT } from '@kbn/scout-info'; import stripANSI from 'strip-ansi'; import { REPO_ROOT } from '@kbn/repo-info'; import { - type PathWithOwners, - getPathsWithOwnersReversed, - getCodeOwnersForFile, + type CodeOwnersEntry, + getCodeOwnersEntries, + getOwningTeamsForPath, } from '@kbn/code-owners'; import { generateTestRunId, getTestIDForTitle, ScoutReport, ScoutReportEventAction } from '.'; import { environmentMetadata } from '../datasources'; @@ -47,7 +47,7 @@ export class ScoutPlaywrightReporter implements Reporter { readonly name: string; readonly runId: string; private report: ScoutReport; - private readonly pathsWithOwners: PathWithOwners[]; + private readonly codeOwnersEntries: CodeOwnersEntry[]; constructor(private reporterOptions: ScoutPlaywrightReporterOptions = {}) { this.log = new ToolingLog({ @@ -60,20 +60,11 @@ export class ScoutPlaywrightReporter implements Reporter { this.log.info(`Scout test run ID: ${this.runId}`); this.report = new ScoutReport(this.log); - this.pathsWithOwners = getPathsWithOwnersReversed(); + this.codeOwnersEntries = getCodeOwnersEntries(); } private getFileOwners(filePath: string): string[] { - const concatenatedOwners = getCodeOwnersForFile(filePath, this.pathsWithOwners)?.teams; - - if (concatenatedOwners === undefined) { - return []; - } - - return concatenatedOwners - .replace(/#.+$/, '') - .split(',') - .filter((value) => value.length > 0); + return getOwningTeamsForPath(filePath, this.codeOwnersEntries); } /** diff --git a/packages/kbn-test/src/functional_test_runner/lib/mocha/reporter/scout_ftr_reporter.ts b/packages/kbn-test/src/functional_test_runner/lib/mocha/reporter/scout_ftr_reporter.ts index 23766e8784df0..8ded1efba8a99 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/mocha/reporter/scout_ftr_reporter.ts +++ b/packages/kbn-test/src/functional_test_runner/lib/mocha/reporter/scout_ftr_reporter.ts @@ -19,9 +19,9 @@ import { datasources, } from '@kbn/scout-reporting'; import { - getCodeOwnersForFile, - getPathsWithOwnersReversed, - type PathWithOwners, + getOwningTeamsForPath, + getCodeOwnersEntries, + type CodeOwnersEntry, } from '@kbn/code-owners'; import { Runner, Test } from '../../../fake_mocha_types'; @@ -41,7 +41,7 @@ export class ScoutFTRReporter { readonly name: string; readonly runId: string; private report: ScoutReport; - private readonly pathsWithOwners: PathWithOwners[]; + private readonly codeOwnersEntries: CodeOwnersEntry[]; constructor(private runner: Runner, private reporterOptions: ScoutFTRReporterOptions = {}) { this.log = new ToolingLog({ @@ -54,7 +54,7 @@ export class ScoutFTRReporter { this.log.info(`Scout test run ID: ${this.runId}`); this.report = new ScoutReport(this.log); - this.pathsWithOwners = getPathsWithOwnersReversed(); + this.codeOwnersEntries = getCodeOwnersEntries(); // Register event listeners for (const [eventName, listener] of Object.entries({ @@ -68,16 +68,7 @@ export class ScoutFTRReporter { } private getFileOwners(filePath: string): string[] { - const concatenatedOwners = getCodeOwnersForFile(filePath, this.pathsWithOwners)?.teams; - - if (concatenatedOwners === undefined) { - return []; - } - - return concatenatedOwners - .replace(/#.+$/, '') - .split(',') - .filter((value) => value.length > 0); + return getOwningTeamsForPath(filePath, this.codeOwnersEntries); } /** diff --git a/packages/kbn-test/src/functional_test_runner/run_check_ftr_code_owners.ts b/packages/kbn-test/src/functional_test_runner/run_check_ftr_code_owners.ts index 17bab9a44a44c..8a1ec50bd1a3e 100644 --- a/packages/kbn-test/src/functional_test_runner/run_check_ftr_code_owners.ts +++ b/packages/kbn-test/src/functional_test_runner/run_check_ftr_code_owners.ts @@ -10,11 +10,7 @@ import { run } from '@kbn/dev-cli-runner'; import { createFailError } from '@kbn/dev-cli-errors'; import { getRepoFiles } from '@kbn/get-repo-files'; -import { - getCodeOwnersForFile, - getPathsWithOwnersReversed, - type CodeOwnership, -} from '@kbn/code-owners'; +import { getOwningTeamsForPath, getCodeOwnersEntries } from '@kbn/code-owners'; const TEST_DIRECTORIES = ['test', 'x-pack/test', 'x-pack/test_serverless']; @@ -36,15 +32,22 @@ export async function runCheckFtrCodeOwnersCli() { const missingOwners = new Set(); // cache codeowners for quicker lookup - const reversedCodeowners = getPathsWithOwnersReversed(); + log.info('Reading CODEOWNERS file'); + const codeOwnersEntries = getCodeOwnersEntries(); const testFiles = await getRepoFiles(TEST_DIRECTORIES); + log.info(`Checking ownership for ${testFiles.length} test files (this will take a while)`); + for (const { repoRel } of testFiles) { - const owners: CodeOwnership = getCodeOwnersForFile(repoRel, reversedCodeowners); - if (owners === undefined || owners.teams === '') missingOwners.add(repoRel); + const owners = getOwningTeamsForPath(repoRel, codeOwnersEntries); + + if (owners.length === 0) { + missingOwners.add(repoRel); + } } const timeSpent = fmtMs(performance.now() - start); + log.info(`Ownership check complete (took ${timeSpent})`); if (missingOwners.size) { log.error( @@ -55,9 +58,7 @@ export async function runCheckFtrCodeOwnersCli() { ); } - log.success( - `All test files have a code owner (checked ${testFiles.length} test files in ${timeSpent})` - ); + log.success(`All test files have a code owner. 🥳`); }, { description: 'Check that all test files are covered by GitHub CODEOWNERS', diff --git a/packages/kbn-test/src/mocha/junit_report_generation.js b/packages/kbn-test/src/mocha/junit_report_generation.js index 2dfa0cdbfa3c0..976cbfb7540d3 100644 --- a/packages/kbn-test/src/mocha/junit_report_generation.js +++ b/packages/kbn-test/src/mocha/junit_report_generation.js @@ -8,7 +8,7 @@ */ import { REPO_ROOT } from '@kbn/repo-info'; -import { getCodeOwnersForFile, getPathsWithOwnersReversed } from '@kbn/code-owners'; +import { getOwningTeamsForPath, getCodeOwnersEntries } from '@kbn/code-owners'; import { dirname, relative } from 'path'; import { writeFileSync, mkdirSync } from 'fs'; import { inspect } from 'util'; @@ -94,10 +94,10 @@ export function setupJUnitReportGeneration(runner, options = {}) { .filter((node) => node.pending || !results.find((result) => result.node === node)) .map((node) => ({ skipped: true, node })); - // cache codeowners for quicker lookup - let reversedCodeowners = []; + // cache codeowner entries for quicker lookup + let codeOwnersEntries = []; try { - reversedCodeowners = getPathsWithOwnersReversed(); + codeOwnersEntries = getCodeOwnersEntries(); } catch { /* no-op */ } @@ -143,8 +143,8 @@ export function setupJUnitReportGeneration(runner, options = {}) { if (failed) { const testCaseRelativePath = getPath(node); - const owners = getCodeOwnersForFile(testCaseRelativePath, reversedCodeowners); - attrs.owners = owners?.teams || ''; // empty string when no codeowners are defined + // Comma-separated list of owners. Empty string if no owners are found. + attrs.owners = getOwningTeamsForPath(testCaseRelativePath, codeOwnersEntries).join(','); } return testsuitesEl.ele('testcase', attrs); diff --git a/scripts/get_owners_for_file.js b/scripts/get_owners_for_file.js index f5a07b76ee04c..15c21a3f06d9c 100644 --- a/scripts/get_owners_for_file.js +++ b/scripts/get_owners_for_file.js @@ -8,4 +8,4 @@ */ require('../src/setup_node_env'); -require('@kbn/code-owners').runGetOwnersForFileCli(); +void require('@kbn/code-owners').cli.findCodeOwnersForPath(); From 0a7262d0fc213148fd7e80d3dc65f79c7eeae244 Mon Sep 17 00:00:00 2001 From: Marius Iversen Date: Thu, 12 Dec 2024 19:32:04 +0100 Subject: [PATCH 44/52] [Rule Migration] Improve rule translation prompts and processes (#204021) ## Summary This PR performs multiple changes that all focuses on improving the quality of the results returned when we translate rules that do not match with a prebuilt rule and both with/without related integrations. Changes include: - Add a filter_index_patterns node, to always ensure `logs-*` is removed with our `[indexPattern:logs-*]` value, which is similar to how we detect missing lookups and macros. - Split `translate_rule` into another `ecs_mapping` node, trying to ensure translation focuses on changing SPL to ESQL without any focus on actual field names, while the other node focuses only on the ESQL query and changing field names. - The summary now added in the comments have 1 for the translation and one for the ECS mapping. - Add default rule batch size `15` with PR comment/question. - Ensure we only return one integration related rather than an array for now, to make ESQL more focused on one related integration. - New prompt to filter out one or more integrations from the returned RAG; similar to how its done for rules RAG results already. --- .../model/rule_migration.gen.ts | 4 +- .../model/rule_migration.schema.yaml | 8 +- .../docs/siem_migration/img/agent_graph.png | Bin 35732 -> 45995 bytes .../rules/data/rule_migrations_field_maps.ts | 2 +- .../siem_migrations/rules/task/agent/graph.ts | 20 +- .../nodes/create_semantic_query/prompts.ts | 1 + .../match_prebuilt_rule.ts | 36 +++- .../nodes/match_prebuilt_rule/prompts.ts | 17 +- .../siem_migrations/rules/task/agent/state.ts | 5 - .../agent/sub_graphs/translate_rule/graph.ts | 22 ++- .../nodes/ecs_mapping/cim_ecs_map.ts | 181 ++++++++++++++++++ .../nodes/ecs_mapping/ecs_mapping.ts | 66 +++++++ .../translate_rule/nodes/ecs_mapping/index.ts | 7 + .../nodes/ecs_mapping/prompts.ts | 46 +++++ .../filter_index_patterns.ts | 40 ++++ .../nodes/filter_index_patterns/index.ts | 7 + .../nodes/retrieve_integrations/prompts.ts | 49 +++++ .../retrieve_integrations.ts | 39 +++- .../nodes/translate_rule/prompts.ts | 61 +++--- .../nodes/translate_rule/translate_rule.ts | 26 +-- .../agent/sub_graphs/translate_rule/state.ts | 8 +- .../agent/sub_graphs/translate_rule/types.ts | 2 + .../rules/task/rule_migrations_task_client.ts | 2 +- 23 files changed, 560 insertions(+), 89 deletions(-) create mode 100644 x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/ecs_mapping/cim_ecs_map.ts create mode 100644 x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/ecs_mapping/ecs_mapping.ts create mode 100644 x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/ecs_mapping/index.ts create mode 100644 x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/ecs_mapping/prompts.ts create mode 100644 x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/filter_index_patterns/filter_index_patterns.ts create mode 100644 x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/filter_index_patterns/index.ts create mode 100644 x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/retrieve_integrations/prompts.ts diff --git a/x-pack/plugins/security_solution/common/siem_migrations/model/rule_migration.gen.ts b/x-pack/plugins/security_solution/common/siem_migrations/model/rule_migration.gen.ts index 064df05c5ad41..d9c33ebbdf704 100644 --- a/x-pack/plugins/security_solution/common/siem_migrations/model/rule_migration.gen.ts +++ b/x-pack/plugins/security_solution/common/siem_migrations/model/rule_migration.gen.ts @@ -103,9 +103,9 @@ export const ElasticRule = z.object({ */ prebuilt_rule_id: NonEmptyString.optional(), /** - * The Elastic integration IDs related to the rule. + * The Elastic integration ID found to be most relevant to the splunk rule. */ - integration_ids: z.array(z.string()).optional(), + integration_id: z.string().optional(), /** * The Elastic rule id installed as a result. */ diff --git a/x-pack/plugins/security_solution/common/siem_migrations/model/rule_migration.schema.yaml b/x-pack/plugins/security_solution/common/siem_migrations/model/rule_migration.schema.yaml index 3171a62298f15..6fce9f0d51f5d 100644 --- a/x-pack/plugins/security_solution/common/siem_migrations/model/rule_migration.schema.yaml +++ b/x-pack/plugins/security_solution/common/siem_migrations/model/rule_migration.schema.yaml @@ -83,11 +83,9 @@ components: prebuilt_rule_id: description: The Elastic prebuilt rule id matched. $ref: '../../../common/api/model/primitives.schema.yaml#/components/schemas/NonEmptyString' - integration_ids: - type: array - items: - type: string - description: The Elastic integration IDs related to the rule. + integration_id: + type: string + description: The Elastic integration ID found to be most relevant to the splunk rule. id: description: The Elastic rule id installed as a result. $ref: '../../../common/api/model/primitives.schema.yaml#/components/schemas/NonEmptyString' diff --git a/x-pack/plugins/security_solution/docs/siem_migration/img/agent_graph.png b/x-pack/plugins/security_solution/docs/siem_migration/img/agent_graph.png index a1f9cca5a34a7b4a01535e799a3fd2b1c6aa7996..74623e69af0c896fabf0affc1604a60a096710ad 100644 GIT binary patch literal 45995 zcmeFZcU+U(wkR6KF6u&hS3r<1T|i)|bOfY?K!BiB2|e^KR%$R{=tb#C2uL8b5K!q| zAP`zWklsN$0x#};mTSLV&OQ5{bARvsac9amGRGWc&N03@<~K`@2amr3e$!UhQU{zk z0RWt!z5vIQCkD0d-?w^bsIRW|K<%%H763J!x&;8ZxO%}1HSS$AH3MHe`}MCBKXH$3 zJl%g@|3#wm-5&VK9RTPP{TF5av+VP>cAhrW0&CO{AB-xTsw@K)W^ni`eDf!4{a5(T zPuSPX-HTf0;ZGQ5Yi1#kt}0K}+}B;Xc60w8-l0=N&LIeGHuo0?8h->1)=K7H!c=?iDio;gQ*ftL2- zg^L$2UB3F;rOR}eFJAnO={Guh21Z6k+AGW~Objen85kLUGC4s*r8#x_{OQx@87^JC z#PDyY815?9*O zOOlk5F*GucL;iY*r}rb-}3)M z!dWWv4juLOI68>(J7$AD+8LvwjKK6)vfBLSGb;+k*Nf?jxy|9Tj z-e;fJ?;j5XXlbad>1gNxDuBbE&h&34WfPHlLzy^#Gg`+Ze~uXaeblA6R*M!}zD8@v z8=b2%F5^K#OGS~X*=*^v+9+I>xRHTDml_2d+E#bv!-G&=*LcYtMp^Hg{DTJ=a-CtF z7u4-5l*gODCG~p7&Ag9{H@leXhurkh1&=)I zYOUUslsO3Pc>wvNaFZzIY`)u4>EoNX{;u`tJH`BHjy=n|b8Bp$bV9Rmv6)-ZGLf+3*-B|4hFt15p#K;ip31{Rp94u~m6OOT z0VPF}N=)P#i*(caP4ebYUyUt$j41bMfF8VBPqdsGQQmsY`Z|x%b7shv`@r5T=SZv; zM{1U9`l=VcuwxjQ3gKHcZF8fq%#E3_mt(fx;((isnH)%zNmM48i$emFu?pW)om#;dwVaSI7etymsAak4p17T$V4}IgdvyfZ=hL}?t_J; z>5+?^Nz+>NajKp^uHDv4MMD(rs0dn7?}e9L^M{Y?6-+5-3q<=!5k5Lz+~9Mo_{R}# zgDG*QHsDPdFQpnSEISQDFPT+7Zyxof-7u1p%EfCxcH+~kDtOn7-(3hlB;?oSXrSei z<&n`ax#Ey@tl*rO;MX+{Zj!%*QfrV9&KSwJ@(qe#*qjM8 z3Vt4JUpXJ!(rYkStIuH!-E|>pBW!AJiOllEY?=j+6EsQxwl3W zV>Tvi*^m6rrhnsAENe1R?_wP84B6Se4N-n}qid&dE)qShzTp~GN@%fjKhShQt!EoA zL?;LiF8LVgKVJBZ)2APeZzwl;f@GOqbkJ@X-votBgRGffU$v_gO(EmATov*JG%QHW zr5~UNX5cR*Cs9qZBrD5K_TXk9G8GL&FXOhth$o8s`pbVo)GLzO88H7$BTB4Vm_Jd7X_3xjj7<+2IP6j~(KQj2eiHS`mC>k~?uEic@|N zh@F6J0b$llwdY3B1a#q(npA3?HdYA5R^U|Dg0lG{_w?%Z^j;6AU z^0)a*Pn=eJR9h-mH)QBxmDN1nK*+FE>y*~yrUPe={x`kA*~!iO@ukcA+U_wJO(Du3 zd20HG-*8Fk-q{|vplRJ$$?o!zI~$GNW$wZwZA5O6RVXUpwSdFOX8gI~;e0I~+YS@W zCSugMQ@od9>9FdN^lWX2xT>ONW>eZucjMe2ML+n+rW^x)6mrXEdJHSbWCbW8CvD}G;w>0S)uNpcr9tM>fsISA~|+_tGG;wcMQG7|ng5{%mK1(%@|< ze=B+77+_Sc!VO~76MBnLGc43<=eQ-o(j-tBo~~)jP*j=Ju2)=qFlP;*)%@?7{jb!Q z0yuw}6kV*6jdSLyrNvube2ZQA^l*%XqJOm}0RN=s@TgaIi@8_`fguWTqR)PLk=y zgG(3UNf9d%u8J!=F-fEBaO4OMgbB-osWOOuXN>Y+RovZW7ZxKo*{l^*_5W#?{RRa>&`VrK?cXq zT&xu2OdH^C`TAqQO*M_l=$G#T##LwZ`>D zqCd#`0~6^momaIEGxxaAtCtU!i1*cso!y?FeJ?$IkZh?GMR?O(#DADlqHFy;XP&7H zZY?|sa!wmXqbb|E+pE`k4FA;rR|~Q9IE}D>{p5R^_gA%>f9Vm!L@cSLWp@8RLnxXO zYdipn>k?pvGHul=_;SUe{ru^c)X@jwXwt@eXyeqPy+{A5aeOZJaRi_15SSod9W@ZO zlC_n!B^cS;M7Z7L?dz2!`Si@s$Ay18$&jyrf?1=0tA$X^G{jCs&G&Ui@4CvK)uFa2 zytB?66n$udv3N>z;T-^Q%R{~+B!D%qiSq2nt?nC+e8oIU*aSIYTWfS^a*>*v{>iNO z2-pI=Z2%$+LbVpd>#!At5sc) zoZqGH(q;B1VI{a^_7ou%_UcQw_t6OAA>T$(Pid9fi1%7iO9taTi>GI*2SN%UTx-Vw zB{6ozf^R597&bUO8!NqxCVS)UgPc9BDGCR8H;|QIodMBYK%3a+*$B-I9}$uIycx)6 z6Yo=1q?fBkO?RWOR07@r01~?p!rWX?!U~T+ov3!WEz79bb~2|PwuEtvD^RE57%&~WC1|ZEd*}j@+5%%?U+!FNu)SRz z^*Y?2XjPEirjuAv&X%C|`n z`*|vqx2_Z>hXl$(vS?loKQ}g<%)Bg$>&l7Mata`)wQTXfUwW}^p#veF_e3v;6Pw~!HY6dR9>t|~hixHn<{5t3FBc+rzri)C5O^SpU`mZUHuKb= zRB^?t7Q`Oc;!_Puh9At093F>|634 z_d)YZa6^ku=M{Z!W?Pu&(6eeW-N*9-@*FdKF-}z!9z3uuvS^0lTjN;t+v1NHOl8{E z-cXijQee_jjn9_zP;#!B&9v{+j`Ywa%5W-LdY!>8{* zEX_es*qL|CaP$f4*`zz5fzdO)`_DC|N8nv{5(;`vApO~!swJB}ps6S)U_X#$`+La& zp8D(v+1O&`Q0NUZXqt9Uo}IQ5JJ~3h*QVtO(oN7Q47xCv`%J(%=0g?Vl<&5y`UX0W z^3CN5{PYt&PKEDl-~g5z#Ismu9jK#ADo(?nrZfi#f`z*>j zehLYWf;ALI3ZR9*MZ_XHBhXmAJYFNz88a@wp30>eBfYf?TQUBH+%~2qPWGTu!{s}U z+FHXgdYi6l5vX1%-p@u_lsi&+2{vcc(IR1@<}mYWziFU< z+$dd-S(_PK#jUp84OU2(-tKZY2P!bzIrt7tW^OmVrKzIQByVKPyJ$T@BdugO6I_IF zO>TvXlq+m;@ss)%U2B0ZU_1H8Hk6Bng)V00^OmI zrS-6Cd(<%CD%kPQyv;>d0zqD%F(vRoa^SE%DbbU zh2|eYk)Kzly=LY{4D4a83eaQ41+Ku?7vU|{L0h0 zrvIeN`SQ~@2}X~29~IWPC~-r<4JLb27xi!ikzM23!z1=BvI%v^c?-G%~jKf~gJ zl*Enj6&*gN{8xhc)>$~S>o&b|M8<-eE@;vGxWM@a!{7&f2Cm3S6}$A4w%_`zyt_ox z35P-(n4M#Qz}=qZI*^dJH`^+yDya=r_1OYyS#|ls7|la{aMX05bsW=F))oetx-{)9 zt_L)xu&oMK`DHKIPzRw*)2$;NlXlpI7SLABkcc-*SbI}-2p$NYvPF+!tJSL%5VC{K zpVw%}N&9cNy1ZoqB`mO?yY(_37usY`O$A=n#>rU3LM0gKkpv0FxLaxJZ>x&&MV^BC zn${aWOZ=V|3*gn{y{enqAB^Ku*brdNX)n>Cwt{G=SPv`<&!~kp2%q#p^sUG6cMfM&Yh41pZc%{kL85?2;q}mdM@LH`wGgOCOf&c(xn^AnH?| z{9fAa)Mv61km-W|5WG>z0Y`Qj zdlhO;s_GpBM6|x%cU%i(O=(zb*1L-mGbI*q8u`zt{v^YFQCX1qmVS9XsaO)1lbv@E{+b_WhwmL zG~rt|S1a#(3`lv~Dp6^49<99S1yuMLWz}=6c53lRqcL(;()`JS9rV+ z3czJ6j46SaKwPbya`*aYkcT@&pvA1e9ChkqTEe`;$S$6x$zCAK+FNyLUFM!9z!Uht zGranf=29>={unS>d}+UK9maL#7?5WrFzQSXaf)5Hd6lkNH#`-vzh5_GeCgGnH2;0b zsneqZ*L+EFWV4F1Vmx#O?JNaZ^mS|0f<40YR>o#c<4xRHH_4 zjaJ8AUVucjzBe%7O;U8gwcs$5ZR4I==}G3cL>sGPfWZMG zSOZC&w2IS7dpB#95*(_0hnUp)mnnhy=yyF>0)6#^(vp2GcuRl#w?(V>_UvUYszYB( zA*ylm*)ZOeZFxBj83O|YBb32|XNeKy{VS&<^JCr@xc5Kldx>29#97X36BDD3N0G-= zRrU8+L)ualo1*nIGw}zt_3$lVL3y}}r zdZ2kJCiX4Sz*U|lOvR73ej6uM8=w^3*J%E$*Jv*M@44y8c$7slr^mgQFXn{?au#D= zQe4bTRGlnPV?Zd+a$R6*$Ud`mY~nHC>bJe?A%mmUM^zc~;H&Rw6yE)vz!PWFjGJa| z`Lobxmo4@f2ab?%YCIbl&Xv3cxbDsnIFL7cgvl;2V-;lWqhAMpms9Rql1Jm^3vG`| zM$)Y{RRMd z-8PoDrQj5Z+_INr6?+?OQIxH##RWMA=r8W2jnHN&;G7%PWzY@Qn(&Yg-8kuSul)6k zKJkpyeIiHW&()MIOsRmHJ6HG;Cxbsvukh>!5J z!IhN>qn|`4DlXV#?RZ@h8^Wh;yD+T;)5CbzWy?|oknT!M5!(XT!kpw^huZmhcE?c-LIUpK5dHhl{@{iSu31`$9bx6-<$UrX=G}@h{XD|MQ(rRA00t6S!kS`uJ{}im{mG3;S5d{ zOek+>0Ct;N;}xeOK*{Wsiexluj3P@hD(v{8;2FL->8b*(&}`Kvo*l4T(s9`8NBOAZ zK=@AehRC$GnXEc*NUo}G!gzxWnZ|Ds=VZ=KcOZloMvg|1DE;))1-Gv> zu$Dmr?@t!Z*AA>exjH|=M$4~`t1m89&T%v~VWIez>JT-qAG{b2w?oyuw(9CFj`L zfJRYijZkMwynWR&)K>_DL+|WIJQ#RM&S(KUSWKqpTP3+(a<4)&&7|Y|QcP#egf$2I zyM~rw)VVVXquh{&=J%rffnHK-M8*0KJ<_dp$yY^qeSJq$De(+N5iK6g_gl}AEpy}) zRSF#)o#LTJ{^Yk)=>qhViI-y%Rn^$X+nu~Bi?Z6aBSu3VDpUma2qSwJjF0j;VxrIB z;uOnnLWj2O(hc$@*F5E+N-bRxacDdM1*dhxWHm<+S3O2o+4nj+>C_`_fNivsSU}J+tHB6T0#%3_t zIzZl)_cN+PKAw9P1@IA1Mec>r4mCt`qw9)-^Nqvvmt(r`ku~FGtl_F!PKt>RJcUJS z8reRoYO7oHY5YB-YCWBwzkcuP1$|&iIl{XdzV*zzH^S0onl{&8(2`E-hh=BhK}KA8 zZ;kvJY|c-fH91PSI31ArqQ9`2XgdPmq%mk)js(J93j)H>J0{V~GZj4JOXIYcuX!<-ainD-I zk=;;!^k~z(tzd>ok8PRB7xxd?hr99@){MUJwhV9JeHS(0WAB{E(F!Wki{mpzfYYB) zGRfnXb*dLx|BQUvQ_{$^dKkizWM&11z*&YMZ=+F*5MAU-r0H;6R!dzjfo!|rCJx#9 z(RDQ;ZIaD_NjaNE36my@L0#={@V|b^* zgzB8$AnKRh^Ly5r4NH#Zmpwi2BDrZYWuq`~GaF*(No)YBLfy(2i0bBIktKsk1A_n> z_|yMlK&KX?GublXirF`IXzjNfDODyy4~0bHS{h~o!K6hX)VsK<+HL$+0d#0%F)HrW z*_-rM4dl_$@2g0se9uBpI5FQM=0Z%| ztXA#(1+~W%W^wU(#T3RFNY1n>#qWK#0{`Sxt37TH^VTLs#lp1oi)^!2omB3tQ*Z$^ z&k|*5bf>R+@ucBVAbV6PV_@=y{=#_0h``E3d@FX~UZy zw%Sfs=HTTVft#!lriyIq zVoAKLUJj4~q5vrYt-lMu87J*A{XSz|Flmz#H5EW9E7gVc9=&jd%Wfz|jC;lz@6f4q zz&cfu%S#B?3uabIFoq2*!yVX*g^HVnO-1uJVvK4AHX|b@W+1o*K#|<*U3t1%B6_Jb zks~SDGCq0RFyLSXizo&<^|ueq3c0RcK=WKzGAWdX)`QC=$i)}0-kyjk7?3DPLhYrlC2^m{v%K#Nad4=^#Tq2U(!9fT$gOSK_wUN6Z1!lg4AfN&@}dT16|TOmDL&}2Uqp0&auU7f$V90c z=l}nc_y@_Ap?UfBx)Do^=SupN;*@KCljX+@7R)GCsSb4-Q`hy%20xs{n}b0tK;sU- zY*u8zKw3-vjn;LuMaDe5z3@fOnHvSXP63(hENHS!vAzdIXCQ;YXk%}IUI_e2c2jc7 z9KtH$1D@3|Yu(>V71wBQBkDOj@hq1jn6aqGXBe(KI*BL^B`{Pinse2}J-Dp&_mV#-CBFWNM3wE9KU*D-QMMQ7A>wMGh=QbWN`yeeF9}o_&HX2L(F} z;_m=4rPz&*O&fM{1-RJow^FB@e8?V~CsrM;Om~wO&l@s0IaL|?YRY-QG&q)MS~;Rq7S zd-R{S;vdL!h2=?2GyHKR{0Ng)|BbAUbT7^2dfHUaa{2gbYoTmQ5^)e!jYBJT}8-^TK(hQc(ySu8U-nQd9)64@q1~`@)U`DIh$U^w@)n*FG0%k7e5~kjc z2{p?RbJLNksz4irV%N`w&oG0)wpRwsp(if2doSOYCW$mYF0Iv$j5cSNF>e(T5>krn zHy#Qc;mM*-x}JRa+u(!6LMn|HABL7pTrY^LZywy|g@)cW%Bu)>OJpCuy|Ld$1&y$)6fG7bmE@p2L@qS^@5hHE7N z8JSTa7bKm*ix&O2jpR~jbY;7^{xVc=rm9Dt*-m#D9hsVMn6;JH=D?U|9D5pTDH`y0 zk=!NGjkj|a=1&=YU}K{i5s-no$W4f^Rt+m4MD%(& z9}1v-Q!;>-@kh2{#*>LV9A-ZlkZ$xT>ru#iEP>_N4~YC;?YN~>7!($@dt(lE&Sztri>O}+ZrAg>O8B6s`cUl9Ex zhdrBi4%&y<1_!zpOyT#-s*nwGHu)H^JC%^pF^);HXBK=cUTw;4jU9{O4Maqe0{PT; z?z9v`vnpJAfbvH1zP7(D9`VetMo?$kYfkAgAtWT&@{LuY(ZOF-Cy7rlYrp$PBmI+{ z6BcBN9KSaIQ?X2?HpOII>&EKbWKko6H$}bf2hL0K0d-vwgJ4D(m%L#+I&1c2_?fI) zREm|U-rP{y(PXi@Pz9N5%AzH5dX4|9{_`BkoV8|N3$o0z25-{xZ~^M8)dhg!)4!9; zs3#bBzwH=M&pj-SNB+%^A%gd&Uvs}i5i5W}SvfS!g1Vb*ZA|AFfP6FbR{ZIP52D#o zNxW#6Ynev$wr4W5_`woOJ0}k~=Pj@+p^Z1u+qsonm_qI#@a$fwP41QU$}gzBWF8f< z`F+RQ&LSa1K;HE}Jf3f0(20B8hW)Czk&k*dka9@Md%XO{uOjlQ(FDW>NcviX#hC50 zH7=#Gm<>F^5Jgl6UHH302}poHInv%p=PbDG#ISF3BJEve)b|-D+i`w&L-jb7 zEO@sMJZ1yK6>BY2<*UI%r2EZ2{ds?l`lLPYE7R%(oWUpoy7h{b9o_V?bc7(8g_gY8 z=R&rnh6GhrJ^Vez*EO~c>u1H^eBPE5&)d3mF4;OrHUteS{Za*Fm-4rmAx0LUI>=(} zB!V}WZ(nu2{uj~@c9PcX;vBD{D}tGQ6>KBHN^J7y*+@3u(gP9%FgKhmNfDjxxa%s7 z7I$C|u z)@zL?p7Dz6o4>i=K3%Sx6wBB}jvsuq&mNyp(Rv{Mh$imu9sTe8{*RxL{T?~hR<|1M z1nEdK&{BcJ{*jV^ykmgx!I*BVp_Gw~Ro+IYx-r5e2i5w<5~ElNL4}-M^_Qbrd zti#6n+o5OAX8IK!`s~?hihTLZxJzF!VNRdM?m|Y`#H+N40fidBXfd&byTWRafqTev zi|sC^BsH%{62;ee91A+s8V$*8oV>N%(9=Z9jkMupe?lETe2no~n8~K2BZw_lyO67s zzdpL|H5SoVEm^bX_~WwF>C>-0JDFtDyhnJ6WL~y#%(T&T{%&w?Svo=XLx2FRa?ti z3A#3+7lC<+fBjnH>-7dO;zr56JGPgeIpq6y$FR3e>w7;e3wv?yMb9qN{200KJp92G z0gb^j6gSpiZagt-B++Gmd+>eVmi&D58C0xHE_S-i*vVR$sf5j^7uam+73dr{Fm1vk zk5wli*wCq4s{<~#ZbdNGfM_>EE?#RNqzJxfhQJ+6?NXBFtP!{>bh8r2Kvp)g$P*a2 z05@J0+$yd=r0(@^FSyp{7w*}ME=)F^QytLhf2VFuTF|GeXAbrdd<65_?CtAI zbSW&ABuS@iOEyFnd38lFqIi*QMV9@H?c;`uuY!~@^|~UX514XWOcNS*ipJApY!jAs zd2*OD5edAXN)Lr4{pYgivM&)m>8C0V)IIA#Q$AFQe z0^9#^_uv1^?jB9*n3o^aJ9v^x#>m7X#leSnq-}uJC_!obmFbbuv^~ z=XFv|=hX1LH#VV=RLhhf7To#t>L0%T$Mx*zLl#M|d=ykVrEJM`DuyyEV`O)K<$Od^ z+9SivT)d3T9Ll~x-;8KbbT58fQXq_DyDfZrVwl>dRmld-YoVMG()gv*<&RERg4RMF z%jJoEbu>xk^DnKy z{-0lYWfT>3WfGv0IgwP$-`E-^5MC}ILp^tDQsZpx^Pwubb}5A@9#O6MxPvMu0@W)( zAG^n_Jlz%N|6+O|GTRt?71nF{)y+NKpm-%PL-%Q4r}`s_81(_`8&BdB;#N=kp6_Sd zHCyqQ1^mlR$!t4Ond8!DLr0Wczn32aK4l)&%{lWzJiJ>H{X(bv8RKiBjseeA4grIY z{`30$1NM}CzMFDNyNnG+NL0%xyJiKvvcim3TayS9UUAhzR3jO^W`J}^J1ekGskmao z&*~$BXm^5A!$$Pw;!ni5-S8`?R?x_D;x83^Svwp5$n&Y%111?pWVV&L20^fBt%BOm zlRuApwtk@bc|7i)CbGq&ql5bKV*taz0c&TZQ>}Or*)MpyU#7OnUG~~PCHdExCsexajTYIx#n>C_u@kx9@+5dz}!h8Tx&I~VuIcS4C%qnG!C z<=t6G)96mjU&B)+RqY+6Zt873HT}`X2#Osp)50^3Rr{XbuM7KWFFT8}HW`6Z{zDEC zFZeXo%j7I0m)OR19%@K~J#X#iK$VK7o?{v1)D9iR3l59zl!e7fM$GylADeJ2hgU@8@Q*gmt~me0yyF<~fa`7Y zX|L2~w_f@L+3N)N%*LAT%}?_hf7nd$e&hZ-3DE9%<^<`j+kG3(OKPu1Zh{fR%@hlHsR+!BkTTD$7ez%%0F}dc`wpMrFr=*`c}$o(bz8G1;>Rh z!du(T!n;aO=-{E6A6nUMO)#d@YU)J?Vk4-{J`TSxDfI%Pw2%;a2Rn^%r~G1RI$bk@ zr!E6dq7WHFk@Iqe@gG9vok*de9QRwfcK_&jc?D!H)Drvd{X%cZGs0#2qYF7EDI=RA zjWi>CX@vovawRPnsyFbxqn3a&2Ok>pZ{2|)s)Z-?n zz6=b3@-%H@a7vLemT3cMF^Wc)im_O9YfpFG#W(Tdf%K87x85d$pIE|bT!6Dh^DHsR zkpvlTwkkrE!u}UHcxQMMeukmQ@}GFwK#jnpSZU|n6gi-6EIvxztlkHr{7JGSK}bMI z6N_k@m4%piW+P*u-{owfiBprx>0T*@(k(jyD8@mrIX-G!Rt<9&-wTXgN-0{|3moy? ze=#yf0=aBf_;B6cyb0UToj=baJ!^D-^FywO^TcM zTSTW5qrx82NB_cmi~bN4hjP?px#E@hIs@sv`wzCMVZb}D!ny&YAVXxk-`&ZrM%Ymo z4-9dMh;pKKA%D4H%6|FJpS{CQUrH=1W=-1D)TzYQ1C-^wh5dbbh?ltrwd31YlY`LZ z|ISUO_T=~f(L#o{bbpBfX(c6>{?SFX-bnxKlxY7i^51C$+leh5$tuB{b=7`yV8LQvLB+Dd;AC_x^J!Hm8%KNptW%Gg~V&XFR|D zVGaR!c>2)ypl)n~I#^0cr}G*x4>faH)T(n7>kqvfYI(Fu9Vuo+yd2l(AEdPwz{+Zu zgt}WU9z6@ed<|KRe8*#zpIGb!U8b)L@`DsZkeyA`!j__^j^ zP-ptdoi+4E_o=UC&#+6WPme@bvz7xS{)FB^ju;_kUmyK9(J4l73t-P}QMK%nWF?!Y zO;ZI>p>omQiuhN8n5GZf1$!*BJS7Ar4E2;wwZ8YIm%kK{YRbT7ob3AsC-f@BYL~Z* z=}SpeRawG6bir#6%Gstn`Xf2jPswtE9|V7t}LXIKrZt?I+ye?jg#oU z)^AU0JN<4v)47Bw=ORHO==g1_(s3?zRwj)O_a?n-qqaE5p6gB)+29Ldwz;ngk@7AA z%IXfnBMjkb-E$U2*7CBj4d0%J6i933mC3PvF>*H7FGzAOvFzg>Ot8d zAE^Ap%5@`Al*~Ym$w>YBNlt;dzUUBc=CEQJjn+2^TP>Rw>RQW7aQanVJ5TE&%j#k? zA~D{byOFqQS*)(~3zBvkyS>5a?-2I9YhRCJD zSBM_){20;Qf`O=NWV!4M*S1C4dicKDk2i%vr0dvURCpvfItF@QPq+aWNiiCNgv^NR)|N(*Lz{H39L^&r7rC>rFSO=Vm1P=Kbv~{letP$ zDqFk3qfMXeria<@B>lWxjhJsZ`Lp|QG~>>_gLx8JdxXC8I2XZq+-hgqNGxf&mqphy zB`z~xcg>S}V9#5*fKOY|DD)b*Z9$wNwl!yisU~0^HS)ABWhg~n?Y~G{dJWNMFZRN+H%bAmb)~G--FLk2Zs&u?8+=DojF3NPdo)g*i`w zws=Pf%s%|)i>x1~P2viZcKJj{M5gSg`e@ohHT;3DOlA|fk@ zQbkm+eEMez;=rmgOwLZ!FO^mAvdvchmGApfVEbGC9N3NoZn><*R;j6Cdthpo7ec=H znTb-DnE#}LWVecL71xfS z$Ebmr@tOb{*6ekbV6D_{Bh;7aQo)l}CA~z7{T-0@(C|V33!XCS8zLmkb6z@&WZx6 zv?7NR4p;f7lG#xRknXg>)p#US2WMMXUF=?0^w;U&ZsU*3`Nx1q-vZDA2hx_tDujIZ z{|IB3lp~WkphCvb+$R;<+?2j5{r;dUlnrOVH-iI6TabxWL7rH~VOaETp_KtGR%1C( zaNR5*hJ>T+G3tnhv4MP!bb$+h=)5G{>E z9WV(WV=Hgw!pRsGiLwa{ShgO*#LLo@*Ao6pg+Zl0Mt{R4w$$j(7Nk8|?7NEeA#Wsd z;VHm7>FF=Fe*nLc(iio3)i|_TMk-r#lj%`hbGa`IVF&04;rLKbH}}f7)B`UK9S*I` z%EKtnJKgx~qX38LSi&9XQ-FuzA6)*`^*7{UUENf}0g%5%`)GW8!#Wt9h+8cD;g{vD z-JuQ*CV<=B7Db7Ua?9c?b?^RYBu-`{(zI!wzbxGfl^U4<1Bs=ED@Rn$VrlFaI-*f7&LJd!i|SPqujomGQ{q{*T)v zsuK+!$VhdAmb$0wmQ^$ji4Pmvt(G7{%VT1xp+zIRicK-7g>1a}OFv3* zX0Q9BTYKS)QuK_`q+rohDc_{6AZIuWg06es;u!G7b%6w#8e?rUv|X#Z;2~@-8o8m` zAFvc&1kG}rT9jU1p|KZp=lALC!JJ}U2; z?UV6rC87I%fP;;Q-tH`xQ~oifW}PP|a?f}AkU{^uP`-s%?5q0`tj=;wYZ41ToHm!A zc#Y`@N|o%*n&q}%oSY9ZH6h544q$*d*Hlj>`5-?2xGifNyn5(aHHk{U#f9_1ZqZvs zc^KDkcAgw_sjg*Dio&?t+t5)0yhyqc!GKBebNrJ`b=hx9?}&U9OKbaD)D#OdwX)p2 z8QCyxvJ?|@fJQr`({;$@+~>=D>AXDMEAMlnN1In0;*kOywhMA8F>KJP)iKEHYW8$aiY+RH4ZDZe8~a z8T66haU;{x#WZ`Lvl>R6)mcVfbK_Rj<9c3Qk<8xW!JI2eclai{fAe#@d_`wCQQLMC z&h2--O~jL5584UM5%CH_u|vit80WUs)Q{kcl}Fc2`#5adpLFP9OOB(Cz`Bf}8og!k1QYjW;d@X0%Hn z4QoLrhFN2EqC7{_Rz=+eU-nnAcg}_~t~S2DR|7rtmu-(`JED4yUM~g^#6wbH--jj=F6uR+ zN^U#*U^;8<2i_}Z!P!LNd}={BixhrdBL@k2Lm60AOL!Cxtu{dfZf@~kWm((34I9P< z4L^F{XxLt_q{TmH5`wH?p$@8e)POL#WJboC)MVB!)^+ZOgS`qkhk5Y+H$8<$@{r4XCt&Q-VoUSmwc?Goy zHZ0J1q$Ujw2ST&TGA5Z>@%ooGkL0eu?Y(`|E*)3h?gAZz*0ZNfPr(ImL|~-hu3aO@ zf=Ghfgr(!>2aFjv=bi6+FbEpjXOMrhUzv%&ZavD{`5xAJ$Ef`xH(zSYfY`EnK7Y$H z;bEbrT$uxi!petko2!^wc1}yz%kGlGhPmA!WVQ0xy;tMn9R6 z_UQ&5%@t`$30fA5xV;YXDScUGd-z}es&khqXosKAU z<4ym6*n97=rn7Es7{{@U3JxODK|x@oN(m4U(2-t(5JIRy=^g1!KphJm0Re#kN(~_i z5(r2_0F~YpNaz9S5PI+UMICj{d1jtx&UwyzUEg`Hmp@?hYkTjt`&#$97x#j@aAwtj zxX?OdA2;Ld&;{H1NuPAIqUpS%;*+;lmqu*TmrxtM-7Qx3jkR82hu*My+yF0f0jcx) z&6Np9e+glcG4hTO{3UEMXd`iK-d@$Vkp&T(ohHTNA<0cVND1Izw_* z68&a*8sf&90s8?`HqQE3UN_P}im&Iw1XcE$lgHbfU)2u;td%q>Hptp3I^aD z=8?%#ZM$Ze{EdcglQBcO!x1#rg@69@efK2uD|F-FBV7X1ydg2!!hWod329^{Ymh|% z+3Is>QgQq$ZtA-81vH62(wWCC=o4vfziQ}sm=->hpdDF-!GP@nPW{2+YW zm}EqvZJ9dEuJ7XgE|FPk_J;*(#`N;V4zt5?W;mMNC}Pn<;Q=-F!zY6hr<1aCpI$`E z`q{d!;g=Gb%#qX!iGN~m_~9d6PuIw%ZMMNxItR@6%Ax+ahSy_jwKF?`C|e&VJvaD! zwW57)KM8%pwyfa=XJ<~8VnMwSA_qM+30;uJ`I7La2LLVbQ(X}opfQ*QR@;VhJ?PTY zseOl1KjIu^#dI}dzU0_qyK;NVX3W6lkiD_JnaqH`@!7eSb7vBNgt|Uc4)Hjk(YE>a z{kA#9L!*0Z5VW+@;TJlN`TDf~_YZ)oTAyhdGFp_~+~024{>1ubcX}8eO5=3nOb<@E z{1m}UaCyDE8oQboJXY4qQ!V$APTqb9D8DOt>(UL??^%4y)zfFg=8eJgKPjU>t%ywz za<4Ie%Yy4$u1!6C2|sDw7yh1w!nbS_ib@3jL&XG8Z-nMj;DJT;GzomFfc6;AR!Y=1 z@6-T9%vOqSYjx*!MWCK*l&h8`#1+xwKN+vd=b6o{tjQiHKutHRb|vdKCQCI3nOeDy zX5LXz*(p&&&>dqt|GoA8H1)4G`S~DM*(8vu`%q3nOPoca_-&%W-s#_!Sby0yxz=_( zKS&g`KnO6x&H|YV6TKIhkjkG8WFG(63m+N%qhgEm z?7`6dk^$o7QE8g7io9`bxAH=+9t1N3jsPOffGjyJ1=>i@EJsM+cf+*`UWc?j;VG_Wm7-AQ-eD<59F# znl|`ev6hF~oxv6HkQM5_ee(9Vl4<+^|GU}#;iW@=yM8}*_2yV~ap;Ba zJ)+6wa}{G~Kq!5*inG3q3TTD%?pK!4@6!H<)DLH>%QyF)Wjf{beLFO6Sombdo&^<{ zgtdX-{q7?0(qW<|IGLAV1RDv=-QuAcQWN+9@?MUWSkJDIb$*a}#Jow+Lu&Gekj(@y z@@0jYwNJ*>q(Wbs*|@`EHlJn}-#bmS4YU7leWiS|zCr_M1_cd64-fv^N5wx>s%Ow_ zpeOZMFtMb2Ao!ELJjnWH>TaYnuI*4y*-l3J-bcD(IF7ykH68OG-ujox|GtzYzeve< zoqxgeB+iy*c!%u2qm9DAyko(CF{BRb<@IuY8EOj-m?gp6nT1>2G@JV|_J7n3+y2SA zP*c6WwiVpxKzc&QE`0Y->UOkxw6j9Yfh*a4e+pe4N_^k$a(H!vRc!W#Y$uP(C?|3R3KnxtC%%JBP4zVw>|+Le1o}`8X<93_S@y@Ke-;`Pdr{y~ zsaVs~4Ft7PpCWr~+`J`fV^SzxsnOAByS8DP?m|{AtH`v#@p9`exr={NroX&&L3lSb zv?+W8sr%&Xp<3Lw$7E|+g_=lH)z7r$tu(dh?$SU2p2DByYkBVze2sRL&X-AR5fqhO zG%%cK#E_G}qSq9`hpRF{=0^cQr*fwbLDA3FelkxD4Ze0LzbpArG|2Q53ZO;R50n1J zM}6rNI)DMdgPY5*v)zfXnpx~+eHT%;{&O=aqz9YHoJ_qGnO}X=T1l9Nbp2lF?99?G zwxi%Yoiy~1RXR@5Om$1Iv5|BSx7T{2WD{P9ZA7GH>)+wPG*v&17v=)%_8>yYQWBV>sr`P2k#ZEp&q1)0Cr*{Y4vDRR>c_PyFXqgZJBm z&#%-RRqVi@>cUxmy&$OgMn|b2fkOb+t;f6PnrD$WD>Jx$-*>TvPj(R~3&YMGl?%%D zX3KZ_$4po^)uyFDN<#;}tAK7g`kn5y2-M^uz&&ah?j}#j?h!+p|Ns^Jq zv7mNxyoHAIzd^3->u|I-hcI?9$(N}K)3`hzU~V3+{bv~bZ%y;f45W$uIuYj1;b)b( ze@Qne`RhF#4KC(A*%e?jk+)CPf>(Ton2^P5XiBsxnU=ft`JzVirWYr&2tA+? z`RvaFSo$y4)_>O!M0dz|)UWi^R9(-(v`KRV6Y;sdl34ZTb)W;&KghSA*=h?swPZ>~>pi~@Xg2F5V z?gu;#;a(nAUFJ|VAd$R!sW=gDk@%CcFEpK6gyuP!cop^ID+1#p2*`DTanzpqdz{CO z@yYJgKoOTtd?oZ^b4{;JTy;)8(GpuB`w2@sxRRuNDGw)Gpm*Jo{zI~GRO<(czCFV@ zVg7rw0dZBpR750xg($zrLv>YBnw02`_Q>@<&}tV}b1d-Km=g%ObA{#NoyM)SS)myb z_ZV5l!gd7OlgJttj%O_au|^LhcH@JNfQXezL2R*wR)Tt`HWt*G_@faKG<=39FOIPd zVo25Pq9~n{dzg!yd4)T*lYE-t2Z&0nF#lE>go;F@X<;T{rIx4ft~@^KNNVn0mm4dp zN#=?n6bM)0cJ{DWx8i9|BXq~0AYn9^UQq29cQD~@g2Fi%G3SoE zvy1u(3ABo#r?_TYYs`{sIc&U}$#N!G`zbD})=5VV$`AD^1|?4CrE(?PPFb5HhpI58 zS7zQ?_yF1kZqFJ_NbgFIm81%6C`F%muO!sjZ`-ZWn?)&Tj8|uGCizlY5~_$h;-}X| zMXH%z0TG$c^3TD{6Or3G+`>OG3-zk&8QGQP#LGx0T7-L2+9sXBuJyO5N^HyT zG(4;(?eY#wXw|jaHq9y(x?R86sm|09X^XNZ2eJUciTe|(pp9LoX9s+as5Lgg>#1dv z0oLikUFPM@td!+K{lJVUh|zi;#UUW1?IDbPdFtASpJ+plmk#p%b)hCzwj~P-=umvj?VS%lf)AX(;5ju+UqD80TF1kH>(^GIJ3ujK& z7+mbMn~n&}mW~X$zpgta)iHhNQSSSb`O+KMB>CP-w0Vm-uO1)gR(6t7gsfBw>wF?G z!F#rMu&rC}*sakP0WbDf1@`Nue({6BhbLy_#iDttg$OwdK)>O%ip6zq`H^!BlTT`v zI1H(K^K%>bgEg`XOy8(;-8lzR^XyKXuIH@+s4EHJRUy`JGGvyz(}F5yjX7-P&0MH` z4)X%TYm3sVUr0TQ39xgC)g?R|Yyg<9FPLLgR3R2&5%~;pR9*VoS3ZHxvVCZ7fvU7N z{`Ow1$~?%k;%Waygp)iZ(?wXcWbUnsq-cimQwT;XHBNG*9Cf4u$!Ls*kJF zh%s2j6U6s(e|32fx)pbSTk<1azaj4cvS@?6mN?yAargA`=5KTCKS}%xJ^5eEvEwOh z1zn%Oe@SVZ1wx+VP^Xqbal`7vpX~6TH06JBhW@K*`QP4G9kC7{dM}m9V!8Xmp0<*I zq&vOZ^1&5a(L!S&qOE&PjJhqEt1^~&rGjXer9<=VHGh!Eq2nLvmidmX*nXrdMd&_> zfDdZCaqVe|tSlT?O~TX*yCJIwpqx~ z&qMY7-|=*y_pEUis$*9|)ykKXKIqBAcJ(Ln@4ZKCe0@oxACtA5p`2~D)pDD2CTLzg zDdX6$+21ZU4`D6za;LhA>oOj_v6U>g&cHO_3YrelM>m7C2Dz}eYjo$LV`&(tT~6Wxg81U-0Y7Py~6bO zOVZ$kkF57Uh;|Gg$uLsyh?F&bkcv>zy5gRU+BmFau5Cq zqWc#o%XOV^Al?6bOg#D*+jcs+KiP^4|D*Mh;mAk2qWrfDEowP;={n5+Sdp)3z~;G) z^~o=dRvsGqq1}baa@od;J(N9k#6?jA);G`jt=qlt-tg4zdzNb{o#o7 zVOqMR*T=rghvNOtFq0z_ns2HM;oW!-OOsc30w8QcRgDOpQz^tG% z|5A1PwWOc^{$JEhd8JZgu1Jj*aRp#mCe`I>eDsx6(qaXqIocUqAPZSU^12lki-Cp<5SpiHr*nF)KzpQ0v2^b>kj*mKpNlr~1Nu3)Nn$Hz5+zbvrJ>)SE;#H@) zx5HDJbS&#VrkX*PT&J@VK3@$S%{idmS8#9lFHp|Bz8PQR0JVI~K^?V!s^_}>j#+SZ zI%M_TLBTM%^#Cz96w}n()oG2g66F)C?zvrvHh@feYY^6f%q+%QA`-UOlmkRg z{GKuVZx@RIAf|?4CtezPl&1CYS7lr>IT5njfuV3LR50o@GDB^2o1~^}qmxQefqbcx zLPFvXWtcqh5-Ktm zE*mJA5x9NR&6+`{T}h-=u6zj93V)BUHB6T>u&*Vnc=fk!(m2Bq$Z)K10_Dnlp%3(D z4>?!CyLK;I+iI2GV6-pA*39e}C7Mr#VC{8KF>%@wx@WQ5mSS7-NdbMS~* z-Yc3-FY!GKs=XKd$^}!bmtq=O)zpU15~C4p3#Sb#GDWxEXq9=3us{dkrh*-lO3`t= ziIF8^zRd(+AqfpDU4lbe#}+M#YB*}QScj1e#Ual*2UFxObw({~f$RlgmL2f6c)zj{ z--E9@Woy9_*=qFIV9KZ4{bziPxvibZZ9|ibNj{GRBxTz->ca_X-57|)25VHA_M`0~ zAjZtJZ?4DYHtu=5YFI=NxP{+1UM?G1tEL3y&2hx?x>JN)A|BXrqrBpxp+K6BmjVfD zw6bioUe-bGmd}E13sOu8D4p($oz-i6cC!@V(9wL;t<(HdxH2pmes*j!nUuWp#Jt9e z&F*A{5VNpFQYCpjC@WPCvNT6zN^7O0(;T5!D&#T!_`K(xrk1}&${;i4n$~4xh>vWF zpTgqRg?NjZ9GJ4b??g6lcvcfE1_=UP&jNqpHgEB;wA|%#f{FEzZgjsMS?T7D)D%6Q zbZG`!h8v34Dd;S-=Yy>oRj@}k!;z0*FMFZlNw%F22@*UpO zsrYic@{}8U=wo*1cxt9qXQR=U;{m6mWxP{xr1phTcgt4OkeQt_dt*AljsMV>|Kgwj z{$lzhOvSDAL-nO z7>x=*iRpfC;Vg`^qvzYn>m+{^oXx2K?;pHoarz5^sseMKdF??PUd*u|+rHY6jCCc)dGUVj;y%t=CPx81 z*n=j=%1(0P^psKBtA34yL>htm__(`wAs+MY$6JSuY>1##cm4+@*Tg3;^@ThyDR8!R z>~n$sGMK*L)y2=PKEjx zl2~M<)sUX~1~{`1eN2df8ryrQ+g15<3=%uVo02K0T^vmD)m-xgx=hca7#)WW^{ih3 zvI(b@-a)GjR8V9U-hTioRb|##iBWa0r~Y;<8T~9*Mypj)tD$Ddcm#S;v(n73%gq)7 znUpbRy-KPO2ZK_YZ5Ol!^yFIU=OS#;GyV$z313mKoQTbargvB(V%Bjx;RQi^!zl-s~E!^lCkkIho>^a>nfmj^m1E z=uP`ui_I64`37=wcfj2JX_(`KD7V~8Tq%YGb zw-D4qy;#l^F2#iUUffx%Haj4R!^C>HB52er!H?ICQa(&15!Id8HxI>`2eBnY5F^*e zai(aJkMkLox_)(UgKQYQdXiF5{`l5|@Fnm2{`0>!y@-piT~n7)1Ja15@Db^&6@M`) ze82pE#}WGn22tA>g53kT9?fLihIbsU*1aW0;qMpXFDA&ovRd^!PPQNqWC?mMm|zutS5S#9C7dl{YFVD;MQ*Wc$yJDSuSXr?$!+>I?~DET+=P6b z>t}M4pf1tYzLe0d{CzNmSIp^3?zCvhp+`O`ou%MzTtb`^DaFRJgTg+eZ#pys&K{_w zYz`;OvgAtmr`@oKDYR>PtNHApsqdhB;Dc3RTx`k!v8fd~K?x*7g2rD>-?Jp-x!PT9 zRF7*l^;HVEb%)sjNai|hOv4X0H}Fx~7jUyG6MY2Nwl=0vy%H@aj=oB}OZ-Lg*5C`w z$4wJN&`_ifB29!w2a2OO6*RZSfrBwM{REgZ0h*DKF`pGPZ+qChpcg&`g&Og``AE0M zKsmpeudt>XTLU}PGv&V(Qaxh+GJ9j@7!f#}B@%LIAcuQxDkQ9U>*VVjqZ5kICnNQ~ zRbfqIOZ{0I`lX8#%m&1e86w{xqDM$b{T+4%(>@TAW!>K)^;mHB;MB`|1$Fa^p*LW! zjm$Qrysd4@iaTzkbf35WNOz4!2hd8g`~m3?rbsR<^KeA_*bU?-qh_V}{m+=2&(GKx zLeyk^eJb>k1i@GNPeRv%Zg+*H%0~9hZD8MyXXh7qQ*B{=hI4Cp<>NZp;Y20)2ik#I!f3@!HLr>tDb4A;n6NY^U^kqvau8R4(%o7n3 zG!)DTBje>q^PQ&yy{c7=_YRk9D9*I+Gg>dP+`aWhD8O6le|j4@q{LISCHW@yo1hqY z5Tdp(f?Z&O7Y7Woim?>L&a!GXR3ULXEz7;CF`}@nZk$o6XZnCcDU(SA03xnSPQwJ= zW)p7J%TUnb{Pu>}ZmCp<5u+mXq;u+I70b$|jv+04Q~`cbA>jiiju2?Jw*0QE&jgyX zO|Pu5+|{_~tNPG1{v%yZ*!T*|liNrfrl8)|jyUfZ7U*2WR50y?Z(B4Zkqw9sSNQR5 zYFYmBv&0}u@c#COQOR!3#|C1&o_fA(LB!6LMc3 z=~h@Gs@lXCIvQ6Z4hTC~yndRAWZ zr?_O@-gZxMnryT5*ApJbSsOjLZ0aSd79SelLg6!lHm5Jp_|HP(X)>g%gp}u}hNDW$ z)b+B2vax3wJ^g7Ov@=%j8ufdZtfEgQF)2rpO4))K;|ibVtQ)#Uc*z)(!By}!i0=E8 zHulaajdjSy=riU?87(st3xpu$x1h z8e!clAL&w<{oEh^oL1;|^1ZsEV|MYWD3_>s!R*vYq+1VfelW9qhhBDXAM0cVVzNTU z2OQ`je#EyvK0VyA zcWwjBbMa}P5qE%@?Gs^z&TLzC;fw+jasuYIv%VgwPsKa>YQ>LwBKkXWwYtst)#bhS z0ZDdiVNrg;Kr2f1@moW*dJK{_mmQzP55XHXVL6OieF%94rB`0~jK(qbixHFJcpCNE z#w^LNr0DWlo;cSzxLj?63`>8)1){^Krmx24ov>~U6)}_xn=J_3d2~jwMpboD?8Dvf zi_;%d-xR?AOO5BJ)6*_@6^TZk!5-&zs?xOa1fZM*sK`Q6Sop|g$?baU{QFNO(C~D` zWUwiv6R^+W2MOvxM!8YzSA|>&{pn7KM`s-ECQY$a?pT46YZlnCiz-P`2KD0!88SdZ zAzsBPI}@MJCo^HO373gkrJhVeS5*nJ?t+SZ<+~^FMTJa!hLiCc@M1!qQC1c&00?Pm zE^-%6Bs$MHinN*5Tk|V{+RQv@0bGO&uk*-)S&NGYG@{&ta-e=%7%B{AvLw-~iz6E+?=_U?RIth%x3uTf}k_@`gQr<$6cOBn2v67^02K0`)YvXfQP@OmA0 zDw|HqcLY^%r>%iR=m^F>CAS zuxMxYG(LTW#;|M7EwOboW)%YC35@3y;`bxn5M>q4Z#G&K0;OqTT2z|Y2;dZ8xx48F zr4tP*F~wR}0rFX%Uu)NvMag3rJA*As3*4^rJ_6Ou*g9d8HBC~HeRNFmKD-r?d)!RmzX zVzURv#jZX}iN0>RIy=vXC%$yvGh>u7?vyt%1fe%|2Vk~~MbN7m^iR_}2d}-R?lN`d zI$AY%TicX`6F3Sf81kaZK;L;^i6=u0)v%+o6@7lx zbVT=N+`RjY{Dw+B9o>0`gxAan%d;I=;|w^)x4%lZ%56ED#FV&bLORtYn|8#l8rlZkNfpr8lpBP}CmNyS89c<-Y>9=G|H=TV_Z}^J3kxe|A_YmXl%SLK4 zCAh`XD5aZvut>kBZ*?yL)N#FYlb|%qc=HEysqPkKc7(Ore4SY1QOK-XJ$f9LH#an4 z@k7mtJsE%~OLt70DVveD$6S11tdH$|?0Wq{GEyO{IH$uZC-z z>I$%1`GR=6|925@m9IWwx$Hi}CM$pX_YrT~rYU4)!UKRwKcrj0LhCK63TMNYB9;z&|Up3>DyC$>=@5%({Ma;^9h4icR_c@P4wIF z7m&VmO(#HnnHbATk+`XMiL$N6Emhqlb>79YR_Ec8bIko+{6!g5{DqE&NQ#L}K{1b_ z_ohKM3-WFCP)I@HNSx_(i$GE*>pq`>MnO)AaXN*+uzTFZr9WYFA}(;S>PJu>PR5z0 z8dE7_b-vD|HN)mnF3>vZDtoCwR4q>15p7flQ|t&lF$aNZY^p$Jp^Ey<%>)349UZFu z5*^)5+sjL~JVww}Y@6me(-o|GN#Y(dy%PXVFRV6WDe%?p@>bP*#3a4zJ{P=EXDNHc zKd&6d?3D!yv6+mflBVpXxWfp%>pod-+N{7kSJ;r~M}E3zuxi?zxIAwIi8)UoGR7%u z9xpI&(LYYXr~@G9JT^7jf8=C~d^H&sG6M5m(1u8HgiGr#~}i>_ceqEg^_ zqho&B_o@=s@5M*30CY+&tHXRE3{uGiskz z9Ac6dlhd5GmyJkYQ%D?uWah2R5g;8hkA5Y24BHaitZzZ=RhgbUmpcL9X&4vh3yI50 z`UT}A@e2G=g#Wt@Lvj#WlrJWt%(3lQ?hK z*Bss)UNxQWTsB)l@FwU|y9DG^)TGvSQ}IRzjidu79{9CB_RO~Ht6_$_s$DQ~tIB5a zHwxcUz7=^5qk2hl1sUhs|Hk9MFHfh8j4JP+?*oaByP9T4b}^2Xo*TZa@F~TSCEEGes=LFk6-pu5T&M zF6(8%7EYa|GGDd))f;=G3}3|XYkt32>T(eCq<#qF_f(sV@|iouweL=~L2K`b#oI8p z2xHk4%yM;%l#|SiATq;=ge*R=_mFy_F->vSrh4AGs|?qYW^ZPJX!Vn_d8}hl+-4$k z-~=i%FRJO|1#JqG8OM_yQomLGs}Qu+u_$Xu&O(fUgK0KVO8^j6Y(a~X06+)nGb+|9 zz3+{9BUC4RQDt!j$YPcGt$<7{f;kd$R2i|+<#i9BP=}I+Xy?5+jRs!#vgveJiv(ZH zbO8yG8<5o=c&QYAN4eSS*S%9B+}AvN&4VYLBwTu8Y@PfPQV@jDWhp%XL`tVk3UiL` z$W^*ynnu#$6d@en0DfxGb>a$+T0goslwZXx%axTITjg$)Nnu6R}g0U>#k;nFOT;p zr@QWI+9_6J(*y8i2$Q|I=_&vcs(D&<<4cn=Uwj{EtI+RvhQ@7R%`yU)DKwV! zVb^GM#QIWxioukG0{I>rRRe-4y=pBqYXXIde*@HSd;7ku$Ht|6u=t8o!3pt)Pk_+E zb%Ic7+&t4)*}N^~P7Q((i^e#rAC`_eh_l5B{1BE7oEzL8WTins0>aL*v!i9>e8LBe)@u}jypGS_K)Cr^# zRzzZZ*e=BzAzK`$BY79AO$EV>G;q0y;VcpD=^~H(MT9AR@Jd>LuP9@dWgif-XHj z)Tr?{3W}|I$NX(^q z3j99dvp*H-%x6prTeNPxf$z0oc`J}4NFRhxn!cBwMZg}m6lyWujL(FYn9a252i#sv zaxs_A&-Spo^Q0o3p>b=tgGj@?B7MXqllt%Y)mXfjw}(n*Xi8M<<*=p}%m1=trwvHN z^e6&1)UvyLXuzb(6U6J%^fB~c_`3Sc9P?m8X4t#_8ml>c-gPh}E4INf5i=3TdEgzG z%|)7$h;fFn_)smdf@5tgv%0Fe%YkMF_A7Ef@y6^flb;(~Yust1bI-HZ6&|UbY7Nnk&Pmur%d@ocO{jYEnQ<78hcr*9_A#FA z49U0fL&z1F>6sH7!shIA5;w$VSRJf(AQ3=#Omt&!yixWu5~T@C^C5;UwH+qkB%M_> z*fP&MY+&!~h}IT3t=I6xXYYRZy<)&R^ZrHG$rR=VPbuG(ta7}HS1KXPR)Ng;__20( z`@4J}E~g5%*`Bx8_~rIJp2gc$v}!G1j9Bb&sxX2@Gs^E$tflFZ^s0Vj**pnTOTpwO zYpGWQtf)kDm^!^xT5zb5HiMJOlv)oG7^9vY*XmWS0<$2?DD^2Dikd@qSev{-m}CXF z${qqe?CF{Q2$Z|?xwjo9g#nOu6}9Zd*wBafcX2Co!dwBW8M>@Msho$5gd^OunnV>P<<@0oh zG&*SzTYz$NXYf;%?L)aA=^UIw6LWTd316LN+;Lor&ACiQ9VL(lT^eSBuldn~^{8C> zUOY^KjT=W3>|M_hnOilP-?=S#fm2x9?On0+*t{(hWkV&n^~;wZez60f2g`sJ{+DK` z=p;3;=UiWo33q)lv!9B(xFk}@l|+lMQhE)Q(g62KH?ahDcFAX6crtzIU1;|jM@yu( z!kVTn=b9JP2I2|eY7RpZTypi8sNq_J#$yaDV)HLk4Wj&}o1@gS2k3p3W&_G*jjD`; zcIV$6{3cDmLeKvuM9#M4%8y-vMG|*gsa)5s935Z{BbOw)*{m+vT5mtY&|)V{NZCs}lWNtKE6ka0_5>SV6Hkv?@BT5nb9H`P5R82wn{i5C}Y`XQ%Tj=neoLJ&ZgfQ9-QzN?)X4<3@>a9zF zgw*g2w(BQ<%{E%W;|pD~`!{i@X*e7M1v2@l=x$z1J=%3d`{AI*i@IQb?icl4gkKBi z^i0k-N}$p)5m2=SJ3#vc%&rJrW_iI?&^Yov51KSATs?P7^r7C>kaF-H8v9N0gEDUI ze&sgk!S0KfbPNu3bosW`wGqk}-)(d-U6e7~)5u=Y`AFx=C>az~w9*aZ39u?MrWdCs zj)r8tmtM=0(zRZRB_cdqpI30YI(73L4&dQS;Sh{NnPf!4U^Yg)0BRu~aPFj$ho17i z{JKEE%61rb2dq}M?nlGj3~(mNUm}YYFINmwH`THA)BWA3U=2jxoo2-o^jt`}VT5-X zb|mIpRZ1iE7pbj+1xoyb+uqp5#%x0kyk@p@0E9ZV5Kfx(L>5W%CqR}r8FN?q0zGcx z7(%L8+*-zOlMDiT*T*%Pu|QZ4u+2JklLq+FXO>l2JoR420q~$Q^sRBXX5Q^y^U2&Q zDzjvCGV_n1dt?{kxcIerty&e3Aw;zg!U;#rr{m0YJQgfy3|`4NgW;Ak#UOW`u?zKG z))US_8TZB1RtoW(x;qp?LI|eR?q1a)6m{ph_rPWOBK}l#Lf08bpJ+*M$@c&e^-kP5 zW+#PlTJo2We;TplJd}vYyB2 zBQJ1IjalbTCTLvjwe;5HBtr7&_?e69ip4@21Vu*u0Gn}|8%UN~+p!Gke53-{ZtFD4 zCq0_&$>U3pAM*qJ@V}hNX*sp3R-eWHFmO%R+Q?$tZ#6d}^dm46)FH2{{U1nv`(RW1(|Onc^9*6d zsFKKPFjweltAyZSlMVCehtzta>4rjZhc#{9HdKM=Mxh?_oUgaJy;aCA3@HaDKO#r? z=aDfpLycSn{mjIIOdLC0D_QnW!S-D!bWe`5#s z$#10mKlzP(_kM8u&;IhCydSQ7bAG3JkmGLA!OY}_(|zCjVGYds^2&DFd-;)K4`-f;H?<2Cua~cn>`GnTa@G(2ThO9_*sIu!?U~Dwn z;}#dloZ|x(*JmR~Hh+FTvhmydrI{a7V-7<)n_4n-61^YQowGUTo%9QtA}GrjXWoND zriqJ7&OI(X#1_<$=-ordqGgZuH?KZgdVtS&1^`|GY*UbcCWC+^RhRj=bC7uHpg5rE zxNn>8z_9FTdT(DnkOyA`P~mAjMnNh*UrEU@E+W2;i`B|=1qU%J=^gKDOrP&6MD<+& zdkb6&5nLRXs8(|Zeft+n; zp9u!!dcx0_FwJUhiA;?(k0qjFGzTXVP5X>g)o}X`v=!Xv!t@n^lN@=)FUN{msn1Y% zekowqx*@}wGO}PyqJ@3F0Oy4teNcD%twHy?_-q@$fK>903ARkFr#t@DI5Vj}Z?0ik zUN0Fnanrnk^?7Up=hgRt;af1a$tC~Zm4G%bJB2g1#$PrPy*Q9nm8~`rm0=s%+o?zd zdBTt)J2-d~p4|$>oOMojd_rQ!E*yGQxQ$lLw~IYmek)0fT+P$nh0V7<5-ALH$9c4|(eyxmdpD&^o{f_*A_nO9@G^d1CXc!YMBat58~e^E!Fk<5*Ncq05M>a)(wxis}detjFK z=)+~A{bKEcS_N|&(kEXi>BkP!vy$@2lRxeg3YNE{rjyqOZnD@imWerIU!S~16lcI*k=K*DsW5* z2RNM_9-|7O0PkE5-~szS@0L5|leUy6F79VCF3FZUEA0*)73n?bWUxbKt*Rb@**rAt!9C%;G45HFHmzhGiG*z+YCFrcmP__(TG;x z-05Hn^l9TMkb^w#T2@ef9UK3S`Bsb7%ii53l-?urJBTN^eT@bQRjVXoiIeals62T1#FA~5#d!cOjlRj*}NwUi(hP|)zYip zi#_D^%id81uKQ-i?}V+2;=%`4wYlfi6<08gWSAjnCrz0tZ#{`Pnv>da!|`dSVX-lX zF+BLEqPKQ+75PD&+vdeW#VD0 z_0!H|v_%8$859vlT$B2#rSr<>Yb9oCIv>K{)?PGnJ%`oxh}gMRq6gCsN2H>Cjv1gC zvtS*#D(k!MxAVTI|2K7~c8-xXRq9Jw=0Yd?^&ejf*(}co&Gf(A2A&ZzJXs3+rMrHO}%;g^0`kgY!lTDNk&u>bIgTec0CwRr$oP_GIMlC7t<5cM^Z) zqRDXzl;4x{w-ryCm+O!TWaFaA1+T0?;37oTYGt03KIZ!D8A_M)oDw^0zt8g8O?MFp zvbHxXTCpC72n#=WWa1yicZlV=vROeDG_?1P*@=w1`)+yL7BmIpPcB!IOG8tO_BXHJ zq~m-~cL>xH8h$oJGjl#mK*ObcD^7hp<)EL}W@FQG0#&KBQU@!0HFh+v#R*3)c$@?Z|Ace&~-)I^E!Q57xWU_GDE%ygL7}X6{eKLpBi5>v(rT#V^9nSCA zZ3y)Q%tM^B)z^W6vEciXHROK5tL9yt4&(q04-e}#(v}EFf%B!jw3Vn2HYU6n=jS9* z6wTzVGD{t{9k5h?!)4l=>ogijsf+0Y@8|LK4Neo4XLiGPc=DI@G!G>mgKs6j4u&Fe z%1l_}<|i`RZe10pB>U3~==-KMMXMIn3p~E zeT)uO(|&Z{EQNiet0$u}!WYnV5?&eEG~5?hPGR&_T|duu(}96?I^S`&sHKSRG9D}& z)zETLR-()SRfhIlS%Z*?F4p};pa9OcIGT5ek73M6@(G_|hLw~SqiMtDJYu2MK|txw z@gSxI!=PvNLWM@g%tabI6^Yz+p#clvPCDCrIdaT3BJK=w;D^T2^@4gHOfRF+&I0|* znpb?2MB$jk%0Wtx=?XGyegv>c?+-w}OkI7%)?%)t$EQkj9%)d{~5@Mz0f$5?X43-EQE!rv(wMOLbGw-`NoC!6pmPtmU=j z8RK!yo;2S%cqA4x4F$-a!i5k!;0om_BV_FWdS;<(*4h(AD$_98%1wli1S{fC22y0_k;?brgkl2b6VDxN~TyuiXC*>|U= zojC1Jm(J^&xGC%;u}er@u;Zs-b)rGG!#2Z3Z?SGf+h@n4=)P|nFCPECnH)=-SDpx+ z=g~@WAPZlmTXBBy)i>u)86of~$a!F*imfKIlU7*EEY6P>b>uVe!+0E9K}x4%Wr@5{ ziI-ubyf9|sYj~lD!EK*Cbvn%M)n{Q#of5NEUHON8TmXMzP&%wvl3g=q*3t7gsZ_Ir z^f}6kj^#=4>;EQ0_=wKEs)k|U0zs)h@_Brnc_g*impF1&5?Mn&8<>InU{ z!@R^}T5*I7+2Vy54NBPnZr;!fYD+^0Fg&bZ)$Q(d!pI9;hF`G?sa>l-bz5zh{Z?pn z>Q3Nh9(VmS%Q3sE4B|}8CN0LayGV$Z&7$THvb|j=_gs3qdWe@dq-j`L4#3*_q7JZq zYBj)mMba<*H!vh)Tnc1OdLEk>cIpwuoS-j1r(0Mib53eakU#_li3swy3V(_Zi z8#3ODN}oCZr)7Bjr3h-EwI_VR-`+ZHts}l%VyOpPdkbF(l}%FS6AaW~tol~+$HjRp zTYW|OMS-{4{gl&Mc;XU>7uBfR`UYLwYFsa`r;DxuVnN1zSgXZZrkx>ioDaO`UX z){MvxUdCb78y9P?r2FXl=z_qn$?;c$`zE#m8a`?tc3zLYa+!scNFftjinY|sO}Z}qVzn*@OtC}V1i1$Fql zyUCS?@&EB2;5o$pp(CiOsn=?AtmIjR6xX;>6@;diPi64J-}&4j7Alog;;WnnSTcx} zaO_)NpX~ldd&i{Gm<}m-#{r^ty{CAt@u%!oB-KcBF;G{pH580ibTxaB+o{HZeO}+rTl!k4t z&gB@QY*2@TyIebmzqfCOC;nCpfHs8xa)j0X-UZl~29xCJ#@ zm_=H6;h@Ga>m@2GQ5tk1zPN*UYX-=j21HCid4>F0Y(d#*7}tkcJxl>X;yL27!q04=PR ziIJg?W}HdDAdW&~p@{rokFT2iM5UdI=?XB)7Sbv-FdVNUK>fb*@6q%Lu2)EQhgnIs z4jn?Z@TZivlR*!t(RV~QSq6LQm4?h2J_Xh?M6-Ju&|->t{?48DKj66eAD}P)Ai@3s%bmdE-IR)kOP8o|dx1qh@c4Fl6wXr~_U24@8w4hyw^#E*l>j7-0(pnw7l4%vszr-!e zpmC@jh4iC{pukSycwn}-o6%+mvy4SG73w@q@DZ;2(X{Y#W44n-^z;m-F&rzn>G_`C z*$kIhTHC`VF)XpBqf?*jj#D@QOoq5+PBb|A?K!vZQIuPfuHJkvwkvpN*-W}HxL|m> zNNUylBb}H6xOxm`KRI(?jy?3;Vgs~2YM1!uuS=h-Y8t+x(}~{553R3!*VeW7YMw?T z5*?74mcQ-Uc=VoMpTbmlDx`|ExYd)gjSo%c`ksvm-IvUzw95O_X^|OLm1Xr-#=aG^ zP(D1kV#C*#}|bv!x4(--pp3M(Yn>#v}ND&49D9lE#m&cv_|j2MOL<$~j)vc~%X_)kcb| ze|MTtA$PLF>tz-K^K2$&do-%+0t>Qi-dduyKh_;JNvSyI*<(2VHKwKK|5w?W2PM6= zaop;*%-dUyDV1W@m9iU_EpCyiEiPq>p@NE{w_JJyv{!RU$g#X{E-09qxZu*26coWg zNm0qJSt@8Gf@F%BisGK;Zsz-&`^S6lH19vnoIlQ)^PD+z&Ut3enP?iv$DW50GLdqV!G@<|DpPf>nYhHD$6%qAND2lLu zv1hfw`9T(X3#vl<6qn00r|SZ=bF2YAF{%Ij)^~qh2tQccVtw)9z2fbr?56IqZt}Z! ztvZQ+8lv3~h#P5hcKUMtoGh;n6?@$wU`9#2#cz*ixTWJneP1ewJXR`89R+{9QRL@H z<#bwL9h z1ruL_j>AOM4|0Yt;nq*`gD5kU1!qikr+}nVx`n9fnQY`W+TSPs;ra%Y9Ia#G;g#Lg z7rDvplCHxZ*L~@>R8ypTd=r+LVON*mTSlj~sr<85!zV-a>|)O4-!rUuscbWUyb9il(67_N&w-6D`WtxW40tN@gj>n z#hx^H?`zkrpC7$e6{#n?D!@qTm5yp!@ePPaU6QZ-GxS09=9}?fFExgG+YUsa3Z6X= z_4>utQ?5>2Qq-&a5?PfW>WWInyYd}NyS(oIxljH>VIc0ARSOPWBpbIKEy=a(=5m>3 zBhV#HP0;z4Q>O)v?|p)4i-$bRy2#R&VXnj-YdBtsCUN{iH9<&18pt`i@r1i|#$bF# z5b?^&w+X99K6v?l%x;3zU|Ir&WU^B;R&8U=MI>k`YrCimCT<(T`D0s{q`@^VS{H?|QeC9Vqp@d$4FO#QWfg9cD}xby4R05%`+Dp2gtK+Bn2fi-n(ZlhJ$7&Zd+Do_HE`-x(BxFp6;J>UlEg`k zS&T9fc<}(V_*_OR%na!nE)2n})Z&ZyJ<*6~0!beM3Oz{*>MPL04k z*hrudWD`W*MCk%l>pqx!st z9SEB8TPrZ}HF~!KgkiJv|1y5ODFL=mekW6tNh_S&v~2h9eAyNW+9 z-@(kRx?`tKe{Kf!vv_(j@erFLAMQyP=WjHgBD2+lJvj&_tAUtfK0Y>@+9DUb#;d?5 zl?+S7jAwMaQ`furJ0(dKd+kpg%#6*^tB6SJ9Y#l-J@l)t zr}6lFgPa-Byj>U{iK&Lt(|m-|l9u#Jtku;fjB`%&r%LC}eG}H!<(*;flqPBkceg09 zezejb7YQE$_z~mI$>ai^fk{Lc($A_Y6$wcn<4^Wk{|mfv4kPghllhL*Dq3X@Lp7Eu zg2%}am*Y8&-t&3k#~O5QaS5}(bRd$TMj#LZgwX5rFkJhh*X`}k2|6`8nqOI`tO=jD zS=WfGH5q!}FoEBgl-xA7e?vm^tx1dj&@*2RvQBRc4yfE27iDl{Ial=d_SX)=TGMGu zvx<7RKh`yt zXH>Xc9^n-HG!4OZs~LAf;b|}*^n5376)6XNB}qiN23*+pF|kb(@J+5I|T;15A!pyO^F5ji`LBi4Crp6_{okHYii2t x6)D4%CyXB98!Hb<7BSTiEL)OfiSXYti3?=@)Mx^9r7BA^sex^xId=^c)gKthucK&pkB&`}T&LF82U{EbGb|7OB=Re`wf5P@&K0oMV$TX_%ZoWTs{ct}lrgQW#GbLY7k$;?kI{+v^ z7ohng{^WbI^UMVR6!!oC%4fg)Zl?kObx#0*i=SuQc(x<#X$I zaa8306HZP5z^6h0fZh@SU>*bjXsv$_Bmey;wp}6zagy!wB!8R%ZU9HXB>))U0k8*1 zl94pv3P1`Ve>@4$0#Kef@#9N&ROB!9DQapeDr(x3CuvU6(bCbKp*?eko`LBcJp&`d znKS2D&oMHyoIih_?(Bt&tSlFqSkANj5JEvo=AoiKO-+58h5igZ%YWM)zXmX#qV%Ll zr=;KmoM5D&WTZH518|Yc8U=uo{73OebZMxmPM)GXL2;TKeB&GdKut+ONy$Kal8TCs znwp$FC&*EtVPrbV%*!feev0KhAHV!n6SKRhr0U@da+*HK#F`-jQCh(icFWsW=21ee zpb+%-X#p*5ojZ@ia;o06UX;z-+P1KF@Czj?;P^-Fe<(Of4pe0%*A5CQ>XT=vPLNIf zVc-w#j7%(2CJ95#ywF?T$SUgd(lWAFO>g_;yy1I9nAP0k*Q$Q|_?QHsqog3mladjj z0XPQ0UjGrje|4pi^QhsCq#K6E@*b3ir46_Auc$b_p1Q~Bopl=QZB@^hAE~c{DR9lW zG&<(pCLL-W4LN6H2vKFE8?lvjD8ifhQ#tnQ3i9|5c)Tsp^U5wkn|%$CnI=YLK<>9Y@6W!g5V^i6Xr}d@z&6%9zf*8MqbshuGHHjSq_9O@Pc5nDA4Zb5u90R};zA3OqF@!&+ zc304d#c4mTlvtZ{N;3!uC8AQK9KNJpU>r#|S_v<=mX}~^(65rbm?&gZ=`t|9GIUXE zVKNSgG*fNFU4yYUHQHWDS)Z5k;LI(8ZniEY_SX zl-_(-|3rR=gv8gkAO8cqGW5<&<9z{WZ5)=T!`ru<@>fK@apMhJ=;QTGnX z8iniL?HPHZv@%4vK%QUH9q!UQacf+_DBsSSvgT<8V3A9a<(L2@aA7p+McZ9y;0Qy` zhJS5? zxs?mgeW1vqj$5?W4Pd5ghj8&U6nGtmlz@PRjais1Kqq!Bkb!6^MMdxYH|1I$S`1Rk zz%My%Y>J`k9w)yGXavWEALj9x-|*@#vXpHgyn9Z%QE2G(sX=!6OkCaBi`{q{?V8R* zhoJU3-u4BR=`*>_I&<%9L%!nVdK{IDTXBjZ;14Ep3@T@clk~W9H#8MU{jGJv+1-Mc zz4iMq7PO8;D}wLaEh(v}XOj&05&0+0*7?%Suy9$-ImtA9lMvSM;fJpuV(N^0;Du7} zdT<1+{g?SiJG3vgH3(_@W7v(*#G2)!{I~MOEJ!OuAfIgN&8~0!@#Evp#{fC|m7Wde zZxJDAxy=gKsgry>%ZB$?N&8pv6T9CDw>V(bMiC&8i6#H#V}RRJcc*y+-Tq8t{W~SD zM%EGfGZQ>AajDK)A#Go>t{`P*6m@S4&Ixo^SU4)gurqjLi(W<6>S=rfjqpXD2)#Hz zJXd!eMrQe3DdJdH{PfQ&^vAxfuWe`!}-qpGZ#HtydDv_g)qCMx%D^Jb4^0c80w= z+}>e$%N2}k{`BB|2l5zTx%4VuXOTuV~f?#+k)B;>#4!O%SE%{V#w9R@xISczo7 zERO;C7iU!Hd_PQ9;U`0c9KY9^C`D`RhEi6({%;BXgZN~>_S0Nl-~D&`2DOP+?<{AK zNb%IvFA-rr~UsQ=(fu>eL}gGAvW?uvxP8JyAzn9F@Q;4Q&fk z#O-nb2XjrGvI(k;Xgem}W%rnM8uJm{t>2oQOgQVfORo6Prmapc%1)GNPo(V@DnA3? zkg_*doaZk($niTbQ!JmT`Q%2lUQDs}ZVy5`fFX_e{)BIq#1^D0F>#9>`hboHp;a^m z`x2uQYw)6qEljW=%|ojVB@j)8lz4xFPn;&&Zu~vXnb(ZJ>{e0oe=x7LTi7!0f?bc@ zx>@&^>GJe%j9&jGqtexe1xWTdsaAf5$nr!PU%A}av&7G5p2QAy$i+Jf*>t`h32ndl zu{^5uBW=tT0KnTd%GecVtNOt zG-+O+YNB*Y_9F@y#JZ1~$~(xSeR!K&tMcU&KbX|6oNE#OJ}UK1=Y@S7d3-?@ELF&T z+0~f)LVn7=Z{zp53y*0-9^g`rg5p1|UdZDZ`{MV&QDy@G@FtV~TaH2kt1*%^c_egW zyeRmuW7K=UZ~ykh-dL))Tl2eEceYFqO6%N)0#;Xc@Sx>Ke4;76Rv&A%Nc>YB|DUhYSMLm zNnz$?W|j`W)>dkhd<-yMTNO2Vg5p0|oQr7QhnHQ~~g;@54k5oq!s*Q&X-I&pY~A-cuk0Cq@wl>-6PW6$CnLBNhOPSYrYG{GkJ%1D-~-AE ziTu(m?I0J;YfetukNJj?sylJ418!wya?m`p+);d^!_sBo-Qp*s>yAu@T`TfD@F#8V z^z63sBTtFoVdR@Ft`fxBi8s~7lD&D8OHp;~zOmhl>brO4KYotT60=IzG@FG$wOI>Z zi;MBWB3Te;tt7tmx5@$?!mZuI>0;e+PwL@t;m7z(NSjmAUCSIE)EgzhwaSUIce_Uw z3P#})pGrpiwc)YMU;MOBZry+EAK7*jFEo*M27HsK=vog?0`}wW^#f-OrBm*|qOGD? zOZHjN#GnK-K&b7s$Tn9f>q+wZ+ zZ<0@eEV-=fFe+FsE#DA*R1+fKrq8gG;Q7bD+$IjnSw4)(Sl&8rDldK zE>y5YB0rMt&Ab4}K$ufk+bxsBmgG)DB2la7f)h=iNBVF+SPi%qr=;qz>(Q}SuzvBX zD0R3TG6Ll)(^Xno8r46XyACx-Cw+{)=Cn{sSXyMS;(dBaAYyO=c`kPZtxwc0Mcyq0 zU*PlywJv?IPk>nk-$Y$Jre4`9`%F~nJKc+G9>;fz=U5lpyNn+INEtw4DI&z zR^$kqG!UVkk|Cd!w#f|b-D8KM86A+<`9APU84V4qaFHBuxL+8lUG7diU1ImRranh{ z|a- z%}CrHTM+>X_O@V_F`21(G_FaU4_9o@eqV+@2HfEP*4V!E_|G@}d*8XTQwl ztyYXor0;IL=jcbC&ZK+>^4zL2FOac98x(epjDDK1W^hpzgCOCmJP)^StJvZpZh0-5 zewDaGXbO#%h(5ZLR<^M=&G;hT`%UUhZ+*Px+uJ3o&)W$fKpu)^q$bcy{#37|k)}f2zT*C{Z4DcegVlh9Z?;yCe1A$j0`k0KF#Zs?r)t1) zQ|hOcTffK>zvi_VGt-R!Rb;jnzPoIiw!Jy}b3P>G3>BZJ?G402rA!kU#k5`S6TF?! zGpM;f;rx2m(}G!dWYiUbv-p5wA$Wl>?158=$TPr6_J23ae$k!daFKw~o}@blloIVf z417Dvo(VbnqMuRGdBeR*d3`mg67gf0SQwTZP)x`0<`?7t72*oO&GXfjeakwN#9~Yn zvP^UGR@}=;6Or}95O8TcYWK#Vc$V@}#xcN8=@{_z|7JuwV=lJa6A<pQG5;dF!>9trqKkv+wpzt7y6yspr#6X!g?0kzpNuX%yHQI3xRM; zM$6Lu?Ruv@pXjTgS+Wg0H_!e=^z4&4D)~Js=Tsh$+*5Vq_3~lm-JIu;(Fj75zbxcsc_` z1B}f*L%~yOqT7xjgsQ!eW5&#rrPV{%d5-jhnwPEijqAk?E8oi4(TxB~v)}$&I8S?y zqyQmTP@snfWXaDnNYOSipPsy0+tJ%CD4jRDo!&{4Zc5jzXUsDMZp`KT!1q=!A|k@# z)Oz+e_rMSf-LDrPx81P|cKfV5%_~z1py+=1*Lwc&^*zFF$MzjrzQ0v9PFb;D5#!;x z(tk)Fw_2BX!@>WDt;)q^IQDOo-3?c(OA{Ltf3tQQ5qbslIO7uRB78d8m)E)-$&#qL z3`Xz~RbY3A4>d^V6N7AhRanjHfQfg&I-1(94;Og7(206*SI@hN(>dBCIzryngcRzV zcHU-r9IhiPFGoDYl#^WK_~c$LaCez4nt`7V5}zVx(-<2~FmQegIFesr8|tHd2{UE& z`3O`-F**-5b05fhMFjVt7SUtMdHrJw< zK|7GX+e?978qH2HXcx*5OvsO@E}f?dQrZflitCoY72?*CW>}QsZk3s$AE0+T|9~5q zo4W|ng199%jbGYY&|ot`@dEQZE>hR!uHHwb3u*tNkZpO@8q&ZLRg+46Y~%4jn1mh9)zI_N0LAdLmBI^@ zBuN+}YuO39RZCv)>(Wz-1Zx6$QtAZCD7wCeY$b7p_0ha5Zh#Zrqh!<&Qzpsp4I%pU zF9>f$YryiPo>Rm!*Z#yAP=KVsROCcI-pj_*u3kazZO@k-;TeU>{-8e?O<`fdjBbkCYSG>#oi{>7FJV3hoU|3D@1FIRm5{rx;|r z)A^tQ^~v5Z!YO<49)4;9F&YSKR9K@M1Z zlG?|urz84WEyojI>+OqKQFr7Vl(_BBGVLP_p5#!)aOevnjLvYVBKIIZG>BQg2 zBg}NT?|9*jbWrmf@(0lDwG0R$l;GqKt@r;R8CO`cv3dK@M^^wNX_H)YSLo6(>%sM> z^TzCx-Ld6UKw-}A$kVd3rv*x)9^bhiezRkezGJcd8m?IW4h*qctFQ{YD_NS7j!Gt? zL<^IXo1()CIq(7*Ms&Tg*XKtK+&vBwh;DncUeLa;K(y>Zv1~E9v+oN|y5PwRG%yw7 zJWrw?)Lt89cn08$gY=WZqOSqWOFu7 zc}~4`vr{=kk{;EU|Z{9Ih~=CY>`J()AqM^M_1^O_J38ZhGmoGp6eq zU_)6$Pb*Wfc`Zg1bgfL)^o>r!mkPJJ?>N6lX3cA&emgsor@SZ1pd|%|CS$x|>>SU! zCj~{~!Ar8K-U2C{JHkBvnG@e9T+M?M&sMAhOfn-H44OAkw>p_n z8$@mJ0JXDHpU&zCzkX%00ufPq0?s;*8XtP66ya8=AtmH;H4QJ~C@Q_4jAmm3Lsac4 zi`K+|YZbrU<}9W+PpnpFq9v~~b}IJb;YN)7cbA!@Ft#~G!~L2s%ZNJx zb~2k*Q%)GIg0U4jS~a^EuhV1mZ3)ysft)!jsH-LxE+g)2l7)ODU@lau6uu#B&M7!_ z`2sf@iXN3X0In9rYSpJ=bWm?$dQc-RmmXI^Q2{tq2?erbO_1-j3%97{s9*cA#FCz6 zmD8R&p&2~NDNjGjw4*)51pAPbM}@tmt&=!FH<|5xc$LK6eL3Byu`f>_W42sKn*|FO z5X~>sE<*&g;~)g*ywi}g7uA6SXE$MoLzmWUm(B#Y*_4>l)}=>uX9bh;fcjMg0u&S= zhqF|t0?Ro+)oIvjvvd3YUFUmAQU@_Yvo=B5qb?@cKOJbXW{l4 zMy{G;Kx~Ea%F;1_|J?Ps`(vd?d2g970T}+pYU`i-)z{}_35LM=imT6Z5!$KYQeh=e zzoO+Q*c0d9Mi3kmw*~zCrjLpjO{!%gVMV^Z&Z-Q!WHyK7ES}svm)`j2U3hILkY@dl zVZ!(KE@AzZfRn&~kp2(16mLqdVX$8o+KsYVbKja3r6+gWf_Y*hwS#mOsoMHvVvH4& zzlhf;3u^D(zY(T>M!Y}LM9pq&_WUIUf<)t;m*#yc(D&5I&e}y;6|P(1ZyZyHfWjrD zZ+!Wbdbs8OuQEo&x}ToBTb53DA(1PeU!B4LerGor#!CG13}Us+WXcU}sdx+gO*Yyi zV>3~9UH_LS&rdy3&*=Fk3sn~SRBY9->zO3t3KzY%#0pHV!5hkEHSv@{?_PdK)QWD) z5`uI}ynLE1`RsF>UxK9Ni3qU=?+Jm%b?S`n;nV!kFMme# z?BgDpT$r&1_KS`lO@jMy<|n62jOR~Jt(ofHr6lH&^#_blihS$4AA?d05!OFF&;3d} z*h4t$l+t@4IO#u0(7#a51Cockw0mVZjpfN!e}G<+)g8$G9OR&hA}4P4&JR;w02q9K z`-eRJ7q=8+O>W@g>AJ3j=HF*?ajF^wI`7%JkKbp1ai6;%_Eqt1V?}l?x zsowDQGMwe8Q~o6+R#ZFp>Wic#9`};;=Z|~;+cwj1joCa%;O0N~j8x1#z3Ttrlc6Cl zkOiw)&Cf3lxt7_5VxaaxX@P52Odh5T44V)2IB7KuCX81U6X zS2fVjo5gZiig93IfKmNxe8_Fm^UUz_T|(8;R){#)PbB{up1l~i<|TF8kGp9Y(wX<> zTjeh_2^jd)>8E(HO69EWGTMG<=KJ+u$o--7SNkSTy6b-}SLR#QR2+?D%PXA11q92| zHOaI+NEH)H$H&UyUM)VYzHCJK$YZ>>YW^pXZYV#?(VtBE8>_fc>sTQC`mVo5GQ&^A zag*))^^HzSR^eN#EwZJ7sysa>e0KMaE;I0Zhe5ZtW8}DOKaV$r<+-nkw|_vXFcFnE1J(A zbti+3jg2vdQZ;&ej01dh!zN_-{bxEq#gEO}hAd-GnPsH<`by|C^H# z|GN2faA)io(A}ss|0rm`)g@r{7_ex|xxJ!Wl2@}Mn(al2J}44h8(HSicqEWqR9&I$ zaPQeEHlLlvd@DdcK^V=YY#p;)05V>v{0|^~n{-(&IR-81)mzhl8f# zkgBqI-lt8{^kTN-JSde)PHRoHvK_un;@*mMEx($CfC(ccbcIGjZ((!Jn3P(0Q{r}SBbrE#PT-kQAl04w;t#dqHx^Erz4+$!8%JFjCON30Q8HW5D2 z-mO-6XMMmig?g4YQIwPv(-4_yq7`WOd@_Oc2^uov3NfEeR!k6SbK=G@``LaqewlQ` zfX1Qvu2soy0GAJ{(7KPw5CUQexVkFNHuLq%xh2E2p*8)E<>u8Ut)$b3bE&@gm?1Og zbjjgV_c;;6%0#QXxO^8AcKt^70p*4;!AVB~+eF9I<QC#X(`p8Js#2TLgoc^PJY?(lQQB7wg+nsp%@{tx#`sVfOR5zR5 zLno?y==H2`Q3y1iP^8H3upbFAW`CuZ)UP|kGZnvPG@id6>T=B}Ev><-?ArBwp%-Ov z$Bq{-2-_Ey5(`|6J!6s;Z^nFz%+M{OT1*Ij{mOonyRb$OMOdjW+GIhYg$ncPU91w( zx+pesN#s`Q3V()^ap-x4F>fE^JHQt0w~oLXnDl?#u>+RCb6A%W^)-uh%4u+qScuo^~oo%_EhNPcCVzZz3Zx- z@OTsTDLsIgr@YjM17&10DKO=;D)mZCFr*K?n+FdWnHY( zv>0f$LJbtv)*aR;&YCa9RtR=_A|{C(2zBj07m{m_7QVLDL*9O3m3|`{Ts$ah%j7-!R9}FJ zFug^92r|WkS*e^dP8OG?BQyOcYe|cI5GUx0)R2(OGC!X+LOg#fNN+2sv#lY<*?hA* zm}VDO7Dtgnhq;15c#W6sHCuR*l) zX)qnMZlZ?I8SOct&xr>w>yH72uhuTEdH;u|ExHqvhpV79-zRT!-23fcH))J@13~iP zS+BmE4GnN|EW8>$^V`?x3Oh-4b?m+H?;$fvt;Bc>UFQ#`>K_@aMrL+&oKA~+DwF=C2uxPa(Sfhn{FS6e64l4f|X90 zj^V93))nCC!fGfJwrCW~oaW1jfk0z++K5g;1||=0QPR}iw7wt#E`DP7F5k?#cB1+n zrqU{acxea4L`;+hFMM(4G`PcOE$h!T2Z@G+vK#1S-s1X@$1CO}5512Pi5B$~xw<6D zh4Grv(xaqM|32Vu2|GVHjVszTVO@S%?D~uy=BS7uy2|${8-kpiGn`d*l~de?mV7u9 z4D;UlhgU$>8Nv34T{1;8I0{ZVy>l6RqjN2 zGw~)m1>j>V=`P&_PaIW9&wI=~n9SF(^JE8>{|1L9#=#E%Vgcl;gNOSs8D86Qo8}x) zPJgj}2scmXzk4xPg~C6;D17Pc{h2lD*+pfZ7iybN>S>bT)e2YtUo*}=`)UWn_fcbh?zrM z>l^}UR~(8(YVwSPjbzqe8Y&jpOqC|(z>fs7lwz8%qOIIw2XDv!Oo`B+DaSg)ZdTAW zMI-X%b1*b_RmTpaop2h9ZjGb?rU|1GyTR?E?QD4hy7>_`F>GlD1U~@f8GWlVH35S; z0093lTI8=SyhUAt&2#KmF(QHz+S&*cB-AEI$VppgR)#m*s+{k6R$ZK-eyM6tTw6i< zvOAugULa3=M^LC1VSd&qcPo|g8wbuhNzN45f8LS^)~U8G7dna-m^rNm}Jbb%(Qm#Qr$RuGb-0+IaIueaAM`P5AO~Z;(P)E!1 zG3;(#*b94RVx^iQCoR*S_M65cMssB}p(tdsHd^pB#DI`>5u%5C{g?4`Fvt~^F;Pxi zzKZnZAXsZM>1DpFb4ZB?XP*$-s$P%wL*ffX)x0QP=b1%SoUUW-&gl`zE5F%TD>`1z z4hBu8vE;AtNq->MKL;leC}=y{sz3rmZC;pYVC?n`YW^JVJCTr3dhlKe((ukQ5BC;U zI@3ke&4FN~EDPGRSw_7VYE!JIaRp;&9i$+yHU#{I-~iHn-4%0E%OmrWYBOkQN_)f=@$kI;A!xu`xn$@Ra-_&P%u}}zldg0(bUkxN$cm*0WeUeIxlpYwt#};e zL$tyDiO&ReeYA{ki`g~-!HV&;1GI$P4}6wEFIay2AzfWYkdIDxp&@fp#59Uv7B;wG}p&F7DJCX zN{?98mVT1CJ^WoOT~$?V&&dM?%LDQIgFmSz00d7ijaoK)dyeF@yB;;W*Y|V&pc)!& zl37WwtN3y+1H5_C$Ul_)C?K!5$1`*S#;7 zvqbLkqNN`vPXTW~`;;lj&V*029Y0L_WVk|rzpbakMFQFeGkzHWnLeLFrh1>gQ-^2rN+ddmE$ChjTn^5A^aPmoPnvY?EabP@Z{tGv zh}L&7dxy`9OwX%xtSNT~j_fC)>rP{N9o+MFk&dD2oE_FlwlA;WRT+`bIM}o@@7MBH z@MsH46@JGjPg2HU?TSc%PS8#Zo(`tJUcj`{JC z{ykSzY*(J;U9Fn4!KLpMn_`kai--iKMUE(n9j>LOIBDR?x*;3&!e6@#Yz68VwDJ_@dn4b)p&2pn{$F4Y^ zs#xcw6Se!P>Q}WBl!z-jL%U&SS?v3ov_Qzo)U;;eSL15y;KMhg8pG0Kj{z@Z3M0Me zG?nqMaILjnvgx>Zo!X_(zTl4c(S{`rf@TUgF*@O>`QSb*=46=&p`1n=!Q5llvN!vC zx;Olh?!T&4cJVr{FVD_{1O>)R&cjXccbAA?r8&WBZ?IYGSk{=C*Z@LCa-NaC1}*5l zxbosMUNPz2nBhlzK9wOJ$Fs_#_hNA?gNF6wIX?6W+m^<;IJ>6eodCf$|YmVvLo=jFsdYjsOVNMPgE z`zAoC_M_d>^y%nO_@f$Y{n3`>IZ%R|?|vV2jE(X5r#b=ZqDk~$K6>&0r8ykUH6v9( z$1~n?!t3<5!u2BIQY)iXm#7*z2o}b`m8xyzTW4W@Vg#w|P-S z%q?wUS8vqfl)L)1f|rIFsEnuFgdQsQl+Q(911q(&8KZbrY@$4-l6%@|?H33OPFf5| zOM40X#==GCRCWG2H5}y9j~<3?jOYG{vE03JsrI^;mkI((?A|b#bx!Y@_St@>^LF2i z5Y0l2RcgI{b#QQBL&AkP2%vad|AX=GPH54c^?fw&Xy6|H3>@?%L$ACG0@DozV`@dJ zLF7>&o{jAysk>v8h!Ztm+8#DQ8Eko63%HhD)VNVBFAk zNKleuU@iHmguY-5eN$h0?$mfek0`Modk`#||68m#-((cl%wF3-OM+e=slYr1t}PuT z@964Kj3a$9eDPrPUh(4n%AcreDtCIjGohqOl`*u3g#*|)#e}7gzP;)gjzepggMdAk z^^gn9Fk9oYcJ|)g4RcpwnVz^SA&8oMc;y37MVHjNcW5_TYJF!3CLpk6Vgn1mfiMUi z;{taSvdOr&3Z$koUZBJ??i;^#r~F*gVj(sa{u4!}V?Q}_gUW_SMu?69z1bvsD6ysl z+bGw0Bh>8%KJmN{CTzq>N4Sg&ez}EBAW;t8854gRfu zg>}4@;|eFcma$M&n*C+z6`OUs^x$C#rwjz!PyrScd@QvRA4WR4?i^Td(RB7FV!q(| z&Per%?Zk|uZ##|6s!Flu&I89+)(Hkpxdb!gV$H((T_<9X2X4hdJi0!W9U1&m@#3nL zZ=Sc+Ua|Wk-$W@4zRQ*OE-`=DUdw7xiPi2a&Pf`dz<~i{fD&vnklx{pvwGiz1~pt& zMtoYvgMOk?TTky}fT8Wg+W5^KhgIl8lc&;!67!bZnUFGf+UX>As(O9xd{6|wcC9n* zO*$A_)$T7Xz?dbiC4*48Rq1D2x1L|V6TCc_?eny!R?i4@!!}{~Bl<0}r^IL*mD53V zu<^}!5R|}!dCBa;gUwuNuv_!5DWSxCU?Ac8;5MUQ4YVOqli}XYu&<}(**)2B@Ig-z z?^ny-QuRUk_j)?sZ5}f}KVilg4hn2+OpsDvJpbx9jIH&RCd6kh+S;--zB;YaNm=lj zY4tgNuzupf2v!1=Jdz(v|1lD6rC0L^gS(z|R66pxP(9k&rc5WZ=7Z?9^XjNI-`;1Y zc9uD(ESVy@l5LA4fo~8UiGn=&A}N^|50e)J3_g{Wij|RFMFidbmO~RP3cja7!N}nG zv(&`w-k(-%kF_o=DZwb&^7@!K?diC4M-`3sJs8a+xSS941r^#B7PC*oMw#ATgag%# zkjAD@bGuIwuA8JrG*#CG4UAK%rAl_a!dQcHb)2YZlWL7>jGwJaY*>d>SbLv(NA4~3 zER)Y>DuK_M{B_<{c!z&Gf5+FDl1jZ#qWg)4XOl^>VWFO5#EsgRc3P`)`Jrs``W_Z za@s&z!8Y;Wl+c%wlar2ukLMHaU8^c_sR}H-naP(Utz#H&Vk8rRmCVh}lO`D=JMYSP z3n7QI#$y^f-6!QHh58Y>BV4J2L)Ws7jKIEOBbx%vEgluPtMkx!MR7*|Q%?te=0~(4 zX+K^r)^=iLWktGHyudErY0wH8&i*WdPLQY!(uYLWCLkleBz(-~chLV8ksrui_EqGt z;DztwAJbzuLYB#m5cA{wldLIb;Z|XhUIKNJ(!E_7a7*!onXYf-wi2Y<784WW6Mi1n zCnGy@(co`~oqum<**G*djd%v`ubaztfCdhS!*`|+&EiT@YCDJ3WlJn_bD5LI!}ccK zRJ{sbx|M@bPq_%KY_41*8e$gGK_HQ~ML#K(d)5qlF%vX|g*knO<=g639k#~ZBfZ&- z@p-rNekh^H{O2jeqD}Cond->Y>V*}-WonXXdpUGp}v2ruODfbwlTjr#UH_WaXv$J*K+IQirpD-$Z=W<>OB zZLRRyjqT!W{Ht2MK_1J6uGkAaX+fgU7V^XNJ+_~c{{x`pdsY)$%T}sD!U|Xu0+4W^i$*Sr5s6Ih)h0Z zY==gh?3i!qhuX0edoK+>-yomNn1v**JeAn=@saPT7&~}hp>p0hL8WYOX?i0ax{G+T z+@IlmGG^!EN?99cXbO;7ET}gf@(!*CF6xTus?O~{HNZ`IPNATqc;qN;y!OCX zlSRLL(1)eV6Rer}bf>r4U83+*L{g&_tQyZKQqQe;GmtsHA+g+3vbZt!oVcTOHK~UX36q$u&*koubMK?OO^vVCa~M$?~pso z`fDXtB>TJgMt#%bTT0*rM_UZLUOZLJ8=g^YO;Zh=L$tXpy|j!ZyV9%E7FA54y6VQ5 z_c+5k@@hrh{9}lhjbb+Ar|4VnE$ByT0`~^}z6F@~VtPtl^Mf|Rjqp(1LV3dHw018}fU*HOtxXU{nF%YzyDKHO43x*zvrzT6q@f$nIs^tQR6bd0CcSTbSM9dHxb1)) zSyi+>%X%;Mfl^?}RiuU90o5x466&SJa(&*`LrJu#KB1ZC??f0t^>f`tIUZXM3!1ua zLn2$cPecY0d?pt-VH38-=iEy|U8>RDO0Y>(Ml>y-G1o2nb&oDM=ao$IBb^}W>q6hI zU+%|?tL2Ov47zuhBxi!g^JGTLM%dhUiTRZzdU2+7*+lo!%2>!~^RhaXGx9+WS504y zg+vK!Ow#b;v>amZo={2ztHpi{$pF@MRO6q?s=xS|ET`#ijRxq7v2ra5h z0?j5g`L+snCX59##k{DV^?fU?`*@~Q zJtH%oaGl>r125-SnDyXDZY<>FZ^VM)J(Fj37gG3O7 zh)PY(%2eX-lwX{9IVhIYWcS4xxxI$bf0-AD<%mL!J8MHY?lZaE{N6P8+dI`vWY z7;N2U$t%mJUCw-AYQyrQo>NhhXv*N*34y8td;a(aT*nwg-i;19*pZp}B>ShInvy9)ZA8lV+ggR<} z)I*K9#fjxF6xjKqBt}H>R3HRcxS@ph4da=zoVBMP%G~9Hd$d&o?d2eRA|+Hi$d4s2Mv_x z@S+xO)vAS&@cFF*H@m~yWe#AfPNFBczVtvlilt~LD_BaPa?T23qZR2knv^_COMrK} zE4QnY$*Lz-!(xdj$&drqAMR zqHN^6MNO_v=@icRmKdrh_%Mo79*9Tveqei}7`rWRUB`sJ6jNJNS(=c_;HvVV2)a@n zd&hEMC@oPl#mkgIe8IraREqFKxqA?mpMGCILK*_A%`(7xG2eU8c6kaTcZXP>>bIuc z^SQalFP=7ebv25#aPwX8N7f1PYL}}_(8M>+Q8Csw9P$@l0>U&OJRaw5de4cxqO}3{_?l8K#_xV}vlH5QCUI!V=7kB|@1Y(iJoO)KlJ7uG>TrHQP>J z5rzaHE#-I^-)RoTan7@6AK-87W*^Po=Esl^r6iHh6&(YnS@}OSm#y>E`YXheyZvqC zA6;PA#4#Yy>-+uph^lgF`H<-hjjVlAsjp2-fqLpT+N$OJxs37-VUN{Y!%yUP;6C0$ zDrwir6I{u{MZ^c=i1v#a<(<>ExSkfc+B#`r-@hLo*KgJ7XWY$C4(%MOGI{tzQGfm6 zba6n*%QtZnE!)&GeO8}O`IM{g7iS?hEA68_gRUCvn72IUralIY4NrV^1rxGIjzcl#A=fw}UIRzo}7u^Bfi;ib|WRC$5-D%F!oUcyVr5|9HQBwa^=>OJ;nlf4_i59Wf z70$J{gYeBSBJZ%{?WT}|4J)?Ad^d(Rr=A@e+CM3bu`>u?S~`6C@XRM%rs%ZHS2f5d z2Mt}_cbr-10BN4QybX2$XIUZS-d{4E6oV5o=QR?E6+&9Ocge4aS+PjuJy2GkeL>Mp zx?AW!u&^hFe|E&hF5w4l@8g^Mb@IjX4^h<=LZ^7_aXV`XTknnDzd+= z3sRNzI10g`u?k`xAaH;7u9{wTkpG=|)qw3;yj{ArL9pol;X$N@PhiqQ*MqqDdZjtlT=$*Q3};!e=(I+dHjUv8EEAEf=f z`5#vlmA_RZ<-e*%iN^!AK;RFa_qeV`~a<*g3L!!q2RWhLH(ELc#U}K z*$eaEzN}1>oF?V(*B$zt$67;OhBFbiSgu9~=h#%Ix4FuXp%YM4-g{+#ldRL9I<8zN zbwt*dh(mVafA4JBsmSu*(8~kjZMZp&Q>M4SNqP3m*OSRq5=u23AY4aN2~fM zJeBEv_8(08c|-Ga@*eB`s|6}vT$kD%hy{);6@@MOsef9>*{*^&J;sEaI_?f3lzKcfV`xl3jl5x7PM>8I~`3pm*`NbNt`uDn*2b z{}4pw{#W=m_OD0#Rk6cYDZQO2DM>bbpv%-7zcYe!f2Atni`$A#5e+T@gknFDySUfz&nKMa+8Gj=LZEM?;H~qSK z#-O~u}=Cy_Bonthl4|ORx62`t6e{T0WCHhR; zr@FCz%pG&vr?xG!6(U+)J&YxQBWwRQ9^Zci@7e3D81pRPtE)9lSpjy7k9FQ$Zr_3W zw6C4dprAp2pSvq9c=<;!|EtJ9;HU|vZl--B`1K4s3+RtD#|XWB@h)jCu%#lnt#&!r zJ<@(iXwznpGg;?pwU~$|+>5)^Ukb>Yp}@dEKz9Y(htv@VISL%+=N@qc#DcU%^+h16 zcocacgj;pGhkCS=kZ6NV=&2JPx9U7IMZ9tp^P+trr9F|+Oa-ZDh|U0cl{47(xPG`0 zRPp*w>!UNSmE|>LfiQjN%)0R7CWQ>qGGur2L*t2i+SF{RI_pi?Tjh$d+oa)um zd@`Ore48DmUFi}dGuRFhm4)Nb54iLy$BE)~8PIZyadADo`8MY9?9+}&%&!o9Hr5aK5UV?bK zUJsT;1ADEkcDp+>rlB2SCq;)e8loOB)<-p(uy!-{IA%ysWseWZyR27_KbJCm=t6p0 z;bN$x>Rcks9Uj4rhY?lrgDKp=Akv*Bk&r!oAr%Gd_u)0i+-K$sGIPP}V>F78t1h)9k*RSMEAUbYHGAv(XbdDLh4c!{en4;8x; zHxUDjolN4%#WDz!Dux8&4R_O}?>XUlSJ8M7L^t5cajH)HviX$Z3JRmn@zfwO-3?VB zh=AX;sfjMQ--O|oD+eZegM`<@8_Dbf6Ykj+f=EKefg!j@&Ha<&slo)) zCs9Fh<7TL{M2yN;dswO*QcY67{FGz%^+F^+ONT*Ajh5#{-%y9G6v+fe8=_i(VfY+m z>Uw9tmHVtdZ@-7{)!~RV{m7a+XnA;R9hI>t}kQMQzBMw zv)r$@TF@=b&ehC1R7*w#(ink}PF?VdaE6EQYLkp%nO$K?5*l?cYBGh~#|-6`!)TTg z6u*q?L?XkCpq~VqOYU-2>eXVk6Qa}u>f!UU*T=N7E12bvpR2;XKAj@aTy8>!3Zd}=X{b6MIPVnJdj;`PS-TKP8_hFo;TSHIV7QcuU!A=)Umjtn* zV$^(#qk#<5k4~xTOFUc=|I_?9e!lp%v9n*M@>W;q#BP{wmQe<(4M5#c{$tYm`T5hP zedLeXQm)W^@S@hYfdcbT3QB9aB06F9t}JD1$>sh_8_8B15zAV>&kP%UO%~xgBY&T3 z`DHZc;SWhRe}%tgjs9XUr9b)|urRl{U!I|V6+nIR!;g}`e`v8;+lhQVpznZZ4#*H} zR{SnOc%Swjq-!6FV3$x{28mBPZ`F$Brk>Zbw|xlMIn{fjd!*`hn3uKJped+a?oegSgXr(s{5=`N=QsXR7=%MlivbtCwv?|9J zBX-2TL;L1h9^bTt5_qHCBrJ1jw_G{g2(St6@XVR%<{0<7(9Q{eYsPnXh_rv_PYKv>2L-y*Oz|)? z)&rN`hePfpnnDB9?3#~*IFrDv(NI7eU9O~Gr}aaoKbykuk{WT9=U@|?c7EpzkKFoIBY$t)KgtGd5LbwQUmfp( z?SZFD3TMzEsF5?8SLD48naPLZ#VVDF=_@IwK{mQkFuoZj7*9SvSpWoM;1M9_bBBEf zrf7Bb-lSq3S!k}470OF20XJNtYyuztdF=e}JN;xP6e-34rCx%n%_R)!%S0Q=Rjc0t zXB1?PJ$Cv-#XqO0Z(*g_ip+2+&RMfQ`wD)2Ly+$P zvIot&GBVQ83|}(&Vj^zIF2bo!Za9}k=X$?INmdGW9vz3TmQun?fa7qAFwl}wIDsL; zAt$%yMHYjYDWIWPbhxNfDcV_FH(4`M|0zKPO5&o43KR;}Mn4wd!8KIze*@Z3zi|xD zx;&%tXKnsSANy%&YpMDZvNz=YIwtp5`&!3e5k9YTlmJP(HlGXF5-3rljs8&bmlTzV$BZi1 z%v3SMZnA3A%1LfZm;ir|Q~?|U*H1ZtZ~w5W9?;Sk=AU7<;YwJO%o3#8SFM$3{YHUj zn(jT&t?lT9qfj!hjzE%q^VMq zf(EI?Wn3beIkrF~8dn7r;=!*9??bN-UKLXvUV=_*C*92pm9Sj4taKkHU_~lzYXZ4L z1mM;$pit8$)#%;NzOLz!yROP!!$-7FF04-bn(C(*D-;#F>3s+2*sPo}8j<6tIIu`; zN8G0SHD7DJ{b!+r()(@UQ#wUZJUrMYbB4WJZqR#1YR)h-?t$TD(;2j>+OzKJ8}T9? zxkwZ)=V^5GH_dBL9=R8NUH7tF2}$khVnF3kSrtwtSCE8^6XJ5hbGmlAx{ph?wv6b& zvyvkK0G5B#FaImnGK$6^(!su&^7gF~)^x$t_sxUf0q%QT%RAuVabM*FL}cinTQoge4OD3N!KzpdO72;rKE$hgIRt(@eHi4v2mLu{m*M3C)o z%t`O_O%peGa^A))JPE8AkKm1|7(PcVHDrmtZfiJBcq))wVeBnr>Ye~Y$1|$O5GXMXDSN!=jq~f9kq;(UCWeXeu>6+nx98}( z%_Bh5i>7E&)oQBSTc>AO8jNoBIBNzhP8$x9xR^j^O)PDkP!T+rR5p@SJ=d2pG}S*I zEo#}L5|Ngb9>=bqt7~UU%Z;{!fWTb9pgdFO(-qkl5H|wjkVH}|utyEdiK*3hKs3a*I>ov>SFcJdePwEGU;=uFxMh#Lqxun6j`5zcUR z5pk0uC3jVj!vPILNvUVM)*GmhH&t~+?vtJmGWvOJ7;u@io+aNY_C(!ZU1WOn~ zXCKY$r8;}Q*8f5GW;>=dweleQ2d6+fV}NqzPR@Q;&fZ1XqOl9l)2*|+LXcQIJ9O~` zcEN5b?gQZT)j$8M{#7_?$whi=kpfm3FE7V}Yt>yf=_oXb-vCew#Ci6ItbdIL@vF8B z$iqX?)V-pyQ+h1AD^qjd0W}9v+dk0?Sf$iMk}8T=!+X~(sjtF+^VO1_m}%i-eY*mh zbyeb4I~1>UL9?Pq0d3Bub?nPCxp%9h+H9-Uc2bXr7Gm&uP)9lxhv1#d-LM#YZk~7K zVKwN~U>rH1{zKP;oZ8dreSBm3Y2*c(M7zPK(ZIv1YZt1#U`&iOQP8sJG^(52DF}5u zNBGgpkB0Q`C1I-#zoP7=*t(TW1)Fj|u{8;3*g3!$FQ6uQhcyPDZ-?qU=7C~bT&$v7 z?vhd-B0Fm7jh1B%*dkDhcT2^z9A?y?bz-n*%F-QhX1UHp7{Vz71QKTOSf#qjp?{9_ zYC>Cj{jn0!q@dDM4HH@$D-hy*SENLb>r+k?iWQ0haeq9np~iS~IyX6@=|Q4HbFQiT z?n1@E9hRI@K?s}4vfPs-48POBfX2kYROE4J{)bK1*%wzYKOz@yN=}Flk>_*Wd)^3U zk3B|BdZjcc)y-_1uc+0@_srFfWEgRPb%-xQParz$3WBVW_@hfXiio5s4u@oHtD7Bf zc)!1{s}3zRW6DR%Lx$?+k$*HkrT*K;=RX5e|Eu8A(>1Z3RPl;Ar<`?>DR;(BH{6j+ zcBYF%qD`BOAs{Ir10mXmm#yXbhvB@KJ(q+{6_Qk_4{zDR1C@4KFd{@iI5m)*nMsLW z+ZGlQ)jsHCdYTjI(FH@UA8<^RpT{A6ytdWkq0?_ZvPCw;Y`xvZ7VBmqFXl+M*CL_@ zwd%w-*(RMu;?AnsbeYcjgM$Kt}hd28oGEFI~ltd7HoAA4GB2 zQF5SVhaxr$Ei+?xzi(-Yi(|?VZ&NNAVG$e^Nbjh zwS{<{ZHx|&t&v1^;dj7*OT)#V z^_TsPM-dF@EwpL{6{-cQ@M9}GSpprbTp04t!f^0FO9)D!HRmEo!}H^P6tIH z)U54boHU!~EYEP5M^b&rf@LGqCFG9Bu-{epJ)SAT_W>f#>G^CntCx1Esq^ffO7Nr- zvsZzQTO$SwoULc2kn*^;&bx38V+JbAW+!qke~qJUi>3Co0{V-HCThaz;6{*kp&qRm z6b=s76^wOK%`2Gc(^dD)PQIh1X{A+_;m{V7i3={zsDR-HV+j0JYn;cYCBpLue!afs z=c@59+k^gJ8%~d{F67)HR!xP7r128@_m7*-9NQBAJjrlA?pZNz38AOy$iDancJegu&+~WxJu%=z>w{;?^0Z(M=@5r)~cgNhg|PauDN;s zOW(@4=B(NwxY}arLKwMZ9Gksc+D166A73JmSNB=R3h-J5G=x`&w_XNlmDLmw8E9~o zd1b*)NzQW}ov|!30UZdfvUi*v5Mvz{(uu(QVe14MS70hf<#d&fWEl}^)%Ylyzr^(O zo3_;l;#=qO1)03an#Vlai23#5`nEVN-0nva;KwuPPJb3exU(`tty;@LOx<7yDqqoj zSHlIy^D+`BRNHh_83}$(h}K<3iC^z_+fJtp1PliC{j$yYb%6d)KV?##cp!n#i=n#k za50$1+r@~d`hI4~Jk#3{Y;<&uI!R5nDMSNCKnHjFIL(v23`W%%eXKvLzmuNhYB)H@ zjxxn!lw1&oF(g4z0fa_dTU)r6&ar35I1_K+Sxww(5+ZgwHG8Fap3Q5DO2*R!#}o=^ z2F6z6Bt+Cn8p4br>_>n8jj3DEZC}6K?Tp)VwsCAwrXIOV4@>hmj4?ocj~SyF~Z>J;1>(CW@(HPZ^Uij5)hE0lvu zZuUBwGLs!0NBk#S=rz4HN5V_qTHhGd(A1X3!O!|PAXMK32UiE1^e?Sl(~^)Qyq=8qsl#Cm}pe6@MH)50=5FhQ@F6TBE|K(Dw{giO^W?uE)2N#O2(l1akS|Kx#|7ck(V;#I|V5V0<{6Q?%}Z z(ntHoJYlxWHwPn>n{etMnUQPTmg)Ux)v#)@Z5TmO zDzy?Ym;61YYKfe$zEcwsijGMU;}L=;wrXzZs%T(>YdB>XDX7y)bCd+)^c@F+!yYlH z*sn&qEPNWr=BE!2yc8b_v>d8nkYFe<89Sd^C$SmG5goEOsC-jJH>zSpon#(3^6`wy zgc&FC9@DKr_noZPDP0elyp)UD*+VFMo1s}SBDwlAB^-UTV5*dOrqV}ewWTGPbPT*9 z1fz%_5U4%sM%hO7?{z-=Nu<1g-Y8A#n`%b8p?L0qr#h3Q&~Iu5 z{H7&r{rCEEwVBvwkc%k&8~R%}5k8u}ZCer3yjxLzu^rylU@?bntzwP9od&&ZsITj^Owtg#ue0I=RRObSwk#n=`(B?Sj#3KGk=< zvFZ7i@5Arx#HL$Na7zW`L&`|z77Y+=Za*0U7RXPI0zGLgyl59=u&B$GpG{1-8Q0Hnj*oOxltQv&qy(M&+2o4vf9*t; z|75?g4;htwnYcSz;P{A5-^%EAsINH8EqM2HiDAsfekRHGJD@TZuraa^+~c}8mNp_C zVD9WZOD;!z5a;R^)N&J!_)GxqXP=FU4|97UPT8mb{tuA-eY`Nd^p@)pp6QKA;>(rE zIN!?h9~ff{K?x2IxVJ4sUH@}~3?0NcPphFP!q=6VqS5;0YOPL?jR6LMVIX8*5w!rp zBZ0>!ba~KdN;F$bgsu+Dn>AdI%&Cu`Ziy!FI5WsJ&2KxS_&A*a)G1N_qi440n!UC1 z*D+1GFo0#Y{J8!%>mLra^K9U917i zig7(tgdFaA_ll=U3EV_NLea)wVy-on%5m<<(AgRyR<4X@fKq}CXogAq(o+Hl zPEP<*lHT{R;Ec2eWj!tb#%RakbkCnY~7cL~( z+q2>@F&&>D81!|u3aknA4c3jYz%&=D;#nic2Z%tNGA z2{ky1l(Wbb^P|M+NLhR=0DmWA<&OyC^H;hvaTgmMN;hLji*RJmoe4O~O+egkx+79G z@g$RdUau+;eDYcXzVU0=H6iLi14elnYW=}`nIiM?{Fz&zYQ`YPj^s0WW_XUw>!F|Y z^@K}bN);L62GazUCb{ovt;!nqyeFMIp)t3?Z*-zuYW#kzhSmsIT0kntOEz*(Y)(0M z3|>+Q9vq{FX>n?ywgJoqb0Evu9><=XS1om;uq(%f+c93#zr#46=s=&Yj@3;zjb8<_tWK?zSmR<{fp4dQ1}K zQnP6;=igJMFl%nR-r2l5krU=tYaWCw6#O;0R_MND&nV ziv~v1bRR3d>gJwNk=wjb8LCPviP|i^?lBRsXL|B0)iaajEU26GJTjIN?<6)qf;Sz~ z>yY%pGx%B3RlxC(z1lrE^`_Um{;)^%o_?6Chehn;;!XUn34$T>s7!-g%|&W z?PwZ*OgIq7SNqtzpT$NshA-N?ZfT0PQ>Y`GOZH@=Yn8 za*x*WI2pp3!6SnKR}ww2#r74$IU~k}4H0@-OCWB-IobNRWp3U*jC)80)dz$p9X5nZ53CvmfdSIi&gd-w8y7)1l+LB*0q62(PhP; z%-!PD3r?<{lUD7HcQ9g`Fc@=33c$1V=gR~&PcQgZGRIHI3VLS@WGG~K`42_#rBGRx z0d$V_E;*>xIyrzbac;vCL?p#&`{k&RdsD$lO+52g_xwJaz&x6E*J$9U(l@@`Ch^PU zqFfe_*O;unNJoU7h;+xiaEFUeyB0AY?2*A;hJ&RTV)O{v<-%ys4>X;}GH;I>u-(;X zA!3Gwk!Bm|`j?tgugWgI$P}P~iD-BYWuTaoqKQ^bC2&z^{TC>XA;(eLAdl)xGt6VB zf;b%-2)x1)PTfz;eM)o+1U}fcf0Id}ws@Fy`AB@}p?%nH?Yl#3H>25iHB%iPS%7o>@`K+GnC_wJE!)ip_jLXFkQLC$ z?y^p$j)b@JPZrW|Sk;Wl1#ilQi6@~TXgGHP)Y=#jJ z?=bvf9TebTJ1RP`Pwr5!D8=F)UFgq&d#Ldla1aqZes@VNXbZ9B73MQcL|FQYzg@{TA!`X3;Ij>IQ z)+iQAGNU= z{tOw9*TF-wQNatgzGLDsI4LeK?v#Lr$kb;P&sOzOjftMFw+ei=aS4%BUV?8eKd9oB z2iHyov1{f?7I2qQxN4NEAvjxA55`jSxMZ|wW!SM}lZI}#H;NW4(Cwl;ap2bc7L%t{ z86Y?#&K#LRnd?P)twpHoFN3+DnXMQ>a69l)$@OKv)OUQ#D@*(rhoS*w}xeNMkVxj zz)Om!uzR}MgoBtX(y6anaR5}z^0NFpKt_!ABE;|AziMVb9{VA=yWK(4sr@w1$fy+I zLx}y|GO+R#1|kL|oC~yz0KUi|r^~bI^G9=#6E0wyKL0qS&<>6f&-VJye-S%sQqT?8 z++k4kKm7RBNSFWS*yx~@JyUlH$ah0&CnC37rtGTqKAWB&7Pa|x#pfbb%&iH-I$!zs zXL@Dd9y%`iaibS7fbMUS>4)Rx3v=(jDbex2t|+*->-mcQ*9X9SCK^xt*KhKg?K zY}c=1R1eDSM+WOwy?bUiJS}&Ca^qJe9{f=(04}zaXZ|XAC7{PsIkEO)Tl?_9k;FfW z`TW#|)3thka`aG5ry}a~`#*|(7zo?58!5`Z|6wD!cV@YD9pYa0@E=x!I%(POiidJE z1w51RxQBCLL7`5^HPzsIN=hIQ)G4?WL%b~T`Ksk^a>9+$pp!%%>K=0L%gRKfRY{RS zSo|u4d8y)wi6%BPDlnQy07mh@eij^bVv7=l18dcOvuR_Y1tjI6l?A5$0-%2Qg0h8C zDS28senM)NUeiTjDHa>$CFN z-II}@vi_6J1Kxt!s#Xi1XE~WUPA2u#@(6jB>g(aOg3hKKpF4M)NV%ngX;vuf{IrpW zG7jQiOY@I=H}bdf@#)_mA3?5sg?6lqNFe(HNqX&4H58cU4dBQO_rFhW zC~wjBv??jF&MHy)WYredgtjW$srS;LP>gO+eE)}OJ1a(=rpRW}BYgC#=HPM)0jaZr z;;6J8^k3xYMmg#K?T5qfg~LAUz((ZK%!8-m-vQlqQydTFz5{MIS(S{NYqV`|$PQ*7 zdTc*LDFP|iKV`gIq>wv)rwRQ>5Zjvm!ljCH!$ap_r||LV)mak8_J?M_@Pc?wiYuDl z(J_k~3~YuqU|k@ejA+FZDNOjeUzqUx6eBdv554KbM{|F0yZm#7|jj>*r4Br+w3uGTIlZ!~oayn^-4nc2*LJT#U4{VmQKN1mH)>Fi8d$GqpB z{aRSM>GT~Sdg145G6BCzmVn>=sm__7uR#E8&-vnCc@csk~5!&?K7Gl{~~?< zPT)!kf49i;&rbPM-yZ$7{q_Hw1_oQ1pu8KK{#iEnk-p*k87(NXb%q{c4kYTTWWm*Y zq&#-Gqa~lLuI$hoo^D4Nro_H*rNq8SdP|Pe&V{Xjs#Jk5DI0`a{E?r&#qb9%Sp|5k zSDvfN$xm=ZRQA6eWZ}p?MIYZG(Tkaa+?Y3j{_QmJk28)HNn5}&%&r{NltSD?E3F9E z;%KJ3t_jE8dh;Gi@${5DzbH=UGicS9*Cz%?dh*EAWrP?8ab!4;-8kKCj1{0@&{j4t z;RuR{d5u39G5E0hNJ|zu-4N4n$GoG}^GGC9nG@+r+meEX!YRb!519l?z-tZAJ#tF#xj{Z@U2r(xHAnvz z>V2{UQRA-HR5-bENA!c0|>#=3oV3ZCNqr;-ADRngk2Fux<^ddXnjyx1if9Isg{gJhF zY)o{B-vsjl6YpL%otvc#FRSDd(Ci`!N|MfShqnuYMIBNfwsnPvpLqC7jcFsYZ$)k0 zDV=z-nB?yw1!BTcg3v|G<5Gs|ZYr?F2F_CVcFAp9?D=H4-xw3os?=_y6Tn+nb4Wyx z%0|MgBqIdK=n|eeuZRn$1RC0*4;SH~s5&D-d~F!yVXWfG!mg@i0<06WEJB!5>7O8o z7^ChRlwo=bm;<3usH#8LKKA$^<{FT|9UM%~pqNU%Q<)CecK=Cd{B73RTBEv@a+2Q1 z!C~#8T;5E`j6@Zd+oaXW=X57RqqGq*V66s4UwKhnxQ1ax+DDT)P}2AB-zlFO>tDfq zMV2ie`tlM^K;U<_a?z>ARbyQI5Gfp;S#g3vW;ZQlL6msPdTAaVV3OtjRWl*zhBJgM zaD9YD?;WTiP7V6eqa6em_K8XHa(;!)EK`GlJ7Vk+;a%NuiS}Pj#stEegu=4}`ikOp z)#08bq42>9Ys-e)&3>zEs4p++O^Vh({!C2)sMQmeZ_%$9F17o#Gt&)1q+T?$dA3}(^&FXCVE;&q{fy?l56)R}v6cu= z{--d?ov*C+^^`TaExagACqn;8QDalg`uJtv+S*0LUivn@@>Ivy@L50ULXF9Yaf{&pz* zO$G;j#krWR{)qC6cFiIYw8~VK=48M3X*}NnXwNru2h}&?npFr+6?kbnjynRX>yZ4C zj5SuGh;nyRqBDc`rccr|Ow~-H1w?YjF(Y(kB3?_ByJRUx z?GF?;%(aV`V^pp8r7~mfZnVozSvkpBtM1qI`A!-%%kA?T=c}h+YSqUTCxD$#AL-<_ zhmxLxM8w4}ZH9$QuO~uG^1M=c2;5y{C=~ty2AT5BG05BINklxMI0tW0`|-;3d0f+_ zpfSl>1x5l+lZ26Fy(um3>n1G)a78(H2L4W7oF4bO&t+K=i&{)LUYzqgz|*=4e&)l= zB3_Iwy$UYz`RKZP%7LZZ! zQq#A@R#?m16z#s1m1jQCHCFCV_YGBj9uz?JsRZM;d!kMyoBZYLXnu2~V4AT$eF6V9 zzDgBK{?f*z$VjDA&wQVjKUi(fzJ4fM#j*cF&(gmTa2vumN9u|}JwsUB=r-hxH*)k=%^lBf=S^M2t)oix8WDAaD?XVAWVC(8(zdzgn` zZY8}@*fVO}qi|N3Ul#xTbyK9v_@iWKLu69|5-)M6TFaSrg!AWXJf1Heey+Z7?TWSw zp1G@Bla%4PtzgCm96n5ao4TZ`mV@&P(yPy{3>HoIoJZ fhwHY~vG>;_$~V3ab?db4CqD$x|8T_pKK6eA4N`FV diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/rule_migrations_field_maps.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/rule_migrations_field_maps.ts index 952663c36123c..c03b7ef52e784 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/rule_migrations_field_maps.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/data/rule_migrations_field_maps.ts @@ -27,7 +27,7 @@ export const ruleMigrationsFieldMap: FieldMap { if (state.elastic_rule?.prebuilt_rule_id) { return END; } - return 'translationSubGraph'; + if (state.translation_result === SiemMigrationRuleTranslationResult.UNTRANSLATABLE) { + return END; + } + return 'processQuery'; }; diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/nodes/create_semantic_query/prompts.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/nodes/create_semantic_query/prompts.ts index 54be39eb193f7..6f1e39f938692 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/nodes/create_semantic_query/prompts.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/nodes/create_semantic_query/prompts.ts @@ -29,6 +29,7 @@ Go through the relevant title, description and data sources from the above query - Include keywords that are relevant to the use case. - Add related keywords you detected from the above query, like one or more vendor, product, cloud provider, OS platform etc. - Always reply with a JSON object with the key "semantic_query" and the value as the semantic search query inside three backticks as shown in the below example. +- If the related query focuses on Endpoint datamodel, make sure that "endpoint", "security" keywords are included. diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/nodes/match_prebuilt_rule/match_prebuilt_rule.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/nodes/match_prebuilt_rule/match_prebuilt_rule.ts index ea403c5c4ffa7..e4b2162249cae 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/nodes/match_prebuilt_rule/match_prebuilt_rule.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/nodes/match_prebuilt_rule/match_prebuilt_rule.ts @@ -5,6 +5,7 @@ * 2.0. */ +import type { Logger } from '@kbn/core/server'; import { JsonOutputParser } from '@langchain/core/output_parsers'; import { SiemMigrationRuleTranslationResult } from '../../../../../../../../common/siem_migrations/constants'; import type { RuleMigrationsRetriever } from '../../../retrievers'; @@ -14,6 +15,7 @@ import { MATCH_PREBUILT_RULE_PROMPT } from './prompts'; interface GetMatchPrebuiltRuleNodeParams { model: ChatModel; + logger: Logger; ruleMigrationsRetriever: RuleMigrationsRetriever; } @@ -21,9 +23,12 @@ interface GetMatchedRuleResponse { match: string; } -export const getMatchPrebuiltRuleNode = - ({ model, ruleMigrationsRetriever }: GetMatchPrebuiltRuleNodeParams): GraphNode => - async (state) => { +export const getMatchPrebuiltRuleNode = ({ + model, + ruleMigrationsRetriever, + logger, +}: GetMatchPrebuiltRuleNodeParams): GraphNode => { + return async (state) => { const query = state.semantic_query; const techniqueIds = state.original_rule.annotations?.mitre_attack || []; const prebuiltRules = await ruleMigrationsRetriever.prebuiltRules.getRules( @@ -32,7 +37,7 @@ export const getMatchPrebuiltRuleNode = ); const outputParser = new JsonOutputParser(); - const matchPrebuiltRule = MATCH_PREBUILT_RULE_PROMPT.pipe(model).pipe(outputParser); + const mostRelevantRule = MATCH_PREBUILT_RULE_PROMPT.pipe(model).pipe(outputParser); const elasticSecurityRules = prebuiltRules.map((rule) => { return { @@ -41,9 +46,17 @@ export const getMatchPrebuiltRuleNode = }; }); - const response = (await matchPrebuiltRule.invoke({ + const splunkRule = { + title: state.original_rule.title, + description: state.original_rule.description, + }; + + /* + * Takes the most relevant rule from the array of rule(s) returned by the semantic query, returns either the most relevant or none. + */ + const response = (await mostRelevantRule.invoke({ rules: JSON.stringify(elasticSecurityRules, null, 2), - ruleTitle: state.original_rule.title, + splunk_rule: JSON.stringify(splunkRule, null, 2), })) as GetMatchedRuleResponse; if (response.match) { const matchedRule = prebuiltRules.find((r) => r.name === response.match); @@ -59,5 +72,16 @@ export const getMatchPrebuiltRuleNode = }; } } + const lookupTypes = ['inputlookup', 'outputlookup']; + if ( + state.original_rule?.query && + lookupTypes.some((type) => state.original_rule.query.includes(type)) + ) { + logger.debug( + `Rule: ${state.original_rule?.title} did not match any prebuilt rule, but contains inputlookup, dropping` + ); + return { translation_result: SiemMigrationRuleTranslationResult.UNTRANSLATABLE }; + } return {}; }; +}; diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/nodes/match_prebuilt_rule/prompts.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/nodes/match_prebuilt_rule/prompts.ts index 60fea54250bb3..12fb7ec70febf 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/nodes/match_prebuilt_rule/prompts.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/nodes/match_prebuilt_rule/prompts.ts @@ -23,21 +23,22 @@ Here are some context for you to reference for your task, read it carefully as y [ 'human', `See the below description of the relevant splunk rule and try to match it with any of the elastic detection rules with similar names. - -{ruleTitle} - + +{splunk_rule} + - Always reply with a JSON object with the key "match" and the value being the most relevant matched elastic detection rule name. Do not reply with anything else. - Only reply with exact matches, if you are unsure or do not find a very confident match, always reply with an empty string value in the match key, do not guess or reply with anything else. -- If there is one Elastic rule in the list that covers the same threat, set the name of the matching rule as a value of the match key. Do not reply with anything else. -- If there are multiple rules in the list that cover the same threat, answer with the most specific of them, for example: "Linux User Account Creation" is more specific than "User Account Creation". +- If there is one Elastic rule in the list that covers the same usecase, set the name of the matching rule as a value of the match key. Do not reply with anything else. +- If there are multiple rules in the list that cover the same usecase, answer with the most specific of them, for example: "Linux User Account Creation" is more specific than "User Account Creation". -U: -Linux Auditd Add User Account Type - +U: +Title: Linux Auditd Add User Account Type +Description: The following analytic detects the suspicious add user account type. + A: Please find the match JSON object below: \`\`\`json {{"match": "Linux User Account Creation"}} diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/state.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/state.ts index edd33e2ec69b6..a9047c9dc5439 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/state.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/state.ts @@ -13,7 +13,6 @@ import type { OriginalRule, RuleMigration, } from '../../../../../../common/siem_migrations/model/rule_migration.gen'; -import type { Integration } from '../../types'; export const migrateRuleState = Annotation.Root({ messages: Annotation({ @@ -32,10 +31,6 @@ export const migrateRuleState = Annotation.Root({ reducer: (current, value) => value ?? current, default: () => '', }), - integrations: Annotation({ - reducer: (current, value) => value ?? current, - default: () => [], - }), translation_result: Annotation(), comments: Annotation({ reducer: (current, value) => (value ? (current ?? []).concat(value) : current), diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/graph.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/graph.ts index 267a5bb0dd520..463de671552c1 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/graph.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/graph.ts @@ -8,6 +8,8 @@ import { END, START, StateGraph } from '@langchain/langgraph'; import { isEmpty } from 'lodash/fp'; import { SiemMigrationRuleTranslationResult } from '../../../../../../../../common/siem_migrations/constants'; +import { getEcsMappingNode } from './nodes/ecs_mapping'; +import { getFilterIndexPatternsNode } from './nodes/filter_index_patterns'; import { getFixQueryErrorsNode } from './nodes/fix_query_errors'; import { getRetrieveIntegrationsNode } from './nodes/retrieve_integrations'; import { getTranslateRuleNode } from './nodes/translate_rule'; @@ -19,6 +21,7 @@ import type { TranslateRuleGraphParams, TranslateRuleState } from './types'; const MAX_VALIDATION_ITERATIONS = 3; export function getTranslateRuleGraph({ + model, inferenceClient, connectorId, ruleMigrationsRetriever, @@ -31,7 +34,9 @@ export function getTranslateRuleGraph({ }); const validationNode = getValidationNode({ logger }); const fixQueryErrorsNode = getFixQueryErrorsNode({ inferenceClient, connectorId, logger }); - const retrieveIntegrationsNode = getRetrieveIntegrationsNode({ ruleMigrationsRetriever }); + const retrieveIntegrationsNode = getRetrieveIntegrationsNode({ model, ruleMigrationsRetriever }); + const ecsMappingNode = getEcsMappingNode({ inferenceClient, connectorId, logger }); + const filterIndexPatternsNode = getFilterIndexPatternsNode({ logger }); const translateRuleGraph = new StateGraph(translateRuleState) // Nodes @@ -39,12 +44,20 @@ export function getTranslateRuleGraph({ .addNode('validation', validationNode) .addNode('fixQueryErrors', fixQueryErrorsNode) .addNode('retrieveIntegrations', retrieveIntegrationsNode) + .addNode('ecsMapping', ecsMappingNode) + .addNode('filterIndexPatterns', filterIndexPatternsNode) // Edges .addEdge(START, 'retrieveIntegrations') .addEdge('retrieveIntegrations', 'translateRule') .addEdge('translateRule', 'validation') .addEdge('fixQueryErrors', 'validation') - .addConditionalEdges('validation', validationRouter, ['fixQueryErrors', END]); + .addEdge('ecsMapping', 'validation') + .addConditionalEdges('validation', validationRouter, [ + 'fixQueryErrors', + 'ecsMapping', + 'filterIndexPatterns', + ]) + .addEdge('filterIndexPatterns', END); const graph = translateRuleGraph.compile(); graph.name = 'Translate Rule Graph'; @@ -59,6 +72,9 @@ const validationRouter = (state: TranslateRuleState) => { if (!isEmpty(state.validation_errors?.esql_errors)) { return 'fixQueryErrors'; } + if (!state.translation_finalized) { + return 'ecsMapping'; + } } - return END; + return 'filterIndexPatterns'; }; diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/ecs_mapping/cim_ecs_map.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/ecs_mapping/cim_ecs_map.ts new file mode 100644 index 0000000000000..3bafaf2fc6518 --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/ecs_mapping/cim_ecs_map.ts @@ -0,0 +1,181 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export const SIEM_RULE_MIGRATION_CIM_ECS_MAP = ` +datamodel,object,source_field,ecs_field,data_type +Application_State,All_Application_State,dest,service.node.name,string +Application_State,All_Application_State,process,process.title,string +Application_State,All_Application_State,user,user.name,string +Application_State,Ports,dest_port,destination.port,number +Application_State,Ports,transport,network.transport,string +Application_State,Ports,transport_dest_port,destination.port,string +Application_State,Services,service,service.name,string +Application_State,Services,service_id,service.id,string +Application_State,Services,status,service.state,string +Authentication,Authentication,action,event.action,string +Authentication,Authentication,app,process.name,string +Authentication,Authentication,dest,host.name,string +Authentication,Authentication,duration,event.duration,number +Authentication,Authentication,signature,event.code,string +Authentication,Authentication,signature_id,event.reason,string +Authentication,Authentication,src,source.address,string +Authentication,Authentication,src_nt_domain,source.domain,string +Authentication,Authentication,user,user.name,string +Certificates,All_Certificates,dest_port,destination.port,number +Certificates,All_Certificates,duration,event.duration,number +Certificates,All_Certificates,src,source.address,string +Certificates,All_Certificates,src_port,source.port,number +Certificates,All_Certificates,transport,network.protocol,string +Certificates,SSL,ssl_end_time,tls.server.not_after,time +Certificates,SSL,ssl_hash,tls.server.hash,string +Certificates,SSL,ssl_issuer_common_name,tls.server.issuer,string +Certificates,SSL,ssl_issuer_locality,x509.issuer.locality,string +Certificates,SSL,ssl_issuer_organization,x509.issuer.organization,string +Certificates,SSL,ssl_issuer_state,x509.issuer.state_or_province,string +Certificates,SSL,ssl_issuer_unit,x509.issuer.organizational_unit,string +Certificates,SSL,ssl_publickey_algorithm,x509.public_key_algorithm,string +Certificates,SSL,ssl_serial,x509.serial_number,string +Certificates,SSL,ssl_signature_algorithm,x509.signature_algorithm,string +Certificates,SSL,ssl_start_time,x509.not_before,time +Certificates,SSL,ssl_subject,x509.subject.distinguished_name,string +Certificates,SSL,ssl_subject_common_name,x509.subject.common_name,string +Certificates,SSL,ssl_subject_locality,x509.subject.locality,string +Certificates,SSL,ssl_subject_organization,x509.subject.organization,string +Certificates,SSL,ssl_subject_state,x509.subject.state_or_province,string +Certificates,SSL,ssl_subject_unit,x509.subject.organizational_unit,string +Certificates,SSL,ssl_version,tls.version,string +Change,All_Changes,action,event.action,string +Change,Account_Management,dest_nt_domain,destination.domain,string +Change,Account_Management,src_nt_domain,source.domain,string +Change,Account_Management,src_user,source.user,string +Intrusion_Detection,IDS_Attacks,action,event.action,string +Intrusion_Detection,IDS_Attacks,dest,destination.address,string +Intrusion_Detection,IDS_Attacks,dest_port,destination.port,number +Intrusion_Detection,IDS_Attacks,dvc,observer.hostname,string +Intrusion_Detection,IDS_Attacks,severity,event.severity,string +Intrusion_Detection,IDS_Attacks,src,source.ip,string +Intrusion_Detection,IDS_Attacks,user,source.user,string +JVM,OS,os,host.os.name,string +JVM,OS,os_architecture,host.architecture,string +JVM,OS,os_version,host.os.version,string +Malware,Malware_Attacks,action,event.action,string +Malware,Malware_Attacks,date,event.created,string +Malware,Malware_Attacks,dest,host.hostname,string +Malware,Malware_Attacks,file_hash,file.hash.*,string +Malware,Malware_Attacks,file_name,file.name,string +Malware,Malware_Attacks,file_path,file.path,string +Malware,Malware_Attacks,Sender,source.user.email,string +Malware,Malware_Attacks,src,source.ip,string +Malware,Malware_Attacks,user,related.user,string +Malware,Malware_Attacks,url,rule.reference,string +Network_Resolution,DNS,answer,dns.answers,string +Network_Resolution,DNS,dest,destination.address,string +Network_Resolution,DNS,dest_port,destination.port,number +Network_Resolution,DNS,duration,event.duration,number +Network_Resolution,DNS,message_type,dns.type,string +Network_Resolution,DNS,name,dns.question.name,string +Network_Resolution,DNS,query,dns.question.name,string +Network_Resolution,DNS,query_type,dns.op_code,string +Network_Resolution,DNS,record_type,dns.question.type,string +Network_Resolution,DNS,reply_code,dns.response_code,string +Network_Resolution,DNS,reply_code_id,dns.id,number +Network_Resolution,DNS,response_time,event.duration,number +Network_Resolution,DNS,src,source.address,string +Network_Resolution,DNS,src_port,source.port,number +Network_Resolution,DNS,transaction_id,dns.id,number +Network_Resolution,DNS,transport,network.transport,string +Network_Resolution,DNS,ttl,dns.answers.ttl,number +Network_Sessions,All_Sessions,action,event.action,string +Network_Sessions,All_Sessions,dest_ip,destination.ip,string +Network_Sessions,All_Sessions,dest_mac,destination.mac,string +Network_Sessions,All_Sessions,duration,event.duration,number +Network_Sessions,All_Sessions,src_dns,source.registered_domain,string +Network_Sessions,All_Sessions,src_ip,source.ip,string +Network_Sessions,All_Sessions,src_mac,source.mac,string +Network_Sessions,All_Sessions,user,user.name,string +Network_Traffic,All_Traffic,action,event.action,string +Network_Traffic,All_Traffic,app,network.protocol,string +Network_Traffic,All_Traffic,bytes,network.bytes,number +Network_Traffic,All_Traffic,dest,destination.ip,string +Network_Traffic,All_Traffic,dest_ip,destination.ip,string +Network_Traffic,All_Traffic,dest_mac,destination.mac,string +Network_Traffic,All_Traffic,dest_port,destination.port,number +Network_Traffic,All_Traffic,dest_translated_ip,destination.nat.ip,string +Network_Traffic,All_Traffic,dest_translated_port,destination.nat.port,number +Network_Traffic,All_Traffic,direction,network.direction,string +Network_Traffic,All_Traffic,duration,event.duration,number +Network_Traffic,All_Traffic,dvc,observer.name,string +Network_Traffic,All_Traffic,dvc_ip,observer.ip,string +Network_Traffic,All_Traffic,dvc_mac,observer.mac,string +Network_Traffic,All_Traffic,dvc_zone,observer.egress.zone,string +Network_Traffic,All_Traffic,packets,network.packets,number +Network_Traffic,All_Traffic,packets_in,source.packets,number +Network_Traffic,All_Traffic,packets_out,destination.packets,number +Network_Traffic,All_Traffic,protocol,network.protocol,string +Network_Traffic,All_Traffic,rule,rule.name,string +Network_Traffic,All_Traffic,src,source.address,string +Network_Traffic,All_Traffic,src_ip,source.ip,string +Network_Traffic,All_Traffic,src_mac,source.mac,string +Network_Traffic,All_Traffic,src_port,source.port,number +Network_Traffic,All_Traffic,src_translated_ip,source.nat.ip,string +Network_Traffic,All_Traffic,src_translated_port,source.nat.port,number +Network_Traffic,All_Traffic,transport,network.transport,string +Network_Traffic,All_Traffic,vlan,vlan.name,string +Vulnerabilities,Vulnerabilities,category,vulnerability.category,string +Vulnerabilities,Vulnerabilities,cve,vulnerability.id,string +Vulnerabilities,Vulnerabilities,cvss,vulnerability.score.base,number +Vulnerabilities,Vulnerabilities,dest,host.name,string +Vulnerabilities,Vulnerabilities,dvc,vulnerability.scanner.vendor,string +Vulnerabilities,Vulnerabilities,severity,vulnerability.severity,string +Vulnerabilities,Vulnerabilities,url,vulnerability.reference,string +Vulnerabilities,Vulnerabilities,user,related.user,string +Vulnerabilities,Vulnerabilities,vendor_product,vulnerability.scanner.vendor,string +Endpoint,Ports,creation_time,@timestamp,timestamp +Endpoint,Ports,dest_port,destination.port,number +Endpoint,Ports,process_id,process.pid,string +Endpoint,Ports,transport,network.transport,string +Endpoint,Ports,transport_dest_port,destination.port,string +Endpoint,Processes,action,event.action,string +Endpoint,Processes,os,os.full,string +Endpoint,Processes,parent_process_exec,process.parent.name,string +Endpoint,Processes,parent_process_id,process.ppid,number +Endpoint,Processes,parent_process_guid,process.parent.entity_id,string +Endpoint,Processes,parent_process_path,process.parent.executable,string +Endpoint,Processes,process_current_directory,process.parent.working_directory, +Endpoint,Processes,process_exec,process.name,string +Endpoint,Processes,process_hash,process.hash.*,string +Endpoint,Processes,process_guid,process.entity_id,string +Endpoint,Processes,process_id,process.pid,number +Endpoint,Processes,process_path,process.executable,string +Endpoint,Processes,user_id,related.user,string +Endpoint,Services,description,service.name,string +Endpoint,Services,process_id,service.id,string +Endpoint,Services,service_dll,dll.name,string +Endpoint,Services,service_dll_path,dll.path,string +Endpoint,Services,service_dll_hash,dll.hash.*,string +Endpoint,Services,service_dll_signature_exists,dll.code_signature.exists,boolean +Endpoint,Services,service_dll_signature_verified,dll.code_signature.valid,boolean +Endpoint,Services,service_exec,service.name,string +Endpoint,Services,service_hash,hash.*,string +Endpoint,Filesystem,file_access_time,file.accessed,timestamp +Endpoint,Filesystem,file_create_time,file.created,timestamp +Endpoint,Filesystem,file_modify_time,file.mtime,timestamp +Endpoint,Filesystem,process_id,process.pid,string +Endpoint,Registry,process_id,process.id,string +Web,Web,action,event.action,string +Web,Web,app,observer.product,string +Web,Web,bytes_in,http.request.bytes,number +Web,Web,bytes_out,http.response.bytes,number +Web,Web,dest,destination.ip,string +Web,Web,duration,event.duration,number +Web,Web,http_method,http.request.method,string +Web,Web,http_referrer,http.request.referrer,string +Web,Web,http_user_agent,user_agent.name,string +Web,Web,status,http.response.status_code,string +Web,Web,url,url.full,string +Web,Web,user,url.username,string +Web,Web,vendor_product,observer.product,string`; diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/ecs_mapping/ecs_mapping.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/ecs_mapping/ecs_mapping.ts new file mode 100644 index 0000000000000..ac7f6db7236d1 --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/ecs_mapping/ecs_mapping.ts @@ -0,0 +1,66 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { Logger } from '@kbn/core/server'; +import type { InferenceClient } from '@kbn/inference-plugin/server'; +import { SiemMigrationRuleTranslationResult } from '../../../../../../../../../../common/siem_migrations/constants'; +import { getEsqlKnowledgeBase } from '../../../../../util/esql_knowledge_base_caller'; +import type { GraphNode } from '../../types'; +import { SIEM_RULE_MIGRATION_CIM_ECS_MAP } from './cim_ecs_map'; +import { ESQL_TRANSLATE_ECS_MAPPING_PROMPT } from './prompts'; + +interface GetEcsMappingNodeParams { + inferenceClient: InferenceClient; + connectorId: string; + logger: Logger; +} + +export const getEcsMappingNode = ({ + inferenceClient, + connectorId, + logger, +}: GetEcsMappingNodeParams): GraphNode => { + const esqlKnowledgeBaseCaller = getEsqlKnowledgeBase({ inferenceClient, connectorId, logger }); + return async (state) => { + const elasticRule = { + title: state.elastic_rule.title, + description: state.elastic_rule.description, + query: state.elastic_rule.query, + }; + + const prompt = await ESQL_TRANSLATE_ECS_MAPPING_PROMPT.format({ + field_mapping: SIEM_RULE_MIGRATION_CIM_ECS_MAP, + splunk_query: state.inline_query, + elastic_rule: JSON.stringify(elasticRule, null, 2), + }); + + const response = await esqlKnowledgeBaseCaller(prompt); + + const updatedQuery = response.match(/```esql\n([\s\S]*?)\n```/)?.[1] ?? ''; + const ecsSummary = response.match(/## Field Mapping Summary[\s\S]*$/)?.[0] ?? ''; + + const translationResult = getTranslationResult(updatedQuery); + + return { + response, + comments: [ecsSummary], + translation_finalized: true, + translation_result: translationResult, + elastic_rule: { + ...state.elastic_rule, + query: updatedQuery, + }, + }; + }; +}; + +const getTranslationResult = (esqlQuery: string): SiemMigrationRuleTranslationResult => { + if (esqlQuery.match(/\[(macro|lookup):[\s\S]*\]/)) { + return SiemMigrationRuleTranslationResult.PARTIAL; + } + return SiemMigrationRuleTranslationResult.FULL; +}; diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/ecs_mapping/index.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/ecs_mapping/index.ts new file mode 100644 index 0000000000000..339e6d3dd8e7a --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/ecs_mapping/index.ts @@ -0,0 +1,7 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +export { getEcsMappingNode } from './ecs_mapping'; diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/ecs_mapping/prompts.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/ecs_mapping/prompts.ts new file mode 100644 index 0000000000000..1e89cda884ca0 --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/ecs_mapping/prompts.ts @@ -0,0 +1,46 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { ChatPromptTemplate } from '@langchain/core/prompts'; + +export const ESQL_TRANSLATE_ECS_MAPPING_PROMPT = + ChatPromptTemplate.fromTemplate(`You are a helpful cybersecurity (SIEM) expert agent. Your task is to migrate "detection rules" from Splunk SPL to Elasticsearch ESQL. +Your task is to look at the new ESQL query already generated from its initial Splunk SPL query and translate the Splunk CIM field names to the Elastic Common Schema (ECS) fields. +Below is the relevant context used when deciding which Elastic Common Schema field to use when translating from Splunk CIM fields: + + + +{field_mapping} + + +{splunk_query} + + +{elastic_rule} + + + +Go through the current esql query above and translate the current field names that originated from a Splunk CIM/SPL query to the equivalent Elastic Common Schema (ECS) fields by following these steps: +- Analyze all the information about the related esql rule especially the query and try to determine the intent of the rule, which should help in choosing which fields to map to ECS. +- Try to determine if and which datamodel is being used by looking at the initial splunk query, the query usually contains the datamodel name, its object and related fields. +- Go through each part of the ESQL query, if a part is determined to be related to a splunk CIM field or datamodel use the cim to ecs map above to determine the equivalent ECS field. +- If a field is not in the cim to ecs map, or no datamodel is used, try to use your existing knowledge about Elastic Common Schema to determine if and which ECS field to use. +- Do not reuse the same ECS field name for multiple Splunk CIM fields, always try to find the most appropriate ECS field. +- If you are uncertain about a field mapping, leave it as is and mention it in the summary. + + +- If a field is found in the CIM to ECS map, replace the field name with the ECS field name. If not, try to determine if and what equivalent ECS field can be used. +- Only translate the field names, do not modify the structure of the query. +- Only translate when you are certain about the field mapping, if uncertain, leave the field as is and mention it in the summary. +- Only use and modify the current ESQL query, do not create a new one or modify any other part of the rule. + + + +- First, the updated ES|QL query inside an \`\`\`esql code block. +- At the end, the summary of the the field mapping process followed in markdown, starting with "## Field Mapping Summary". This would include the reason, original field names, the target ECS field name and any fields that were left as is. + +`); diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/filter_index_patterns/filter_index_patterns.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/filter_index_patterns/filter_index_patterns.ts new file mode 100644 index 0000000000000..bb1e086bf4937 --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/filter_index_patterns/filter_index_patterns.ts @@ -0,0 +1,40 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { Logger } from '@kbn/core/server'; +import { SiemMigrationRuleTranslationResult } from '../../../../../../../../../../common/siem_migrations/constants'; +import type { GraphNode } from '../../types'; + +interface GetFilterIndexPatternsNodeParams { + logger: Logger; +} + +/** + * When rule translation happens without any related integrations found we reuse the logs-* pattern to make validation easier. + * However we want to replace this with a value to notify the end user that it needs to be replaced. + */ +export const getFilterIndexPatternsNode = ({ + logger, +}: GetFilterIndexPatternsNodeParams): GraphNode => { + return async (state) => { + const query = state.elastic_rule?.query; + + if (query && query.includes('logs-*')) { + logger.debug('Replacing logs-* with a placeholder value'); + const newQuery = query.replace('logs-*', '[indexPattern:logs-*]'); + return { + elastic_rule: { + ...state.elastic_rule, + query: newQuery, + translation_result: SiemMigrationRuleTranslationResult.PARTIAL, + }, + }; + } + + return {}; + }; +}; diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/filter_index_patterns/index.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/filter_index_patterns/index.ts new file mode 100644 index 0000000000000..6e7762633b7fd --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/filter_index_patterns/index.ts @@ -0,0 +1,7 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +export { getFilterIndexPatternsNode } from './filter_index_patterns'; diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/retrieve_integrations/prompts.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/retrieve_integrations/prompts.ts new file mode 100644 index 0000000000000..d562bb31b1628 --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/retrieve_integrations/prompts.ts @@ -0,0 +1,49 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { ChatPromptTemplate } from '@langchain/core/prompts'; +export const MATCH_INTEGRATION_PROMPT = ChatPromptTemplate.fromMessages([ + [ + 'system', + `You are an expert assistant in Cybersecurity, your task is to help migrating a SIEM detection rule, from Splunk Security to Elastic Security. +You will be provided with a Splunk Detection Rule name by the user, your goal is to try to find the most relevant Elastic Integration from the integration list below if any, and return either the most relevant. If none seems relevant you should always return empty. +Here are some context for you to reference for your task, read it carefully as you will get questions about it later: + + + +{integrations} + + +`, + ], + [ + 'human', + `See the below description of the relevant splunk rule and try to match it with any of the Elastic Integrations from before, do not guess or reply with anything else, only reply with the most relevant Elastic Integration if any. + +{splunk_rule} + + + +- Always reply with a JSON object with the key "match" and the value being the most relevant matched integration title. Do not reply with anything else. +- Only reply with exact matches, if you are unsure or do not find a very confident match, always reply with an empty string value in the match key, do not guess or reply with anything else. +- If there is one elastic integration in the list that covers the relevant usecase, set the title of the matching integration as a value of the match key. Do not reply with anything else. +- If there are multiple elastic integrations in the list that cover the same usecase, answer with the most specific of them, for example if the rule is related to "Sysmon" then the Sysmon integration is more specific than Windows. + + + +U: +Linux Auditd Add User Account Type + +A: Please find the match JSON object below: +\`\`\`json +{{"match": "auditd_manager"}} +\`\`\` + +`, + ], + ['ai', 'Please find the match JSON object below:'], +]); diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/retrieve_integrations/retrieve_integrations.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/retrieve_integrations/retrieve_integrations.ts index fa5b761806b5d..74c9055bd7665 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/retrieve_integrations/retrieve_integrations.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/retrieve_integrations/retrieve_integrations.ts @@ -5,22 +5,57 @@ * 2.0. */ +import { JsonOutputParser } from '@langchain/core/output_parsers'; import type { RuleMigrationsRetriever } from '../../../../../retrievers'; +import type { ChatModel } from '../../../../../util/actions_client_chat'; import type { GraphNode } from '../../types'; +import { MATCH_INTEGRATION_PROMPT } from './prompts'; interface GetRetrieveIntegrationsNodeParams { + model: ChatModel; ruleMigrationsRetriever: RuleMigrationsRetriever; } +interface GetMatchedIntegrationResponse { + match: string; +} + export const getRetrieveIntegrationsNode = ({ + model, ruleMigrationsRetriever, }: GetRetrieveIntegrationsNodeParams): GraphNode => { return async (state) => { const query = state.semantic_query; const integrations = await ruleMigrationsRetriever.integrations.getIntegrations(query); - return { - integrations, + + const outputParser = new JsonOutputParser(); + const mostRelevantIntegration = MATCH_INTEGRATION_PROMPT.pipe(model).pipe(outputParser); + + const elasticSecurityIntegrations = integrations.map((integration) => { + return { + title: integration.title, + description: integration.description, + }; + }); + const splunkRule = { + title: state.original_rule.title, + description: state.original_rule.description, }; + + /* + * Takes the most relevant integration from the array of integration(s) returned by the semantic query, returns either the most relevant or none. + */ + const response = (await mostRelevantIntegration.invoke({ + integrations: JSON.stringify(elasticSecurityIntegrations, null, 2), + splunk_rule: JSON.stringify(splunkRule, null, 2), + })) as GetMatchedIntegrationResponse; + if (response.match) { + const matchedIntegration = integrations.find((r) => r.title === response.match); + if (matchedIntegration) { + return { integration: matchedIntegration }; + } + } + return {}; }; }; diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/translate_rule/prompts.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/translate_rule/prompts.ts index 9749dfd96efba..1ea8295c7402f 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/translate_rule/prompts.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/translate_rule/prompts.ts @@ -7,46 +7,39 @@ import { ChatPromptTemplate } from '@langchain/core/prompts'; -export const ESQL_TRANSLATION_PROMPT = - ChatPromptTemplate.fromTemplate(`You are a helpful cybersecurity (SIEM) expert agent. Your task is to migrate "detection rules" from Splunk to Elastic Security. -Your goal is to translate the SPL query into an equivalent Elastic Security Query Language (ES|QL) query. -Below is the relevant context used when deciding which Elastic Common Schema field to use when translating from Splunk CIM fields: +export const ESQL_SYNTAX_TRANSLATION_PROMPT = + ChatPromptTemplate.fromTemplate(`You are a helpful cybersecurity (SIEM) expert agent. Your task is to migrate "detection rules" from Splunk SPL to Elasticsearch ES|QL. +Your goal is to translate the SPL query syntax into an equivalent Elastic Search Query Language (ES|QL) query without changing any of the field names and focusing only on translating the syntax and structure. +Here are some context for you to reference for your task, read it carefully as you will get questions about it later: - -{field_mapping} - + +{splunk_rule} + + +If, in the SPL query, you find a lookup list or macro call, mention it in the summary and add a placeholder in the query with the format [macro:(argumentCount)] or [lookup:] including the [] keys, + Examples: + - \`get_duration(firstDate,secondDate)\` -> [macro:get_duration(2)] + - lookup dns_domains.csv -> [lookup:dns_domains.csv]. + -## Splunk rule Information provided: -- Below you will find Splunk rule information: the title (<>), the description (<<DESCRIPTION>>), and the SPL (Search Processing Language) query (<<SPL_QUERY>>). -- Use all the information to analyze the intent of the rule, in order to translate into an equivalent ES|QL rule. -- The fields in the Splunk query may not be the same as in the Elastic Common Schema (ECS), so you may need to map them accordingly. +Go through each step and part of the splunk rule and query while following the below guide to produce the resulting ES|QL query: +- Analyze all the information about the related splunk rule and try to determine the intent of the rule, in order to translate into an equivalent ES|QL rule. +- Go through each part of the SPL query and determine the steps required to produce the same end results using ES|QL. Only focus on translating the structure without modifying any of the field names. +- Do NOT map any of the fields to the Elastic Common Schema (ECS), this will happen in a later step. +- Always remember to replace any lookup list or macro call with the appropriate placeholder as defined in the context. -## Guidelines: + +<guidelines> - Analyze the SPL query and identify the key components. -- Translate the SPL query into an equivalent ES|QL query using ECS (Elastic Common Schema) field names. -- Always start the generated ES|QL query by filtering FROM using these index patterns in the translated query: {indexPatterns}. -- If, in the SPL query, you find a lookup list or macro call, mention it in the summary and add a placeholder in the query with the format [macro:<macro_name>(argumentCount)] or [lookup:<lookup_name>] including the [] keys, - - Examples: - - \`get_duration(firstDate,secondDate)\` -> [macro:get_duration(2)] - - lookup dns_domains.csv -> [lookup:dns_domains.csv]. +- Do NOT translate the field names of the SPL query. +- Always start the resulting ES|QL query by filtering using FROM and with these index patterns: {indexPatterns}. +- Remember to always replace any lookup list or macro call with the appropriate placeholder as defined in the context. +</guidelines> -## The output will be parsed and must contain: +<expected_output> - First, the ES|QL query inside an \`\`\`esql code block. -- At the end, the summary of the translation process followed in markdown, starting with "## Migration Summary". - -Find the Splunk rule information below: - -<<TITLE>> -{title} -<> - -<> -{description} -<> - -<> -{inline_query} -<> +- At the end, the summary of the translation process followed in markdown, starting with "## Translation Summary". + `); diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/translate_rule/translate_rule.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/translate_rule/translate_rule.ts index 85f5e7279d2b9..09f9bca474004 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/translate_rule/translate_rule.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/nodes/translate_rule/translate_rule.ts @@ -10,8 +10,7 @@ import type { InferenceClient } from '@kbn/inference-plugin/server'; import { SiemMigrationRuleTranslationResult } from '../../../../../../../../../../common/siem_migrations/constants'; import { getEsqlKnowledgeBase } from '../../../../../util/esql_knowledge_base_caller'; import type { GraphNode } from '../../types'; -import { SIEM_RULE_MIGRATION_CIM_ECS_MAP } from './cim_ecs_map'; -import { ESQL_TRANSLATION_PROMPT } from './prompts'; +import { ESQL_SYNTAX_TRANSLATION_PROMPT } from './prompts'; interface GetTranslateRuleNodeParams { inferenceClient: InferenceClient; @@ -26,34 +25,35 @@ export const getTranslateRuleNode = ({ }: GetTranslateRuleNodeParams): GraphNode => { const esqlKnowledgeBaseCaller = getEsqlKnowledgeBase({ inferenceClient, connectorId, logger }); return async (state) => { - const indexPatterns = state.integrations - .flatMap((integration) => - integration.data_streams.map((dataStream) => dataStream.index_pattern) - ) - .join(','); - const integrationIds = state.integrations.map((integration) => integration.id); + const indexPatterns = + state.integration?.data_streams?.map((dataStream) => dataStream.index_pattern).join(',') || + 'logs-*'; + const integrationId = state.integration?.id || ''; - const prompt = await ESQL_TRANSLATION_PROMPT.format({ + const splunkRule = { title: state.original_rule.title, description: state.original_rule.description, - field_mapping: SIEM_RULE_MIGRATION_CIM_ECS_MAP, inline_query: state.inline_query, + }; + + const prompt = await ESQL_SYNTAX_TRANSLATION_PROMPT.format({ + splunk_rule: JSON.stringify(splunkRule, null, 2), indexPatterns, }); const response = await esqlKnowledgeBaseCaller(prompt); const esqlQuery = response.match(/```esql\n([\s\S]*?)\n```/)?.[1] ?? ''; - const summary = response.match(/## Migration Summary[\s\S]*$/)?.[0] ?? ''; + const translationSummary = response.match(/## Translation Summary[\s\S]*$/)?.[0] ?? ''; const translationResult = getTranslationResult(esqlQuery); return { response, - comments: [summary], + comments: [translationSummary], translation_result: translationResult, elastic_rule: { title: state.original_rule.title, - integration_ids: integrationIds, + integration_id: integrationId, description: state.original_rule.description, severity: 'low', query: esqlQuery, diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/state.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/state.ts index ac8799cb09d74..ea46238002178 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/state.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/state.ts @@ -22,9 +22,13 @@ export const translateRuleState = Annotation.Root({ default: () => [], }), original_rule: Annotation(), - integrations: Annotation({ + integration: Annotation({ reducer: (current, value) => value ?? current, - default: () => [], + default: () => ({} as Integration), + }), + translation_finalized: Annotation({ + reducer: (current, value) => value ?? current, + default: () => false, }), inline_query: Annotation({ reducer: (current, value) => value ?? current, diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/types.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/types.ts index eddc415f23392..0a3435d496736 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/types.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/agent/sub_graphs/translate_rule/types.ts @@ -8,12 +8,14 @@ import type { Logger } from '@kbn/core/server'; import type { InferenceClient } from '@kbn/inference-plugin/server'; import type { RuleMigrationsRetriever } from '../../../retrievers'; +import type { ChatModel } from '../../../util/actions_client_chat'; import type { translateRuleState } from './state'; export type TranslateRuleState = typeof translateRuleState.State; export type GraphNode = (state: TranslateRuleState) => Promise>; export interface TranslateRuleGraphParams { + model: ChatModel; inferenceClient: InferenceClient; connectorId: string; ruleMigrationsRetriever: RuleMigrationsRetriever; diff --git a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/rule_migrations_task_client.ts b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/rule_migrations_task_client.ts index fe3e01fe84925..1edd1b449070c 100644 --- a/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/rule_migrations_task_client.ts +++ b/x-pack/plugins/security_solution/server/lib/siem_migrations/rules/task/rule_migrations_task_client.ts @@ -27,7 +27,7 @@ import type { } from './types'; import { ActionsClientChat } from './util/actions_client_chat'; -const ITERATION_BATCH_SIZE = 50 as const; +const ITERATION_BATCH_SIZE = 15 as const; const ITERATION_SLEEP_SECONDS = 10 as const; type MigrationsRunning = Map; From 0a384639a612e63ba6ff3bf449b3ab7bebecbf18 Mon Sep 17 00:00:00 2001 From: Tim Sullivan Date: Thu, 12 Dec 2024 12:02:36 -0700 Subject: [PATCH 45/52] [SharedUX] EUI visual refresh for SharedUX (#202780) ## Summary Part of https://github.com/elastic/kibana/issues/200620 1. Remove usage of deprecated color variables 2. Remove usage of `@kbn/ui-theme` 3. A few other changes as requested by @andreadelrio --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../components/form/bottom_bar/bottom_bar.tsx | 2 +- .../shared-ux/button_toolbar/kibana.jsonc | 4 +- .../toolbar_button/toolbar_button.styles.ts | 4 +- .../src/ui/components/panel/label_badge.tsx | 3 +- .../code_editor/impl/placeholder_widget.ts | 2 +- .../file/file_picker/impl/kibana.jsonc | 4 +- .../file/file_upload/impl/kibana.jsonc | 4 +- .../impl/src/components/cancel_button.tsx | 3 +- .../impl/src/components/upload_button.tsx | 1 + .../impl/src/file_upload.component.tsx | 30 +++++++----- .../file/file_upload/impl/tsconfig.json | 1 - .../public/components/guide_button.tsx | 4 +- .../components/guide_panel_step.styles.ts | 12 +++-- .../public/components/quit_guide_modal.tsx | 2 +- .../components/tutorial/instruction_set.js | 2 +- .../public/components/_overview.scss | 2 +- .../public/side_navigation/index.tsx | 48 +++++++++---------- src/plugins/navigation/tsconfig.json | 1 - .../save_modal/saved_object_save_modal.tsx | 6 ++- src/plugins/saved_objects/tsconfig.json | 15 ++++-- .../public/management/components/table.tsx | 13 +++-- .../saved_objects_tagging/tsconfig.json | 1 - .../serverless/public/navigation/index.tsx | 44 +++++++++-------- x-pack/plugins/serverless/tsconfig.json | 1 - 24 files changed, 115 insertions(+), 94 deletions(-) diff --git a/packages/kbn-management/settings/components/form/bottom_bar/bottom_bar.tsx b/packages/kbn-management/settings/components/form/bottom_bar/bottom_bar.tsx index e9947ac6f9306..dd300aad99c3a 100644 --- a/packages/kbn-management/settings/components/form/bottom_bar/bottom_bar.tsx +++ b/packages/kbn-management/settings/components/form/bottom_bar/bottom_bar.tsx @@ -87,7 +87,7 @@ export const BottomBar = ({ { borderColor: euiTheme.border.color, }, emptyButton: { - backgroundColor: euiTheme.colors.emptyShade, + backgroundColor: euiTheme.colors.backgroundBasePlain, border: `${euiTheme.border.thin}`, - color: `${euiTheme.colors.text}`, + color: `${euiTheme.colors.textParagraph}`, }, buttonPositions: { left: { diff --git a/packages/shared-ux/chrome/navigation/src/ui/components/panel/label_badge.tsx b/packages/shared-ux/chrome/navigation/src/ui/components/panel/label_badge.tsx index 8ea6fc9718125..ceff96fde7ed6 100644 --- a/packages/shared-ux/chrome/navigation/src/ui/components/panel/label_badge.tsx +++ b/packages/shared-ux/chrome/navigation/src/ui/components/panel/label_badge.tsx @@ -25,14 +25,13 @@ export const LabelBadge = ({ className?: string; }) => { const { euiTheme } = useEuiTheme(); - return ( = ({ onClick, compressed }) /> ) : ( {i18nTexts.cancel} diff --git a/packages/shared-ux/file/file_upload/impl/src/components/upload_button.tsx b/packages/shared-ux/file/file_upload/impl/src/components/upload_button.tsx index ba712fefff537..447f6acfdcdaf 100644 --- a/packages/shared-ux/file/file_upload/impl/src/components/upload_button.tsx +++ b/packages/shared-ux/file/file_upload/impl/src/components/upload_button.tsx @@ -30,6 +30,7 @@ export const UploadButton: FunctionComponent = ({ onClick }) => { key="uploadButton" isLoading={uploading} color={done ? 'success' : 'primary'} + fill={true} iconType={done ? 'checkInCircleFilled' : undefined} disabled={Boolean(!files.length || error || done)} onClick={onClick} diff --git a/packages/shared-ux/file/file_upload/impl/src/file_upload.component.tsx b/packages/shared-ux/file/file_upload/impl/src/file_upload.component.tsx index 0cff9a248d135..d79bd18dc7516 100644 --- a/packages/shared-ux/file/file_upload/impl/src/file_upload.component.tsx +++ b/packages/shared-ux/file/file_upload/impl/src/file_upload.component.tsx @@ -7,27 +7,30 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ +import { css } from '@emotion/react'; import React from 'react'; +import useObservable from 'react-use/lib/useObservable'; + import { - EuiText, - EuiSpacer, - EuiFlexItem, - EuiFlexGroup, EuiFilePicker, + EuiFlexGroup, + EuiFlexItem, + EuiSpacer, + EuiText, useEuiTheme, useGeneratedHtmlId, + mathWithUnits, } from '@elastic/eui'; import type { EuiFilePickerClass, EuiFilePickerProps, } from '@elastic/eui/src/components/form/file_picker/file_picker'; -import { euiThemeVars } from '@kbn/ui-theme'; + import { useBehaviorSubject } from '@kbn/shared-ux-file-util'; -import { css } from '@emotion/react'; -import useObservable from 'react-use/lib/useObservable'; -import { i18nTexts } from './i18n_texts'; -import { ControlButton, ClearButton } from './components'; + +import { ClearButton, ControlButton } from './components'; import { useUploadState } from './context'; +import { i18nTexts } from './i18n_texts'; export interface Props { meta?: unknown; @@ -41,8 +44,6 @@ export interface Props { className?: string; } -const { euiFormMaxWidth, euiButtonHeightSmall } = euiThemeVars; - const styles = { horizontalContainer: css` display: flex; @@ -79,12 +80,15 @@ export const FileUpload = React.forwardRef( const id = useGeneratedHtmlId({ prefix: 'filesFileUpload' }); const errorId = `${id}_error`; + // FIXME: add a token for this on euiTheme.components. https://github.com/elastic/eui/issues/8217 + const formMaxWidth = mathWithUnits(euiTheme.size.base, (x) => x * 25); + return (
( css={css` display: flex; align-items: center; - min-height: ${euiButtonHeightSmall}; + min-height: ${euiTheme.size.xl}; `} size="s" color="danger" diff --git a/packages/shared-ux/file/file_upload/impl/tsconfig.json b/packages/shared-ux/file/file_upload/impl/tsconfig.json index 81d7704f03f7b..7fbdf2f04dc6f 100644 --- a/packages/shared-ux/file/file_upload/impl/tsconfig.json +++ b/packages/shared-ux/file/file_upload/impl/tsconfig.json @@ -15,7 +15,6 @@ ], "kbn_references": [ "@kbn/i18n", - "@kbn/ui-theme", "@kbn/shared-ux-file-context", "@kbn/shared-ux-file-util", "@kbn/shared-ux-file-types", diff --git a/src/plugins/guided_onboarding/public/components/guide_button.tsx b/src/plugins/guided_onboarding/public/components/guide_button.tsx index 7df5d03049f1f..32d78c1af545a 100644 --- a/src/plugins/guided_onboarding/public/components/guide_button.tsx +++ b/src/plugins/guided_onboarding/public/components/guide_button.tsx @@ -58,7 +58,7 @@ export const GuideButton = ({ {i18n.translate('guidedOnboarding.quitGuideModal.quitButtonLabel', { defaultMessage: 'Quit guide', diff --git a/src/plugins/home/public/application/components/tutorial/instruction_set.js b/src/plugins/home/public/application/components/tutorial/instruction_set.js index a4c64894bea95..41104b6269895 100644 --- a/src/plugins/home/public/application/components/tutorial/instruction_set.js +++ b/src/plugins/home/public/application/components/tutorial/instruction_set.js @@ -28,7 +28,7 @@ import { import * as StatusCheckStates from './status_check_states'; import { injectI18n, FormattedMessage } from '@kbn/i18n-react'; -import { euiThemeVars } from '@kbn/ui-theme'; +import { euiThemeVars } from '@kbn/ui-theme'; // FIXME: remove this, and access style variables from EUI context class InstructionSetUi extends React.Component { constructor(props) { diff --git a/src/plugins/kibana_overview/public/components/_overview.scss b/src/plugins/kibana_overview/public/components/_overview.scss index 85eebd7da2959..10b4b5a099dab 100644 --- a/src/plugins/kibana_overview/public/components/_overview.scss +++ b/src/plugins/kibana_overview/public/components/_overview.scss @@ -48,7 +48,7 @@ } &.securitySolution { .euiCard__image { - background-color: $euiColorSuccess; + background-color: $euiColorAccentSecondary; } } } diff --git a/src/plugins/navigation/public/side_navigation/index.tsx b/src/plugins/navigation/public/side_navigation/index.tsx index c6659ef1af6f2..5d476b09d1da5 100644 --- a/src/plugins/navigation/public/side_navigation/index.tsx +++ b/src/plugins/navigation/public/side_navigation/index.tsx @@ -8,34 +8,34 @@ */ import { css } from '@emotion/react'; -import { euiThemeVars } from '@kbn/ui-theme'; import React, { Suspense, type FC } from 'react'; -import { EuiSkeletonRectangle } from '@elastic/eui'; +import { EuiSkeletonRectangle, useEuiTheme } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import type { Props as NavigationProps } from './side_navigation'; const SideNavComponentLazy = React.lazy(() => import('./side_navigation')); -export const SideNavComponent: FC = (props) => ( - - } - > - - -); +export const SideNavComponent: FC = (props) => { + const { euiTheme } = useEuiTheme(); + return ( + + } + > + + + ); +}; diff --git a/src/plugins/navigation/tsconfig.json b/src/plugins/navigation/tsconfig.json index 00b5186670cf1..1ee0462330954 100644 --- a/src/plugins/navigation/tsconfig.json +++ b/src/plugins/navigation/tsconfig.json @@ -27,7 +27,6 @@ "@kbn/config-schema", "@kbn/i18n", "@kbn/std", - "@kbn/ui-theme", ], "exclude": [ "target/**/*", diff --git a/src/plugins/saved_objects/public/save_modal/saved_object_save_modal.tsx b/src/plugins/saved_objects/public/save_modal/saved_object_save_modal.tsx index a3e6d1cc22b2a..f56091a407fae 100644 --- a/src/plugins/saved_objects/public/save_modal/saved_object_save_modal.tsx +++ b/src/plugins/saved_objects/public/save_modal/saved_object_save_modal.tsx @@ -32,7 +32,6 @@ import { FormattedMessage } from '@kbn/i18n-react'; import React from 'react'; import { EuiText } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { euiThemeVars } from '@kbn/ui-theme'; export interface OnSaveProps { newTitle: string; @@ -405,7 +404,10 @@ export class SavedObjectSaveModal extends React.Component /> {this.props.mustCopyOnSaveMessage && ( - + ({ marginLeft: `-${euiTheme.size.base}` })} + grow={false} + > )} diff --git a/src/plugins/saved_objects/tsconfig.json b/src/plugins/saved_objects/tsconfig.json index 83e113a7e4e17..167a6e1c7551e 100644 --- a/src/plugins/saved_objects/tsconfig.json +++ b/src/plugins/saved_objects/tsconfig.json @@ -1,20 +1,25 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "target/types", + "outDir": "target/types" }, - "include": ["common/**/*", "public/**/*", "server/**/*"], + "include": [ + "common/**/*", + "public/**/*", + "server/**/*", + // Emotion theme typing + "../../../typings/emotion.d.ts" + ], "kbn_references": [ "@kbn/core", "@kbn/data-plugin", "@kbn/i18n", "@kbn/data-views-plugin", "@kbn/i18n-react", - "@kbn/ui-theme", "@kbn/react-kibana-mount", - "@kbn/test-jest-helpers", + "@kbn/test-jest-helpers" ], "exclude": [ - "target/**/*", + "target/**/*" ] } diff --git a/x-pack/plugins/saved_objects_tagging/public/management/components/table.tsx b/x-pack/plugins/saved_objects_tagging/public/management/components/table.tsx index cde4049a3a82b..4da2bc4841053 100644 --- a/x-pack/plugins/saved_objects_tagging/public/management/components/table.tsx +++ b/x-pack/plugins/saved_objects_tagging/public/management/components/table.tsx @@ -6,10 +6,16 @@ */ import React, { FC, ReactNode } from 'react'; -import { EuiInMemoryTable, EuiBasicTableColumn, EuiLink, Query, EuiIconTip } from '@elastic/eui'; +import { + EuiInMemoryTable, + EuiBasicTableColumn, + EuiLink, + Query, + EuiIconTip, + useEuiTheme, +} from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; -import { euiThemeVars } from '@kbn/ui-theme'; import { TagsCapabilities } from '../../../common'; import type { TagWithRelations } from '../../../common/types'; import { TagBadge } from '../../components'; @@ -59,6 +65,7 @@ export const TagTable: FC = ({ actionBar, actions, }) => { + const { euiTheme } = useEuiTheme(); const columns: Array> = [ { field: 'name', @@ -72,7 +79,7 @@ export const TagTable: FC = ({ <> {tag.managed && ( -
+
import('./navigation')); -export const SideNavComponent: FC = (props) => ( - - } - > - - -); +export const SideNavComponent: FC = (props) => { + const { euiTheme } = useEuiTheme(); + return ( + + } + > + + + ); +}; export { manageOrgMembersNavCardName, generateManageOrgMembersNavCard } from './nav_cards'; diff --git a/x-pack/plugins/serverless/tsconfig.json b/x-pack/plugins/serverless/tsconfig.json index 35cc5e554ceb3..ce60d39bef0f0 100644 --- a/x-pack/plugins/serverless/tsconfig.json +++ b/x-pack/plugins/serverless/tsconfig.json @@ -28,6 +28,5 @@ "@kbn/management-cards-navigation", "@kbn/react-kibana-mount", "@kbn/react-kibana-context-render", - "@kbn/ui-theme", ] } From 99aa884fa08beafd801588c0b38194ec03039008 Mon Sep 17 00:00:00 2001 From: Tim Sullivan Date: Thu, 12 Dec 2024 12:16:07 -0700 Subject: [PATCH 46/52] Preparation for High Contrast Mode, Analytics Experience domains (#202608) ## Summary **Reviewers: Please test the code paths affected by this PR. See the "Risks" section below.** Part of work for enabling "high contrast mode" in Kibana. See https://github.com/elastic/kibana/issues/176219. **Background:** Kibana will soon have a user profile setting to allow users to enable "high contrast mode." This setting will activate a flag with `` that causes EUI components to render with higher contrast visual elements. Consumer plugins and packages need to be updated selected places where `` is wrapped, to pass the `UserProfileService` service dependency from the CoreStart contract. **NOTE:** **EUI currently does not yet support the high-contrast mode flag**, but support for that is expected to come in around 2 weeks. These first PRs are simply preparing the code by wiring up the `UserProvideService`. ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - [X] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [X] The PR description includes the appropriate Release Notes section, and the correct `release_note:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) ### Risks Does this PR introduce any risks? For example, consider risks like hard to test bugs, performance regression, potential of data loss. Describe the risk, its severity, and mitigation for each identified risk. Invite stakeholders and evaluate how to proceed before merging. - [ ] [medium/high] The implementor of this change did not manually test the affected code paths and relied on type-checking and functional tests to drive the changes. Code owners for this PR need to manually test the affected code paths. - [ ] [medium] The `UserProfileService` dependency comes from the CoreStart contract. If acquiring the service causes synchronous code to become asynchronous, check for race conditions or errors in rendering React components. Code owners for this PR need to manually test the affected code paths. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- examples/controls_example/public/app/app.tsx | 2 +- .../react_control_example.tsx | 5 +-- .../public/plugin.tsx | 4 +- .../embeddable_examples/public/app/app.tsx | 2 +- .../data_table_react_embeddable.tsx | 2 +- .../saved_book/saved_book_editor.tsx | 5 +-- examples/expressions_explorer/public/app.tsx | 8 ++-- .../expressions_explorer/public/plugin.tsx | 1 + examples/grid_example/public/get_panel_id.tsx | 5 +-- .../public/app.tsx | 2 +- .../public/application.tsx | 6 +-- .../public/plugin.tsx | 3 +- .../search_examples/public/search/app.tsx | 14 +++--- .../public/search_sessions/app.tsx | 2 + .../public/application.tsx | 4 +- .../src/handle_warnings.tsx | 2 + .../expression_xy/public/types.ts | 2 +- .../open_edit_control_group_flyout.tsx | 5 +-- .../open_data_control_editor.tsx | 5 +-- .../copy_to_dashboard_action.tsx | 9 ++-- .../listing_page/dashboard_no_match.tsx | 2 +- .../dashboard_app/top_nav/editor_menu.tsx | 2 +- .../embeddable/api/open_settings_flyout.tsx | 2 +- .../dashboard_listing/confirm_overlays.tsx | 2 +- .../search_interceptor/search_interceptor.ts | 6 ++- .../data/public/search/search_service.ts | 17 ++----- .../sessions_mgmt/application/render.tsx | 4 +- .../data_view_management/public/types.ts | 2 +- .../application/main/discover_main_route.tsx | 5 +-- src/plugins/discover/public/build_services.ts | 6 ++- .../__stories__/error_renderer.stories.tsx | 4 +- .../expression_renderers/debug_renderer.tsx | 44 +++++++++---------- .../expression_renderers/error_renderer.tsx | 9 ++-- src/plugins/expression_error/public/plugin.ts | 6 ++- .../__stories__/image_renderer.stories.tsx | 2 +- .../expression_renderers/image_renderer.tsx | 9 ++-- src/plugins/expression_image/public/plugin.ts | 6 ++- .../__stories__/metric_renderer.stories.tsx | 16 +++---- .../expression_renderers/metric_renderer.tsx | 9 ++-- .../expression_metric/public/plugin.ts | 6 ++- .../repeat_image_renderer.stories.tsx | 2 +- .../repeat_image_renderer.tsx | 10 ++--- .../expression_repeat_image/public/plugin.ts | 6 ++- .../reveal_image_renderer.stories.tsx | 7 +-- .../reveal_image_renderer.tsx | 10 ++--- .../expression_reveal_image/public/plugin.ts | 6 ++- .../__stories__/progress_renderer.stories.tsx | 4 +- .../__stories__/shape_renderer.stories.tsx | 4 +- .../progress_renderer.tsx | 9 ++-- .../expression_renderers/shape_renderer.tsx | 9 ++-- src/plugins/expression_shape/public/plugin.ts | 10 +++-- .../image_editor/open_image_editor.tsx | 4 +- .../public/editor/open_editor_flyout.tsx | 2 +- .../open_customize_panel.tsx | 2 +- .../public/actions/apply_filter_action.ts | 4 +- src/plugins/unified_search/public/plugin.ts | 7 +-- .../query_string_input/query_string_input.tsx | 4 +- src/plugins/unified_search/public/services.ts | 19 ++------ src/plugins/unified_search/public/types.ts | 1 + .../public/default_editor_controller.tsx | 4 +- .../vis_default_editor/public/plugin.ts | 4 +- .../vis_default_editor/public/services.ts | 4 +- src/plugins/vis_types/vislib/public/plugin.ts | 12 ++--- .../vis_types/vislib/public/services.ts | 9 ++-- .../vislib/public/vis_controller.tsx | 2 +- .../vislib/partials/touchdown_template.tsx | 4 +- .../public/embeddable/save_to_library.ts | 3 +- .../visualizations/public/embeddable/state.ts | 2 + src/plugins/visualizations/public/plugin.ts | 2 + src/plugins/visualizations/public/services.ts | 4 ++ src/plugins/visualizations/public/types.ts | 1 + .../public/visualize_app/utils/utils.ts | 6 +-- .../public/wizard/show_new_vis.tsx | 3 +- .../embedded_lens_example/public/mount.tsx | 5 +-- .../workspace_top_nav_menu.tsx | 2 +- .../check_for_duplicate_title.ts | 2 +- .../confirm_modal_promise.tsx | 2 +- .../display_duplicate_title_confirm_modal.ts | 2 +- .../save_with_confirmation.ts | 2 +- .../public/helpers/saved_workspace_utils.ts | 2 +- .../graph/public/services/save_modal.tsx | 2 +- .../graph/public/state_management/store.ts | 2 +- .../app_plugin/save_modal_container.tsx | 2 + .../layer_actions/layer_actions.tsx | 2 +- x-pack/plugins/lens/public/types.ts | 2 + .../actions/revert_changes_action.tsx | 5 ++- .../region_map/region_map_renderer.tsx | 8 +--- .../tile_map/tile_map_renderer.tsx | 8 +--- .../choropleth_chart/expression_renderer.tsx | 8 +--- x-pack/plugins/maps/public/render_app.tsx | 5 +-- 90 files changed, 221 insertions(+), 267 deletions(-) diff --git a/examples/controls_example/public/app/app.tsx b/examples/controls_example/public/app/app.tsx index 9c6df503700b6..9659b0fa47749 100644 --- a/examples/controls_example/public/app/app.tsx +++ b/examples/controls_example/public/app/app.tsx @@ -48,7 +48,7 @@ const App = ({ } return ( - + diff --git a/examples/controls_example/public/app/react_control_example/react_control_example.tsx b/examples/controls_example/public/app/react_control_example/react_control_example.tsx index 7ba409e83c0e3..30111c21f1927 100644 --- a/examples/controls_example/public/app/react_control_example/react_control_example.tsx +++ b/examples/controls_example/public/app/react_control_example/react_control_example.tsx @@ -315,10 +315,7 @@ export const ReactControlExample = ({ {JSON.stringify(controlGroupApi?.serializeState(), null, 2)} , - { - theme: core.theme, - i18n: core.i18n, - } + core ) ); }} diff --git a/examples/discover_customization_examples/public/plugin.tsx b/examples/discover_customization_examples/public/plugin.tsx index 6dc6e8f48da58..2ac642b4f752b 100644 --- a/examples/discover_customization_examples/public/plugin.tsx +++ b/examples/discover_customization_examples/public/plugin.tsx @@ -52,11 +52,11 @@ export class DiscoverCustomizationExamplesPlugin implements Plugin { title: PLUGIN_NAME, visibleIn: [], mount: async (appMountParams) => { - const [_, { discover, data }] = await core.getStartServices(); + const [coreStart, { discover, data }] = await core.getStartServices(); ReactDOM.render( - + diff --git a/examples/embeddable_examples/public/app/app.tsx b/examples/embeddable_examples/public/app/app.tsx index f59169849e9f0..97389830552a8 100644 --- a/examples/embeddable_examples/public/app/app.tsx +++ b/examples/embeddable_examples/public/app/app.tsx @@ -81,7 +81,7 @@ const App = ({ }, [pages]); return ( - + diff --git a/examples/embeddable_examples/public/react_embeddables/data_table/data_table_react_embeddable.tsx b/examples/embeddable_examples/public/react_embeddables/data_table/data_table_react_embeddable.tsx index 54046eb5afa02..0311decf5c3c6 100644 --- a/examples/embeddable_examples/public/react_embeddables/data_table/data_table_react_embeddable.tsx +++ b/examples/embeddable_examples/public/react_embeddables/data_table/data_table_react_embeddable.tsx @@ -99,7 +99,7 @@ export const getDataTableFactory = ( width: 100%; `} > - + , - { - theme: core.theme, - i18n: core.i18n, - } + core ), { type: isCreate ? 'overlay' : 'push', diff --git a/examples/expressions_explorer/public/app.tsx b/examples/expressions_explorer/public/app.tsx index 638767ed72a35..ca7db99f81e97 100644 --- a/examples/expressions_explorer/public/app.tsx +++ b/examples/expressions_explorer/public/app.tsx @@ -24,6 +24,7 @@ import { I18nStart, IUiSettingsClient, ThemeServiceStart, + UserProfileService, } from '@kbn/core/public'; import { ExpressionsStart } from '@kbn/expressions-plugin/public'; import { Start as InspectorStart } from '@kbn/inspector-plugin/public'; @@ -41,6 +42,7 @@ interface Props { inspector: InspectorStart; actions: UiActionsStart; uiSettings: IUiSettingsClient; + userProfile: UserProfileService; settings: SettingsStart; theme: ThemeServiceStart; i18n: I18nStart; @@ -52,15 +54,13 @@ const ExpressionsExplorer = ({ actions, uiSettings, settings, - i18n, - theme, + ...startServices }: Props) => { const { Provider: KibanaReactContextProvider } = createKibanaReactContext({ uiSettings, settings, - theme, + theme: startServices.theme, }); - const startServices = { i18n, theme }; return ( diff --git a/examples/expressions_explorer/public/plugin.tsx b/examples/expressions_explorer/public/plugin.tsx index b0030d1c00aaa..d03008bb16534 100644 --- a/examples/expressions_explorer/public/plugin.tsx +++ b/examples/expressions_explorer/public/plugin.tsx @@ -58,6 +58,7 @@ export class ExpressionsExplorerPlugin implements Plugin, - { - theme: coreStart.theme, - i18n: coreStart.i18n, - } + coreStart ) ); }); diff --git a/examples/portable_dashboards_example/public/app.tsx b/examples/portable_dashboards_example/public/app.tsx index c68b612c31193..04a42de836904 100644 --- a/examples/portable_dashboards_example/public/app.tsx +++ b/examples/portable_dashboards_example/public/app.tsx @@ -56,7 +56,7 @@ const PortableDashboardsDemos = ({ history: AppMountParameters['history']; }) => { return ( - + diff --git a/examples/resizable_layout_examples/public/application.tsx b/examples/resizable_layout_examples/public/application.tsx index 7637cf2a79c66..90065dc3f704d 100644 --- a/examples/resizable_layout_examples/public/application.tsx +++ b/examples/resizable_layout_examples/public/application.tsx @@ -8,7 +8,7 @@ */ import { KibanaThemeProvider } from '@kbn/react-kibana-context-theme'; -import type { AppMountParameters } from '@kbn/core/public'; +import type { AppMountParameters, CoreStart } from '@kbn/core/public'; import { I18nProvider } from '@kbn/i18n-react'; import React, { ReactNode, useState } from 'react'; import ReactDOM from 'react-dom'; @@ -98,10 +98,10 @@ const ResizableSection = ({ ); }; -export const renderApp = ({ element, theme$ }: AppMountParameters) => { +export const renderApp = (coreStart: CoreStart, { element }: AppMountParameters) => { ReactDOM.render( - +
{ + const [coreStart] = await core.getStartServices(); // Load application bundle const { renderApp } = await import('./application'); // Render the application - return renderApp(params); + return renderApp(coreStart, params); }, }); diff --git a/examples/search_examples/public/search/app.tsx b/examples/search_examples/public/search/app.tsx index 6639d446e80ec..c1ffceb561fe4 100644 --- a/examples/search_examples/public/search/app.tsx +++ b/examples/search_examples/public/search/app.tsx @@ -43,7 +43,10 @@ import { PLUGIN_ID, PLUGIN_NAME, SERVER_SEARCH_ROUTE_PATH } from '../../common'; import { IMyStrategyResponse } from '../../common/types'; interface SearchExamplesAppDeps - extends Pick { + extends Pick< + CoreStart, + 'notifications' | 'http' | 'analytics' | 'i18n' | 'theme' | 'userProfile' + > { navigation: NavigationPublicPluginStart; data: DataPublicPluginStart; unifiedSearch: UnifiedSearchPublicPluginStart; @@ -230,13 +233,8 @@ export const SearchExamplesApp = ({ ); notifications.toasts.addSuccess( - { - title: 'Query result', - text: toMountPoint(message, startServices), - }, - { - toastLifeTimeMs: 300000, - } + { title: 'Query result', text: toMountPoint(message, startServices) }, + { toastLifeTimeMs: 300000 } ); if (res.warning) { notifications.toasts.addWarning({ diff --git a/examples/search_examples/public/search_sessions/app.tsx b/examples/search_examples/public/search_sessions/app.tsx index 5fcb0e326c8b8..aca66a3953524 100644 --- a/examples/search_examples/public/search_sessions/app.tsx +++ b/examples/search_examples/public/search_sessions/app.tsx @@ -56,6 +56,7 @@ interface SearchSessionsExampleAppDeps { analytics: CoreStart['analytics']; i18n: CoreStart['i18n']; theme: CoreStart['theme']; + userProfile: CoreStart['userProfile']; navigation: NavigationPublicPluginStart; data: DataPublicPluginStart; unifiedSearch: UnifiedSearchPublicPluginStart; @@ -674,6 +675,7 @@ function doSearch( analytics: CoreStart['analytics']; i18n: CoreStart['i18n']; theme: CoreStart['theme']; + userProfile: CoreStart['userProfile']; } ): Promise<{ request: IEsSearchRequest; response: IEsSearchResponse; tookMs?: number }> { if (!dataView) return Promise.reject('Select a data view'); diff --git a/examples/unified_field_list_examples/public/application.tsx b/examples/unified_field_list_examples/public/application.tsx index 6cbdc8242b6be..fa1a936d66893 100644 --- a/examples/unified_field_list_examples/public/application.tsx +++ b/examples/unified_field_list_examples/public/application.tsx @@ -18,11 +18,11 @@ import { UnifiedFieldListExampleApp } from './example_app'; export const renderApp = ( core: CoreStart, deps: AppPluginStartDependencies, - { element, theme$ }: AppMountParameters + { element }: AppMountParameters ) => { ReactDOM.render( - + ; +export type StartServices = Pick; export type ExpressionXyPluginSetup = void; export type ExpressionXyPluginStart = void; diff --git a/src/plugins/controls/public/control_group/open_edit_control_group_flyout.tsx b/src/plugins/controls/public/control_group/open_edit_control_group_flyout.tsx index 459913d98de0b..52a19aef8b1e0 100644 --- a/src/plugins/controls/public/control_group/open_edit_control_group_flyout.tsx +++ b/src/plugins/controls/public/control_group/open_edit_control_group_flyout.tsx @@ -92,10 +92,7 @@ export const openEditControlGroupFlyout = ( onDeleteAll={() => onDeleteAll(overlay)} onCancel={() => closeOverlay(overlay)} />, - { - theme: coreServices.theme, - i18n: coreServices.i18n, - } + coreServices ), { 'aria-label': i18n.translate('controls.controlGroup.manageControl', { diff --git a/src/plugins/controls/public/controls/data_controls/open_data_control_editor.tsx b/src/plugins/controls/public/controls/data_controls/open_data_control_editor.tsx index c01f9aa83cea9..c34af20001de8 100644 --- a/src/plugins/controls/public/controls/data_controls/open_data_control_editor.tsx +++ b/src/plugins/controls/public/controls/data_controls/open_data_control_editor.tsx @@ -91,10 +91,7 @@ export const openDataControlEditor = < onSave({ type: selectedControlType, state }); }} />, - { - theme: coreServices.theme, - i18n: coreServices.i18n, - } + coreServices ), { size: 'm', diff --git a/src/plugins/dashboard/public/dashboard_actions/copy_to_dashboard_action.tsx b/src/plugins/dashboard/public/dashboard_actions/copy_to_dashboard_action.tsx index 10b21fc36edcc..9b3e9a536a86a 100644 --- a/src/plugins/dashboard/public/dashboard_actions/copy_to_dashboard_action.tsx +++ b/src/plugins/dashboard/public/dashboard_actions/copy_to_dashboard_action.tsx @@ -83,12 +83,11 @@ export class CopyToDashboardAction implements Action { public async execute({ embeddable }: EmbeddableApiContext) { if (!apiIsCompatible(embeddable)) throw new IncompatibleActionError(); - const { theme, i18n } = coreServices; const session = coreServices.overlays.openModal( - toMountPoint( session.close()} api={embeddable} />, { - theme, - i18n, - }), + toMountPoint( + session.close()} api={embeddable} />, + coreServices + ), { maxWidth: 400, 'data-test-subj': 'copyToDashboardPanel', diff --git a/src/plugins/dashboard/public/dashboard_app/listing_page/dashboard_no_match.tsx b/src/plugins/dashboard/public/dashboard_app/listing_page/dashboard_no_match.tsx index 3ad35d34b7fd1..d68c4a76e9f78 100644 --- a/src/plugins/dashboard/public/dashboard_app/listing_page/dashboard_no_match.tsx +++ b/src/plugins/dashboard/public/dashboard_app/listing_page/dashboard_no_match.tsx @@ -49,7 +49,7 @@ export const DashboardNoMatch = ({ history }: { history: RouteComponentProps['hi />

, - { analytics: coreServices.analytics, i18n: coreServices.i18n, theme: coreServices.theme } + coreServices ) ); diff --git a/src/plugins/dashboard/public/dashboard_app/top_nav/editor_menu.tsx b/src/plugins/dashboard/public/dashboard_app/top_nav/editor_menu.tsx index cf7f9c65c6618..6d052225d6fba 100644 --- a/src/plugins/dashboard/public/dashboard_app/top_nav/editor_menu.tsx +++ b/src/plugins/dashboard/public/dashboard_app/top_nav/editor_menu.tsx @@ -57,7 +57,7 @@ export const EditorMenu = ({ createNewVisType, isDisabled }: EditorMenuProps) => /> ); }), - { analytics: coreServices.analytics, theme: coreServices.theme, i18n: coreServices.i18n } + coreServices ); dashboardApi.openOverlay( diff --git a/src/plugins/dashboard/public/dashboard_container/embeddable/api/open_settings_flyout.tsx b/src/plugins/dashboard/public/dashboard_container/embeddable/api/open_settings_flyout.tsx index 867e6ae9d0477..0f78bcc96a975 100644 --- a/src/plugins/dashboard/public/dashboard_container/embeddable/api/open_settings_flyout.tsx +++ b/src/plugins/dashboard/public/dashboard_container/embeddable/api/open_settings_flyout.tsx @@ -27,7 +27,7 @@ export function openSettingsFlyout(dashboardApi: DashboardApi) { }} /> , - { analytics: coreServices.analytics, i18n: coreServices.i18n, theme: coreServices.theme } + coreServices ), { size: 's', diff --git a/src/plugins/dashboard/public/dashboard_listing/confirm_overlays.tsx b/src/plugins/dashboard/public/dashboard_listing/confirm_overlays.tsx index f3dac2e9bb624..a2adea2470abb 100644 --- a/src/plugins/dashboard/public/dashboard_listing/confirm_overlays.tsx +++ b/src/plugins/dashboard/public/dashboard_listing/confirm_overlays.tsx @@ -112,7 +112,7 @@ export const confirmCreateWithUnsaved = (
, - { analytics: coreServices.analytics, i18n: coreServices.i18n, theme: coreServices.theme } + coreServices ), { 'data-test-subj': 'dashboardCreateConfirmModal', diff --git a/src/plugins/data/public/search/search_interceptor/search_interceptor.ts b/src/plugins/data/public/search/search_interceptor/search_interceptor.ts index 8b312cd2fab87..068265943ecd7 100644 --- a/src/plugins/data/public/search/search_interceptor/search_interceptor.ts +++ b/src/plugins/data/public/search/search_interceptor/search_interceptor.ts @@ -47,6 +47,7 @@ import type { IUiSettingsClient, ThemeServiceStart, ToastsSetup, + UserProfileService, } from '@kbn/core/public'; import { toMountPoint } from '@kbn/react-kibana-mount'; @@ -127,6 +128,7 @@ export class SearchInterceptor { analytics: Pick; i18n: I18nStart; theme: Pick; + userProfile: UserProfileService; }; /* @@ -136,10 +138,10 @@ export class SearchInterceptor { this.deps.http.addLoadingCountSource(this.pendingCount$); this.deps.startServices.then(([coreStart, depsStart]) => { - const { application, docLinks, analytics, i18n: i18nStart, theme } = coreStart; + const { application, docLinks, ...startRenderServices } = coreStart; this.application = application; this.docLinks = docLinks; - this.startRenderServices = { analytics, i18n: i18nStart, theme }; + this.startRenderServices = startRenderServices; this.inspector = (depsStart as SearchServiceStartDependencies).inspector; }); diff --git a/src/plugins/data/public/search/search_service.ts b/src/plugins/data/public/search/search_service.ts index d1e5d02e5d840..6d2e09a5ef300 100644 --- a/src/plugins/data/public/search/search_service.ts +++ b/src/plugins/data/public/search/search_service.ts @@ -217,16 +217,7 @@ export class SearchService implements Plugin { } public start( - { - analytics, - http, - theme, - uiSettings, - chrome, - application, - notifications, - i18n: i18nStart, - }: CoreStart, + { http, uiSettings, chrome, application, notifications, ...startServices }: CoreStart, { fieldFormats, indexPatterns, @@ -245,11 +236,9 @@ export class SearchService implements Plugin { const aggs = this.aggsService.start({ fieldFormats, indexPatterns }); const warningsServices = { - analytics, - i18n: i18nStart, inspector, notifications, - theme, + ...startServices, }; const searchSourceDependencies: SearchSourceDependencies = { @@ -305,7 +294,7 @@ export class SearchService implements Plugin { tourDisabled: screenshotMode.isScreenshotMode(), }) ), - { analytics, i18n: i18nStart, theme } + startServices ), }); } diff --git a/src/plugins/data/public/search/session/sessions_mgmt/application/render.tsx b/src/plugins/data/public/search/session/sessions_mgmt/application/render.tsx index f786819044061..4c375be8534c4 100644 --- a/src/plugins/data/public/search/session/sessions_mgmt/application/render.tsx +++ b/src/plugins/data/public/search/session/sessions_mgmt/application/render.tsx @@ -16,7 +16,7 @@ import { SearchSessionsMgmtMain } from '../components/main'; export const renderApp = ( elem: HTMLElement | null, - { i18n, uiSettings, ...homeDeps }: AppDependencies + { uiSettings, ...homeDeps }: AppDependencies ) => { if (!elem) { return () => undefined; @@ -28,7 +28,7 @@ export const renderApp = ( }); render( - + diff --git a/src/plugins/data_view_management/public/types.ts b/src/plugins/data_view_management/public/types.ts index 161ee3b1e21de..eaee8b28d6145 100644 --- a/src/plugins/data_view_management/public/types.ts +++ b/src/plugins/data_view_management/public/types.ts @@ -33,7 +33,7 @@ import { SharePluginStart } from '@kbn/share-plugin/public'; import type { IndexPatternManagementStart } from '.'; import type { DataViewMgmtService } from './management_app/data_view_management_service'; -export type StartServices = Pick; +export type StartServices = Pick; export interface IndexPatternManagmentContext extends StartServices { dataViewMgmtService: DataViewMgmtService; diff --git a/src/plugins/discover/public/application/main/discover_main_route.tsx b/src/plugins/discover/public/application/main/discover_main_route.tsx index 205926cf4943b..c88774d6f9e11 100644 --- a/src/plugins/discover/public/application/main/discover_main_route.tsx +++ b/src/plugins/discover/public/application/main/discover_main_route.tsx @@ -206,7 +206,7 @@ export function DiscoverMainRoute({ onBeforeRedirect() { services.urlTracker.setTrackedUrl('/'); }, - theme: core.theme, + ...core, })(e); } else { setError(e); @@ -222,8 +222,7 @@ export function DiscoverMainRoute({ services, chrome.recentlyAccessed, history, - core.application.navigateToApp, - core.theme, + core, basePath, toastNotifications, ] diff --git a/src/plugins/discover/public/build_services.ts b/src/plugins/discover/public/build_services.ts index df194bc03fa0f..0aef34338c374 100644 --- a/src/plugins/discover/public/build_services.ts +++ b/src/plugins/discover/public/build_services.ts @@ -23,6 +23,8 @@ import type { AnalyticsServiceStart, AppMountParameters, ScopedHistory, + ThemeServiceStart, + UserProfileService, } from '@kbn/core/public'; import type { FilterManager, @@ -96,7 +98,8 @@ export interface DiscoverServices { history: History; getScopedHistory: () => ScopedHistory | undefined; setHeaderActionMenu: AppMountParameters['setHeaderActionMenu']; - theme: CoreStart['theme']; + theme: ThemeServiceStart; + userProfile: UserProfileService; filterManager: FilterManager; fieldFormats: FieldFormatsStart; dataViews: DataViewsContract; @@ -185,6 +188,7 @@ export const buildServices = memoize( embeddable: plugins.embeddable, i18n: core.i18n, theme: core.theme, + userProfile: core.userProfile, fieldFormats: plugins.fieldFormats, filterManager: plugins.data.query.filterManager, history, diff --git a/src/plugins/expression_error/public/expression_renderers/__stories__/error_renderer.stories.tsx b/src/plugins/expression_error/public/expression_renderers/__stories__/error_renderer.stories.tsx index b7f789f873de3..ea28ff903582c 100644 --- a/src/plugins/expression_error/public/expression_renderers/__stories__/error_renderer.stories.tsx +++ b/src/plugins/expression_error/public/expression_renderers/__stories__/error_renderer.stories.tsx @@ -19,7 +19,5 @@ storiesOf('renderers/error', module).add('default', () => { error: thrownError, }; - return ( - - ); + return ; }); diff --git a/src/plugins/expression_error/public/expression_renderers/debug_renderer.tsx b/src/plugins/expression_error/public/expression_renderers/debug_renderer.tsx index 29fa69aa736b4..e26aa7c4a5160 100644 --- a/src/plugins/expression_error/public/expression_renderers/debug_renderer.tsx +++ b/src/plugins/expression_error/public/expression_renderers/debug_renderer.tsx @@ -9,9 +9,8 @@ import React from 'react'; import { render, unmountComponentAtNode } from 'react-dom'; -import { Observable } from 'rxjs'; -import { CoreSetup, CoreTheme } from '@kbn/core/public'; +import { CoreStart } from '@kbn/core/public'; import { ExpressionRenderDefinition } from '@kbn/expressions-plugin/common'; import { i18n } from '@kbn/i18n'; import { withSuspense } from '@kbn/presentation-util-plugin/public'; @@ -36,25 +35,24 @@ const strings = { }), }; -export const getDebugRenderer = - (theme$: Observable) => (): ExpressionRenderDefinition => ({ - name: 'debug', - displayName: strings.getDisplayName(), - help: strings.getHelpDescription(), - reuseDomNode: true, - render(domNode, config, handlers) { - handlers.onDestroy(() => unmountComponentAtNode(domNode)); - render( - - - - - - - , - domNode - ); - }, - }); +export const getDebugRenderer = (core: CoreStart) => (): ExpressionRenderDefinition => ({ + name: 'debug', + displayName: strings.getDisplayName(), + help: strings.getHelpDescription(), + reuseDomNode: true, + render(domNode, config, handlers) { + handlers.onDestroy(() => unmountComponentAtNode(domNode)); + render( + + + + + + + , + domNode + ); + }, +}); -export const debugRendererFactory = (core: CoreSetup) => getDebugRenderer(core.theme.theme$); +export const debugRendererFactory = (core: CoreStart) => getDebugRenderer(core); diff --git a/src/plugins/expression_error/public/expression_renderers/error_renderer.tsx b/src/plugins/expression_error/public/expression_renderers/error_renderer.tsx index 4ba3daa15d08c..9d352926bd9d4 100644 --- a/src/plugins/expression_error/public/expression_renderers/error_renderer.tsx +++ b/src/plugins/expression_error/public/expression_renderers/error_renderer.tsx @@ -9,9 +9,8 @@ import React from 'react'; import { render, unmountComponentAtNode } from 'react-dom'; -import { Observable } from 'rxjs'; -import { CoreSetup, CoreTheme } from '@kbn/core/public'; +import { CoreStart } from '@kbn/core/public'; import { I18nProvider } from '@kbn/i18n-react'; import { i18n } from '@kbn/i18n'; import { @@ -38,7 +37,7 @@ const errorStrings = { const ErrorComponent = withSuspense(LazyErrorRenderComponent); export const getErrorRenderer = - (theme$: Observable) => (): ExpressionRenderDefinition => ({ + (core: CoreStart) => (): ExpressionRenderDefinition => ({ name: 'error', displayName: errorStrings.getDisplayName(), help: errorStrings.getHelpDescription(), @@ -55,7 +54,7 @@ export const getErrorRenderer = render( - + @@ -67,4 +66,4 @@ export const getErrorRenderer = }, }); -export const errorRendererFactory = (core: CoreSetup) => getErrorRenderer(core.theme.theme$); +export const errorRendererFactory = (core: CoreStart) => getErrorRenderer(core); diff --git a/src/plugins/expression_error/public/plugin.ts b/src/plugins/expression_error/public/plugin.ts index 66b5209267599..180a6209f4da5 100755 --- a/src/plugins/expression_error/public/plugin.ts +++ b/src/plugins/expression_error/public/plugin.ts @@ -26,8 +26,10 @@ export class ExpressionErrorPlugin implements Plugin { public setup(core: CoreSetup, { expressions }: SetupDeps): ExpressionErrorPluginSetup { - expressions.registerRenderer(errorRendererFactory(core)); - expressions.registerRenderer(debugRendererFactory(core)); + core.getStartServices().then(([start]) => { + expressions.registerRenderer(errorRendererFactory(start)); + expressions.registerRenderer(debugRendererFactory(start)); + }); } public start(core: CoreStart): ExpressionErrorPluginStart {} diff --git a/src/plugins/expression_image/public/expression_renderers/__stories__/image_renderer.stories.tsx b/src/plugins/expression_image/public/expression_renderers/__stories__/image_renderer.stories.tsx index 07fb4db558bd5..1577ee8b7fabf 100644 --- a/src/plugins/expression_image/public/expression_renderers/__stories__/image_renderer.stories.tsx +++ b/src/plugins/expression_image/public/expression_renderers/__stories__/image_renderer.stories.tsx @@ -23,7 +23,7 @@ const Renderer = ({ elasticLogo }: { elasticLogo: string }) => { return ( ) => (): ExpressionRenderDefinition => ({ + (core: CoreStart) => (): ExpressionRenderDefinition => ({ name: 'image', displayName: strings.getDisplayName(), help: strings.getHelpDescription(), @@ -62,7 +61,7 @@ export const getImageRenderer = render( - +
@@ -73,4 +72,4 @@ export const getImageRenderer = }, }); -export const imageRendererFactory = (core: CoreSetup) => getImageRenderer(core.theme.theme$); +export const imageRendererFactory = (core: CoreStart) => getImageRenderer(core); diff --git a/src/plugins/expression_image/public/plugin.ts b/src/plugins/expression_image/public/plugin.ts index 4ee0b457b4f61..e9fac6f9215c6 100755 --- a/src/plugins/expression_image/public/plugin.ts +++ b/src/plugins/expression_image/public/plugin.ts @@ -27,8 +27,10 @@ export class ExpressionImagePlugin implements Plugin { public setup(core: CoreSetup, { expressions }: SetupDeps): ExpressionImagePluginSetup { - expressions.registerFunction(imageFunction); - expressions.registerRenderer(imageRendererFactory(core)); + core.getStartServices().then(([start]) => { + expressions.registerFunction(imageFunction); + expressions.registerRenderer(imageRendererFactory(start)); + }); } public start(core: CoreStart): ExpressionImagePluginStart {} diff --git a/src/plugins/expression_metric/public/expression_renderers/__stories__/metric_renderer.stories.tsx b/src/plugins/expression_metric/public/expression_renderers/__stories__/metric_renderer.stories.tsx index 5438bb4b4287a..9c8e5d17dc3bb 100644 --- a/src/plugins/expression_metric/public/expression_renderers/__stories__/metric_renderer.stories.tsx +++ b/src/plugins/expression_metric/public/expression_renderers/__stories__/metric_renderer.stories.tsx @@ -38,7 +38,7 @@ const metricFontSpec: CSSProperties = { color: '#b83c6f', }; -const theme$ = coreMock.createStart().theme.theme$; +const core = coreMock.createStart(); storiesOf('renderers/Metric', module) .add('with null metric', () => { @@ -49,7 +49,7 @@ storiesOf('renderers/Metric', module) label: '', metricFormat: '', }; - return ; + return ; }) .add('with number metric', () => { const config: MetricRendererConfig = { @@ -59,7 +59,7 @@ storiesOf('renderers/Metric', module) label: '', metricFormat: '', }; - return ; + return ; }) .add('with string metric', () => { const config: MetricRendererConfig = { @@ -69,7 +69,7 @@ storiesOf('renderers/Metric', module) label: '', metricFormat: '', }; - return ; + return ; }) .add('with label', () => { const config: MetricRendererConfig = { @@ -79,7 +79,7 @@ storiesOf('renderers/Metric', module) label: 'Average price', metricFormat: '', }; - return ; + return ; }) .add('with number metric and a specified format', () => { const config: MetricRendererConfig = { @@ -89,7 +89,7 @@ storiesOf('renderers/Metric', module) label: 'Average price', metricFormat: '0.00%', }; - return ; + return ; }) .add('with formatted string metric and a specified format', () => { const config: MetricRendererConfig = { @@ -99,7 +99,7 @@ storiesOf('renderers/Metric', module) label: 'Total Revenue', metricFormat: '$0a', }; - return ; + return ; }) .add('with invalid metricFont', () => { const config: MetricRendererConfig = { @@ -109,5 +109,5 @@ storiesOf('renderers/Metric', module) label: 'Total Revenue', metricFormat: '$0a', }; - return ; + return ; }); diff --git a/src/plugins/expression_metric/public/expression_renderers/metric_renderer.tsx b/src/plugins/expression_metric/public/expression_renderers/metric_renderer.tsx index db4b8575d5e26..315cf1fca32a2 100644 --- a/src/plugins/expression_metric/public/expression_renderers/metric_renderer.tsx +++ b/src/plugins/expression_metric/public/expression_renderers/metric_renderer.tsx @@ -9,9 +9,8 @@ import React, { CSSProperties } from 'react'; import { render, unmountComponentAtNode } from 'react-dom'; -import { Observable } from 'rxjs'; -import { CoreSetup, CoreTheme } from '@kbn/core/public'; +import { CoreStart } from '@kbn/core/public'; import { ExpressionRenderDefinition, IInterpreterRenderHandlers, @@ -33,7 +32,7 @@ const strings = { }; export const getMetricRenderer = - (theme$: Observable) => (): ExpressionRenderDefinition => ({ + (core: CoreStart) => (): ExpressionRenderDefinition => ({ name: 'metric', displayName: strings.getDisplayName(), help: strings.getHelpDescription(), @@ -51,7 +50,7 @@ export const getMetricRenderer = render( - + getMetricRenderer(core.theme.theme$); +export const metricRendererFactory = (core: CoreStart) => getMetricRenderer(core); diff --git a/src/plugins/expression_metric/public/plugin.ts b/src/plugins/expression_metric/public/plugin.ts index ce5bd9069ca21..0bcf71a93b484 100755 --- a/src/plugins/expression_metric/public/plugin.ts +++ b/src/plugins/expression_metric/public/plugin.ts @@ -27,8 +27,10 @@ export class ExpressionMetricPlugin implements Plugin { public setup(core: CoreSetup, { expressions }: SetupDeps): ExpressionMetricPluginSetup { - expressions.registerFunction(metricFunction); - expressions.registerRenderer(metricRendererFactory(core)); + core.getStartServices().then(([start]) => { + expressions.registerFunction(metricFunction); + expressions.registerRenderer(metricRendererFactory(start)); + }); } public start(core: CoreStart): ExpressionMetricPluginStart {} diff --git a/src/plugins/expression_repeat_image/public/expression_renderers/__stories__/repeat_image_renderer.stories.tsx b/src/plugins/expression_repeat_image/public/expression_renderers/__stories__/repeat_image_renderer.stories.tsx index a5f58b97970cf..31ae794d234a4 100644 --- a/src/plugins/expression_repeat_image/public/expression_renderers/__stories__/repeat_image_renderer.stories.tsx +++ b/src/plugins/expression_repeat_image/public/expression_renderers/__stories__/repeat_image_renderer.stories.tsx @@ -32,7 +32,7 @@ const Renderer = ({ return ( diff --git a/src/plugins/expression_repeat_image/public/expression_renderers/repeat_image_renderer.tsx b/src/plugins/expression_repeat_image/public/expression_renderers/repeat_image_renderer.tsx index 9a35459880889..9aed56e999c3f 100644 --- a/src/plugins/expression_repeat_image/public/expression_renderers/repeat_image_renderer.tsx +++ b/src/plugins/expression_repeat_image/public/expression_renderers/repeat_image_renderer.tsx @@ -9,9 +9,8 @@ import React from 'react'; import { render, unmountComponentAtNode } from 'react-dom'; -import { Observable } from 'rxjs'; -import { CoreSetup, CoreTheme } from '@kbn/core/public'; +import { CoreStart } from '@kbn/core/public'; import { ExpressionRenderDefinition, IInterpreterRenderHandlers, @@ -35,7 +34,7 @@ const strings = { }; export const getRepeatImageRenderer = - (theme$: Observable) => (): ExpressionRenderDefinition => ({ + (core: CoreStart) => (): ExpressionRenderDefinition => ({ name: 'repeatImage', displayName: strings.getDisplayName(), help: strings.getHelpDescription(), @@ -60,7 +59,7 @@ export const getRepeatImageRenderer = render( - + @@ -72,5 +71,4 @@ export const getRepeatImageRenderer = }, }); -export const repeatImageRendererFactory = (core: CoreSetup) => - getRepeatImageRenderer(core.theme.theme$); +export const repeatImageRendererFactory = (core: CoreStart) => getRepeatImageRenderer(core); diff --git a/src/plugins/expression_repeat_image/public/plugin.ts b/src/plugins/expression_repeat_image/public/plugin.ts index c9421c76895ba..f66ae96a8b7c1 100755 --- a/src/plugins/expression_repeat_image/public/plugin.ts +++ b/src/plugins/expression_repeat_image/public/plugin.ts @@ -33,8 +33,10 @@ export class ExpressionRepeatImagePlugin > { public setup(core: CoreSetup, { expressions }: SetupDeps): ExpressionRepeatImagePluginSetup { - expressions.registerFunction(repeatImageFunction); - expressions.registerRenderer(repeatImageRendererFactory(core)); + core.getStartServices().then(([start]) => { + expressions.registerFunction(repeatImageFunction); + expressions.registerRenderer(repeatImageRendererFactory(start)); + }); } public start(core: CoreStart): ExpressionRepeatImagePluginStart {} diff --git a/src/plugins/expression_reveal_image/public/expression_renderers/__stories__/reveal_image_renderer.stories.tsx b/src/plugins/expression_reveal_image/public/expression_renderers/__stories__/reveal_image_renderer.stories.tsx index 664cc97117791..32ea7edd04765 100644 --- a/src/plugins/expression_reveal_image/public/expression_renderers/__stories__/reveal_image_renderer.stories.tsx +++ b/src/plugins/expression_reveal_image/public/expression_renderers/__stories__/reveal_image_renderer.stories.tsx @@ -29,12 +29,7 @@ const Renderer = ({ percent: 0.45, }; - return ( - - ); + return ; }; storiesOf('renderers/revealImage', module).add( diff --git a/src/plugins/expression_reveal_image/public/expression_renderers/reveal_image_renderer.tsx b/src/plugins/expression_reveal_image/public/expression_renderers/reveal_image_renderer.tsx index fbfe479225ece..3190a7c90c112 100644 --- a/src/plugins/expression_reveal_image/public/expression_renderers/reveal_image_renderer.tsx +++ b/src/plugins/expression_reveal_image/public/expression_renderers/reveal_image_renderer.tsx @@ -9,9 +9,8 @@ import React from 'react'; import { render, unmountComponentAtNode } from 'react-dom'; -import { Observable } from 'rxjs'; -import { CoreSetup, CoreTheme } from '@kbn/core/public'; +import { CoreStart } from '@kbn/core/public'; import { ExpressionRenderDefinition, IInterpreterRenderHandlers, @@ -34,7 +33,7 @@ export const strings = { }; export const getRevealImageRenderer = - (theme$: Observable) => (): ExpressionRenderDefinition => ({ + (core: CoreStart) => (): ExpressionRenderDefinition => ({ name: 'revealImage', displayName: strings.getDisplayName(), help: strings.getHelpDescription(), @@ -52,7 +51,7 @@ export const getRevealImageRenderer = render( - + @@ -64,5 +63,4 @@ export const getRevealImageRenderer = }, }); -export const revealImageRendererFactory = (core: CoreSetup) => - getRevealImageRenderer(core.theme.theme$); +export const revealImageRendererFactory = (core: CoreStart) => getRevealImageRenderer(core); diff --git a/src/plugins/expression_reveal_image/public/plugin.ts b/src/plugins/expression_reveal_image/public/plugin.ts index e41fea42bf1e2..66e802f4cf448 100755 --- a/src/plugins/expression_reveal_image/public/plugin.ts +++ b/src/plugins/expression_reveal_image/public/plugin.ts @@ -33,8 +33,10 @@ export class ExpressionRevealImagePlugin > { public setup(core: CoreSetup, { expressions }: SetupDeps): ExpressionRevealImagePluginSetup { - expressions.registerFunction(revealImageFunction); - expressions.registerRenderer(revealImageRendererFactory(core)); + core.getStartServices().then(([start]) => { + expressions.registerFunction(revealImageFunction); + expressions.registerRenderer(revealImageRendererFactory(start)); + }); } public start(core: CoreStart): ExpressionRevealImagePluginStart {} diff --git a/src/plugins/expression_shape/public/expression_renderers/__stories__/progress_renderer.stories.tsx b/src/plugins/expression_shape/public/expression_renderers/__stories__/progress_renderer.stories.tsx index 0f93314ee0816..79e975bf2d46e 100644 --- a/src/plugins/expression_shape/public/expression_renderers/__stories__/progress_renderer.stories.tsx +++ b/src/plugins/expression_shape/public/expression_renderers/__stories__/progress_renderer.stories.tsx @@ -31,7 +31,5 @@ storiesOf('renderers/progress', module).add('default', () => { valueWeight: 15, }; - return ( - - ); + return ; }); diff --git a/src/plugins/expression_shape/public/expression_renderers/__stories__/shape_renderer.stories.tsx b/src/plugins/expression_shape/public/expression_renderers/__stories__/shape_renderer.stories.tsx index d089174c60325..f69f5d765484c 100644 --- a/src/plugins/expression_shape/public/expression_renderers/__stories__/shape_renderer.stories.tsx +++ b/src/plugins/expression_shape/public/expression_renderers/__stories__/shape_renderer.stories.tsx @@ -24,7 +24,5 @@ storiesOf('renderers/shape', module).add('default', () => { maintainAspect: true, }; - return ( - - ); + return ; }); diff --git a/src/plugins/expression_shape/public/expression_renderers/progress_renderer.tsx b/src/plugins/expression_shape/public/expression_renderers/progress_renderer.tsx index ed7629a7d87a0..17118625e9157 100644 --- a/src/plugins/expression_shape/public/expression_renderers/progress_renderer.tsx +++ b/src/plugins/expression_shape/public/expression_renderers/progress_renderer.tsx @@ -9,9 +9,8 @@ import React from 'react'; import { render, unmountComponentAtNode } from 'react-dom'; -import { Observable } from 'rxjs'; -import { CoreSetup, CoreTheme } from '@kbn/core/public'; +import { CoreStart } from '@kbn/core/public'; import { ExpressionRenderDefinition, IInterpreterRenderHandlers, @@ -34,7 +33,7 @@ const strings = { }; export const getProgressRenderer = - (theme$: Observable) => (): ExpressionRenderDefinition => ({ + (core: CoreStart) => (): ExpressionRenderDefinition => ({ name: 'progress', displayName: strings.getDisplayName(), help: strings.getHelpDescription(), @@ -52,7 +51,7 @@ export const getProgressRenderer = render( - + @@ -64,4 +63,4 @@ export const getProgressRenderer = }, }); -export const progressRendererFactory = (core: CoreSetup) => getProgressRenderer(core.theme.theme$); +export const progressRendererFactory = (core: CoreStart) => getProgressRenderer(core); diff --git a/src/plugins/expression_shape/public/expression_renderers/shape_renderer.tsx b/src/plugins/expression_shape/public/expression_renderers/shape_renderer.tsx index 650033aa4542d..a41e359eec00d 100644 --- a/src/plugins/expression_shape/public/expression_renderers/shape_renderer.tsx +++ b/src/plugins/expression_shape/public/expression_renderers/shape_renderer.tsx @@ -9,9 +9,8 @@ import React from 'react'; import { render, unmountComponentAtNode } from 'react-dom'; -import { Observable } from 'rxjs'; -import { CoreSetup, CoreTheme } from '@kbn/core/public'; +import { CoreStart } from '@kbn/core/public'; import { ExpressionRenderDefinition, IInterpreterRenderHandlers, @@ -34,7 +33,7 @@ const strings = { }; export const getShapeRenderer = - (theme$: Observable) => (): ExpressionRenderDefinition => ({ + (core: CoreStart) => (): ExpressionRenderDefinition => ({ name: 'shape', displayName: strings.getDisplayName(), help: strings.getHelpDescription(), @@ -52,7 +51,7 @@ export const getShapeRenderer = render( - + @@ -65,4 +64,4 @@ export const getShapeRenderer = }, }); -export const shapeRendererFactory = (core: CoreSetup) => getShapeRenderer(core.theme.theme$); +export const shapeRendererFactory = (core: CoreStart) => getShapeRenderer(core); diff --git a/src/plugins/expression_shape/public/plugin.ts b/src/plugins/expression_shape/public/plugin.ts index 0acb611d363d6..4d4ea8d9b35cb 100755 --- a/src/plugins/expression_shape/public/plugin.ts +++ b/src/plugins/expression_shape/public/plugin.ts @@ -27,10 +27,12 @@ export class ExpressionShapePlugin implements Plugin { public setup(core: CoreSetup, { expressions }: SetupDeps): ExpressionShapePluginSetup { - expressions.registerFunction(shapeFunction); - expressions.registerFunction(progressFunction); - expressions.registerRenderer(shapeRendererFactory(core)); - expressions.registerRenderer(progressRendererFactory(core)); + core.getStartServices().then(([start]) => { + expressions.registerFunction(shapeFunction); + expressions.registerFunction(progressFunction); + expressions.registerRenderer(shapeRendererFactory(start)); + expressions.registerRenderer(progressRendererFactory(start)); + }); } public start(core: CoreStart): ExpressionShapePluginStart {} diff --git a/src/plugins/image_embeddable/public/components/image_editor/open_image_editor.tsx b/src/plugins/image_embeddable/public/components/image_editor/open_image_editor.tsx index f730147cb0d2c..9454dab4b9236 100644 --- a/src/plugins/image_embeddable/public/components/image_editor/open_image_editor.tsx +++ b/src/plugins/image_embeddable/public/components/image_editor/open_image_editor.tsx @@ -28,7 +28,7 @@ export const openImageEditor = async ({ }): Promise => { const { ImageEditorFlyout } = await import('./image_editor_flyout'); - const { overlays, theme, i18n, http, security } = coreServices; + const { overlays, http, security, ...startServices } = coreServices; const user = await security.authc.getCurrentUser(); const filesClient = filesService.filesClientFactory.asUnscoped(); @@ -73,7 +73,7 @@ export const openImageEditor = async ({ /> , - { theme, i18n } + startServices ), { onClose: () => { diff --git a/src/plugins/links/public/editor/open_editor_flyout.tsx b/src/plugins/links/public/editor/open_editor_flyout.tsx index 87b1ab4e21ff8..32e9cc92be849 100644 --- a/src/plugins/links/public/editor/open_editor_flyout.tsx +++ b/src/plugins/links/public/editor/open_editor_flyout.tsx @@ -133,7 +133,7 @@ export async function openEditorFlyout({ parentDashboardId={parentDashboardId} isByReference={Boolean(initialState?.savedObjectId)} />, - { theme: coreServices.theme, i18n: coreServices.i18n } + coreServices ), { id: flyoutId, diff --git a/src/plugins/presentation_panel/public/panel_actions/customize_panel_action/open_customize_panel.tsx b/src/plugins/presentation_panel/public/panel_actions/customize_panel_action/open_customize_panel.tsx index 8fa2fd0658e56..b33a1f6014ea8 100644 --- a/src/plugins/presentation_panel/public/panel_actions/customize_panel_action/open_customize_panel.tsx +++ b/src/plugins/presentation_panel/public/panel_actions/customize_panel_action/open_customize_panel.tsx @@ -42,7 +42,7 @@ export const openCustomizePanelFlyout = ({ }} /> , - { theme: core.theme, i18n: core.i18n } + core ), { size: 's', diff --git a/src/plugins/unified_search/public/actions/apply_filter_action.ts b/src/plugins/unified_search/public/actions/apply_filter_action.ts index 9106e091ee506..96d760eb560dc 100644 --- a/src/plugins/unified_search/public/actions/apply_filter_action.ts +++ b/src/plugins/unified_search/public/actions/apply_filter_action.ts @@ -14,7 +14,7 @@ import { IncompatibleActionError, UiActionsActionDefinition } from '@kbn/ui-acti // for cleanup esFilters need to fix the issue https://github.com/elastic/kibana/issues/131292 import { FilterManager, TimefilterContract } from '@kbn/data-plugin/public'; import type { Filter, RangeFilter } from '@kbn/es-query'; -import { getOverlays, getIndexPatterns } from '../services'; +import { getIndexPatterns } from '../services'; import { applyFiltersPopover } from '../apply_filters'; export const ACTION_GLOBAL_APPLY_FILTER = 'ACTION_GLOBAL_APPLY_FILTER'; @@ -74,7 +74,7 @@ export function createFilterAction( ); const filterSelectionPromise: Promise = new Promise((resolve) => { - const overlay = getOverlays().openModal( + const overlay = coreStart.overlays.openModal( toMountPoint( applyFiltersPopover( filters, diff --git a/src/plugins/unified_search/public/plugin.ts b/src/plugins/unified_search/public/plugin.ts index 151b8f6d6fabb..ae2813e790e55 100755 --- a/src/plugins/unified_search/public/plugin.ts +++ b/src/plugins/unified_search/public/plugin.ts @@ -14,7 +14,7 @@ import { APPLY_FILTER_TRIGGER } from '@kbn/data-plugin/public'; import { createQueryStringInput } from './query_string_input/get_query_string_input'; import { UPDATE_FILTER_REFERENCES_TRIGGER, updateFilterReferencesTrigger } from './triggers'; import type { ConfigSchema } from '../server/config'; -import { setIndexPatterns, setTheme, setOverlays, setAnalytics, setI18n } from './services'; +import { setCoreStart, setIndexPatterns } from './services'; import { AutocompleteService } from './autocomplete/autocomplete_service'; import { createSearchBar } from './search_bar/create_search_bar'; import { createIndexPatternSelect } from './index_pattern_select'; @@ -72,10 +72,7 @@ export class UnifiedSearchPublicPlugin core: CoreStart, { data, dataViews, uiActions, screenshotMode }: UnifiedSearchStartDependencies ): UnifiedSearchPublicPluginStart { - setAnalytics(core.analytics); - setI18n(core.i18n); - setTheme(core.theme); - setOverlays(core.overlays); + setCoreStart(core); setIndexPatterns(dataViews); const autocompleteStart = this.autocomplete.start(); diff --git a/src/plugins/unified_search/public/query_string_input/query_string_input.tsx b/src/plugins/unified_search/public/query_string_input/query_string_input.tsx index 2e76341ae6071..2c5469ef306d7 100644 --- a/src/plugins/unified_search/public/query_string_input/query_string_input.tsx +++ b/src/plugins/unified_search/public/query_string_input/query_string_input.tsx @@ -56,7 +56,7 @@ import { SuggestionsComponent } from '../typeahead'; import { onRaf } from '../utils'; import { FilterButtonGroup } from '../filter_bar/filter_button_group/filter_button_group'; import { AutocompleteService, QuerySuggestion, QuerySuggestionTypes } from '../autocomplete'; -import { getAnalytics, getI18n, getTheme } from '../services'; +import { getCoreStart } from '../services'; import './query_string_input.scss'; export const strings = { @@ -568,7 +568,7 @@ export default class QueryStringInputUI extends PureComponent
, - { analytics: getAnalytics(), i18n: getI18n(), theme: getTheme() } + getCoreStart() ), }); } diff --git a/src/plugins/unified_search/public/services.ts b/src/plugins/unified_search/public/services.ts index 152c987d84e6e..3b3636c660094 100644 --- a/src/plugins/unified_search/public/services.ts +++ b/src/plugins/unified_search/public/services.ts @@ -7,22 +7,11 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { - ThemeServiceStart, - OverlayStart, - AnalyticsServiceStart, - I18nStart, -} from '@kbn/core/public'; -import { createGetterSetter } from '@kbn/kibana-utils-plugin/public'; +import { CoreStart } from '@kbn/core/public'; import { DataViewsContract } from '@kbn/data-views-plugin/public'; +import { createGetterSetter } from '@kbn/kibana-utils-plugin/public'; + +export const [getCoreStart, setCoreStart] = createGetterSetter('CoreStart'); export const [getIndexPatterns, setIndexPatterns] = createGetterSetter('IndexPatterns'); - -export const [getAnalytics, setAnalytics] = createGetterSetter('Analytics'); - -export const [getI18n, setI18n] = createGetterSetter('I18n'); - -export const [getTheme, setTheme] = createGetterSetter('Theme'); - -export const [getOverlays, setOverlays] = createGetterSetter('Overlays'); diff --git a/src/plugins/unified_search/public/types.ts b/src/plugins/unified_search/public/types.ts index 08c8b282d23b9..f9d0556447778 100755 --- a/src/plugins/unified_search/public/types.ts +++ b/src/plugins/unified_search/public/types.ts @@ -96,6 +96,7 @@ export interface IUnifiedSearchPluginServices extends Partial { analytics: CoreStart['analytics']; i18n: CoreStart['i18n']; theme: CoreStart['theme']; + userProfile: CoreStart['userProfile']; storage: IStorageWrapper; docLinks: DocLinksStart; data: DataPublicPluginStart; diff --git a/src/plugins/vis_default_editor/public/default_editor_controller.tsx b/src/plugins/vis_default_editor/public/default_editor_controller.tsx index 5b141282b9a1e..7f95da7e2c75b 100644 --- a/src/plugins/vis_default_editor/public/default_editor_controller.tsx +++ b/src/plugins/vis_default_editor/public/default_editor_controller.tsx @@ -15,7 +15,7 @@ import { EuiErrorBoundary, EuiLoadingChart } from '@elastic/eui'; import { Vis, VisualizeEmbeddableContract } from '@kbn/visualizations-plugin/public'; import { IEditorController, EditorRenderProps } from '@kbn/visualizations-plugin/public'; import { KibanaRenderContextProvider } from '@kbn/react-kibana-context-render'; -import { getAnalytics, getI18n, getTheme } from './services'; +import { getCoreStart } from './services'; // @ts-ignore const DefaultEditor = lazy(() => import('./default_editor')); @@ -30,7 +30,7 @@ class DefaultEditorController implements IEditorController { render(props: EditorRenderProps) { render( - + ('AnalyticsService'); -export const [getI18n, setI18n] = createGetterSetter('I18nService'); export const [getTheme, setTheme] = createGetterSetter('ThemeService'); +export const [getCoreStart, setCoreStart] = createGetterSetter('CoreStart'); diff --git a/src/plugins/vis_types/vislib/public/plugin.ts b/src/plugins/vis_types/vislib/public/plugin.ts index 47ba0306b5393..5a9419e1721e3 100644 --- a/src/plugins/vis_types/vislib/public/plugin.ts +++ b/src/plugins/vis_types/vislib/public/plugin.ts @@ -18,11 +18,15 @@ import type { UsageCollectionStart } from '@kbn/usage-collection-plugin/public'; import { LEGACY_HEATMAP_CHARTS_LIBRARY } from '@kbn/vis-type-heatmap-plugin/common'; import { LEGACY_GAUGE_CHARTS_LIBRARY } from '@kbn/vis-type-gauge-plugin/common'; import type { VislibPublicConfig } from '../server/config'; -import { setAnalytics, setI18n, setUsageCollectionStart } from './services'; +import { + setFormatService, + setDataActions, + setCoreStart, + setUsageCollectionStart, +} from './services'; import { heatmapVisTypeDefinition } from './heatmap'; import { createVisTypeVislibVisFn } from './vis_type_vislib_vis_fn'; -import { setFormatService, setDataActions, setTheme } from './services'; import { getVislibVisRenderer } from './vis_renderer'; import { gaugeVisTypeDefinition } from './gauge'; import { goalVisTypeDefinition } from './goal'; @@ -87,11 +91,9 @@ export class VisTypeVislibPlugin core: CoreStart, { data, usageCollection, fieldFormats }: VisTypeVislibPluginStartDependencies ) { + setCoreStart(core); setFormatService(fieldFormats); setDataActions(data.actions); - setAnalytics(core.analytics); - setI18n(core.i18n); - setTheme(core.theme); if (usageCollection) { setUsageCollectionStart(usageCollection); } diff --git a/src/plugins/vis_types/vislib/public/services.ts b/src/plugins/vis_types/vislib/public/services.ts index 4193af3329fc0..37c971236de3f 100644 --- a/src/plugins/vis_types/vislib/public/services.ts +++ b/src/plugins/vis_types/vislib/public/services.ts @@ -7,22 +7,19 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { AnalyticsServiceStart, I18nStart, ThemeServiceStart } from '@kbn/core/public'; +import { CoreStart } from '@kbn/core/public'; import { createGetterSetter } from '@kbn/kibana-utils-plugin/public'; import { DataPublicPluginStart } from '@kbn/data-plugin/public'; import { FieldFormatsStart } from '@kbn/field-formats-plugin/public'; import { UsageCollectionStart } from '@kbn/usage-collection-plugin/public'; +export const [getCoreStart, setCoreStart] = createGetterSetter('CoreStart'); + export const [getDataActions, setDataActions] = createGetterSetter('vislib data.actions'); export const [getFormatService, setFormatService] = createGetterSetter('FieldFormats'); -export const [getAnalytics, setAnalytics] = - createGetterSetter('vislib theme service'); -export const [getI18n, setI18n] = createGetterSetter('vislib theme service'); -export const [getTheme, setTheme] = createGetterSetter('vislib theme service'); - export const [getUsageCollectionStart, setUsageCollectionStart] = createGetterSetter('UsageCollection', false); diff --git a/src/plugins/vis_types/vislib/public/vis_controller.tsx b/src/plugins/vis_types/vislib/public/vis_controller.tsx index 89a7a4125d3c2..380d61713c253 100644 --- a/src/plugins/vis_types/vislib/public/vis_controller.tsx +++ b/src/plugins/vis_types/vislib/public/vis_controller.tsx @@ -136,7 +136,7 @@ export const createVislibVisController = ( } mountLegend( - startServices: Pick, + startServices: Pick, visData: unknown, visParams: BasicVislibParams, fireEvent: IInterpreterRenderHandlers['event'], diff --git a/src/plugins/vis_types/vislib/public/vislib/partials/touchdown_template.tsx b/src/plugins/vis_types/vislib/public/vislib/partials/touchdown_template.tsx index 0ceca90442e2f..f71f192907e4c 100644 --- a/src/plugins/vis_types/vislib/public/vislib/partials/touchdown_template.tsx +++ b/src/plugins/vis_types/vislib/public/vislib/partials/touchdown_template.tsx @@ -11,7 +11,7 @@ import React from 'react'; import ReactDOM from 'react-dom/server'; import { EuiIcon } from '@elastic/eui'; import { KibanaRenderContextProvider } from '@kbn/react-kibana-context-render'; -import { getAnalytics, getI18n, getTheme } from '../../services'; +import { getCoreStart } from '../../services'; interface Props { wholeBucket: boolean; @@ -19,7 +19,7 @@ interface Props { export const touchdownTemplate = ({ wholeBucket }: Props) => { return ReactDOM.renderToStaticMarkup( - +

diff --git a/src/plugins/visualizations/public/embeddable/save_to_library.ts b/src/plugins/visualizations/public/embeddable/save_to_library.ts index ae92252565aaa..416eda1f277a3 100644 --- a/src/plugins/visualizations/public/embeddable/save_to_library.ts +++ b/src/plugins/visualizations/public/embeddable/save_to_library.ts @@ -9,7 +9,7 @@ import { Reference } from '../../common/content_management'; import { PersistedState } from '../persisted_state'; -import { getAnalytics, getI18n, getOverlays, getTheme } from '../services'; +import { getAnalytics, getI18n, getOverlays, getTheme, getUserProfile } from '../services'; import { saveVisualization } from '../utils/saved_visualize_utils'; import { VisualizeOutputState } from './types'; @@ -63,6 +63,7 @@ export const saveToLibrary = async ({ i18n: getI18n(), overlays: getOverlays(), theme: getTheme(), + userProfile: getUserProfile(), }, references ?? [] ); diff --git a/src/plugins/visualizations/public/embeddable/state.ts b/src/plugins/visualizations/public/embeddable/state.ts index 52641703e04b6..79a3bc841a999 100644 --- a/src/plugins/visualizations/public/embeddable/state.ts +++ b/src/plugins/visualizations/public/embeddable/state.ts @@ -22,6 +22,7 @@ import { getSearch, getSpaces, getTheme, + getUserProfile, } from '../services'; import { deserializeReferences, @@ -137,6 +138,7 @@ export const deserializeSavedObjectState = async ({ overlays: getOverlays(), analytics: getAnalytics(), theme: getTheme(), + userProfile: getUserProfile(), }, savedObjectId ); diff --git a/src/plugins/visualizations/public/plugin.ts b/src/plugins/visualizations/public/plugin.ts index 6f82934b162d4..0dcbf78c399da 100644 --- a/src/plugins/visualizations/public/plugin.ts +++ b/src/plugins/visualizations/public/plugin.ts @@ -105,6 +105,7 @@ import { setAnalytics, setI18n, setTheme, + setUserProfile, setExecutionContext, setFieldFormats, setSavedObjectTagging, @@ -465,6 +466,7 @@ export class VisualizationsPlugin const types = this.types.start(); setTypes(types); setI18n(core.i18n); + setUserProfile(core.userProfile); setEmbeddable(embeddable); setApplication(core.application); setCapabilities(core.application.capabilities); diff --git a/src/plugins/visualizations/public/services.ts b/src/plugins/visualizations/public/services.ts index 09ab2e2e59272..b517082b8a2ba 100644 --- a/src/plugins/visualizations/public/services.ts +++ b/src/plugins/visualizations/public/services.ts @@ -22,6 +22,7 @@ import type { AnalyticsServiceStart, I18nStart, NotificationsStart, + UserProfileService, } from '@kbn/core/public'; import type { DataPublicPluginStart, TimefilterContract } from '@kbn/data-plugin/public'; import type { DataViewsPublicPluginStart } from '@kbn/data-views-plugin/public'; @@ -48,6 +49,9 @@ export const [getNotifications, setNotifications] = export const [getCapabilities, setCapabilities] = createGetterSetter('Capabilities'); +export const [getUserProfile, setUserProfile] = + createGetterSetter('UserProfile'); + export const [getHttp, setHttp] = createGetterSetter('Http'); export const [getFieldsFormats, setFieldFormats] = diff --git a/src/plugins/visualizations/public/types.ts b/src/plugins/visualizations/public/types.ts index 2ccb5c648f79e..5ff4d462426f9 100644 --- a/src/plugins/visualizations/public/types.ts +++ b/src/plugins/visualizations/public/types.ts @@ -34,6 +34,7 @@ export type StartServices = Pick< | 'analytics' | 'i18n' | 'theme' + | 'userProfile' >; export type { Vis, SerializedVis, VisParams }; diff --git a/src/plugins/visualizations/public/visualize_app/utils/utils.ts b/src/plugins/visualizations/public/visualize_app/utils/utils.ts index b12c249284373..0af00b444f1d5 100644 --- a/src/plugins/visualizations/public/visualize_app/utils/utils.ts +++ b/src/plugins/visualizations/public/visualize_app/utils/utils.ts @@ -70,9 +70,7 @@ export const redirectToSavedObjectPage = ( savedVisualizationsId?: string ) => { const { - history, setActiveUrl, - toastNotifications, http: { basePath }, application: { navigateToApp }, } = services; @@ -81,9 +79,7 @@ export const redirectToSavedObjectPage = ( path: `kibana/objects/savedVisualizations/${savedVisualizationsId}`, }; redirectWhenMissing({ - history, navigateToApp, - toastNotifications, basePath, mapping: { visualization: VisualizeConstants.LANDING_PAGE_PATH, @@ -94,7 +90,7 @@ export const redirectToSavedObjectPage = ( onBeforeRedirect() { setActiveUrl(VisualizeConstants.LANDING_PAGE_PATH); }, - theme: services.theme, + ...services, })(error); }; diff --git a/src/plugins/visualizations/public/wizard/show_new_vis.tsx b/src/plugins/visualizations/public/wizard/show_new_vis.tsx index 64fe4cb07b9f9..251101519ea59 100644 --- a/src/plugins/visualizations/public/wizard/show_new_vis.tsx +++ b/src/plugins/visualizations/public/wizard/show_new_vis.tsx @@ -21,6 +21,7 @@ import { getTheme, getContentManagement, getUISettings, + getUserProfile, } from '../services'; import type { BaseVisType } from '../vis_types'; @@ -94,7 +95,7 @@ export function showNewVisModal({ ); }), - { analytics: getAnalytics(), i18n: getI18n(), theme: getTheme() } + { analytics: getAnalytics(), i18n: getI18n(), theme: getTheme(), userProfile: getUserProfile() } ); unmount = mount(container); diff --git a/x-pack/examples/embedded_lens_example/public/mount.tsx b/x-pack/examples/embedded_lens_example/public/mount.tsx index 6ff43709d3f89..f791c115be636 100644 --- a/x-pack/examples/embedded_lens_example/public/mount.tsx +++ b/x-pack/examples/embedded_lens_example/public/mount.tsx @@ -22,11 +22,8 @@ export const mount = const defaultDataView = await plugins.data.indexPatterns.getDefault(); const { formula } = await plugins.lens.stateHelperApi(); - const { analytics, i18n, theme } = core; - const startServices = { analytics, i18n, theme }; - const reactElement = ( - + {defaultDataView && defaultDataView.isTimeBased() ? ( ) : ( diff --git a/x-pack/plugins/graph/public/components/workspace_layout/workspace_top_nav_menu.tsx b/x-pack/plugins/graph/public/components/workspace_layout/workspace_top_nav_menu.tsx index f4dc33f73176c..0473f23643026 100644 --- a/x-pack/plugins/graph/public/components/workspace_layout/workspace_top_nav_menu.tsx +++ b/x-pack/plugins/graph/public/components/workspace_layout/workspace_top_nav_menu.tsx @@ -165,7 +165,7 @@ export const WorkspaceTopNavMenu = (props: WorkspaceTopNavMenuProps) => { , - { theme: props.coreStart.theme, i18n: props.coreStart.i18n } + props.coreStart ), { size: 'm', diff --git a/x-pack/plugins/graph/public/helpers/saved_objects_utils/check_for_duplicate_title.ts b/x-pack/plugins/graph/public/helpers/saved_objects_utils/check_for_duplicate_title.ts index c4ea22344a459..0524c0bc5c1b3 100644 --- a/x-pack/plugins/graph/public/helpers/saved_objects_utils/check_for_duplicate_title.ts +++ b/x-pack/plugins/graph/public/helpers/saved_objects_utils/check_for_duplicate_title.ts @@ -27,7 +27,7 @@ export async function checkForDuplicateTitle( onTitleDuplicate: (() => void) | undefined, services: { contentClient: ContentClient; - } & Pick + } & Pick ): Promise { const { contentClient, ...startServices } = services; // Don't check for duplicates if user has already confirmed save with duplicate title diff --git a/x-pack/plugins/graph/public/helpers/saved_objects_utils/confirm_modal_promise.tsx b/x-pack/plugins/graph/public/helpers/saved_objects_utils/confirm_modal_promise.tsx index c1d8899c34076..7e7464754fd4d 100644 --- a/x-pack/plugins/graph/public/helpers/saved_objects_utils/confirm_modal_promise.tsx +++ b/x-pack/plugins/graph/public/helpers/saved_objects_utils/confirm_modal_promise.tsx @@ -15,7 +15,7 @@ export function confirmModalPromise( message = '', title = '', confirmBtnText = '', - startServices: Pick + startServices: Pick ): Promise { return new Promise((resolve, reject) => { const cancelButtonText = i18n.translate('xpack.graph.confirmModal.cancelButtonLabel', { diff --git a/x-pack/plugins/graph/public/helpers/saved_objects_utils/display_duplicate_title_confirm_modal.ts b/x-pack/plugins/graph/public/helpers/saved_objects_utils/display_duplicate_title_confirm_modal.ts index 4256d3bc0267d..eec216fceb15f 100644 --- a/x-pack/plugins/graph/public/helpers/saved_objects_utils/display_duplicate_title_confirm_modal.ts +++ b/x-pack/plugins/graph/public/helpers/saved_objects_utils/display_duplicate_title_confirm_modal.ts @@ -13,7 +13,7 @@ import { confirmModalPromise } from './confirm_modal_promise'; export function displayDuplicateTitleConfirmModal( savedObject: Pick, - startServices: Pick + startServices: Pick ): Promise { const confirmTitle = i18n.translate('xpack.graph.confirmModal.saveDuplicateConfirmationTitle', { defaultMessage: `This visualization already exists`, diff --git a/x-pack/plugins/graph/public/helpers/saved_objects_utils/save_with_confirmation.ts b/x-pack/plugins/graph/public/helpers/saved_objects_utils/save_with_confirmation.ts index 75b846ca076a3..a9b85e544834f 100644 --- a/x-pack/plugins/graph/public/helpers/saved_objects_utils/save_with_confirmation.ts +++ b/x-pack/plugins/graph/public/helpers/saved_objects_utils/save_with_confirmation.ts @@ -34,7 +34,7 @@ export async function saveWithConfirmation( options: SavedObjectsCreateOptions, services: { contentClient: ContentClient } & Pick< CoreStart, - 'overlays' | 'analytics' | 'i18n' | 'theme' + 'overlays' | 'analytics' | 'i18n' | 'theme' | 'userProfile' > ): Promise<{ item: GraphSavedObject }> { const { contentClient, ...startServices } = services; diff --git a/x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts b/x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts index 5a2546d122e58..566d9f26be301 100644 --- a/x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts +++ b/x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts @@ -167,7 +167,7 @@ export async function saveSavedWorkspace( }: SavedObjectSaveOpts = {}, services: { contentClient: ContentClient; - } & Pick + } & Pick ) { let attributes: SavedObjectAttributes = {}; diff --git a/x-pack/plugins/graph/public/services/save_modal.tsx b/x-pack/plugins/graph/public/services/save_modal.tsx index baf6a96405164..e05800ec20ddb 100644 --- a/x-pack/plugins/graph/public/services/save_modal.tsx +++ b/x-pack/plugins/graph/public/services/save_modal.tsx @@ -14,7 +14,7 @@ import { GraphWorkspaceSavedObject, GraphSavePolicy } from '../types'; import { SaveModal, OnSaveGraphProps } from '../components/save_modal'; export interface SaveWorkspaceServices - extends Pick { + extends Pick { contentClient: ContentClient; } diff --git a/x-pack/plugins/graph/public/state_management/store.ts b/x-pack/plugins/graph/public/state_management/store.ts index 60b44ed234e02..a150ad59336ea 100644 --- a/x-pack/plugins/graph/public/state_management/store.ts +++ b/x-pack/plugins/graph/public/state_management/store.ts @@ -40,7 +40,7 @@ export interface GraphState { } export interface GraphStoreDependencies - extends Pick { + extends Pick { addBasePath: (url: string) => string; indexPatternProvider: IndexPatternProvider; createWorkspace: (index: string, advancedSettings: AdvancedSettings) => Workspace; diff --git a/x-pack/plugins/lens/public/app_plugin/save_modal_container.tsx b/x-pack/plugins/lens/public/app_plugin/save_modal_container.tsx index f1ccacc37db53..f287e4426eaaa 100644 --- a/x-pack/plugins/lens/public/app_plugin/save_modal_container.tsx +++ b/x-pack/plugins/lens/public/app_plugin/save_modal_container.tsx @@ -52,6 +52,7 @@ export type SaveModalContainerProps = { | 'analytics' | 'i18n' | 'theme' + | 'userProfile' | 'stateTransfer' | 'savedObjectStore' >; @@ -238,6 +239,7 @@ export type SaveVisualizationProps = Simplify< | 'analytics' | 'i18n' | 'theme' + | 'userProfile' | 'notifications' | 'stateTransfer' | 'attributeService' diff --git a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/layer_actions/layer_actions.tsx b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/layer_actions/layer_actions.tsx index 2ab2c8e78890c..9140c90f67d60 100644 --- a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/layer_actions/layer_actions.tsx +++ b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/layer_actions/layer_actions.tsx @@ -59,7 +59,7 @@ export const getSharedActions = ({ isTextBasedLanguage?: boolean; hasLayerSettings: boolean; openLayerSettings: () => void; - core: Pick; + core: Pick; customRemoveModalText?: { title?: string; description?: string }; }) => [ getOpenLayerSettingsAction({ diff --git a/x-pack/plugins/lens/public/types.ts b/x-pack/plugins/lens/public/types.ts index d6dbccc492a6b..f6d4edc02e16d 100644 --- a/x-pack/plugins/lens/public/types.ts +++ b/x-pack/plugins/lens/public/types.ts @@ -73,6 +73,7 @@ export type StartServices = Pick< | 'analytics' | 'i18n' | 'theme' + | 'userProfile' >; export interface IndexPatternRef { @@ -662,6 +663,7 @@ export type DatasourceDimensionEditorProps = DatasourceDimensionPro | 'analytics' | 'i18n' | 'theme' + | 'userProfile' | 'docLinks' >; dateRange: DateRange; diff --git a/x-pack/plugins/lens/public/visualizations/xy/annotations/actions/revert_changes_action.tsx b/x-pack/plugins/lens/public/visualizations/xy/annotations/actions/revert_changes_action.tsx index 7593374ca83c5..61408286af1db 100644 --- a/x-pack/plugins/lens/public/visualizations/xy/annotations/actions/revert_changes_action.tsx +++ b/x-pack/plugins/lens/public/visualizations/xy/annotations/actions/revert_changes_action.tsx @@ -36,7 +36,10 @@ export const getRevertChangesAction = ({ state: XYState; layer: XYByReferenceAnnotationLayerConfig; setState: StateSetter; - core: Pick; + core: Pick< + CoreStart, + 'overlays' | 'analytics' | 'i18n' | 'theme' | 'notifications' | 'userProfile' + >; }): LayerAction => { return { displayName: i18n.translate('xpack.lens.xyChart.annotations.revertChanges', { diff --git a/x-pack/plugins/maps/public/legacy_visualizations/region_map/region_map_renderer.tsx b/x-pack/plugins/maps/public/legacy_visualizations/region_map/region_map_renderer.tsx index 3e09a7e0fd81d..0bc116f254e98 100644 --- a/x-pack/plugins/maps/public/legacy_visualizations/region_map/region_map_renderer.tsx +++ b/x-pack/plugins/maps/public/legacy_visualizations/region_map/region_map_renderer.tsx @@ -12,7 +12,7 @@ import { dynamic } from '@kbn/shared-ux-utility'; import { KibanaRenderContextProvider } from '@kbn/react-kibana-context-render'; import type { RegionMapVisRenderValue } from './region_map_fn'; import { REGION_MAP_RENDER } from './types'; -import { getAnalytics, getCoreI18n, getTheme } from '../../kibana_services'; +import { getCore } from '../../kibana_services'; const Component = dynamic(async () => { const { RegionMapVisualization } = await import('./region_map_visualization'); @@ -40,11 +40,7 @@ export const regionMapRenderer = { }; render( - + , domNode diff --git a/x-pack/plugins/maps/public/legacy_visualizations/tile_map/tile_map_renderer.tsx b/x-pack/plugins/maps/public/legacy_visualizations/tile_map/tile_map_renderer.tsx index 9bc828e617bb6..f3079825df3e9 100644 --- a/x-pack/plugins/maps/public/legacy_visualizations/tile_map/tile_map_renderer.tsx +++ b/x-pack/plugins/maps/public/legacy_visualizations/tile_map/tile_map_renderer.tsx @@ -12,7 +12,7 @@ import { dynamic } from '@kbn/shared-ux-utility'; import { KibanaRenderContextProvider } from '@kbn/react-kibana-context-render'; import type { TileMapVisRenderValue } from './tile_map_fn'; import { TILE_MAP_RENDER } from './types'; -import { getAnalytics, getCoreI18n, getTheme } from '../../kibana_services'; +import { getCore } from '../../kibana_services'; const Component = dynamic(async () => { const { TileMapVisualization } = await import('./tile_map_visualization'); @@ -40,11 +40,7 @@ export const tileMapRenderer = { }; render( - + , domNode diff --git a/x-pack/plugins/maps/public/lens/choropleth_chart/expression_renderer.tsx b/x-pack/plugins/maps/public/lens/choropleth_chart/expression_renderer.tsx index 6e7e9a2da4222..988affb8fa7e9 100644 --- a/x-pack/plugins/maps/public/lens/choropleth_chart/expression_renderer.tsx +++ b/x-pack/plugins/maps/public/lens/choropleth_chart/expression_renderer.tsx @@ -15,7 +15,7 @@ import type { KibanaExecutionContext } from '@kbn/core-execution-context-common' import { ChartSizeEvent } from '@kbn/chart-expressions-common'; import { KibanaRenderContextProvider } from '@kbn/react-kibana-context-render'; import type { MapsPluginStartDependencies } from '../../plugin'; -import { getAnalytics, getCoreI18n, getTheme } from '../../kibana_services'; +import { getCore } from '../../kibana_services'; import type { ChoroplethChartProps } from './types'; export const RENDERER_ID = 'lens_choropleth_chart_renderer'; @@ -99,11 +99,7 @@ export function getExpressionRenderer(coreSetup: CoreSetup + + Date: Thu, 12 Dec 2024 13:37:58 -0600 Subject: [PATCH 47/52] [Automatic Import] Borealis theme integration (#202598) Integrate changes for Borealis theme to `integration_assistant` plugin. --- .../steps/connector_step/connector_selector.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/integration_assistant/public/components/create_integration/create_integration_assistant/steps/connector_step/connector_selector.tsx b/x-pack/plugins/integration_assistant/public/components/create_integration/create_integration_assistant/steps/connector_step/connector_selector.tsx index 509a9a3058cf0..a5577ca961107 100644 --- a/x-pack/plugins/integration_assistant/public/components/create_integration/create_integration_assistant/steps/connector_step/connector_selector.tsx +++ b/x-pack/plugins/integration_assistant/public/components/create_integration/create_integration_assistant/steps/connector_step/connector_selector.tsx @@ -31,7 +31,7 @@ const useRowCss = () => { background-color: ${euiTheme.colors.lightestShade}; } .euiRadio { - color: ${euiTheme.colors.primaryText}; + color: ${euiTheme.colors.textPrimary}; label.euiRadio__label { padding-left: ${euiTheme.size.xl} !important; } From 5dee9994c9e619961ef896352de1ee8d56490f85 Mon Sep 17 00:00:00 2001 From: Gerard Soldevila Date: Thu, 12 Dec 2024 21:28:21 +0100 Subject: [PATCH 48/52] Sustainable Kibana Architecture: Move modules owned by `@elastic/obs-ux-management-team` (#202832) ## Summary This PR aims at relocating some of the Kibana modules (plugins and packages) into a new folder structure, according to the _Sustainable Kibana Architecture_ initiative. > [!IMPORTANT] > * We kindly ask you to: > * Manually fix the errors in the error section below (if there are any). > * Search for the `packages[\/\\]` and `plugins[\/\\]` patterns in the source code (Babel and Eslint config files), and update them appropriately. > * Manually review `.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that any CI pipeline customizations continue to be correctly applied after the changed path names > * Review all of the updated files, specially the `.ts` and `.js` files listed in the sections below, as some of them contain relative paths that have been updated. > * Think of potential impact of the move, including tooling and configuration files that can be pointing to the relocated modules. E.g.: > * customised eslint rules > * docs pointing to source code > [!NOTE] > This PR has been auto-generated. > Do not attempt to push any changes unless you know what you are doing. > Please use [#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E) Slack channel for feedback. #### 8 plugin(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/exploratory-view-plugin` | `x-pack/solutions/observability/plugins/exploratory_view` | | `@kbn/investigate-app-plugin` | `x-pack/solutions/observability/plugins/investigate_app` | | `@kbn/investigate-plugin` | `x-pack/solutions/observability/plugins/investigate` | | `@kbn/observability-plugin` | `x-pack/solutions/observability/plugins/observability` | | `@kbn/serverless-observability` | `x-pack/solutions/observability/plugins/serverless_observability` | | `@kbn/slo-plugin` | `x-pack/solutions/observability/plugins/slo` | | `@kbn/synthetics-plugin` | `x-pack/solutions/observability/plugins/synthetics` | | `@kbn/uptime-plugin` | `x-pack/solutions/observability/plugins/uptime` | #### 10 package(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/data-forge` | `x-pack/platform/packages/shared/kbn-data-forge` | | `@kbn/deeplinks-observability` | `src/platform/packages/shared/deeplinks/observability` | | `@kbn/infra-forge` | `x-pack/platform/packages/private/kbn-infra-forge` | | `@kbn/investigation-shared` | `x-pack/solutions/observability/packages/kbn-investigation-shared` | | `@kbn/observability-alert-details` | `x-pack/solutions/observability/packages/alert_details` | | `@kbn/observability-alerting-rule-utils` | `x-pack/platform/packages/shared/observability/alerting_rule_utils` | | `@kbn/observability-alerting-test-data` | `x-pack/solutions/observability/packages/alerting_test_data` | | `@kbn/observability-get-padded-alert-time-range-util` | `x-pack/solutions/observability/packages/get_padded_alert_time_range_util` | | `@kbn/observability-synthetics-test-data` | `x-pack/solutions/observability/packages/synthetics_test_data` | | `@kbn/slo-schema` | `x-pack/platform/packages/shared/kbn-slo-schema` |

Updated references ``` ./.buildkite/ftr_oblt_stateful_configs.yml ./.buildkite/pipelines/on_merge_unsupported_ftrs.yml ./.buildkite/pipelines/pull_request/exploratory_view_plugin.yml ./.buildkite/pipelines/pull_request/slo_plugin_e2e.yml ./.buildkite/pipelines/pull_request/synthetics_plugin.yml ./.buildkite/pipelines/pull_request/uptime_plugin.yml ./.buildkite/scripts/steps/functional/exploratory_view_plugin.sh ./.buildkite/scripts/steps/functional/slo_plugin_e2e.sh ./.buildkite/scripts/steps/functional/synthetics.sh ./.buildkite/scripts/steps/functional/synthetics_plugin.sh ./.buildkite/scripts/steps/functional/uptime_plugin.sh ./.eslintrc.js ./.github/paths-labeller.yml ./.i18nrc.json ./docs/developer/plugin-list.asciidoc ./oas_docs/overlays/alerting.overlays.yaml ./oas_docs/scripts/merge_ess_oas.js ./oas_docs/scripts/merge_serverless_oas.js ./package.json ./packages/kbn-eslint-plugin-i18n/helpers/get_i18n_identifier_from_file_path.test.ts ./packages/kbn-eslint-plugin-i18n/rules/formatted_message_should_start_with_the_right_id.test.ts ./packages/kbn-eslint-plugin-i18n/rules/i18n_translate_should_start_with_the_right_id.test.ts ./packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_formatted_message.test.ts ./packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_i18n.test.ts ./packages/kbn-eslint-plugin-telemetry/helpers/get_app_name.test.ts ./packages/kbn-repo-packages/package-map.json ./packages/kbn-ts-projects/config-paths.json ./src/dev/storybook/aliases.ts ./src/platform/packages/shared/deeplinks/observability/jest.config.js ./src/plugins/guided_onboarding/README.md ./tsconfig.base.json ./x-pack/.i18nrc.json ./x-pack/platform/packages/private/kbn-infra-forge/jest.config.js ./x-pack/platform/packages/shared/kbn-data-forge/jest.config.js ./x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generate.sh ./x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generate.sh ./x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generate.sh ./x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generate.sh ./x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generate.sh ./x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generate.sh ./x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generate.sh ./x-pack/platform/packages/shared/kbn-slo-schema/jest.config.js ./x-pack/platform/packages/shared/observability/alerting_rule_utils/jest.config.js ./x-pack/plugins/observability_solution/observability/dev_docs/custom_threshold.md ./x-pack/plugins/observability_solution/slo/dev_docs/slo.md ./x-pack/plugins/observability_solution/uptime/.buildkite/pipelines/flaky.sh ./x-pack/plugins/observability_solution/uptime/README.md ./x-pack/plugins/observability_solution/uptime/e2e/README.md ./x-pack/solutions/observability/packages/alert_details/jest.config.js ./x-pack/solutions/observability/packages/alerting_test_data/jest.config.js ./x-pack/solutions/observability/packages/get_padded_alert_time_range_util/jest.config.js ./x-pack/solutions/observability/packages/kbn-investigation-shared/jest.config.js ./x-pack/solutions/observability/packages/synthetics_test_data/jest.config.js ./x-pack/solutions/observability/plugins/exploratory_view/README.md ./x-pack/solutions/observability/plugins/exploratory_view/e2e/README.md ./x-pack/solutions/observability/plugins/exploratory_view/jest.config.js ./x-pack/solutions/observability/plugins/investigate/jest.config.js ./x-pack/solutions/observability/plugins/investigate_app/jest.config.js ./x-pack/solutions/observability/plugins/observability/jest.config.js ./x-pack/solutions/observability/plugins/slo/docs/openapi/slo/README.md ./x-pack/solutions/observability/plugins/slo/jest.config.js ./x-pack/solutions/observability/plugins/synthetics/.buildkite/pipelines/flaky.sh ./x-pack/solutions/observability/plugins/synthetics/README.md ./x-pack/solutions/observability/plugins/synthetics/e2e/README.md ./x-pack/solutions/observability/plugins/synthetics/jest.config.js ./x-pack/solutions/observability/plugins/uptime/e2e/README.md ./x-pack/solutions/observability/plugins/uptime/jest.config.js ./yarn.lock ```
Updated relative paths ``` src/platform/packages/shared/deeplinks/observability/jest.config.js:12 src/platform/packages/shared/deeplinks/observability/tsconfig.json:2 x-pack/platform/packages/private/kbn-infra-forge/jest.config.js:10 x-pack/platform/packages/private/kbn-infra-forge/tsconfig.json:2 x-pack/platform/packages/shared/kbn-data-forge/jest.config.js:10 x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generate.sh:3 x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generate.sh:3 x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generate.sh:3 x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generate.sh:3 x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generate.sh:3 x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generate.sh:3 x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generate.sh:3 x-pack/platform/packages/shared/kbn-data-forge/tsconfig.json:2 x-pack/platform/packages/shared/kbn-slo-schema/jest.config.js:10 x-pack/platform/packages/shared/kbn-slo-schema/tsconfig.json:2 x-pack/platform/packages/shared/observability/alerting_rule_utils/jest.config.js:10 x-pack/platform/packages/shared/observability/alerting_rule_utils/tsconfig.json:2 x-pack/solutions/observability/packages/alert_details/jest.config.js:10 x-pack/solutions/observability/packages/alert_details/tsconfig.json:2 x-pack/solutions/observability/packages/alerting_test_data/jest.config.js:10 x-pack/solutions/observability/packages/alerting_test_data/tsconfig.json:2 x-pack/solutions/observability/packages/get_padded_alert_time_range_util/jest.config.js:10 x-pack/solutions/observability/packages/get_padded_alert_time_range_util/tsconfig.json:2 x-pack/solutions/observability/packages/kbn-investigation-shared/jest.config.js:12 x-pack/solutions/observability/packages/kbn-investigation-shared/tsconfig.json:2 x-pack/solutions/observability/packages/synthetics_test_data/jest.config.js:10 x-pack/solutions/observability/packages/synthetics_test_data/tsconfig.json:2 x-pack/solutions/observability/plugins/exploratory_view/e2e/README.md:13 x-pack/solutions/observability/plugins/exploratory_view/e2e/synthetics_run.ts:28 x-pack/solutions/observability/plugins/exploratory_view/e2e/synthetics_run.ts:33 x-pack/solutions/observability/plugins/exploratory_view/e2e/tasks/es_archiver.ts:19 x-pack/solutions/observability/plugins/exploratory_view/e2e/tasks/es_archiver.ts:27 x-pack/solutions/observability/plugins/exploratory_view/e2e/tasks/es_archiver.ts:34 x-pack/solutions/observability/plugins/exploratory_view/e2e/tsconfig.json:2 x-pack/solutions/observability/plugins/exploratory_view/jest.config.js:10 x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/README.md:116 x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/README.md:156 x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/README.md:161 x-pack/solutions/observability/plugins/exploratory_view/tsconfig.json:2 x-pack/solutions/observability/plugins/exploratory_view/tsconfig.json:6 x-pack/solutions/observability/plugins/investigate/jest.config.js:10 x-pack/solutions/observability/plugins/investigate/tsconfig.json:2 x-pack/solutions/observability/plugins/investigate/tsconfig.json:7 x-pack/solutions/observability/plugins/investigate_app/jest.config.js:10 x-pack/solutions/observability/plugins/investigate_app/tsconfig.json:2 x-pack/solutions/observability/plugins/investigate_app/tsconfig.json:7 x-pack/solutions/observability/plugins/observability/dev_docs/custom_threshold.md:10 x-pack/solutions/observability/plugins/observability/dev_docs/custom_threshold.md:36 x-pack/solutions/observability/plugins/observability/dev_docs/feature_flags.md:14 x-pack/solutions/observability/plugins/observability/jest.config.js:10 x-pack/solutions/observability/plugins/observability/tsconfig.json:12 x-pack/solutions/observability/plugins/observability/tsconfig.json:2 x-pack/solutions/observability/plugins/serverless_observability/package.json:8 x-pack/solutions/observability/plugins/serverless_observability/package.json:9 x-pack/solutions/observability/plugins/serverless_observability/tsconfig.json:12 x-pack/solutions/observability/plugins/serverless_observability/tsconfig.json:2 x-pack/solutions/observability/plugins/slo/dev_docs/slo.md:11 x-pack/solutions/observability/plugins/slo/e2e/tsconfig.json:2 x-pack/solutions/observability/plugins/slo/jest.config.js:10 x-pack/solutions/observability/plugins/slo/tsconfig.json:10 x-pack/solutions/observability/plugins/slo/tsconfig.json:2 x-pack/solutions/observability/plugins/synthetics/e2e/tasks/es_archiver.ts:19 x-pack/solutions/observability/plugins/synthetics/e2e/tasks/es_archiver.ts:27 x-pack/solutions/observability/plugins/synthetics/e2e/tasks/es_archiver.ts:34 x-pack/solutions/observability/plugins/synthetics/e2e/tsconfig.json:2 x-pack/solutions/observability/plugins/synthetics/jest.config.js:10 x-pack/solutions/observability/plugins/synthetics/tsconfig.json:12 x-pack/solutions/observability/plugins/synthetics/tsconfig.json:2 x-pack/solutions/observability/plugins/uptime/e2e/tasks/es_archiver.ts:19 x-pack/solutions/observability/plugins/uptime/e2e/tasks/es_archiver.ts:27 x-pack/solutions/observability/plugins/uptime/e2e/tasks/es_archiver.ts:34 x-pack/solutions/observability/plugins/uptime/e2e/tasks/read_kibana_config.ts:15 x-pack/solutions/observability/plugins/uptime/e2e/tsconfig.json:2 x-pack/solutions/observability/plugins/uptime/jest.config.js:10 x-pack/solutions/observability/plugins/uptime/tsconfig.json:13 x-pack/solutions/observability/plugins/uptime/tsconfig.json:2 ```
Script errors ``` Cannot replace multiple occurrences of "../../.." in the same line, please fix manually: /Users/gsoldevila/Work/kibana-tertiary/x-pack/solutions/observability/plugins/exploratory_view/e2e/tasks/es_archiver.ts:19 Cannot replace multiple occurrences of "../../.." in the same line, please fix manually: /Users/gsoldevila/Work/kibana-tertiary/x-pack/solutions/observability/plugins/exploratory_view/e2e/tasks/es_archiver.ts:27 Cannot replace multiple occurrences of "../../.." in the same line, please fix manually: /Users/gsoldevila/Work/kibana-tertiary/x-pack/solutions/observability/plugins/exploratory_view/e2e/tasks/es_archiver.ts:34 Cannot replace multiple occurrences of "../../../.." in the same line, please fix manually: /Users/gsoldevila/Work/kibana-tertiary/x-pack/solutions/observability/plugins/observability/dev_docs/feature_flags.md:14 Cannot replace multiple occurrences of "../../.." in the same line, please fix manually: /Users/gsoldevila/Work/kibana-tertiary/x-pack/solutions/observability/plugins/synthetics/e2e/tasks/es_archiver.ts:19 Cannot replace multiple occurrences of "../../.." in the same line, please fix manually: /Users/gsoldevila/Work/kibana-tertiary/x-pack/solutions/observability/plugins/synthetics/e2e/tasks/es_archiver.ts:27 Cannot replace multiple occurrences of "../../.." in the same line, please fix manually: /Users/gsoldevila/Work/kibana-tertiary/x-pack/solutions/observability/plugins/synthetics/e2e/tasks/es_archiver.ts:34 Cannot replace multiple occurrences of "../../../.." in the same line, please fix manually: /Users/gsoldevila/Work/kibana-tertiary/x-pack/solutions/observability/plugins/uptime/e2e/tasks/es_archiver.ts:19 Cannot replace multiple occurrences of "../../../.." in the same line, please fix manually: /Users/gsoldevila/Work/kibana-tertiary/x-pack/solutions/observability/plugins/uptime/e2e/tasks/es_archiver.ts:27 Cannot replace multiple occurrences of "../../../.." in the same line, please fix manually: /Users/gsoldevila/Work/kibana-tertiary/x-pack/solutions/observability/plugins/uptime/e2e/tasks/es_archiver.ts:34 ```
--------- Co-authored-by: shahzad31 Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .buildkite/ftr_oblt_stateful_configs.yml | 12 +- .../pipelines/on_merge_unsupported_ftrs.yml | 2 +- .../pull_request/exploratory_view_plugin.yml | 2 +- .../pull_request/synthetics_plugin.yml | 2 +- .../pipelines/pull_request/uptime_plugin.yml | 2 +- .../pipelines/pull_request/ux_plugin_e2e.yml | 2 +- .../pipelines/pull_request/pipeline.ts | 12 +- .../functional/exploratory_view_plugin.sh | 2 +- .../scripts/steps/functional/synthetics.sh | 2 +- .../steps/functional/synthetics_plugin.sh | 2 +- .../scripts/steps/functional/uptime_plugin.sh | 2 +- .../steps/functional/ux_synthetics_e2e.sh | 2 +- .eslintrc.js | 12 +- .github/CODEOWNERS | 38 ++--- .github/paths-labeller.yml | 10 +- .i18nrc.json | 2 +- docs/developer/plugin-list.asciidoc | 16 +-- oas_docs/overlays/alerting.overlays.yaml | 4 +- package.json | 38 ++--- .../styled_components_files.js | 1 + ...get_i18n_identifier_from_file_path.test.ts | 4 +- ...age_should_start_with_the_right_id.test.ts | 12 +- ...ate_should_start_with_the_right_id.test.ts | 10 +- ..._translated_with_formatted_message.test.ts | 22 +-- ...ngs_should_be_translated_with_i18n.test.ts | 22 +-- .../helpers/get_app_name.test.ts | 2 +- packages/kbn-investigation-shared/index.ts | 10 -- .../kbn-investigation-shared/jest.config.js | 14 -- .../kbn-investigation-shared/src/index.ts | 11 -- .../src/schema/index.ts | 16 --- .../src/schema/investigation_note.ts | 20 --- .../src/schema/origin.ts | 15 -- src/dev/storybook/aliases.ts | 4 +- .../shared}/deeplinks/observability/README.md | 0 .../deeplinks/observability/constants.ts | 0 .../deeplinks/observability/deep_links.ts | 0 .../shared}/deeplinks/observability/index.ts | 0 .../deeplinks/observability/jest.config.js | 4 +- .../deeplinks/observability/kibana.jsonc | 0 .../observability/locators/dataset_quality.ts | 0 .../locators/dataset_quality_details.ts | 0 .../deeplinks/observability/locators/index.ts | 0 .../observability/locators/logs_explorer.ts | 0 .../locators/observability_logs_explorer.ts | 0 .../locators/observability_onboarding.ts | 0 .../observability/locators/uptime.ts | 0 .../deeplinks/observability/package.json | 0 .../deeplinks/observability/tsconfig.json | 2 +- src/plugins/guided_onboarding/README.md | 2 +- tsconfig.base.json | 76 +++++----- x-pack/.i18nrc.json | 16 +-- .../alerting_test_data/jest.config.js | 12 -- .../jest.config.js | 12 -- .../synthetics_test_data/jest.config.js | 12 -- .../private}/kbn-infra-forge/README.md | 0 .../private}/kbn-infra-forge/index.ts | 0 .../private}/kbn-infra-forge/jest.config.js | 4 +- .../private}/kbn-infra-forge/kibana.jsonc | 0 .../private}/kbn-infra-forge/package.json | 0 .../composable/component/base.json | 0 .../composable/component/event.json | 0 .../composable/component/host.json | 0 .../composable/component/metricset.json | 0 .../composable/component/system.json | 0 .../src/data_sources/composable/template.json | 0 .../src/data_sources/fake_hosts/index.ts | 0 .../fake_hosts/index_template_def.ts | 0 .../src/lib/manage_template.ts | 0 .../private}/kbn-infra-forge/src/lib/queue.ts | 0 .../private}/kbn-infra-forge/src/run.ts | 0 .../private}/kbn-infra-forge/tsconfig.json | 2 +- .../packages/shared}/kbn-data-forge/README.md | 0 .../change_point_detection.yaml | 0 .../anomalies_by_type/concept_drift.yaml | 0 .../anomalies_by_type/contextual_anomaly.yaml | 0 .../anomalies_by_type/point_anomaly.yaml | 0 .../changing_log_volume_example.yaml | 0 .../example_config/fake_logs_sine.yaml | 0 .../example_config/fake_stack.yaml | 0 .../example_config/full_example.yaml | 0 .../example_config/future_example.yaml | 0 .../example_config/good_to_bad_to_good.yaml | 0 .../example_config/log_drop.yml | 0 .../log_spike_scenarios/scenario0_logs.yaml | 0 .../scenario1_spike_logs.yaml | 0 .../scenario2_spike_logs_host.yaml | 0 .../scenario3_spike_errors.yaml | 0 .../scenario4_spike_errors_with_recovery.yaml | 0 .../scenario5_spike_logs_linear.yaml | 0 .../example_config/metric_example.yaml | 0 .../example_config/ramp_up_then_down.yaml | 0 ...io0_paralell_metrics_drop_step_change.yaml | 0 ...paralell_metrics_increase_step_change.yaml | 0 .../scenario2_divergent_metrics.yaml | 0 .../scenario3_chained_metrics_change.yaml | 0 .../custom_threshold_log_count.yaml | 0 .../custom_threshold_log_count_groupby.yaml | 0 .../custom_threshold_log_count_nodata.yaml | 0 .../custom_threshold_metric_avg.yaml | 0 .../custom_threshold_metric_avg_groupby.yaml | 0 .../custom_threshold_metric_avg_nodata.yaml | 0 .../rule_tests/slo_burn_rate.yaml | 0 .../example_config/transition_example.yaml | 0 .../transitioning_templates_example.yaml | 0 .../packages/shared}/kbn-data-forge/index.ts | 0 .../shared/kbn-data-forge}/jest.config.js | 4 +- .../shared}/kbn-data-forge/kibana.jsonc | 0 .../shared}/kbn-data-forge/package.json | 0 .../shared}/kbn-data-forge/src/cleanup.ts | 0 .../shared}/kbn-data-forge/src/cli.ts | 0 .../shared}/kbn-data-forge/src/constants.ts | 0 .../ecs/fields/custom/metricset.yaml | 0 .../fake_hosts/ecs/fields/custom/system.yml | 0 .../ecs/fields/mapping-settings.json | 0 .../fake_hosts/ecs/fields/subset.yml | 0 .../ecs/fields/template-settings-legacy.json | 0 .../ecs/fields/template-settings.json | 0 .../data_sources/fake_hosts}/ecs/generate.sh | 4 +- .../ecs/generated/beats/fields.ecs.yml | 0 .../fake_hosts/ecs/generated/csv/fields.csv | 0 .../fake_hosts/ecs/generated/ecs/ecs_flat.yml | 0 .../ecs/generated/ecs/ecs_nested.yml | 0 .../ecs/subset/fake_hosts/ecs_flat.yml | 0 .../ecs/subset/fake_hosts/ecs_nested.yml | 0 .../composable/component/base.json | 0 .../composable/component/event.json | 0 .../composable/component/host.json | 0 .../composable/component/metricset.json | 0 .../composable/component/system.json | 0 .../elasticsearch/composable/template.json | 0 .../elasticsearch/legacy/template.json | 0 .../src/data_sources/fake_hosts/ecs/index.ts | 0 .../src/data_sources/fake_hosts/index.ts | 0 .../src/data_sources/fake_hosts/template.json | 0 .../ecs/fields/custom/metricset.yaml | 0 .../ecs/fields/mapping-settings.json | 0 .../fake_logs/ecs/fields/subset.yml | 0 .../ecs/fields/template-settings-legacy.json | 0 .../ecs/fields/template-settings.json | 0 .../data_sources/fake_logs}/ecs/generate.sh | 4 +- .../ecs/generated/beats/fields.ecs.yml | 0 .../fake_logs/ecs/generated/csv/fields.csv | 0 .../fake_logs/ecs/generated/ecs/ecs_flat.yml | 0 .../ecs/generated/ecs/ecs_nested.yml | 0 .../ecs/subset/admin_console/ecs_flat.yml | 0 .../ecs/subset/admin_console/ecs_nested.yml | 0 .../composable/component/base.json | 0 .../composable/component/event.json | 0 .../composable/component/host.json | 0 .../composable/component/log.json | 0 .../composable/component/metricset.json | 0 .../elasticsearch/composable/template.json | 0 .../elasticsearch/legacy/template.json | 0 .../src/data_sources/fake_logs/ecs/index.ts | 0 .../src/data_sources/fake_logs/index.ts | 0 .../src/data_sources/fake_logs/template.json | 0 .../admin_console/assets/admin_console.ndjson | 0 .../ecs/fields/mapping-settings.json | 0 .../admin_console/ecs/fields/subset.yml | 0 .../ecs/fields/template-settings-legacy.json | 0 .../ecs/fields/template-settings.json | 0 .../fake_stack/admin_console/ecs/generate.sh | 4 +- .../ecs/generated/beats/fields.ecs.yml | 0 .../ecs/generated/csv/fields.csv | 0 .../ecs/generated/ecs/ecs_flat.yml | 0 .../ecs/generated/ecs/ecs_nested.yml | 0 .../ecs/subset/admin_console/ecs_flat.yml | 0 .../ecs/subset/admin_console/ecs_nested.yml | 0 .../composable/component/base.json | 0 .../composable/component/event.json | 0 .../composable/component/host.json | 0 .../composable/component/http.json | 0 .../composable/component/log.json | 0 .../composable/component/server.json | 0 .../composable/component/url.json | 0 .../composable/component/user.json | 0 .../composable/component/user_agent.json | 0 .../elasticsearch/composable/template.json | 0 .../elasticsearch/legacy/template.json | 0 .../fake_stack/admin_console/ecs/index.ts | 0 .../fake_stack/admin_console/index.ts | 0 .../lib/events/create_base_event.ts | 0 .../admin_console/lib/events/create_user.ts | 0 .../admin_console/lib/events/delete_user.ts | 0 .../admin_console/lib/events/edit_user.ts | 0 .../lib/events/internal_error.ts | 0 .../lib/events/list_customers.ts | 0 .../admin_console/lib/events/login.ts | 0 .../admin_console/lib/events/login_error.ts | 0 .../lib/events/mongodb_connection_error.ts | 0 .../lib/events/mongodb_proxy_timeout.ts | 0 .../lib/events/qa_deployed_to_production.ts | 0 .../admin_console/lib/events/startup.ts | 0 .../admin_console/lib/events/view_user.ts | 0 .../admin_console/lib/login_cache.ts | 0 .../assets/transaction_rates.ndjson | 0 .../fake_stack/common/constants.ts | 0 .../fake_stack/common/weighted_sample.ts | 0 .../heartbeat/assets/heartbeat.ndjson | 0 .../ecs/fields/mapping-settings.json | 0 .../heartbeat/ecs/fields/subset.yml | 0 .../ecs/fields/template-settings-legacy.json | 0 .../ecs/fields/template-settings.json | 0 .../fake_stack/heartbeat/ecs/generate.sh | 4 +- .../ecs/generated/beats/fields.ecs.yml | 0 .../heartbeat/ecs/generated/csv/fields.csv | 0 .../heartbeat/ecs/generated/ecs/ecs_flat.yml | 0 .../ecs/generated/ecs/ecs_nested.yml | 0 .../ecs/subset/heartbeat/ecs_flat.yml | 0 .../ecs/subset/heartbeat/ecs_nested.yml | 0 .../ecs/subset/nginx_proxy/ecs_flat.yml | 0 .../ecs/subset/nginx_proxy/ecs_nested.yml | 0 .../composable/component/base.json | 0 .../composable/component/event.json | 0 .../composable/component/log.json | 0 .../elasticsearch/composable/template.json | 0 .../elasticsearch/legacy/template.json | 0 .../fake_stack/heartbeat/ecs/index.ts | 0 .../fake_stack/heartbeat/index.ts | 0 .../fake_stack/heartbeat/lib/events/bad.ts | 0 .../heartbeat/lib/events/create_event.ts | 0 .../fake_stack/heartbeat/lib/events/good.ts | 0 .../src/data_sources/fake_stack/index.ts | 0 .../assets/message_processor.ndjson | 0 .../ecs/fields/custom/processor.yml | 0 .../ecs/fields/mapping-settings.json | 0 .../message_processor/ecs/fields/subset.yml | 0 .../ecs/fields/template-settings-legacy.json | 0 .../ecs/fields/template-settings.json | 0 .../message_processor/ecs/generate.sh | 4 +- .../ecs/generated/beats/fields.ecs.yml | 0 .../ecs/generated/csv/fields.csv | 0 .../ecs/generated/ecs/ecs_flat.yml | 0 .../ecs/generated/ecs/ecs_nested.yml | 0 .../ecs/subset/message_processor/ecs_flat.yml | 0 .../subset/message_processor/ecs_nested.yml | 0 .../composable/component/base.json | 0 .../composable/component/host.json | 0 .../composable/component/log.json | 0 .../composable/component/processor.json | 0 .../elasticsearch/composable/template.json | 0 .../elasticsearch/legacy/template.json | 0 .../fake_stack/message_processor/ecs/index.ts | 0 .../fake_stack/message_processor/index.ts | 0 .../message_processor/lib/events/bad.ts | 0 .../message_processor/lib/events/bad_host.ts | 0 .../lib/events/create_base_event.ts | 0 .../lib/events/create_latency_histogram.ts | 0 .../lib/events/generate_bytes_processed.ts | 0 .../lib/events/generate_time_spent.ts | 0 .../message_processor/lib/events/good.ts | 0 .../message_processor/lib/events/startup.ts | 0 .../fake_stack/mongodb/assets/mongodb.ndjson | 0 .../mongodb/ecs/fields/custom/mongodb.yml | 0 .../mongodb/ecs/fields/mapping-settings.json | 0 .../fake_stack/mongodb/ecs/fields/subset.yml | 0 .../ecs/fields/template-settings-legacy.json | 0 .../mongodb/ecs/fields/template-settings.json | 0 .../fake_stack/mongodb/ecs/generate.sh | 4 +- .../ecs/generated/beats/fields.ecs.yml | 0 .../mongodb/ecs/generated/csv/fields.csv | 0 .../mongodb/ecs/generated/ecs/ecs_flat.yml | 0 .../mongodb/ecs/generated/ecs/ecs_nested.yml | 0 .../generated/ecs/subset/mongodb/ecs_flat.yml | 0 .../ecs/subset/mongodb/ecs_nested.yml | 0 .../composable/component/base.json | 0 .../composable/component/host.json | 0 .../composable/component/log.json | 0 .../composable/component/mongodb.json | 0 .../elasticsearch/composable/template.json | 0 .../elasticsearch/legacy/template.json | 0 .../fake_stack/mongodb/ecs/index.ts | 0 .../data_sources/fake_stack/mongodb/index.ts | 0 .../mongodb/lib/events/create_base_event.ts | 0 .../mongodb/lib/events/mongo_actions.ts | 0 .../fake_stack/mongodb/lib/events/startup.ts | 0 .../nginx_proxy/assets/nginx_proxy.ndjson | 0 .../ecs/fields/mapping-settings.json | 0 .../nginx_proxy/ecs/fields/subset.yml | 0 .../ecs/fields/template-settings-legacy.json | 0 .../ecs/fields/template-settings.json | 0 .../fake_stack/nginx_proxy/ecs/generate.sh | 4 +- .../ecs/generated/beats/fields.ecs.yml | 0 .../nginx_proxy/ecs/generated/csv/fields.csv | 0 .../ecs/generated/ecs/ecs_flat.yml | 0 .../ecs/generated/ecs/ecs_nested.yml | 0 .../ecs/subset/nginx_proxy/ecs_flat.yml | 0 .../ecs/subset/nginx_proxy/ecs_nested.yml | 0 .../composable/component/base.json | 0 .../composable/component/host.json | 0 .../composable/component/http.json | 0 .../composable/component/log.json | 0 .../composable/component/url.json | 0 .../elasticsearch/composable/template.json | 0 .../elasticsearch/legacy/template.json | 0 .../fake_stack/nginx_proxy/ecs/index.ts | 0 .../fake_stack/nginx_proxy/index.ts | 0 .../nginx_proxy/lib/create_nginx_timestamp.ts | 0 .../lib/events/create_nginx_log.ts | 0 .../lib/events/create_upstream_timedout.ts | 0 .../nginx_proxy/lib/events/startup.ts | 0 .../kbn-data-forge/src/data_sources/index.ts | 0 .../src/data_sources/service_logs/index.ts | 0 .../service_logs/lib/generate_cloud.ts | 0 .../service_logs/lib/generate_host.ts | 0 .../service_logs/lib/generate_log_message.ts | 0 .../service_logs/lib/generate_service.ts | 0 .../shared}/kbn-data-forge/src/generate.ts | 0 .../src/lib/add_ephemeral_project_id.ts | 0 .../src/lib/cli_to_partial_config.ts | 0 .../kbn-data-forge/src/lib/create_config.ts | 0 .../kbn-data-forge/src/lib/create_events.ts | 0 .../data_shapes/create_exponetial_function.ts | 0 .../lib/data_shapes/create_linear_function.ts | 0 .../lib/data_shapes/create_sine_function.ts | 0 .../src/lib/data_shapes/index.ts | 0 .../src/lib/delete_index_template.ts | 0 .../src/lib/elasticsearch_error_handler.ts | 0 .../src/lib/generate_counter_data.ts | 0 .../kbn-data-forge/src/lib/get_es_client.ts | 0 .../kbn-data-forge/src/lib/index_schedule.ts | 0 .../shared}/kbn-data-forge/src/lib/indices.ts | 0 .../kbn-data-forge/src/lib/install_assets.ts | 0 .../lib/install_default_component_template.ts | 0 .../lib/install_default_ingest_pipeline.ts | 0 .../src/lib/install_index_template.ts | 0 .../src/lib/install_kibana_assets.ts | 0 .../kbn-data-forge/src/lib/is_weekend.ts | 0 .../src/lib/parse_cli_options.ts | 0 .../shared}/kbn-data-forge/src/lib/queue.ts | 0 .../src/lib/replace_metrics_with_shapes.ts | 0 .../src/lib/setup_kibana_system_user.ts | 0 .../shared}/kbn-data-forge/src/lib/wait.ts | 0 .../shared}/kbn-data-forge/src/run.ts | 0 .../shared}/kbn-data-forge/src/types/index.ts | 0 .../shared}/kbn-data-forge/tsconfig.json | 2 +- .../packages/shared}/kbn-slo-schema/README.md | 0 .../packages/shared}/kbn-slo-schema/index.ts | 0 .../shared/kbn-slo-schema}/jest.config.js | 4 +- .../shared}/kbn-slo-schema/kibana.jsonc | 0 .../shared}/kbn-slo-schema/package.json | 0 .../src/models/duration.test.ts | 0 .../kbn-slo-schema/src/models/duration.ts | 0 .../kbn-slo-schema/src/models/index.ts | 0 .../kbn-slo-schema/src/models/pagination.ts | 0 .../kbn-slo-schema/src/rest_specs/common.ts | 0 .../kbn-slo-schema/src/rest_specs/index.ts | 0 .../src/rest_specs/indicators.ts | 0 .../src/rest_specs/routes/create.ts | 0 .../src/rest_specs/routes/delete.ts | 0 .../src/rest_specs/routes/delete_instance.ts | 0 .../routes/fetch_historical_summary.ts | 0 .../src/rest_specs/routes/find.ts | 0 .../src/rest_specs/routes/find_definition.ts | 0 .../src/rest_specs/routes/find_group.ts | 0 .../src/rest_specs/routes/get.ts | 0 .../src/rest_specs/routes/get_burn_rates.ts | 0 .../src/rest_specs/routes/get_overview.ts | 0 .../src/rest_specs/routes/get_preview_data.ts | 0 .../rest_specs/routes/get_slo_groupings.ts | 0 .../src/rest_specs/routes/get_slo_health.ts | 0 .../src/rest_specs/routes/get_suggestions.ts | 0 .../src/rest_specs/routes/index.ts | 0 .../src/rest_specs/routes/manage.ts | 0 .../src/rest_specs/routes/put_settings.ts | 0 .../src/rest_specs/routes/reset.ts | 0 .../src/rest_specs/routes/update.ts | 0 .../kbn-slo-schema/src/rest_specs/slo.ts | 0 .../kbn-slo-schema/src/schema/common.ts | 0 .../kbn-slo-schema/src/schema/duration.ts | 0 .../kbn-slo-schema/src/schema/health.ts | 0 .../kbn-slo-schema/src/schema/index.ts | 0 .../kbn-slo-schema/src/schema/indicators.ts | 0 .../kbn-slo-schema/src/schema/schema.test.ts | 0 .../kbn-slo-schema/src/schema/settings.ts | 0 .../shared}/kbn-slo-schema/src/schema/slo.ts | 0 .../src/schema/time_window.test.ts | 0 .../kbn-slo-schema/src/schema/time_window.ts | 0 .../shared}/kbn-slo-schema/tsconfig.json | 2 +- .../alerting_rule_utils/README.md | 0 .../alerting_rule_utils/index.ts | 0 .../alerting_rule_utils/jest.config.js | 12 ++ .../alerting_rule_utils/kibana.jsonc | 0 .../alerting_rule_utils/package.json | 0 .../src/get_ecs_groups.test.ts | 0 .../alerting_rule_utils/src/get_ecs_groups.ts | 0 .../alerting_rule_utils/tsconfig.json | 2 +- .../exploratory_view/jest.config.js | 21 --- .../slo/dev_docs/slo.md | 2 +- .../synthetics/.buildkite/pipelines/flaky.sh | 8 -- .../uptime/.buildkite/pipelines/flaky.sh | 8 -- .../ux/.buildkite/pipelines/flaky.sh | 8 -- .../observability_solution/ux/readme.md | 14 -- .../schema/xpack_observability.json | 135 +++++++++++++++++- .../schema/xpack_plugins.json | 132 ----------------- .../packages}/alert_details/README.md | 0 .../packages}/alert_details/index.ts | 0 .../packages/alert_details}/jest.config.js | 4 +- .../packages}/alert_details/kibana.jsonc | 0 .../packages}/alert_details/package.json | 0 .../alert_active_time_range_annotation.tsx | 0 .../src/components/alert_annotation.tsx | 0 .../components/alert_threshold_annotation.tsx | 0 .../alert_threshold_time_range_rect.tsx | 0 .../src/hooks/use_alerts_history.test.tsx | 0 .../src/hooks/use_alerts_history.ts | 0 .../packages}/alert_details/tsconfig.json | 2 +- .../packages}/alerting_test_data/README.md | 0 .../packages}/alerting_test_data/index.ts | 0 .../alerting_test_data}/jest.config.js | 4 +- .../packages}/alerting_test_data/kibana.jsonc | 0 .../packages}/alerting_test_data/package.json | 0 .../alerting_test_data/src/constants.ts | 0 .../create_apm_error_count_threshold_rule.ts | 0 ...create_apm_failed_transaction_rate_rule.ts | 0 .../src/create_custom_threshold_rule.ts | 0 .../src/create_data_view.ts | 0 .../src/create_index_connector.ts | 0 .../alerting_test_data/src/create_rule.ts | 0 .../alerting_test_data/src/get_kibana_url.ts | 0 .../packages}/alerting_test_data/src/run.ts | 0 .../scenarios/custom_threshold_log_count.ts | 0 .../custom_threshold_log_count_groupby.ts | 0 .../custom_threshold_log_count_nodata.ts | 0 .../scenarios/custom_threshold_metric_avg.ts | 0 .../custom_threshold_metric_avg_groupby.ts | 0 .../custom_threshold_metric_avg_nodata.ts | 0 .../alerting_test_data/src/scenarios/index.ts | 0 .../alerting_test_data/tsconfig.json | 2 +- .../README.md | 0 .../get_padded_alert_time_range_util/index.ts | 0 .../jest.config.js | 12 ++ .../kibana.jsonc | 0 .../package.json | 0 .../src/get_padded_alert_time_range.test.ts | 0 .../src/get_padded_alert_time_range.ts | 0 .../tsconfig.json | 2 +- .../kbn-investigation-shared/README.md | 0 .../kbn-investigation-shared/index.ts | 8 ++ .../kbn-investigation-shared/jest.config.js | 12 ++ .../kbn-investigation-shared/kibana.jsonc | 0 .../kbn-investigation-shared/package.json | 2 +- .../kbn-investigation-shared/src/index.ts | 9 ++ .../src/rest_specs/create.ts | 8 +- .../src/rest_specs/create_item.ts | 8 +- .../src/rest_specs/create_note.ts | 8 +- .../src/rest_specs/delete.ts | 8 +- .../src/rest_specs/delete_item.ts | 8 +- .../src/rest_specs/delete_note.ts | 8 +- .../src/rest_specs/entity.ts | 8 +- .../src/rest_specs/find.ts | 8 +- .../src/rest_specs/get.ts | 8 +- .../rest_specs/get_all_investigation_stats.ts | 8 +- .../rest_specs/get_all_investigation_tags.ts | 8 +- .../src/rest_specs/get_entities.ts | 8 +- .../src/rest_specs/get_events.ts | 8 +- .../src/rest_specs/get_items.ts | 8 +- .../src/rest_specs/get_notes.ts | 8 +- .../src/rest_specs/index.ts | 8 +- .../src/rest_specs/investigation.ts | 8 +- .../src/rest_specs/investigation_item.ts | 8 +- .../src/rest_specs/investigation_note.ts | 8 +- .../src/rest_specs/update.ts | 8 +- .../src/rest_specs/update_item.ts | 8 +- .../src/rest_specs/update_note.ts | 8 +- .../src/schema/event.ts | 8 +- .../src/schema/index.ts | 14 ++ .../src/schema/investigation.ts | 8 +- .../src/schema/investigation_item.ts | 8 +- .../src/schema/investigation_note.ts | 18 +++ .../src/schema/origin.ts | 13 ++ .../kbn-investigation-shared/tsconfig.json | 2 +- .../packages}/synthetics_test_data/README.md | 0 .../packages}/synthetics_test_data/index.ts | 0 .../synthetics_test_data/jest.config.js | 12 ++ .../synthetics_test_data/kibana.jsonc | 0 .../synthetics_test_data/package.json | 0 .../src/e2e/helpers/parse_args_params.ts | 0 .../src/e2e/helpers/record_video.ts | 0 .../src/e2e/helpers/synthetics_runner.ts | 0 .../src/e2e/helpers/test_reporter.ts | 0 .../src/e2e/helpers/utils.ts | 0 .../synthetics_test_data/src/e2e/index.ts | 0 .../src/e2e/tasks/es_archiver.ts | 0 .../src/e2e/tasks/read_kibana_config.ts | 0 .../src/make_summaries.ts | 0 .../synthetics_test_data/src/utils.ts | 0 .../synthetics_test_data/tsconfig.json | 2 +- .../exploratory_view/.storybook/jest_setup.js | 0 .../exploratory_view/.storybook/main.js | 0 .../exploratory_view/.storybook/preview.js | 0 .../plugins}/exploratory_view/README.md | 2 +- .../exploratory_view/common/annotations.ts | 0 .../plugins}/exploratory_view/common/i18n.ts | 0 .../plugins}/exploratory_view/common/index.ts | 0 .../common/processor_event.ts | 0 .../plugins}/exploratory_view/e2e/README.md | 4 +- .../e2e/journeys/exploratory_view.ts | 0 .../exploratory_view/e2e/journeys/index.ts | 0 .../e2e/journeys/single_metric.journey.ts | 0 .../e2e/journeys/step_duration.journey.ts | 0 .../exploratory_view/e2e/synthetics_run.ts | 4 +- .../exploratory_view/e2e/tsconfig.json | 2 +- .../plugins}/exploratory_view/e2e/utils.ts | 0 .../plugins/exploratory_view/jest.config.js | 21 +++ .../plugins}/exploratory_view/kibana.jsonc | 0 .../public/application/application.test.tsx | 0 .../public/application/index.tsx | 0 .../public/application/types.ts | 0 .../add_data_buttons/mobile_add_data.tsx | 0 .../add_data_buttons/synthetics_add_data.tsx | 0 .../shared/add_data_buttons/ux_add_data.tsx | 0 .../shared/date_picker/date_picker.test.tsx | 0 .../components/shared/date_picker/index.tsx | 0 .../components/shared/date_picker/typings.ts | 0 .../shared/exploratory_view/README.md | 6 +- .../action_menu/action_menu.test.tsx | 0 .../components/action_menu/action_menu.tsx | 0 .../components/action_menu/index.tsx | 0 .../components/date_range_picker.tsx | 0 .../components/empty_view.tsx | 0 .../components/filter_label.test.tsx | 0 .../components/filter_label.tsx | 0 .../components/series_color_picker.tsx | 0 .../components/series_date_picker/index.tsx | 0 .../series_date_picker.test.tsx | 0 .../url_search/selectable_url_list.test.tsx | 0 .../url_search/selectable_url_list.tsx | 0 .../components/url_search/translations.ts | 0 .../components/url_search/url_search.tsx | 0 .../components/url_search/use_url_search.ts | 0 .../alerts_configs/kpi_over_time_config.ts | 0 .../alerts_configs/single_metric_config.ts | 0 .../configurations/apm/field_formats.ts | 0 .../configurations/constants/constants.ts | 0 .../constants/elasticsearch_fieldnames.ts | 0 .../constants/field_names/infra_logs.ts | 0 .../constants/field_names/infra_metrics.ts | 0 .../constants/field_names/synthetics.ts | 0 .../configurations/constants/index.ts | 0 .../configurations/constants/labels.ts | 0 .../configurations/constants/url_constants.ts | 0 .../configurations/default_configs.ts | 0 .../exploratory_view_url.test.ts | 0 .../configurations/exploratory_view_url.ts | 0 .../infra_logs/kpi_over_time_config.ts | 0 .../infra_metrics/field_formats.ts | 0 .../infra_metrics/kpi_over_time_config.ts | 0 .../configurations/lens_attributes.test.ts | 0 .../configurations/lens_attributes.ts | 0 .../lens_attributes/heatmap_attributes.ts | 0 .../single_metric_attributes.test.ts | 0 .../single_metric_attributes.ts | 0 .../lens_columns/overall_column.ts | 0 .../mobile/device_distribution_config.ts | 0 .../mobile/distribution_config.ts | 0 .../mobile/kpi_over_time_config.ts | 0 .../configurations/mobile/mobile_fields.ts | 0 .../mobile/mobile_kpi_config.test.ts | 0 .../rum/core_web_vitals_config.test.ts | 0 .../rum/core_web_vitals_config.ts | 0 .../rum/data_distribution_config.ts | 0 .../configurations/rum/field_formats.ts | 0 .../rum/kpi_over_time_config.ts | 0 .../rum/single_metric_config.ts | 0 .../synthetics/data_distribution_config.ts | 0 .../synthetics/field_formats.ts | 0 .../synthetics/heatmap_config.ts | 0 .../synthetics/kpi_over_time_config.ts | 0 .../synthetics/runtime_fields.ts | 0 .../synthetics/single_metric_config.ts | 0 .../test_data/mobile_test_attribute.ts | 0 .../test_data/sample_attribute.ts | 0 .../test_data/sample_attribute_cwv.ts | 0 .../test_data/sample_attribute_kpi.ts | 0 .../sample_attribute_with_reference_lines.ts | 0 .../test_data/test_data_view.json | 0 .../test_formula_metric_attribute.ts | 0 .../exploratory_view/configurations/utils.ts | 0 .../contexts/exploratory_view_config.tsx | 0 .../embeddable/embeddable.test.tsx | 0 .../embeddable/embeddable.tsx | 0 .../exploratory_view/embeddable/index.tsx | 0 .../embeddable/use_actions.ts | 0 .../embeddable/use_app_data_view.ts | 1 - .../embeddable/use_embeddable_attributes.ts | 0 .../embeddable/use_local_data_view.ts | 0 .../exploratory_view.test.tsx | 0 .../exploratory_view/exploratory_view.tsx | 0 .../header/add_to_case_action.test.tsx | 0 .../header/add_to_case_action.tsx | 0 .../header/chart_creation_info.test.tsx | 0 .../header/chart_creation_info.tsx | 0 .../exploratory_view/header/embed_action.tsx | 0 .../exploratory_view/header/last_updated.tsx | 0 .../header/refresh_button.tsx | 0 .../hooks/use_add_to_case.test.tsx | 0 .../exploratory_view/hooks/use_add_to_case.ts | 0 .../hooks/use_app_data_view.tsx | 0 .../hooks/use_discover_link.tsx | 0 .../hooks/use_ebt_telemetry.ts | 0 .../exploratory_view/hooks/use_kibana.ts | 0 .../hooks/use_lens_attributes.test.tsx | 0 .../hooks/use_lens_attributes.ts | 0 .../hooks/use_lens_formula_helper.ts | 0 .../hooks/use_series_filters.ts | 0 .../hooks/use_series_storage.test.tsx | 0 .../hooks/use_series_storage.tsx | 0 .../hooks/use_time_range.test.tsx | 0 .../exploratory_view/hooks/use_time_range.ts | 0 .../shared/exploratory_view/index.tsx | 0 .../shared/exploratory_view/labels.ts | 0 .../exploratory_view/lens_embeddable.tsx | 0 .../obsv_exploratory_view.tsx | 0 .../shared/exploratory_view/rtl_helpers.tsx | 0 .../breakdown/breakdowns.test.tsx | 0 .../series_editor/breakdown/breakdowns.tsx | 0 .../breakdown/label_breakdown.tsx | 0 .../columns/chart_type_select.tsx | 0 .../columns/chart_types.test.tsx | 0 .../series_editor/columns/chart_types.tsx | 0 .../columns/data_type_select.test.tsx | 0 .../columns/data_type_select.tsx | 0 .../series_editor/columns/date_picker_col.tsx | 0 .../columns/filter_expanded.test.tsx | 0 .../series_editor/columns/filter_expanded.tsx | 0 .../columns/filter_value_btn.test.tsx | 0 .../columns/filter_value_btn.tsx | 0 .../columns/incomplete_badge.tsx | 0 .../columns/operation_type_select.test.tsx | 0 .../columns/operation_type_select.tsx | 0 .../columns/report_definition_col.test.tsx | 0 .../columns/report_definition_col.tsx | 0 .../columns/report_definition_field.tsx | 0 .../columns/report_type_select.tsx | 0 .../columns/selected_filters.test.tsx | 0 .../columns/selected_filters.tsx | 0 .../columns/series_actions.test.tsx | 0 .../series_editor/columns/series_actions.tsx | 0 .../series_editor/columns/series_filter.tsx | 0 .../series_editor/columns/series_info.tsx | 0 .../columns/series_name.test.tsx | 0 .../series_editor/columns/series_name.tsx | 0 .../columns/text_report_definition_field.tsx | 0 .../components/filter_values_list.tsx | 0 .../components/labels_filter.tsx | 0 .../expanded_series_row.test.tsx | 0 .../series_editor/expanded_series_row.tsx | 0 .../report_metric_options.test.tsx | 0 .../series_editor/report_metric_options.tsx | 0 .../exploratory_view/series_editor/series.tsx | 0 .../series_editor/series_editor.tsx | 0 .../series_editor/use_filter_values.ts | 0 .../shared/exploratory_view/types.ts | 0 .../utils/stringify_kueries.test.ts | 0 .../utils/stringify_kueries.ts | 0 .../exploratory_view/utils/telemetry.test.tsx | 0 .../exploratory_view/utils/telemetry.ts | 0 .../shared/exploratory_view/utils/utils.ts | 0 .../views/add_series_button.test.tsx | 0 .../views/add_series_button.tsx | 0 .../exploratory_view/views/series_views.tsx | 0 .../views/view_actions.test.tsx | 0 .../exploratory_view/views/view_actions.tsx | 0 .../filter_value_label/filter_value_label.tsx | 0 .../public/components/shared/index.tsx | 0 .../public/components/shared/types.ts | 0 .../exploratory_view/public/constants.ts | 0 .../public/context/date_picker_context.tsx | 0 .../public/context/plugin_context.tsx | 0 .../public/data_handler.test.ts | 0 .../exploratory_view/public/data_handler.ts | 0 .../public/hooks/use_date_picker_context.ts | 0 .../public/hooks/use_plugin_context.tsx | 0 .../plugins}/exploratory_view/public/index.ts | 0 .../exploratory_view/public/plugin.ts | 0 .../exploratory_view/public/routes/index.tsx | 0 .../exploratory_view/public/routes/json_rt.ts | 0 .../typings/fetch_overview_data/index.ts | 0 .../exploratory_view/public/utils/date.ts | 0 .../get_app_data_view.ts | 0 .../utils/observability_data_views/index.ts | 0 .../observability_data_views.test.ts | 0 .../observability_data_views.ts | 0 .../exploratory_view/public/utils/url.test.ts | 0 .../exploratory_view/public/utils/url.ts | 0 .../plugins}/exploratory_view/scripts/e2e.js | 0 .../exploratory_view/scripts/storybook.js | 0 .../plugins}/exploratory_view/tsconfig.json | 4 +- .../plugins}/investigate/README.md | 0 .../plugins}/investigate/common/index.ts | 0 .../plugins}/investigate/common/types.ts | 0 .../common/utils/merge_plain_objects.ts | 0 .../plugins}/investigate/jest.config.js | 10 +- .../plugins}/investigate/kibana.jsonc | 0 .../plugins}/investigate/public/index.ts | 0 .../investigation/item_definition_registry.ts | 0 .../plugins}/investigate/public/plugin.tsx | 0 .../plugins}/investigate/public/types.ts | 0 .../get_es_filters_from_global_parameters.ts | 0 .../plugins}/investigate/server/config.ts | 0 .../plugins}/investigate/server/index.ts | 0 .../plugins}/investigate/server/plugin.ts | 0 .../plugins}/investigate/server/types.ts | 0 .../plugins}/investigate/tsconfig.json | 4 +- .../.storybook/extend_props.ts | 0 .../get_mock_investigate_app_services.tsx | 0 .../investigate_app/.storybook/jest_setup.js | 0 .../investigate_app/.storybook/main.js | 0 .../.storybook/mock_kibana_services.ts | 0 .../investigate_app/.storybook/preview.js | 0 .../.storybook/storybook_decorator.tsx | 0 .../plugins}/investigate_app/README.md | 0 .../plugins}/investigate_app/common/paths.ts | 0 .../plugins}/investigate_app/jest.config.js | 10 +- .../plugins}/investigate_app/kibana.jsonc | 0 .../investigate_app/public/api/index.ts | 0 .../investigate_app/public/application.tsx | 0 .../public/components/error_message/index.tsx | 0 .../index.tsx | 0 .../investigate_text_button/index.tsx | 0 .../fields/external_incident_field.tsx | 0 .../fields/status_field.tsx | 0 .../fields/tags_field.tsx | 0 .../investigation_edit_form/form_helper.ts | 0 .../investigation_edit_form.tsx | 0 .../investigation_not_found.tsx | 0 .../investigation_status_badge.tsx | 0 .../investigation_tag/investigation_tag.tsx | 0 .../preview_lens_suggestion/index.stories.tsx | 0 .../preview_lens_suggestion/index.tsx | 0 .../index.stories.tsx | 0 .../suggest_visualization_list/index.tsx | 0 .../suggestions.mock.tsx | 0 .../investigate_app/public/constants/index.ts | 0 .../public/hooks/query_key_factory.ts | 0 .../hooks/use_add_investigation_item.ts | 0 .../hooks/use_add_investigation_note.ts | 0 .../public/hooks/use_create_investigation.tsx | 0 .../public/hooks/use_delete_investigation.ts | 0 .../hooks/use_delete_investigation_item.ts | 0 .../hooks/use_delete_investigation_note.ts | 0 .../public/hooks/use_fetch_alert.tsx | 0 .../use_fetch_all_investigation_stats.ts | 0 .../hooks/use_fetch_all_investigation_tags.ts | 0 .../public/hooks/use_fetch_entities.ts | 0 .../public/hooks/use_fetch_events.ts | 0 .../public/hooks/use_fetch_investigation.ts | 0 .../hooks/use_fetch_investigation_items.ts | 0 .../hooks/use_fetch_investigation_list.ts | 0 .../hooks/use_fetch_investigation_notes.ts | 0 .../public/hooks/use_fetch_user_profiles.tsx | 0 .../public/hooks/use_kibana.ts | 0 .../public/hooks/use_screen_context.tsx | 0 .../investigate_app/public/hooks/use_theme.ts | 0 .../public/hooks/use_update_investigation.ts | 0 .../hooks/use_update_investigation_note.ts | 0 .../plugins}/investigate_app/public/index.ts | 0 .../investigate_app/public/items/README.md | 0 .../register_embeddable_item.tsx | 0 .../esql_item/get_date_histogram_results.ts | 0 .../items/esql_item/register_esql_item.tsx | 0 .../items/lens_item/register_lens_item.tsx | 0 .../public/items/register_items.ts | 0 .../add_from_library_button/index.tsx | 0 .../add_investigation_item.tsx | 0 .../esql_widget_preview.tsx | 0 .../assistant_hypothesis.tsx | 0 .../components/grid_item/index.stories.tsx | 0 .../details/components/grid_item/index.tsx | 0 .../investigation_details/index.stories.tsx | 0 .../investigation_details.tsx | 0 .../alert_details_button.tsx | 0 .../external_incident_button.tsx | 0 .../investigation_header.tsx | 0 .../investigation_items.tsx | 0 .../investigation_items_list.tsx | 0 .../investigation_notes/edit_note_form.tsx | 0 .../investigation_notes.tsx | 0 .../components/investigation_notes/note.tsx | 0 .../resizable_text_input.tsx | 0 .../events_timeline/alert_event.tsx | 0 .../events_timeline/annotation_event.tsx | 0 .../events_timeline/events_timeline.tsx | 0 .../events_timeline/timeline_theme.ts | 0 .../investigation_timeline.tsx | 0 .../investigation_event_types_filter.tsx | 0 .../investigation_timeline_filter_bar.tsx | 0 .../contexts/investigation_context.tsx | 0 .../details/investigation_details_page.tsx | 0 .../public/pages/details/types.ts | 0 .../list/components/investigation_list.tsx | 0 .../components/investigation_list_actions.tsx | 0 .../list/components/investigation_stats.tsx | 0 .../list/components/investigations_error.tsx | 0 .../list/components/search_bar/search_bar.tsx | 0 .../components/search_bar/status_filter.tsx | 0 .../components/search_bar/tags_filter.tsx | 0 .../pages/list/investigation_list_page.tsx | 0 .../investigate_app/public/plugin.tsx | 0 .../investigate_app/public/routes/config.tsx | 0 .../investigate_app/public/services/esql.ts | 0 .../investigate_app/public/services/types.ts | 0 .../plugins}/investigate_app/public/types.ts | 0 .../public/utils/find_scrollable_parent.ts | 0 .../get_data_table_from_esql_response.ts | 0 .../utils/get_es_filter_from_overrides.ts | 0 .../public/utils/get_kibana_columns.ts | 0 .../utils/get_lens_attrs_for_suggestion.ts | 0 .../clients/create_entities_es_client.ts | 0 .../plugins}/investigate_app/server/config.ts | 0 .../plugins}/investigate_app/server/index.ts | 0 .../server/lib/collectors/fetcher.test.ts | 0 .../server/lib/collectors/fetcher.ts | 0 .../lib/collectors/helpers/metrics.test.ts | 0 .../server/lib/collectors/helpers/metrics.ts | 0 .../server/lib/collectors/register.ts | 0 .../server/lib/collectors/type.ts | 0 .../server/lib/get_document_categories.ts | 0 .../server/lib/get_sample_documents.ts | 0 .../server/lib/queries/index.ts | 0 .../server/models/investigation.ts | 0 .../server/models/investigation_item.ts | 0 .../server/models/investigation_note.ts | 0 .../server/models/pagination.ts | 0 .../plugins}/investigate_app/server/plugin.ts | 0 .../create_investigate_app_server_route.ts | 0 ...investigate_app_server_route_repository.ts | 0 .../server/routes/rca/route.ts | 0 .../server/routes/register_routes.ts | 0 .../investigate_app/server/routes/types.ts | 0 .../server/saved_objects/investigation.ts | 0 .../server/services/create_investigation.ts | 0 .../services/create_investigation_item.ts | 0 .../services/create_investigation_note.ts | 0 .../server/services/delete_investigation.ts | 0 .../services/delete_investigation_item.ts | 0 .../services/delete_investigation_note.ts | 0 .../server/services/find_investigations.ts | 0 .../server/services/get_alerts_client.ts | 0 .../services/get_all_investigation_stats.ts | 0 .../services/get_all_investigation_tags.ts | 0 .../server/services/get_entities.ts | 0 .../server/services/get_events.ts | 0 .../server/services/get_investigation.ts | 0 .../services/get_investigation_items.ts | 0 .../services/get_investigation_notes.ts | 0 .../services/investigation_repository.ts | 0 .../server/services/update_investigation.ts | 0 .../services/update_investigation_item.ts | 0 .../services/update_investigation_note.ts | 0 .../plugins}/investigate_app/server/types.ts | 0 .../plugins}/investigate_app/tsconfig.json | 4 +- .../observability/.storybook/jest_setup.js | 0 .../plugins}/observability/.storybook/main.js | 0 .../observability/.storybook/preview.js | 0 .../plugins}/observability/README.md | 0 .../observability/common/annotations.ts | 0 .../observability/common/constants.ts | 0 .../custom_threshold_rule/color_palette.ts | 0 .../formatters/bytes.test.ts | 0 .../custom_threshold_rule/formatters/bytes.ts | 0 .../formatters/datetime.ts | 0 .../formatters/high_precision.ts | 0 .../custom_threshold_rule/formatters/index.ts | 0 .../formatters/number.ts | 0 .../formatters/percent.ts | 0 .../formatters/snapshot_metric_formats.ts | 0 .../custom_threshold_rule/formatters/types.ts | 0 .../get_view_in_app_url.test.ts | 0 .../get_view_in_app_url.ts | 0 .../helpers/get_group.test.ts | 0 .../helpers/get_group.ts | 0 .../metric_value_formatter.test.ts | 0 .../metric_value_formatter.ts | 0 .../common/custom_threshold_rule/types.ts | 0 .../kubernetes_guide_config.tsx | 0 .../plugins}/observability/common/i18n.ts | 0 .../plugins}/observability/common/index.ts | 0 .../common/locators/alerts.test.ts | 0 .../observability/common/locators/alerts.ts | 0 .../observability/common/locators/paths.ts | 0 .../observability/common/processor_event.ts | 0 .../common/progressive_loading.ts | 0 .../plugins}/observability/common/typings.ts | 0 .../observability/common/ui_settings_keys.ts | 0 .../common/utils/alerting/alert_url.ts | 0 .../alerting/get_related_alerts_query.test.ts | 0 .../alerting/get_related_alerts_query.ts | 0 .../common/utils/alerting/types.ts | 0 .../common/utils/array_union_to_callable.ts | 0 .../common/utils/as_mutable_array.ts | 0 .../convert_legacy_outside_comparator.test.ts | 0 .../convert_legacy_outside_comparator.ts | 0 .../common/utils/formatters/datetime.test.ts | 0 .../common/utils/formatters/datetime.ts | 0 .../common/utils/formatters/duration.test.ts | 0 .../common/utils/formatters/duration.ts | 0 .../utils/formatters/formatters.test.ts | 0 .../common/utils/formatters/formatters.ts | 0 .../common/utils/formatters/index.ts | 0 .../common/utils/formatters/size.test.ts | 0 .../common/utils/formatters/size.ts | 0 .../common/utils/get_inspect_response.ts | 0 .../utils/get_interval_in_seconds.test.ts | 0 .../common/utils/get_interval_in_seconds.ts | 0 .../common/utils/is_finite_number.ts | 0 .../common/utils/join_by_key/index.test.ts | 0 .../common/utils/join_by_key/index.ts | 0 .../observability/common/utils/maybe.ts | 0 .../observability/common/utils/pick_keys.ts | 0 .../common/utils/unwrap_es_response.ts | 0 .../dev_docs/custom_threshold.md | 4 +- .../observability/dev_docs/feature_flags.md | 2 +- .../data_forge_custom_threshold_rule_cpu.png | Bin .../dev_docs/images/data_forge_data_view.png | Bin .../synthtrace_custom_threshold_rule.png | Bin .../dev_docs/images/synthtrace_data_view.png | Bin .../plugins}/observability/jest.config.js | 10 +- .../plugins}/observability/kibana.jsonc | 0 .../public/application/application.test.tsx | 0 .../hideable_react_query_dev_tools.tsx | 0 .../public/application/index.tsx | 0 .../public/assets/illustration_dark.svg | 0 .../public/assets/illustration_light.svg | 0 .../public/assets/kibana_dashboard_dark.svg | 0 .../public/assets/kibana_dashboard_light.svg | 0 .../assets/onboarding_tour_step_alerts.gif | Bin .../assets/onboarding_tour_step_logs.gif | Bin .../assets/onboarding_tour_step_metrics.gif | Bin .../assets/onboarding_tour_step_services.gif | Bin .../alert_overview/alert_overview.tsx | 0 .../alert_overview/helpers/format_cases.ts | 0 .../helpers/is_fields_same_type.ts | 0 .../map_rules_params_with_flyout.test.ts | 0 .../helpers/map_rules_params_with_flyout.ts | 0 .../alert_overview/overview_columns.tsx | 0 .../alert_search_bar.test.tsx | 0 .../alert_search_bar/alert_search_bar.tsx | 0 .../alert_search_bar_with_url_sync.tsx | 0 .../components/alerts_status_filter.tsx | 0 .../alert_search_bar/components/index.ts | 0 .../components/alert_search_bar/constants.ts | 0 .../alert_search_bar/containers/index.tsx | 0 .../containers/state_container.tsx | 0 .../use_alert_search_bar_state_container.tsx | 0 .../get_alert_search_bar_lazy.tsx | 0 .../components/alert_search_bar/types.ts | 0 .../alert_severity_badge.stories.tsx | 0 .../components/alert_severity_badge.tsx | 0 .../get_alert_source_links.test.ts | 0 .../alert_sources/get_alert_source_links.ts | 0 .../alert_sources/get_apm_app_url.ts | 0 .../components/alert_sources/get_sources.ts | 0 .../components/alert_sources/groups.tsx | 0 .../components/alert_status_indicator.tsx | 0 .../alerts_flyout/alerts_flyout.mock.ts | 0 .../alerts_flyout/alerts_flyout.stories.tsx | 0 .../alerts_flyout/alerts_flyout.test.tsx | 0 .../alerts_flyout/alerts_flyout.tsx | 0 .../alerts_flyout/alerts_flyout_body.test.tsx | 0 .../alerts_flyout/alerts_flyout_body.tsx | 0 .../alerts_flyout/alerts_flyout_footer.tsx | 0 .../alerts_flyout/alerts_flyout_header.tsx | 0 .../use_get_alert_flyout_components.tsx | 0 .../get_alerts_page_table_configuration.tsx | 0 .../alerts/get_persistent_controls.ts | 0 .../alerts_table/common/cell_tooltip.test.tsx | 0 .../alerts_table/common/cell_tooltip.tsx | 0 .../alerts_table/common/get_columns.tsx | 0 .../common/render_cell_value.test.tsx | 0 .../alerts_table/common/render_cell_value.tsx | 0 .../common/timestamp_tooltip.test.tsx | 0 .../alerts_table/common/timestamp_tooltip.tsx | 0 .../alerts_table/grouping/constants.ts | 0 .../get_aggregations_by_grouping_field.ts | 0 .../alerts_table/grouping/get_group_stats.tsx | 0 .../grouping/render_group_panel.tsx | 0 .../get_alerts_page_table_configuration.tsx | 0 .../register_alerts_table_configuration.tsx | 0 .../get_rule_details_table_configuration.tsx | 0 .../alerts_table/slo/default_columns.tsx | 0 .../get_slo_alerts_table_configuration.tsx | 0 .../public/components/alerts_table/types.ts | 0 .../annotations/annotation_apearance.tsx | 0 .../annotations/annotation_form.tsx | 0 .../components/annotation_apply_to.tsx | 0 .../components/annotation_icon.tsx | 0 .../components/annotation_range.tsx | 0 .../components/annotation_tooltip.tsx | 0 .../annotations/components/annotations.scss | 0 .../components/common/delete_annotations.tsx | 0 .../common/delete_annotations_modal.tsx | 0 .../components/common/field_selector.tsx | 0 .../components/create_annotation.tsx | 0 .../annotations/components/fill_option.tsx | 0 .../annotations/components/forward_refs.tsx | 0 .../annotations/components/index.tsx | 0 .../components/new_line_annotation.tsx | 0 .../components/new_rect_annotation.tsx | 0 .../annotations/components/obs_annotation.tsx | 0 .../components/observability_annotation.tsx | 0 .../components/service_apply_to.tsx | 0 .../annotations/components/slo_apply_to.tsx | 0 .../annotations/components/slo_selector.tsx | 0 .../components/text_decoration.tsx | 0 .../components/timestamp_range_label.tsx | 0 .../annotations/default_annotation.ts | 0 .../annotations/display_annotations.tsx | 0 .../annotations/hooks/use_annotation_cruds.ts | 0 .../hooks/use_annotation_permissions.ts | 0 .../hooks/use_create_annotation.tsx | 0 .../hooks/use_delete_annotation.tsx | 0 .../hooks/use_edit_annotation_helper.ts | 0 .../hooks/use_fetch_annotations.ts | 0 .../hooks/use_fetch_apm_suggestions.ts | 0 .../annotations/hooks/use_fetch_slo_list.ts | 0 .../hooks/use_update_annotation.tsx | 0 .../public/components/annotations/icon_set.ts | 0 .../annotations/use_annotations.tsx | 0 .../components/center_justified_spinner.tsx | 0 .../alert_details_app_section.test.tsx.snap | 0 .../alert_details_app_section.test.tsx | 0 .../alert_details_app_section.tsx | 0 .../log_rate_analysis_query.test.ts.snap | 0 .../generate_chart_title_and_tooltip.ts | 0 .../helpers/log_rate_analysis_query.test.ts | 0 .../helpers/log_rate_analysis_query.ts | 0 .../log_rate_analysis.tsx | 0 .../closable_popover_title.test.tsx | 0 .../components/closable_popover_title.tsx | 0 .../criterion_preview_chart.tsx | 0 .../threshold_annotations.test.tsx | 0 .../threshold_annotations.tsx | 0 .../custom_equation_editor.stories.tsx | 0 .../custom_equation_editor.tsx | 0 .../components/custom_equation/index.tsx | 0 .../custom_equation/metric_row_controls.tsx | 0 .../custom_equation/metric_row_with_agg.tsx | 0 .../components/custom_equation/types.ts | 0 .../components/custom_threshold.stories.tsx | 0 .../components/expression_row.test.tsx | 0 .../components/expression_row.tsx | 0 .../custom_threshold/components/group_by.tsx | 0 .../components/threshold.test.tsx | 0 .../custom_threshold/components/threshold.tsx | 0 .../components/triggers_actions_context.tsx | 0 .../custom_threshold/components/types.ts | 0 .../components/validation.test.ts | 0 .../components/validation.tsx | 0 .../custom_threshold_rule_expression.test.tsx | 0 .../custom_threshold_rule_expression.tsx | 0 .../helpers/calculate_domain.ts | 0 .../helpers/corrected_percent_convert.test.ts | 0 .../helpers/corrected_percent_convert.ts | 0 .../helpers/create_formatter_for_metric.ts | 0 .../create_formatter_for_metrics.test.ts | 0 .../helpers/get_search_configuration.test.ts | 0 .../helpers/get_search_configuration.ts | 0 .../custom_threshold/helpers/kuery.ts | 0 .../helpers/metric_to_format.ts | 0 .../custom_threshold/helpers/notifications.ts | 0 .../custom_threshold/helpers/runtime_types.ts | 0 .../custom_threshold/helpers/source_errors.ts | 0 .../helpers/threshold_unit.test.ts | 0 .../helpers/threshold_unit.ts | 0 .../hooks/use_kibana_time_zone_setting.ts | 0 .../hooks/use_kibana_timefilter_time.tsx | 0 .../use_metric_threshold_alert_prefill.ts | 0 .../hooks/use_tracked_promise.ts | 0 .../custom_threshold/i18n_strings.ts | 0 .../mocks/custom_threshold_rule.ts | 0 .../custom_threshold/rule_data_formatters.ts | 0 .../components/custom_threshold/types.ts | 0 .../public/components/experimental_badge.tsx | 0 .../components/loading_observability.tsx | 0 .../rule_condition_chart/helpers.test.ts | 0 .../rule_condition_chart/helpers.ts | 0 .../components/rule_condition_chart/index.tsx | 0 .../painless_tinymath_parser.test.ts | 0 .../painless_tinymath_parser.ts | 0 .../rule_condition_chart.test.tsx | 0 .../rule_condition_chart.tsx | 0 .../autocomplete_field/autocomplete_field.tsx | 0 .../autocomplete_field/index.ts | 0 .../autocomplete_field/suggestion_item.tsx | 0 .../components/rule_kql_filter/index.tsx | 0 .../components/rule_kql_filter/kuery_bar.tsx | 0 .../with_kuery_autocompletion.tsx | 0 .../observability/public/components/tags.tsx | 0 .../observability/public/constants.ts | 0 .../observability/public/context/constants.ts | 0 .../date_picker_context.tsx | 0 .../has_data_context/data_handler.test.ts | 0 .../context/has_data_context/data_handler.ts | 0 .../get_observability_alerts.test.ts | 0 .../get_observability_alerts.ts | 0 .../has_data_context.test.tsx | 0 .../has_data_context/has_data_context.tsx | 0 .../context/plugin_context/plugin_context.tsx | 0 .../use_fetch_data_views.ts | 0 .../public/hooks/create_use_rules_link.ts | 0 .../public/hooks/use_case_view_navigation.ts | 0 .../public/hooks/use_chart_themes.ts | 0 .../public/hooks/use_data_fetcher.ts | 0 .../public/hooks/use_date_picker_context.ts | 0 .../public/hooks/use_delete_rules.ts | 0 .../public/hooks/use_fetch_alert_data.test.ts | 0 .../public/hooks/use_fetch_alert_data.ts | 0 .../hooks/use_fetch_alert_detail.test.ts | 0 .../public/hooks/use_fetch_alert_detail.ts | 0 .../public/hooks/use_fetch_bulk_cases.test.ts | 0 .../public/hooks/use_fetch_bulk_cases.ts | 0 .../public/hooks/use_fetch_data_views.ts | 0 .../public/hooks/use_fetch_rule.ts | 0 .../public/hooks/use_fetch_rule_types.ts | 0 ...e_get_available_rules_with_descriptions.ts | 0 .../hooks/use_get_filtered_rule_types.ts | 0 .../public/hooks/use_guided_setup_progress.ts | 0 .../public/hooks/use_has_data.ts | 0 .../public/hooks/use_kibana_ui_settings.tsx | 0 .../observability/public/hooks/use_license.ts | 0 .../hooks/use_observability_onboarding.ts | 0 .../public/hooks/use_plugin_context.tsx | 0 .../public/hooks/use_summary_time_range.tsx | 0 .../public/hooks/use_time_buckets.ts | 0 .../public/hooks/use_timefilter_service.ts | 0 .../observability/public/hooks/use_toast.ts | 0 .../plugins}/observability/public/index.ts | 1 - .../public/locators/rule_details.test.ts | 0 .../public/locators/rule_details.ts | 0 .../public/locators/rules.test.ts | 0 .../observability/public/locators/rules.ts | 0 .../observability/public/navigation_tree.ts | 0 .../observability/public/pages/404.tsx | 0 .../alert_details/alert_details.test.tsx | 0 .../pages/alert_details/alert_details.tsx | 0 .../alert_details_contextual_insights.tsx | 0 .../components/alert_history.tsx | 0 ...on_product_no_results_magnifying_glass.svg | 0 .../components/feedback_button.tsx | 0 .../components/header_actions.test.tsx | 0 .../components/header_actions.tsx | 0 .../pages/alert_details/components/index.tsx | 0 .../components/related_alerts.tsx | 0 .../components/source_bar.test.tsx | 0 .../alert_details/components/source_bar.tsx | 0 .../components/status_bar.stories.tsx | 0 .../components/status_bar.test.tsx | 0 .../alert_details/components/status_bar.tsx | 0 .../hooks/use_add_investigation_item.ts | 0 .../hooks/use_bulk_untrack_alerts.tsx | 0 .../hooks/use_create_investigation.tsx | 0 .../use_fetch_investigations_by_alert.tsx | 0 .../public/pages/alert_details/mock/alert.ts | 0 .../public/pages/alert_details/types.ts | 0 .../public/pages/alerts/alerts.test.tsx | 0 .../public/pages/alerts/alerts.tsx | 0 .../alerts/components/alert_actions.test.tsx | 0 .../pages/alerts/components/alert_actions.tsx | 0 .../alerts/components/rule_stats.test.tsx | 0 .../pages/alerts/components/rule_stats.tsx | 0 .../alerts/helpers/merge_bool_queries.ts | 0 .../pages/alerts/helpers/parse_alert.ts | 0 .../pages/annotations/annotation_apply_to.tsx | 0 .../public/pages/annotations/annotations.tsx | 0 .../pages/annotations/annotations_list.tsx | 0 .../annotations/annotations_list_chart.tsx | 0 .../annotations/annotations_privileges.tsx | 0 .../annotations/create_annotation_btn.tsx | 0 .../public/pages/annotations/date_picker.tsx | 0 .../public/pages/cases/cases.tsx | 0 .../pages/cases/components/cases.stories.tsx | 0 .../public/pages/cases/components/cases.tsx | 0 .../pages/cases/components/empty_page.tsx | 0 .../components/feature_no_permissions.tsx | 0 .../public/pages/landing/landing.tsx | 0 .../chart_container/chart_container.test.tsx | 0 .../chart_container/chart_container.tsx | 0 .../components/data_assistant_flyout.tsx | 0 .../overview/components/data_sections.tsx | 0 .../date_picker/date_picker.test.tsx | 0 .../components/date_picker/date_picker.tsx | 0 .../overview/components/date_picker/index.tsx | 0 .../header_actions/header_actions.tsx | 0 .../components/header_menu/header_menu.tsx | 0 .../header_menu/header_menu_portal.test.tsx | 0 .../header_menu/header_menu_portal.tsx | 0 .../news_feed/helpers/get_news_feed.test.ts | 0 .../news_feed/helpers/get_news_feed.ts | 0 .../components/news_feed/news_feed.test.tsx | 0 .../components/news_feed/news_feed.tsx | 0 .../observability_onboarding_callout.tsx | 0 .../observability_status/content.ts | 0 .../components/observability_status/index.tsx | 0 .../observability_status.stories.tsx | 0 .../observability_status_box.test.tsx | 0 .../observability_status_box.tsx | 0 .../observability_status_boxes.test.tsx | 0 .../observability_status_boxes.tsx | 0 .../observability_status_progress.test.tsx | 0 .../observability_status_progress.tsx | 0 .../overview/components/resources.test.tsx | 0 .../pages/overview/components/resources.tsx | 0 .../sections/apm/apm_section.test.tsx | 0 .../components/sections/apm/apm_section.tsx | 2 +- .../sections/apm/mock_data/apm.mock.ts | 0 .../sections/empty/empty_section.test.tsx | 0 .../sections/empty/empty_section.tsx | 0 .../sections/empty/empty_sections.tsx | 0 .../sections/error_panel/error_panel.tsx | 0 .../components/sections/logs/logs_section.tsx | 2 +- .../components/sections/metrics/host_link.tsx | 0 .../metrics/lib/format_duration.test.ts | 0 .../sections/metrics/lib/format_duration.ts | 0 .../components/sections/metrics/logos/aix.svg | 0 .../sections/metrics/logos/android.svg | 0 .../sections/metrics/logos/darwin.svg | 0 .../sections/metrics/logos/dragonfly.svg | 0 .../sections/metrics/logos/freebsd.svg | 0 .../sections/metrics/logos/illumos.svg | 0 .../sections/metrics/logos/linux.svg | 0 .../sections/metrics/logos/netbsd.svg | 0 .../sections/metrics/logos/solaris.svg | 0 .../metrics/metric_with_sparkline.tsx | 0 .../sections/metrics/metrics_section.tsx | 1 - .../sections/section_container.test.tsx | 0 .../components/sections/section_container.tsx | 0 .../sections/uptime/uptime_section.tsx | 2 +- .../__stories__/core_vitals.stories.tsx | 0 .../color_palette_flex_item.tsx | 0 .../core_web_vitals/core_vital_item.test.tsx | 0 .../ux/core_web_vitals/core_vital_item.tsx | 0 .../ux/core_web_vitals/core_vitals.tsx | 0 .../get_core_web_vitals_lazy.tsx | 0 .../ux/core_web_vitals/palette_legends.tsx | 0 .../ux/core_web_vitals/service_name.tsx | 0 .../ux/core_web_vitals/translations.ts | 0 .../core_web_vitals/web_core_vitals_title.tsx | 0 .../sections/ux/mock_data/ux.mock.ts | 0 .../sections/ux/ux_section.test.tsx | 0 .../components/sections/ux/ux_section.tsx | 2 +- .../components/styled_stat/styled_stat.tsx | 0 .../helpers/calculate_bucket_size.test.ts | 0 .../overview/helpers/calculate_bucket_size.ts | 0 .../overview/helpers/on_brush_end.test.ts | 0 .../pages/overview/helpers/on_brush_end.ts | 0 .../overview/helpers/use_overview_metrics.ts | 0 .../public/pages/overview/mock/alerts.mock.ts | 0 .../public/pages/overview/mock/apm.mock.ts | 0 .../public/pages/overview/mock/logs.mock.ts | 0 .../pages/overview/mock/metrics.mock.ts | 0 .../pages/overview/mock/news_feed.mock.ts | 0 .../public/pages/overview/mock/uptime.mock.ts | 0 .../pages/overview/overview.stories.tsx | 0 .../public/pages/overview/overview.tsx | 0 .../components/delete_confirmation_modal.tsx | 0 .../components/header_actions.tsx | 0 .../components/no_rule_found_panel.tsx | 0 .../components/page_title_content.tsx | 0 .../components/rule_details_tabs.tsx | 0 .../public/pages/rule_details/constants.ts | 0 .../rule_details/helpers/get_health_color.ts | 0 .../rule_details/helpers/is_rule_editable.ts | 0 .../pages/rule_details/rule_details.tsx | 0 .../public/pages/rules/global_logs_tab.tsx | 0 .../public/pages/rules/rules.test.tsx | 0 .../public/pages/rules/rules.tsx | 0 .../public/pages/rules/rules_tab.tsx | 0 .../observability/public/plugin.mock.tsx | 0 .../plugins}/observability/public/plugin.ts | 0 .../observability/public/routes/routes.tsx | 0 ...create_observability_rule_type_registry.ts | 0 .../public/rules/fixtures/example_alerts.ts | 0 .../observability_rule_type_registry_mock.ts | 0 .../register_observability_rule_types.ts | 0 .../test_utils/use_global_storybook_theme.tsx | 0 .../observability/public/typings/alerts.ts | 0 .../typings/fetch_overview_data/index.ts | 0 .../observability/public/typings/index.ts | 0 .../observability/public/typings/utils.ts | 0 .../utils/alert_summary_widget/constants.ts | 0 .../get_alert_summary_time_range.test.tsx | 0 .../get_alert_summary_time_range.tsx | 0 .../utils/alert_summary_widget/index.ts | 0 .../__snapshots__/build_es_query.test.ts.snap | 0 .../build_es_query/build_es_query.test.ts | 0 .../utils/build_es_query/build_es_query.ts | 0 .../public/utils/build_es_query/index.ts | 0 .../observability/public/utils/date.ts | 0 .../public/utils/datemath.test.ts | 0 .../observability/public/utils/datemath.ts | 0 .../format_alert_evaluation_value.test.ts | 0 .../utils/format_alert_evaluation_value.ts | 0 .../public/utils/format_stat_value.test.ts | 0 .../public/utils/format_stat_value.ts | 0 ...rt_evaluation_unit_type_by_rule_type_id.ts | 0 .../public/utils/get_apm_trace_url.test.ts | 0 .../public/utils/get_apm_trace_url.ts | 0 .../utils/get_bucket_size/calculate_auto.js | 0 .../utils/get_bucket_size/index.test.ts | 0 .../public/utils/get_bucket_size/index.ts | 0 .../utils/get_bucket_size/unit_to_seconds.ts | 0 .../public/utils/get_time_zone.ts | 0 .../public/utils/investigation_item_helper.ts | 0 .../utils/is_alert_details_enabled.test.ts | 0 .../public/utils/is_alert_details_enabled.ts | 0 .../public/utils/kibana_react.mock.ts | 0 .../kibana_react.storybook_decorator.tsx | 0 .../public/utils/kibana_react.ts | 0 .../public/utils/no_data_config.ts | 0 .../public/utils/test_helper.tsx | 2 +- .../observability/public/utils/url.test.ts | 0 .../observability/public/utils/url.ts | 0 .../observability/scripts/storybook.js | 0 .../observability/server/common/constants.ts | 0 .../observability/server/features/cases_v1.ts | 0 .../observability/server/features/cases_v2.ts | 0 .../plugins}/observability/server/index.ts | 1 - .../lib/annotations/bootstrap_annotations.ts | 0 .../annotations/create_annotations_client.ts | 0 .../lib/annotations/format_annotations.ts | 0 .../mappings/annotation_mappings.ts | 0 .../server/lib/annotations/permissions.ts | 0 .../annotations/register_annotation_apis.ts | 0 .../lib/rules/custom_threshold/constants.ts | 0 .../custom_threshold_executor.test.ts | 0 .../custom_threshold_executor.ts | 0 .../lib/check_missing_group.ts | 0 .../lib/create_bucket_selector.ts | 0 .../lib/create_condition_script.ts | 0 .../lib/create_custom_metrics_aggregations.ts | 0 .../lib/create_last_value_aggregation.ts | 0 .../lib/create_rate_aggregation.ts | 0 .../lib/create_timerange.test.ts | 0 .../custom_threshold/lib/create_timerange.ts | 0 .../custom_threshold/lib/evaluate_rule.ts | 0 .../lib/format_alert_result.ts | 0 .../rules/custom_threshold/lib/get_data.ts | 0 .../custom_threshold/lib/get_values.test.ts | 0 .../rules/custom_threshold/lib/get_values.ts | 0 .../custom_threshold/lib/metric_query.test.ts | 0 .../custom_threshold/lib/metric_query.ts | 0 .../custom_threshold/lib/wrap_in_period.ts | 0 .../lib/rules/custom_threshold/messages.ts | 0 .../mocks/custom_threshold_alert_result.ts | 0 .../mocks/custom_threshold_metric_params.ts | 0 .../register_custom_threshold_rule_type.ts | 0 .../rules/custom_threshold/translations.ts | 0 .../lib/rules/custom_threshold/types.ts | 0 .../lib/rules/custom_threshold/utils.test.ts | 0 .../lib/rules/custom_threshold/utils.ts | 0 .../server/lib/rules/register_rule_types.ts | 0 .../plugins}/observability/server/plugin.ts | 0 .../server/routes/assistant/route.ts | 0 .../create_observability_server_route.ts | 0 ...l_observability_server_route_repository.ts | 0 .../server/routes/register_routes.ts | 0 .../server/routes/rules/route.ts | 0 .../observability/server/routes/types.ts | 0 .../server/saved_objects/threshold.ts | 0 .../server/services/index.test.ts | 0 .../observability/server/services/index.ts | 0 .../plugins}/observability/server/types.ts | 0 .../observability/server/ui_settings.ts | 0 .../server/utils/create_or_update_index.ts | 0 .../utils/create_or_update_index_template.ts | 0 .../server/utils/get_es_query_config.test.ts | 0 .../server/utils/get_es_query_config.ts | 0 .../server/utils/get_parsed_filtered_query.ts | 0 .../observability/server/utils/number.ts | 0 .../server/utils/queries.test.ts | 0 .../observability/server/utils/queries.ts | 0 .../observability/server/utils/retry.test.ts | 0 .../observability/server/utils/retry.ts | 0 .../plugins}/observability/tsconfig.json | 4 +- .../plugins}/observability/typings/common.ts | 0 .../serverless_observability/.gitignore | 0 .../serverless_observability/README.mdx | 0 .../serverless_observability/common/index.ts | 0 .../serverless_observability/kibana.jsonc | 0 .../serverless_observability/package.json | 4 +- .../serverless_observability/public/index.ts | 0 .../logs_signal/overview_registration.ts | 0 .../public/navigation_tree.ts | 0 .../serverless_observability/public/plugin.ts | 0 .../serverless_observability/public/types.ts | 0 .../serverless_observability/server/config.ts | 0 .../serverless_observability/server/index.ts | 0 .../serverless_observability/server/plugin.ts | 0 .../serverless_observability/server/types.ts | 0 .../serverless_observability/tsconfig.json | 4 +- .../synthetics/.buildkite/pipelines/flaky.js | 0 .../synthetics/.buildkite/pipelines/flaky.sh | 8 ++ .../plugins}/synthetics/README.md | 2 +- .../__mocks__/@kbn/code-editor/index.ts | 0 .../common/constants/capabilities.ts | 0 .../common/constants/client_defaults.ts | 0 .../common/constants/context_defaults.ts | 0 .../common/constants/data_filters.ts | 0 .../common/constants/data_test_subjects.ts | 0 .../synthetics/common/constants/index.ts | 0 .../common/constants/monitor_defaults.ts | 0 .../common/constants/monitor_management.ts | 0 .../synthetics/common/constants/plugin.ts | 0 .../common/constants/settings_defaults.ts | 0 .../constants/synthetics/client_defaults.ts | 0 .../common/constants/synthetics/index.ts | 0 .../common/constants/synthetics/rest_api.ts | 0 .../common/constants/synthetics_alerts.ts | 0 .../synthetics/common/constants/ui.ts | 0 .../plugins}/synthetics/common/field_names.ts | 0 .../common/formatters/format_space_name.ts | 0 .../synthetics/common/formatters/index.ts | 0 .../combine_filters_and_user_search.test.ts | 0 .../lib/combine_filters_and_user_search.ts | 0 .../plugins}/synthetics/common/lib/index.ts | 0 .../common/lib/schedule_to_time.test.ts | 0 .../synthetics/common/lib/schedule_to_time.ts | 0 .../common/lib/stringify_kueries.test.ts | 0 .../common/lib/stringify_kueries.ts | 0 .../common/requests/get_certs_request_body.ts | 0 .../common/rules/alert_actions.test.ts | 0 .../synthetics/common/rules/alert_actions.ts | 0 .../common/rules/status_rule.test.ts | 0 .../synthetics/common/rules/status_rule.ts | 0 .../common/rules/synthetics/translations.ts | 0 .../common/rules/synthetics_rule_field_map.ts | 0 .../plugins}/synthetics/common/rules/types.ts | 0 .../runtime_types/alert_rules/common.ts | 0 .../common/runtime_types/alerts/index.ts | 0 .../runtime_types/alerts/status_check.ts | 0 .../common/runtime_types/alerts/tls.ts | 0 .../synthetics/common/runtime_types/certs.ts | 0 .../synthetics/common/runtime_types/common.ts | 0 .../common/runtime_types/dynamic_settings.ts | 0 .../synthetics/common/runtime_types/index.ts | 0 .../common/runtime_types/monitor/index.ts | 0 .../common/runtime_types/monitor/state.ts | 0 .../monitor_management/alert_config.ts | 0 .../monitor_management/alert_config_schema.ts | 0 .../monitor_management/config_key.ts | 0 .../monitor_management/filters.ts | 0 .../runtime_types/monitor_management/index.ts | 0 .../monitor_management/locations.ts | 0 .../monitor_management/monitor_configs.ts | 0 .../monitor_management/monitor_meta_data.ts | 0 .../monitor_management/monitor_types.ts | 0 .../monitor_types_project.ts | 0 .../monitor_management/sort_field.ts | 0 .../runtime_types/monitor_management/state.ts | 0 .../synthetics_overview_status.ts | 0 .../monitor_management/synthetics_params.ts | 0 .../synthetics_private_locations.ts | 0 .../common/runtime_types/network_events.ts | 0 .../common/runtime_types/ping/error_state.ts | 0 .../common/runtime_types/ping/histogram.ts | 0 .../common/runtime_types/ping/index.ts | 0 .../common/runtime_types/ping/observer.ts | 0 .../common/runtime_types/ping/ping.ts | 0 .../runtime_types/ping/synthetics.test.ts | 0 .../common/runtime_types/ping/synthetics.ts | 0 .../common/runtime_types/snapshot/index.ts | 0 .../runtime_types/snapshot/snapshot_count.ts | 0 .../synthetics_service_api_key.ts | 0 .../common/saved_objects/private_locations.ts | 0 .../common/translations/translations.ts | 0 .../synthetics/common/types/default_alerts.ts | 0 .../plugins}/synthetics/common/types/index.ts | 0 .../common/types/monitor_validation.ts | 0 .../synthetics/common/types/overview.ts | 0 .../synthetics/common/types/saved_objects.ts | 0 .../common/types/synthetics_monitor.ts | 0 .../common/utils/as_mutable_array.ts | 0 .../synthetics/common/utils/es_search.ts | 0 .../utils/get_synthetics_monitor_url.ts | 0 .../common/utils/location_formatter.ts | 0 .../synthetics/common/utils/t_enum.ts | 0 .../plugins}/synthetics/e2e/README.md | 4 +- .../plugins}/synthetics/e2e/config.ts | 0 .../fixtures/es_archiver/browser/data.json.gz | Bin .../es_archiver/browser/mappings.json | 0 .../es_archiver/full_heartbeat/data.json.gz | Bin .../es_archiver/full_heartbeat/mappings.json | 0 .../es_archiver/synthetics_data/data.json.gz | Bin .../synthetics/e2e/helpers/make_checks.ts | 0 .../synthetics/e2e/helpers/make_ping.ts | 0 .../synthetics/e2e/helpers/make_tls.ts | 0 .../plugins}/synthetics/e2e/helpers/utils.ts | 0 .../plugins}/synthetics/e2e/index.ts | 0 .../plugins}/synthetics/e2e/kibana.jsonc | 0 .../synthetics/e2e/page_objects/login.tsx | 0 .../synthetics/e2e/page_objects/utils.tsx | 0 .../journeys/add_monitor.journey.ts | 0 .../custom_status_alert.journey.ts | 0 .../default_status_alert.journey.ts | 0 .../alert_rules/sample_docs/sample_docs.ts | 0 .../journeys/alerting_default.journey.ts | 0 .../journeys/data_retention.journey.ts | 0 .../e2e/synthetics/journeys/detail_flyout.ts | 0 .../journeys/getting_started.journey.ts | 0 .../journeys/global_parameters.journey.ts | 0 .../e2e/synthetics/journeys/index.ts | 0 .../journeys/management_list.journey.ts | 0 .../monitor_summary.journey.ts | 0 .../monitor_form_validation.journey.ts | 0 .../journeys/monitor_selector.journey.ts | 0 .../journeys/overview_scrolling.journey.ts | 0 .../journeys/overview_search.journey.ts | 0 .../journeys/overview_sorting.journey.ts | 0 .../journeys/private_locations.journey.ts | 0 .../journeys/project_api_keys.journey.ts | 0 .../project_monitor_read_only.journey.ts | 0 .../journeys/services/add_monitor.ts | 0 .../journeys/services/add_monitor_project.ts | 0 .../journeys/services/data/browser_docs.ts | 0 .../synthetics/journeys/services/settings.ts | 0 .../journeys/services/synthetics_services.ts | 0 .../journeys/step_details.journey.ts | 0 .../journeys/test_now_mode.journey.ts | 0 .../journeys/test_run_details.journey.ts | 0 .../page_objects/synthetics_app.tsx | 0 .../e2e/synthetics/page_objects/utils.ts | 0 .../e2e/synthetics/synthetics_run.ts | 0 .../plugins}/synthetics/e2e/tsconfig.json | 2 +- .../plugins}/synthetics/jest.config.js | 8 +- .../plugins}/synthetics/kibana.jsonc | 0 .../embeddables/common/field_selector.tsx | 0 .../common/monitor_configuration.tsx | 0 .../common/monitor_filters_form.tsx | 0 .../common/monitors_open_configuration.tsx | 0 .../apps/embeddables/common/optional_text.tsx | 0 .../common/show_selected_filters.tsx | 0 .../public/apps/embeddables/common/utils.ts | 0 .../public/apps/embeddables/constants.ts | 0 .../hooks/use_fetch_synthetics_suggestions.ts | 0 .../monitors_embeddable_factory.tsx | 0 .../monitors_grid_component.tsx | 0 .../monitors_overview/redux_store.ts | 0 .../embeddables/monitors_overview/types.ts | 0 .../apps/embeddables/register_embeddables.ts | 0 .../embeddables/stats_overview/redux_store.ts | 0 .../stats_overview_component.tsx | 0 .../stats_overview_embeddable_factory.tsx | 0 .../synthetics_embeddable_context.tsx | 0 .../ui_actions/compatibility_check.ts | 0 .../create_monitors_overview_panel_action.tsx | 0 .../create_stats_overview_panel_action.tsx | 0 .../ui_actions/register_ui_actions.ts | 0 .../public/apps/locators/edit_monitor.ts | 0 .../synthetics/public/apps/locators/index.ts | 0 .../public/apps/locators/monitor_detail.ts | 0 .../public/apps/locators/settings.ts | 0 .../components/alerts/alert_tls.tsx | 0 .../common/condition_locations_value.tsx | 0 .../alerts/common/condition_window_value.tsx | 0 .../alerts/common/field_filters.tsx | 0 .../common/field_popover_expression.tsx | 0 .../alerts/common/field_selector.test.tsx | 0 .../alerts/common/field_selector.tsx | 0 .../components/alerts/common/fields.tsx | 0 .../alerts/common/for_the_last_expression.tsx | 0 .../alerts/common/group_by_field.tsx | 0 .../alerts/common/popover_expression.tsx | 0 .../components/alerts/hooks/translations.ts | 0 .../hooks/use_fetch_synthetics_suggestions.ts | 0 .../alerts/hooks/use_synthetics_rules.ts | 0 .../components/alerts/query_bar.tsx | 0 .../alerts/rule_name_with_loading.tsx | 0 .../alerts/status_rule_expression.tsx | 0 .../components/alerts/status_rule_ui.tsx | 0 .../components/alerts/tls_rule_ui.tsx | 0 .../alerts/toggle_alert_flyout_button.tsx | 0 .../components/certificates/cert_monitors.tsx | 0 .../certificates/cert_refresh_btn.tsx | 0 .../components/certificates/cert_search.tsx | 0 .../components/certificates/cert_status.tsx | 0 .../certificates/certificate_title.tsx | 0 .../certificates/certificates.test.tsx | 0 .../components/certificates/certificates.tsx | 0 .../certificates/certificates_list.test.tsx | 0 .../certificates/certificates_list.tsx | 0 .../certificates/fingerprint_col.test.tsx | 0 .../certificates/fingerprint_col.tsx | 0 .../components/certificates/index.ts | 0 .../certificates/monitor_page_link.tsx | 0 .../components/certificates/translations.ts | 0 .../certificates/use_cert_search.ts | 0 .../certificates/use_cert_status.ts | 0 .../alerting_callout.test.tsx | 0 .../alerting_callout/alerting_callout.tsx | 0 .../common/components/add_to_dashboard.tsx | 0 .../common/components/auto_refresh_button.tsx | 0 .../components/embeddable_panel_wrapper.tsx | 0 .../components/filter_status_button.tsx | 0 .../common/components/last_refreshed.tsx | 0 .../components/location_status_badges.tsx | 0 .../components/monitor_details_panel.tsx | 0 .../common/components/monitor_inspect.tsx | 1 - .../components/monitor_location_select.tsx | 0 .../common/components/monitor_status.tsx | 0 .../common/components/monitor_type_badge.tsx | 0 .../common/components/page_loader.tsx | 0 .../common/components/panel_with_title.tsx | 0 .../common/components/permissions.tsx | 0 .../common/components/refresh_button.tsx | 0 .../common/components/stderr_logs.tsx | 0 .../common/components/table_title.tsx | 0 .../common/components/thershold_indicator.tsx | 0 .../common/components/use_std_error_logs.ts | 0 .../common/components/view_document.tsx | 0 .../synthetics_date_picker.test.tsx | 0 .../date_picker/synthetics_date_picker.tsx | 0 .../components/common/header/action_menu.tsx | 0 .../header/action_menu_content.test.tsx | 0 .../common/header/action_menu_content.tsx | 0 .../common/header/inspector_header_link.tsx | 0 .../components/common/links/add_monitor.tsx | 0 .../common/links/error_details_link.tsx | 0 .../common/links/manage_rules_link.tsx | 0 .../common/links/step_details_link.tsx | 0 .../common/links/test_details_link.tsx | 0 .../components/common/links/view_alerts.tsx | 0 .../browser_steps_list.test.tsx | 0 .../browser_steps_list.tsx | 0 .../journey_screenshot_preview.test.tsx | 0 .../journey_screenshot_preview.tsx | 0 .../monitor_test_result/result_details.tsx | 0 .../result_details_successful.tsx | 1 - .../single_ping_result.tsx | 0 .../monitor_test_result/status_badge.tsx | 0 .../step_duration_text.tsx | 0 .../use_retrieve_step_image.ts | 0 .../synthetics_page_template.tsx | 0 .../common/react_router_helpers/index.ts | 0 .../react_router_helpers/link_events.test.ts | 0 .../react_router_helpers/link_events.ts | 0 .../link_for_eui.test.tsx | 0 .../react_router_helpers/link_for_eui.tsx | 0 .../screenshot/empty_thumbnail.test.tsx | 0 .../common/screenshot/empty_thumbnail.tsx | 0 .../screenshot/journey_last_screenshot.tsx | 0 .../journey_screenshot_dialog.test.tsx | 0 .../screenshot/journey_screenshot_dialog.tsx | 0 ...journey_step_screenshot_container.test.tsx | 0 .../journey_step_screenshot_container.tsx | 0 .../common/screenshot/screenshot_image.tsx | 0 .../common/screenshot/screenshot_size.ts | 0 .../step_field_trend.test.tsx | 0 .../step_field_trend/step_field_trend.tsx | 0 .../components/error_duration.tsx | 0 .../components/error_started_at.tsx | 0 .../components/error_timeline.tsx | 0 .../components/failed_tests_list.tsx | 0 .../error_details/components/resolved_at.tsx | 0 .../error_details/error_details_page.tsx | 0 .../hooks/use_error_details_breadcrumbs.ts | 0 .../hooks/use_error_failed_tests.tsx | 0 .../hooks/use_find_my_killer_state.ts | 0 .../error_details/hooks/use_step_details.ts | 0 .../components/error_details/route_config.tsx | 0 .../form_fields/service_locations.tsx | 0 .../getting_started_page.test.tsx | 0 .../getting_started/getting_started_page.tsx | 0 .../simple_monitor_form.test.tsx | 0 .../getting_started/simple_monitor_form.tsx | 0 .../getting_started/use_simple_monitor.ts | 0 .../monitor_add_edit/advanced/index.tsx | 0 .../components/monitor_add_edit/constants.ts | 0 .../edit_monitor_not_found.tsx | 0 .../monitor_add_edit/fields/code_editor.tsx | 0 .../fields/combo_box.test.tsx | 0 .../monitor_add_edit/fields/combo_box.tsx | 0 .../fields/header_field.test.tsx | 0 .../monitor_add_edit/fields/header_field.tsx | 0 .../fields/index_response_body_field.test.tsx | 0 .../fields/index_response_body_field.tsx | 0 .../fields/key_value_field.test.tsx | 0 .../fields/key_value_field.tsx | 0 .../fields/monitor_type_radio_group.tsx | 0 .../fields/optional_label.tsx | 0 .../fields/request_body_field.test.tsx | 0 .../fields/request_body_field.tsx | 0 .../fields/script_recorder_fields.test.tsx | 0 .../fields/script_recorder_fields.tsx | 0 .../fields/source_field.test.tsx | 0 .../monitor_add_edit/fields/source_field.tsx | 0 .../fields/throttling/connection_profile.tsx | 0 .../throttling_config_field.test.tsx | 0 .../throttling/throttling_config_field.tsx | 0 .../throttling_disabled_callout.tsx | 0 .../throttling/throttling_download_field.tsx | 0 .../throttling_exceeded_callout.tsx | 0 .../throttling/throttling_fields.test.tsx | 0 .../fields/throttling/throttling_fields.tsx | 0 .../throttling/throttling_latency_field.tsx | 0 .../throttling/throttling_upload_field.tsx | 0 .../throttling/use_connection_profiles.tsx | 0 .../monitor_add_edit/fields/uploader.tsx | 0 .../form/controlled_field.tsx | 0 .../monitor_add_edit/form/defaults.test.tsx | 0 .../monitor_add_edit/form/defaults.tsx | 0 .../monitor_add_edit/form/disclaimer.test.tsx | 0 .../monitor_add_edit/form/disclaimer.tsx | 0 .../monitor_add_edit/form/field.tsx | 0 .../monitor_add_edit/form/field_config.tsx | 0 .../monitor_add_edit/form/field_wrappers.tsx | 0 .../monitor_add_edit/form/form_config.tsx | 0 .../monitor_add_edit/form/formatter.test.tsx | 0 .../monitor_add_edit/form/formatter.ts | 0 .../monitor_add_edit/form/index.tsx | 0 .../monitor_add_edit/form/run_test_btn.tsx | 0 .../monitor_add_edit/form/submit.tsx | 0 .../monitor_add_edit/form/validation.test.ts | 0 .../monitor_add_edit/form/validation.tsx | 0 .../monitor_add_edit/hooks/index.ts | 0 .../hooks/use_clone_monitor.ts | 0 .../hooks/use_is_edit_flow.tsx | 0 .../hooks/use_monitor_not_found.tsx | 0 .../hooks/use_monitor_save.tsx | 1 - .../hooks/use_validate_field.ts | 0 .../locations_loading_error.tsx | 0 .../monitor_add_page.test.tsx | 0 .../monitor_add_edit/monitor_add_page.tsx | 0 .../monitor_details_portal.tsx | 0 .../monitor_edit_page.test.tsx | 0 .../monitor_add_edit/monitor_edit_page.tsx | 0 .../components/monitor_add_edit/portals.tsx | 0 .../can_use_public_locations_callout.tsx | 0 .../monitor_add_edit/steps/index.tsx | 0 .../steps/inspect_monitor_portal.tsx | 0 .../monitor_add_edit/steps/monitor_type.tsx | 0 .../steps/monitor_type_portal.tsx | 0 .../steps/read_only_callout.tsx | 0 .../monitor_add_edit/steps/step.tsx | 0 .../monitor_add_edit/steps/step_config.tsx | 0 .../monitor_add_edit/steps/step_fields.tsx | 0 .../components/monitor_add_edit/types.ts | 0 .../monitor_add_edit/use_breadcrumbs.ts | 0 .../hooks/use_error_failed_step.tsx | 0 .../hooks/use_failed_tests_by_step.tsx | 0 .../hooks/use_fetch_active_alerts.ts | 0 .../hooks/use_journey_steps.tsx | 0 .../hooks/use_monitor_errors.tsx | 0 .../hooks/use_monitor_latest_ping.tsx | 0 .../hooks/use_monitor_pings.tsx | 0 .../hooks/use_monitor_query_filters.ts | 0 .../hooks/use_monitor_query_id.ts | 0 .../hooks/use_monitor_range_from.ts | 0 .../hooks/use_selected_location.tsx | 0 .../hooks/use_selected_monitor.tsx | 0 .../monitor_alerts/alerts_icon.tsx | 0 .../monitor_alerts/monitor_detail_alerts.tsx | 0 .../monitor_details_last_run.tsx | 0 .../monitor_details_location.tsx | 0 .../monitor_details_page_title.tsx | 0 .../monitor_details_status.tsx | 0 .../monitor_errors/errors_icon.tsx | 0 .../monitor_errors/errors_list.tsx | 0 .../monitor_errors/errors_tab_content.tsx | 0 .../monitor_errors/failed_tests.tsx | 0 .../monitor_errors/failed_tests_by_step.tsx | 0 .../monitor_errors/failed_tests_count.tsx | 0 .../monitor_errors/monitor_errors.tsx | 0 .../monitor_history/monitor_history.tsx | 0 .../monitor_not_found_page.tsx | 0 .../monitor_pending_wrapper.test.tsx | 0 .../monitor_pending_wrapper.tsx | 0 .../monitor_searchable_list.tsx | 0 .../monitor_selector/monitor_selector.tsx | 0 .../use_recently_viewed_monitors.test.tsx | 0 .../use_recently_viewed_monitors.ts | 1 - .../monitor_details/monitor_status/labels.ts | 0 .../monitor_status_cell_tooltip.tsx | 0 .../monitor_status_chart_theme.ts | 0 .../monitor_status_data.test.ts | 0 .../monitor_status/monitor_status_data.ts | 0 .../monitor_status/monitor_status_header.tsx | 0 .../monitor_status/monitor_status_legend.tsx | 0 .../monitor_status/monitor_status_panel.tsx | 0 .../use_monitor_status_data.test.ts | 0 .../monitor_status/use_monitor_status_data.ts | 0 .../monitor_summary/alert_actions.tsx | 0 .../monitor_summary/availability_panel.tsx | 0 .../availability_sparklines.tsx | 0 .../monitor_summary/duration_panel.tsx | 0 .../monitor_summary/duration_sparklines.tsx | 0 .../monitor_summary/duration_trend.tsx | 0 .../monitor_summary/edit_monitor_link.tsx | 0 .../monitor_summary/last_test_run.tsx | 0 .../monitor_summary/locations_status.tsx | 0 .../monitor_summary/monitor_alerts.tsx | 0 .../monitor_complete_count.tsx | 0 .../monitor_complete_sparklines.tsx | 0 .../monitor_details_panel_container.tsx | 0 .../monitor_error_sparklines.tsx | 0 .../monitor_summary/monitor_errors_count.tsx | 0 .../monitor_summary/monitor_summary.tsx | 0 .../monitor_total_runs_count.tsx | 0 .../monitor_summary/status_filter.tsx | 0 .../monitor_summary/step_duration_panel.tsx | 0 .../monitor_summary/test_runs_table.tsx | 0 .../test_runs_table_header.tsx | 0 .../monitor_details/route_config.tsx | 0 .../monitor_details/run_test_manually.tsx | 0 .../use_monitor_details_page.tsx | 0 .../common/monitor_filters/filter_button.tsx | 0 .../common/monitor_filters/filter_group.tsx | 0 .../common/monitor_filters/list_filters.tsx | 0 .../monitor_filters/use_filters.test.tsx | 0 .../common/monitor_filters/use_filters.ts | 0 .../common/no_monitors_found.test.tsx | 0 .../common/no_monitors_found.tsx | 0 .../common/search_field.test.tsx | 0 .../monitors_page/common/search_field.tsx | 0 .../monitors_page/common/show_all_spaces.tsx | 0 .../monitors_page/create_monitor_button.tsx | 0 .../monitors_page/hooks/use_breadcrumbs.ts | 0 .../hooks/use_can_use_public_loc_id.ts | 0 .../monitors_page/hooks/use_create_slo.ts | 0 .../monitors_page/hooks/use_inline_errors.ts | 0 .../hooks/use_inline_errors_count.ts | 0 .../hooks/use_monitor_filters.test.ts | 0 .../hooks/use_monitor_filters.ts | 0 .../hooks/use_monitor_list.test.tsx | 0 .../monitors_page/hooks/use_monitor_list.ts | 0 .../hooks/use_monitor_query_filters.ts | 0 .../hooks/use_overview_status.ts | 0 .../management/disabled_callout.tsx | 0 .../monitors_page/management/labels.ts | 0 .../management/loader/loader.test.tsx | 0 .../management/loader/loader.tsx | 0 .../monitor_async_error.test.tsx | 0 .../monitor_errors/monitor_async_error.tsx | 0 .../management/monitor_list_container.tsx | 0 .../monitor_list_table/bulk_operations.tsx | 0 .../management/monitor_list_table/columns.tsx | 0 .../monitor_list_table/delete_monitor.tsx | 0 .../management/monitor_list_table/labels.tsx | 0 .../monitor_details_link.tsx | 0 .../monitor_list_table/monitor_enabled.tsx | 0 .../monitor_list_table/monitor_list.tsx | 0 .../monitor_list_header.tsx | 0 .../monitor_list_table/monitor_locations.tsx | 0 .../monitor_stats/monitor_stats.tsx | 0 .../monitor_stats/monitor_test_runs.tsx | 0 .../monitor_test_runs_sparkline.tsx | 0 .../page_header/monitors_page_header.tsx | 0 .../management/show_sync_errors.tsx | 0 .../synthetics_enablement/labels.ts | 0 .../synthetics_enablement.tsx | 0 .../monitors_page/monitors_page.tsx | 0 .../overview/actions_popover.test.tsx | 0 .../overview/overview/actions_popover.tsx | 0 .../grid_by_group/grid_group_item.tsx | 0 .../grid_by_group/grid_items_by_group.tsx | 0 .../overview/grid_by_group/group_fields.tsx | 0 .../overview/grid_by_group/group_menu.tsx | 0 .../use_filtered_group_monitors.ts | 0 .../overview/overview/metric_item.tsx | 0 .../overview/metric_item/metric_item_body.tsx | 0 .../metric_item/metric_item_extra.test.tsx | 0 .../metric_item/metric_item_extra.tsx | 0 .../overview/overview/metric_item_icon.tsx | 0 .../overview/monitor_detail_flyout.test.tsx | 0 .../overview/monitor_detail_flyout.tsx | 0 .../overview/overview/overview_alerts.tsx | 0 .../overview_errors/overview_errors.tsx | 0 .../overview_errors/overview_errors_count.tsx | 0 .../overview_errors_sparklines.tsx | 0 .../overview/overview/overview_grid.tsx | 0 .../overview/overview_grid_item_loader.tsx | 0 .../overview/overview/overview_loader.tsx | 0 .../overview/overview_pagination_info.tsx | 0 .../overview/overview/overview_status.tsx | 0 .../overview/overview/quick_filters.test.tsx | 0 .../overview/overview/quick_filters.tsx | 0 .../overview/overview/sort_fields.tsx | 0 .../overview/overview/sort_menu.tsx | 0 .../monitors_page/overview/overview/types.ts | 0 .../monitors_page/overview/overview_page.tsx | 0 .../monitors_page/overview/types.ts | 0 .../monitors_page/overview/use_breadcrumbs.ts | 0 .../components/monitors_page/route_config.tsx | 0 .../add_connector_flyout.tsx | 0 .../alerting_defaults/alert_defaults_form.tsx | 0 .../alerting_defaults/connector_field.tsx | 0 .../alerting_defaults/default_email.tsx | 0 .../hooks/use_alerting_defaults.tsx | 0 .../alerting_defaults/translations.ts | 0 .../settings/alerting_defaults/validation.ts | 0 .../settings/components/optional_text.tsx | 0 .../settings/components/tags_field.tsx | 0 .../settings/data_retention/common.test.ts | 0 .../settings/data_retention/common.ts | 0 .../data_retention/dsl_retention_tab.tsx | 0 .../data_retention/ilm_retention_tab.tsx | 0 .../settings/data_retention/index.tsx | 0 .../settings/data_retention/policy_labels.ts | 0 .../settings/data_retention/unprivileged.tsx | 0 .../data_retention/use_management_locator.ts | 0 .../global_params/add_param_flyout.tsx | 0 .../settings/global_params/add_param_form.tsx | 0 .../settings/global_params/delete_param.tsx | 0 .../global_params/param_value_field.tsx | 0 .../settings/global_params/params_list.tsx | 0 .../settings/global_params/params_text.tsx | 0 .../components/settings/hooks/api.ts | 0 .../use_get_data_stream_statuses.test.ts | 0 .../hooks/use_get_data_stream_statuses.ts | 0 .../hooks/use_get_ilm_policies.test.ts | 0 .../settings/hooks/use_get_ilm_policies.ts | 0 .../settings/hooks/use_params_list.ts | 0 .../components/settings/page_header.tsx | 0 .../components/settings/policy_link.tsx | 1 - .../private_locations/add_location_flyout.tsx | 0 .../private_locations/agent_policy_needed.tsx | 0 .../settings/private_locations/copy_name.tsx | 0 .../private_locations/delete_location.tsx | 0 .../private_locations/empty_locations.tsx | 0 .../hooks/use_location_monitors.test.tsx | 0 .../hooks/use_location_monitors.ts | 0 .../hooks/use_locations_api.test.tsx | 0 .../hooks/use_locations_api.ts | 2 - .../private_locations/location_form.tsx | 0 .../private_locations/locations_table.tsx | 0 .../private_locations/manage_empty_state.tsx | 0 .../manage_private_locations.test.tsx | 0 .../manage_private_locations.tsx | 0 .../private_locations/policy_hosts.tsx | 0 .../private_locations/policy_name.tsx | 0 .../view_location_monitors.tsx | 0 .../project_api_keys/api_key_btn.test.tsx | 0 .../settings/project_api_keys/api_key_btn.tsx | 0 .../project_api_keys/help_commands.tsx | 0 .../project_api_keys.test.tsx | 0 .../project_api_keys/project_api_keys.tsx | 1 - .../components/settings/route_config.ts | 0 .../components/settings/settings_page.tsx | 0 .../settings/use_settings_breadcrumbs.ts | 0 .../network_data/data_formatting.test.ts | 0 .../common/network_data/data_formatting.ts | 0 .../common/network_data/types.ts | 0 .../step_details_page/error_callout.tsx | 0 .../hooks/use_network_timings.ts | 0 .../hooks/use_network_timings_prev.ts | 0 .../hooks/use_object_metrics.ts | 0 .../hooks/use_prev_object_metrics.ts | 0 .../hooks/use_step_detail_page.ts | 0 .../hooks/use_step_details_breadcrumbs.ts | 0 .../hooks/use_step_metrics.ts | 0 .../hooks/use_step_prev_metrics.ts | 0 .../network_timings_breakdown.tsx | 0 .../step_details_page/route_config.tsx | 0 .../step_details_page/step_detail_page.tsx | 0 .../step_details_page/step_details_status.tsx | 0 .../step_metrics/definitions_popover.tsx | 0 .../step_details_page/step_metrics/labels.ts | 0 .../step_metrics/step_metrics.tsx | 0 .../step_details_page/step_number_nav.tsx | 0 .../step_objects/color_palette.tsx | 0 .../step_objects/object_count_list.tsx | 0 .../step_objects/object_weight_list.tsx | 0 .../step_details_page/step_page_nav.tsx | 0 .../last_successful_screenshot.tsx | 1 - .../step_screenshot/step_image.tsx | 0 .../breakdown_legend.tsx | 0 .../network_timings_donut.tsx | 0 .../step_details_page/step_title.tsx | 0 .../use_step_waterfall_metrics.test.tsx | 0 .../use_step_waterfall_metrics.ts | 0 .../step_waterfall_chart/waterfall/README.md | 0 .../waterfall/constants.ts | 0 .../waterfall/context/waterfall_context.tsx | 0 .../waterfall/middle_truncated_text.test.tsx | 0 .../waterfall/middle_truncated_text.tsx | 0 .../waterfall/sidebar.tsx | 0 .../step_waterfall_chart/waterfall/styles.ts | 0 .../waterfall/translations.ts | 0 .../waterfall/use_bar_charts.test.tsx | 0 .../waterfall/use_bar_charts.ts | 0 .../waterfall/waterfall_bar_chart.tsx | 0 .../waterfall/waterfall_chart.tsx | 0 .../waterfall_chart_container.test.tsx | 0 .../waterfall/waterfall_chart_container.tsx | 0 .../waterfall/waterfall_chart_fixed_axis.tsx | 0 .../waterfall_chart_wrapper.test.tsx | 0 .../waterfall/waterfall_chart_wrapper.tsx | 0 .../waterfall_flyout/use_flyout.test.tsx | 0 .../waterfall/waterfall_flyout/use_flyout.ts | 0 .../waterfall_flyout.test.tsx | 0 .../waterfall_flyout/waterfall_flyout.tsx | 0 .../waterfall_flyout_table.tsx | 0 .../network_requests_total.test.tsx | 0 .../network_requests_total.tsx | 0 .../waterfall_legend_item.tsx | 0 .../waterfall_mime_legend.test.tsx | 0 .../waterfall_mime_legend.tsx | 0 .../waterfall_search.test.tsx | 0 .../waterfall_header/waterfall_search.tsx | 0 .../waterfall_tick_axis.test.tsx | 0 .../waterfall_header/waterfall_tick_axis.tsx | 0 .../waterfall_timing_legend.tsx | 0 .../waterfall_marker_icon.test.tsx | 0 .../waterfall_marker_icon.tsx | 0 .../waterfall_marker_test_helper.tsx | 0 .../waterfall_marker_trend.test.tsx | 0 .../waterfall_marker_trend.tsx | 0 .../waterfall_marker/waterfall_markers.tsx | 0 .../waterfall/waterfall_sidebar_item.test.tsx | 0 .../waterfall/waterfall_sidebar_item.tsx | 0 .../waterfall_tooltip_content.test.tsx | 0 .../waterfall/waterfall_tooltip_content.tsx | 0 .../browser/browser_test_results.tsx | 0 .../hooks/use_browser_run_once_monitors.ts | 1 - .../hooks/use_run_once_errors.ts | 0 .../hooks/use_simple_run_once_monitors.ts | 0 .../hooks/use_test_flyout_open.ts | 0 .../test_now_mode/hooks/use_tick_tick.ts | 0 .../browser_test_results.tsx | 0 .../manual_test_run_mode.tsx | 0 .../simple_test_results.tsx | 0 .../simple/ping_list/columns/expand_row.tsx | 0 .../simple/ping_list/columns/ping_error.tsx | 0 .../simple/ping_list/columns/ping_status.tsx | 0 .../ping_list/columns/response_code.tsx | 0 .../simple/ping_list/expanded_row.tsx | 0 .../simple/ping_list/headers.tsx | 0 .../simple/ping_list/ping_list_table.tsx | 0 .../simple/ping_list/ping_redirects.tsx | 0 .../simple/ping_list/translations.ts | 0 .../simple/ping_list/use_ping_expanded.tsx | 0 .../simple/simple_test_results.tsx | 0 .../test_now_mode/test_now_mode.tsx | 0 .../test_now_mode/test_now_mode_flyout.tsx | 0 .../test_now_mode_flyout_container.tsx | 0 .../test_now_mode/test_result_header.tsx | 0 .../components/step_details.tsx | 0 .../test_run_details/components/step_info.tsx | 0 .../components/step_number_nav.tsx | 0 .../components/test_run_date.tsx | 0 .../components/test_run_details_status.tsx | 0 .../components/test_run_error_info.tsx | 0 .../hooks/use_test_run_details_breadcrumbs.ts | 0 .../test_run_details/route_config.tsx | 0 .../step_screenshot_details.tsx | 0 .../components/test_run_details/step_tabs.tsx | 0 .../test_run_details/test_run_details.tsx | 0 .../test_run_details/test_run_steps.tsx | 0 .../public/apps/synthetics/contexts/index.ts | 0 .../contexts/synthetics_data_view_context.tsx | 0 .../synthetics_embeddable_context.tsx | 0 .../contexts/synthetics_refresh_context.tsx | 0 .../contexts/synthetics_settings_context.tsx | 0 .../contexts/synthetics_shared_context.tsx | 0 .../public/apps/synthetics/hooks/index.ts | 0 .../hooks/use_absolute_date.test.ts | 0 .../synthetics/hooks/use_absolute_date.ts | 0 .../synthetics/hooks/use_breadcrumbs.test.tsx | 0 .../apps/synthetics/hooks/use_breadcrumbs.ts | 0 .../hooks/use_composite_image.test.tsx | 0 .../synthetics/hooks/use_composite_image.ts | 0 .../apps/synthetics/hooks/use_dimensions.tsx | 0 .../hooks/use_edit_monitor_locator.ts | 0 .../apps/synthetics/hooks/use_enablement.ts | 0 .../synthetics/hooks/use_fleet_permissions.ts | 0 .../hooks/use_location_name.test.tsx | 0 .../synthetics/hooks/use_location_name.tsx | 0 .../apps/synthetics/hooks/use_locations.ts | 0 .../hooks/use_monitor_alert_enable.tsx | 0 .../synthetics/hooks/use_monitor_detail.ts | 0 .../hooks/use_monitor_detail_locator.ts | 0 .../hooks/use_monitor_enable_handler.tsx | 0 .../hooks/use_monitor_name.test.tsx | 0 .../apps/synthetics/hooks/use_monitor_name.ts | 0 .../use_monitors_sorted_by_status.test.tsx | 0 .../hooks/use_monitors_sorted_by_status.tsx | 0 .../synthetics/hooks/use_redux_es_search.ts | 0 .../hooks/use_status_by_location.tsx | 0 .../hooks/use_status_by_location_overview.ts | 0 .../hooks/use_synthetics_priviliges.test.tsx | 0 .../hooks/use_synthetics_priviliges.tsx | 0 .../synthetics/hooks/use_url_params.test.tsx | 0 .../apps/synthetics/hooks/use_url_params.ts | 0 .../apps/synthetics/lib/alert_types/index.ts | 0 .../lazy_wrapper/monitor_status.tsx | 0 .../alert_types/lazy_wrapper/tls_alert.tsx | 0 .../lazy_wrapper/validate_tls_alert.ts | 0 .../lib/alert_types/monitor_status.tsx | 0 .../apps/synthetics/lib/alert_types/tls.tsx | 0 .../apps/synthetics/lib/alert_types/types.ts | 0 .../public/apps/synthetics/render_app.tsx | 0 .../public/apps/synthetics/routes.tsx | 0 .../synthetics/state/alert_rules/actions.ts | 0 .../apps/synthetics/state/alert_rules/api.ts | 0 .../synthetics/state/alert_rules/effects.ts | 0 .../synthetics/state/alert_rules/index.ts | 0 .../synthetics/state/alert_rules/selectors.ts | 0 .../state/browser_journey/actions.ts | 0 .../state/browser_journey/api.test.ts | 0 .../synthetics/state/browser_journey/api.ts | 0 .../state/browser_journey/effects.ts | 0 .../synthetics/state/browser_journey/index.ts | 0 .../state/browser_journey/models.ts | 0 .../state/browser_journey/selectors.ts | 0 .../state/certificates/certificates.ts | 0 .../apps/synthetics/state/certs/actions.ts | 0 .../public/apps/synthetics/state/certs/api.ts | 0 .../apps/synthetics/state/certs/effects.ts | 0 .../apps/synthetics/state/certs/index.ts | 0 .../apps/synthetics/state/certs/selectors.ts | 0 .../synthetics/state/elasticsearch/actions.ts | 0 .../synthetics/state/elasticsearch/api.ts | 0 .../synthetics/state/elasticsearch/effects.ts | 0 .../synthetics/state/elasticsearch/index.ts | 0 .../state/elasticsearch/selectors.ts | 0 .../synthetics/state/global_params/actions.ts | 0 .../synthetics/state/global_params/api.ts | 0 .../synthetics/state/global_params/effects.ts | 0 .../synthetics/state/global_params/index.ts | 0 .../state/global_params/selectors.ts | 0 .../public/apps/synthetics/state/index.ts | 0 .../state/manual_test_runs/actions.ts | 0 .../synthetics/state/manual_test_runs/api.ts | 0 .../state/manual_test_runs/effects.ts | 0 .../state/manual_test_runs/index.ts | 0 .../state/manual_test_runs/selectors.ts | 0 .../state/monitor_details/actions.ts | 0 .../synthetics/state/monitor_details/api.ts | 0 .../state/monitor_details/effects.ts | 0 .../synthetics/state/monitor_details/index.ts | 0 .../state/monitor_details/selectors.ts | 0 .../synthetics/state/monitor_list/actions.ts | 0 .../apps/synthetics/state/monitor_list/api.ts | 0 .../synthetics/state/monitor_list/effects.ts | 0 .../synthetics/state/monitor_list/helpers.ts | 0 .../synthetics/state/monitor_list/index.ts | 0 .../synthetics/state/monitor_list/models.ts | 0 .../state/monitor_list/selectors.ts | 0 .../state/monitor_list/toast_title.tsx | 0 .../state/monitor_management/api.ts | 0 .../state/network_events/actions.ts | 0 .../synthetics/state/network_events/api.ts | 0 .../state/network_events/effects.ts | 0 .../synthetics/state/network_events/index.ts | 0 .../state/network_events/selectors.ts | 0 .../apps/synthetics/state/overview/actions.ts | 0 .../apps/synthetics/state/overview/api.ts | 0 .../synthetics/state/overview/effects.test.ts | 0 .../apps/synthetics/state/overview/effects.ts | 0 .../apps/synthetics/state/overview/index.ts | 0 .../apps/synthetics/state/overview/models.ts | 0 .../synthetics/state/overview/selectors.ts | 0 .../state/overview_status/actions.ts | 0 .../synthetics/state/overview_status/api.ts | 0 .../state/overview_status/effects.ts | 0 .../synthetics/state/overview_status/index.ts | 0 .../state/overview_status/selectors.ts | 0 .../state/private_locations/actions.ts | 0 .../synthetics/state/private_locations/api.ts | 0 .../state/private_locations/effects.ts | 0 .../state/private_locations/index.ts | 0 .../state/private_locations/selectors.ts | 0 .../apps/synthetics/state/root_effect.ts | 0 .../apps/synthetics/state/root_reducer.ts | 0 .../state/service_locations/actions.ts | 0 .../synthetics/state/service_locations/api.ts | 0 .../state/service_locations/effects.ts | 0 .../state/service_locations/index.ts | 0 .../state/service_locations/selectors.ts | 0 .../apps/synthetics/state/settings/actions.ts | 0 .../apps/synthetics/state/settings/api.ts | 0 .../apps/synthetics/state/settings/effects.ts | 0 .../apps/synthetics/state/settings/index.ts | 0 .../synthetics/state/settings/selectors.ts | 0 .../state/status_heatmap/actions.ts | 0 .../synthetics/state/status_heatmap/api.ts | 0 .../state/status_heatmap/effects.ts | 0 .../synthetics/state/status_heatmap/index.ts | 0 .../synthetics/state/status_heatmap/models.ts | 0 .../state/status_heatmap/selectors.ts | 0 .../public/apps/synthetics/state/store.ts | 0 .../state/synthetics_enablement/actions.ts | 0 .../state/synthetics_enablement/api.ts | 0 .../state/synthetics_enablement/effects.ts | 0 .../state/synthetics_enablement/index.ts | 0 .../state/synthetics_enablement/selectors.ts | 0 .../apps/synthetics/state/ui/actions.ts | 0 .../public/apps/synthetics/state/ui/index.ts | 0 .../apps/synthetics/state/ui/selectors.ts | 0 .../apps/synthetics/state/utils/actions.ts | 0 .../synthetics/state/utils/fetch_effect.ts | 0 .../apps/synthetics/state/utils/http_error.ts | 0 .../public/apps/synthetics/synthetics_app.tsx | 0 .../utils/adapters/capabilities_adapter.ts | 0 .../apps/synthetics/utils/adapters/index.ts | 0 .../synthetics/utils/filters/filter_fields.ts | 0 .../utils/formatting/format.test.ts | 0 .../synthetics/utils/formatting/format.ts | 0 .../apps/synthetics/utils/formatting/index.ts | 0 .../utils/formatting/test_helpers.ts | 0 .../utils/monitor_test_result/check_pings.ts | 0 .../compose_screenshot_images.test.ts | 0 .../compose_screenshot_images.ts | 0 .../utils/monitor_test_result/sort_pings.ts | 0 .../test_time_formats.test.ts | 0 .../monitor_test_result/test_time_formats.ts | 0 .../__mocks__/synthetics_plugin_start_mock.ts | 0 .../__mocks__/synthetics_store.mock.ts | 0 .../__mocks__/ut_router_history.mock.ts | 0 .../utils/testing/helper_with_redux.tsx | 0 .../apps/synthetics/utils/testing/index.ts | 0 .../synthetics/utils/testing/rtl_helpers.tsx | 0 .../get_supported_url_params.test.ts | 0 .../url_params/get_supported_url_params.ts | 0 .../apps/synthetics/utils/url_params/index.ts | 0 .../url_params/parse_absolute_date.test.ts | 0 .../utils/url_params/parse_absolute_date.ts | 0 .../url_params/stringify_url_params.test.ts | 0 .../utils/url_params/stringify_url_params.ts | 0 .../utils/validators/is_url_valid.test.ts | 0 .../utils/validators/is_url_valid.ts | 0 .../public/hooks/use_base_chart_theme.ts | 0 .../public/hooks/use_capabilities.ts | 0 .../public/hooks/use_date_format.test.tsx | 0 .../public/hooks/use_date_format.ts | 0 .../public/hooks/use_form_wrapped.tsx | 0 .../public/hooks/use_kibana_space.tsx | 0 .../plugins}/synthetics/public/index.ts | 0 .../plugins}/synthetics/public/plugin.ts | 0 .../public/utils/api_service/api_service.ts | 0 .../public/utils/api_service/index.ts | 0 .../public/utils/kibana_service/index.ts | 0 .../utils/kibana_service/kibana_service.ts | 0 .../plugins}/synthetics/scripts/base_e2e.js | 0 .../plugins}/synthetics/scripts/e2e.js | 0 .../synthetics/scripts/generate_monitors.js | 0 .../scripts/tasks/generate_monitors.ts | 0 .../server/alert_rules/action_variables.ts | 0 .../server/alert_rules/common.test.ts | 0 .../synthetics/server/alert_rules/common.ts | 0 .../alert_rules/status_rule/message_utils.ts | 0 .../status_rule/monitor_status_rule.ts | 0 .../status_rule/queries/filter_monitors.ts | 0 .../queries/query_monitor_status_alert.ts | 0 .../status_rule/status_rule_executor.test.ts | 0 .../status_rule/status_rule_executor.ts | 0 .../server/alert_rules/status_rule/types.ts | 0 .../server/alert_rules/status_rule/utils.ts | 0 .../tls_rule/message_utils.test.ts | 0 .../alert_rules/tls_rule/message_utils.ts | 0 .../server/alert_rules/tls_rule/tls_rule.ts | 0 .../tls_rule/tls_rule_executor.test.ts | 0 .../alert_rules/tls_rule/tls_rule_executor.ts | 0 .../server/alert_rules/translations.ts | 0 .../common/pings/monitor_status_heatmap.ts | 0 .../server/common/pings/query_pings.test.ts | 0 .../server/common/pings/query_pings.ts | 0 .../server/common/unzip_project_code.ts | 0 .../plugins}/synthetics/server/config.ts | 0 .../synthetics/server/constants/settings.ts | 0 .../plugins}/synthetics/server/feature.ts | 0 .../plugins}/synthetics/server/index.ts | 0 .../plugins}/synthetics/server/lib.test.ts | 0 .../plugins}/synthetics/server/lib.ts | 0 .../plugins}/synthetics/server/plugin.ts | 0 .../synthetics/server/queries/get_certs.ts | 0 .../server/queries/get_index_pattern.ts | 0 .../server/queries/get_journey_details.ts | 0 .../queries/get_journey_failed_steps.test.ts | 0 .../queries/get_journey_failed_steps.ts | 0 .../queries/get_journey_screenshot.test.ts | 0 .../server/queries/get_journey_screenshot.ts | 0 .../get_journey_screenshot_blocks.test.ts | 0 .../queries/get_journey_screenshot_blocks.ts | 0 .../server/queries/get_journey_steps.test.ts | 0 .../server/queries/get_journey_steps.ts | 0 .../queries/get_last_successful_check.test.ts | 0 .../queries/get_last_successful_check.ts | 0 .../synthetics/server/queries/get_monitor.ts | 0 .../server/queries/get_network_events.test.ts | 0 .../server/queries/get_network_events.ts | 0 .../server/queries/journey_screenshots.ts | 0 .../synthetics/server/queries/test_helpers.ts | 0 .../routes/certs/get_certificates.test.ts | 0 .../server/routes/certs/get_certificates.ts | 0 .../synthetics/server/routes/common.test.ts | 0 .../synthetics/server/routes/common.ts | 0 .../routes/create_route_with_auth.test.ts | 0 .../server/routes/create_route_with_auth.ts | 0 .../default_alert_service.test.ts | 0 .../default_alerts/default_alert_service.ts | 0 .../default_alerts/enable_default_alert.ts | 0 .../default_alerts/get_action_connectors.ts | 0 .../default_alerts/get_connector_types.ts | 0 .../default_alerts/get_default_alert.ts | 0 .../default_alerts/update_default_alert.ts | 0 .../server/routes/filters/filters.ts | 0 .../fleet/get_has_integration_monitors.ts | 0 .../synthetics/server/routes/index.ts | 0 .../routes/monitor_cruds/add_monitor.ts | 0 .../add_monitor/add_monitor_api.test.ts | 0 .../add_monitor/add_monitor_api.ts | 0 .../monitor_cruds/add_monitor/utils.test.ts | 0 .../routes/monitor_cruds/add_monitor/utils.ts | 0 .../monitor_cruds/add_monitor_project.ts | 0 .../bulk_cruds/add_monitor_bulk.ts | 0 .../bulk_cruds/delete_monitor_bulk.ts | 0 .../bulk_cruds/edit_monitor_bulk.ts | 0 .../monitor_cruds/delete_integration.ts | 0 .../routes/monitor_cruds/delete_monitor.ts | 0 .../monitor_cruds/delete_monitor_project.ts | 0 .../routes/monitor_cruds/edit_monitor.test.ts | 0 .../routes/monitor_cruds/edit_monitor.ts | 0 .../saved_object_to_monitor.test.ts | 0 .../formatters/saved_object_to_monitor.ts | 0 .../routes/monitor_cruds/get_api_key.ts | 0 .../routes/monitor_cruds/get_monitor.test.ts | 0 .../routes/monitor_cruds/get_monitor.ts | 0 .../monitor_cruds/get_monitor_project.ts | 0 .../routes/monitor_cruds/get_monitors_list.ts | 0 .../routes/monitor_cruds/inspect_monitor.ts | 0 .../monitor_cruds/monitor_validation.test.ts | 0 .../monitor_cruds/monitor_validation.ts | 0 .../services/delete_monitor_api.ts | 0 .../services/validate_space_id.ts | 0 .../network_events/get_network_events.ts | 0 .../server/routes/network_events/index.ts | 0 .../routes/overview_status/overview_status.ts | 0 .../overview_status_service.test.ts | 0 .../overview_status_service.ts | 0 .../routes/overview_status/utils.test.ts | 0 .../server/routes/overview_status/utils.ts | 0 .../routes/overview_trends/fetch_trends.ts | 0 .../overview_trends/overview_trends.test.ts | 0 .../routes/overview_trends/overview_trends.ts | 0 .../server/routes/pings/get_pings.ts | 0 .../synthetics/server/routes/pings/index.ts | 0 .../routes/pings/journey_screenshot_blocks.ts | 0 .../routes/pings/journey_screenshots.ts | 0 .../server/routes/pings/journeys.ts | 0 .../routes/pings/last_successful_check.ts | 0 .../server/routes/pings/ping_heatmap.ts | 0 .../routes/settings/dynamic_settings.ts | 0 .../routes/settings/params/add_param.ts | 0 .../routes/settings/params/delete_param.ts | 0 .../settings/params/delete_params_bulk.ts | 0 .../routes/settings/params/edit_param.ts | 0 .../server/routes/settings/params/params.ts | 0 .../private_locations/add_private_location.ts | 0 .../delete_private_location.ts | 0 .../private_locations/get_agent_policies.ts | 0 .../get_location_monitors.ts | 0 .../get_private_locations.ts | 0 .../private_locations/helpers.test.ts | 0 .../settings/private_locations/helpers.ts | 0 .../migrate_legacy_private_locations.test.ts | 0 .../migrate_legacy_private_locations.ts | 0 .../server/routes/settings/settings.ts | 0 .../routes/settings/sync_global_params.ts | 0 .../server/routes/suggestions/route.ts | 0 .../routes/synthetics_service/enablement.ts | 0 .../synthetics_service/get_service_allowed.ts | 0 .../get_service_locations.ts | 0 .../install_index_templates.ts | 0 .../synthetics_service/run_once_monitor.ts | 0 .../synthetics_service/service_errors.ts | 0 .../synthetics_service/test_now_monitor.ts | 0 .../telemetry/monitor_upgrade_sender.test.ts | 0 .../telemetry/monitor_upgrade_sender.ts | 0 .../synthetics/server/routes/types.ts | 0 .../server/runtime_types/private_locations.ts | 0 .../server/runtime_types/settings.ts | 0 .../synthetics/server/saved_objects/index.ts | 0 .../migrations/monitors/8.6.0.test.ts | 0 .../migrations/monitors/8.6.0.ts | 0 .../migrations/monitors/8.8.0.test.ts | 0 .../migrations/monitors/8.8.0.ts | 0 .../migrations/monitors/8.9.0.test.ts | 0 .../migrations/monitors/8.9.0.ts | 0 .../migrations/monitors/index.ts | 0 .../monitors/test_fixtures/8.5.0.ts | 0 .../monitors/test_fixtures/8.7.0.ts | 0 .../private_locations/model_version_1.test.ts | 0 .../private_locations/model_version_1.ts | 0 .../server/saved_objects/private_locations.ts | 0 .../server/saved_objects/saved_objects.ts | 0 .../server/saved_objects/service_api_key.ts | 0 .../saved_objects/synthetics_monitor.ts | 0 .../get_all_monitors.test.ts | 0 .../synthetics_monitor/get_all_monitors.ts | 0 .../server/saved_objects/synthetics_param.ts | 0 .../saved_objects/synthetics_settings.ts | 0 .../plugins}/synthetics/server/server.ts | 0 .../server/synthetics_route_wrapper.ts | 0 .../authentication/check_has_privilege.ts | 0 .../synthetics_service/formatters/common.ts | 0 .../formatters/formatting_utils.test.ts | 0 .../formatters/formatting_utils.ts | 0 .../lightweight_param_formatter.test.ts | 0 .../formatters/lightweight_param_formatter.ts | 0 .../browser_formatters.test.ts | 0 .../private_formatters/browser_formatters.ts | 0 .../common_formatters.test.ts | 0 .../private_formatters/common_formatters.ts | 0 .../format_synthetics_policy.test.ts | 0 .../format_synthetics_policy.ts | 0 .../private_formatters/formatters.test.ts | 0 .../private_formatters/formatters.ts | 0 .../private_formatters/formatting_utils.ts | 0 .../private_formatters/http_formatters.ts | 0 .../private_formatters/icmp_formatters.ts | 0 .../formatters/private_formatters/index.ts | 0 .../processors_formatter.ts | 0 .../private_formatters/tcp_formatters.ts | 0 .../private_formatters/tls_formatters.ts | 0 .../public_formatters/browser.test.ts | 0 .../formatters/public_formatters/browser.ts | 0 .../public_formatters/common.test.ts | 0 .../formatters/public_formatters/common.ts | 0 .../convert_to_data_stream.test.ts | 0 .../convert_to_data_stream.ts | 0 .../public_formatters/format_configs.test.ts | 0 .../public_formatters/format_configs.ts | 0 .../public_formatters/formatting_utils.ts | 0 .../formatters/public_formatters/http.ts | 0 .../formatters/public_formatters/icmp.ts | 0 .../formatters/public_formatters/index.ts | 0 .../formatters/public_formatters/tcp.ts | 0 .../formatters/public_formatters/tls.ts | 0 .../formatters/variable_parser.js | 0 .../synthetics_service/get_all_locations.ts | 0 .../synthetics_service/get_api_key.test.ts | 0 .../server/synthetics_service/get_api_key.ts | 0 .../synthetics_service/get_es_hosts.test.ts | 0 .../server/synthetics_service/get_es_hosts.ts | 0 .../get_private_locations.ts | 0 .../get_service_locations.test.ts | 0 .../get_service_locations.ts | 0 .../private_location/clean_up_task.ts | 0 .../synthetics_private_location.test.ts | 0 .../synthetics_private_location.ts | 0 .../private_location/test_policy.ts | 0 .../normalizers/browser_monitor.test.ts | 0 .../normalizers/browser_monitor.ts | 0 .../normalizers/common_fields.test.ts | 0 .../normalizers/common_fields.ts | 0 .../normalizers/http_monitor.test.ts | 0 .../normalizers/http_monitor.ts | 0 .../normalizers/icmp_monitor.test.ts | 0 .../normalizers/icmp_monitor.ts | 0 .../project_monitor/normalizers/index.ts | 0 .../normalizers/tcp_monitor.test.ts | 0 .../normalizers/tcp_monitor.ts | 0 .../project_monitor_formatter.test.ts | 0 .../project_monitor_formatter.ts | 0 .../service_api_client.test.ts | 0 .../synthetics_service/service_api_client.ts | 0 .../synthetics_monitor_client.test.ts | 0 .../synthetics_monitor_client.ts | 0 .../synthetics_service.test.ts | 0 .../synthetics_service/synthetics_service.ts | 0 .../utils/fake_kibana_request.ts | 0 .../server/synthetics_service/utils/index.ts | 0 .../server/synthetics_service/utils/mocks.ts | 0 .../synthetics_service/utils/secrets.ts | 0 .../server/telemetry/__mocks__/index.ts | 0 .../synthetics/server/telemetry/constants.ts | 0 .../synthetics/server/telemetry/queue.test.ts | 0 .../synthetics/server/telemetry/queue.ts | 0 .../server/telemetry/sender.test.ts | 0 .../synthetics/server/telemetry/sender.ts | 0 .../synthetics/server/telemetry/types.ts | 0 .../plugins}/synthetics/server/types.ts | 0 .../plugins}/synthetics/tsconfig.json | 4 +- .../uptime/.buildkite/pipelines/flaky.js | 0 .../uptime/.buildkite/pipelines/flaky.sh | 8 ++ .../observability/plugins}/uptime/README.md | 2 +- .../plugins}/uptime/common/config.ts | 0 .../uptime/common/constants/capabilities.ts | 0 .../common/constants/chart_format_limits.ts | 0 .../common/constants/client_defaults.ts | 0 .../common/constants/context_defaults.ts | 0 .../plugins}/uptime/common/constants/index.ts | 0 .../uptime/common/constants/plugin.ts | 0 .../plugins}/uptime/common/constants/query.ts | 0 .../uptime/common/constants/rest_api.ts | 0 .../common/constants/settings_defaults.ts | 0 .../common/constants/synthetics_alerts.ts | 0 .../plugins}/uptime/common/constants/ui.ts | 0 .../uptime/common/constants/uptime_alerts.ts | 0 .../plugins}/uptime/common/index.ts | 0 .../assert_close_to.test.ts.snap | 0 .../uptime/common/lib/assert_close_to.test.ts | 0 .../uptime/common/lib/assert_close_to.ts | 0 .../combine_filters_and_user_search.test.ts | 0 .../lib/combine_filters_and_user_search.ts | 0 .../common/lib/get_histogram_interval.test.ts | 0 .../common/lib/get_histogram_interval.ts | 0 .../plugins}/uptime/common/lib/index.ts | 0 .../plugins}/uptime/common/lib/ml.test.ts | 0 .../plugins}/uptime/common/lib/ml.ts | 0 .../common/lib/stringify_kueries.test.ts | 0 .../uptime/common/lib/stringify_kueries.ts | 0 .../common/requests/get_certs_request_body.ts | 0 .../uptime/common/rules/alert_actions.test.ts | 0 .../uptime/common/rules/alert_actions.ts | 0 .../rules/legacy_uptime/translations.ts | 0 .../plugins}/uptime/common/rules/types.ts | 0 .../common/rules/uptime_rule_field_map.ts | 0 .../common/runtime_types/alerts/common.ts | 0 .../common/runtime_types/alerts/index.ts | 0 .../runtime_types/alerts/status_check.ts | 0 .../uptime/common/runtime_types/alerts/tls.ts | 0 .../uptime/common/runtime_types/certs.ts | 0 .../uptime/common/runtime_types/common.ts | 0 .../common/runtime_types/dynamic_settings.ts | 0 .../uptime/common/runtime_types/index.ts | 0 .../common/runtime_types/monitor/index.ts | 0 .../common/runtime_types/monitor/locations.ts | 0 .../common/runtime_types/monitor/state.ts | 0 .../common/runtime_types/network_events.ts | 0 .../common/runtime_types/ping/error_state.ts | 0 .../common/runtime_types/ping/histogram.ts | 0 .../uptime/common/runtime_types/ping/index.ts | 0 .../common/runtime_types/ping/observer.ts | 0 .../uptime/common/runtime_types/ping/ping.ts | 0 .../runtime_types/ping/synthetics.test.ts | 0 .../common/runtime_types/ping/synthetics.ts | 0 .../common/runtime_types/snapshot/index.ts | 0 .../runtime_types/snapshot/snapshot_count.ts | 0 .../plugins}/uptime/common/translations.ts | 0 .../common/translations/translations.ts | 0 .../plugins}/uptime/common/types/index.ts | 0 .../common/types/integration_deprecation.ts | 0 .../uptime/common/types/monitor_duration.ts | 0 .../uptime/common/types/synthetics_monitor.ts | 0 .../uptime/common/utils/as_mutable_array.ts | 0 .../plugins}/uptime/common/utils/es_search.ts | 0 .../uptime/common/utils/get_monitor_url.ts | 0 .../plugins}/uptime/e2e/README.md | 4 +- .../plugins}/uptime/e2e/config.ts | 0 .../fixtures/es_archiver/browser/data.json.gz | Bin .../es_archiver/browser/mappings.json | 0 .../es_archiver/full_heartbeat/data.json.gz | Bin .../es_archiver/full_heartbeat/mappings.json | 0 .../es_archiver/synthetics_data/data.json.gz | Bin .../uptime/e2e/helpers/make_checks.ts | 0 .../plugins}/uptime/e2e/helpers/make_ping.ts | 0 .../plugins}/uptime/e2e/helpers/make_tls.ts | 0 .../plugins}/uptime/e2e/helpers/utils.ts | 0 .../uptime/e2e/page_objects/login.tsx | 0 .../uptime/e2e/page_objects/utils.tsx | 0 .../plugins}/uptime/e2e/tsconfig.json | 2 +- .../journeys/alerts/default_email_settings.ts | 0 .../e2e/uptime/journeys/alerts/index.ts | 0 .../status_alert_flyouts_in_alerting_app.ts | 0 .../tls_alert_flyouts_in_alerting_app.ts | 0 .../uptime/journeys/data_view_permissions.ts | 0 .../uptime/e2e/uptime/journeys/index.ts | 0 .../e2e/uptime/journeys/locations/index.ts | 0 .../uptime/journeys/locations/locations.ts | 0 .../uptime/journeys/monitor_details/index.ts | 0 .../monitor_details/monitor_alerts.journey.ts | 0 .../monitor_details.journey.ts | 0 .../monitor_details/ping_redirects.journey.ts | 0 .../uptime/journeys/step_duration.journey.ts | 0 .../e2e/uptime/journeys/uptime.journey.ts | 0 .../uptime/page_objects/monitor_details.tsx | 0 .../e2e/uptime/page_objects/settings.tsx | 0 .../uptime/e2e/uptime/synthetics_run.ts | 0 .../plugins}/uptime/jest.config.js | 8 +- .../plugins}/uptime/kibana.jsonc | 0 .../plugins}/uptime/public/index.ts | 0 .../plugins}/uptime/public/kibana_services.ts | 0 .../public/legacy_uptime/app/render_app.tsx | 0 .../public/legacy_uptime/app/uptime_app.tsx | 0 .../app/uptime_overview_fetcher.ts | 0 .../app/uptime_page_template.tsx | 0 .../legacy_uptime/app/use_no_data_config.ts | 0 .../__snapshots__/cert_monitors.test.tsx.snap | 0 .../__snapshots__/cert_search.test.tsx.snap | 0 .../__snapshots__/cert_status.test.tsx.snap | 0 .../certificates/cert_monitors.test.tsx | 0 .../components/certificates/cert_monitors.tsx | 0 .../certificates/cert_refresh_btn.tsx | 0 .../certificates/cert_search.test.tsx | 0 .../components/certificates/cert_search.tsx | 0 .../certificates/cert_status.test.tsx | 0 .../components/certificates/cert_status.tsx | 0 .../certificates/certificate_title.tsx | 0 .../certificates/certificates_list.test.tsx | 0 .../certificates/certificates_list.tsx | 0 .../certificates/fingerprint_col.test.tsx | 0 .../certificates/fingerprint_col.tsx | 0 .../components/certificates/index.ts | 0 .../components/certificates/translations.ts | 0 .../certificates/use_cert_search.ts | 0 .../__snapshots__/location_link.test.tsx.snap | 0 .../monitor_page_link.test.tsx.snap | 0 .../__snapshots__/monitor_tags.test.tsx.snap | 0 .../alerts/uptime_edit_alert_flyout.tsx | 0 .../chart_empty_state.test.tsx.snap | 0 .../__snapshots__/chart_wrapper.test.tsx.snap | 0 .../__snapshots__/donut_chart.test.tsx.snap | 0 .../donut_chart_legend_row.test.tsx.snap | 0 .../monitor_bar_series.test.tsx.snap | 0 .../common/charts/annotation_tooltip.tsx | 0 .../common/charts/chart_empty_state.test.tsx | 0 .../common/charts/chart_empty_state.tsx | 0 .../common/charts/chart_wrapper.test.tsx | 0 .../charts/chart_wrapper/chart_wrapper.tsx | 0 .../common/charts/chart_wrapper/index.ts | 0 .../common/charts/donut_chart.test.tsx | 0 .../components/common/charts/donut_chart.tsx | 0 .../common/charts/donut_chart_legend.test.tsx | 0 .../common/charts/donut_chart_legend.tsx | 0 .../charts/donut_chart_legend_row.test.tsx | 0 .../common/charts/donut_chart_legend_row.tsx | 0 .../common/charts/duration_chart.tsx | 0 .../common/charts/duration_charts.test.tsx | 0 .../common/charts/duration_line_bar_list.tsx | 0 .../charts/duration_line_series_list.tsx | 0 .../common/charts/get_tick_format.test.ts | 0 .../common/charts/get_tick_format.ts | 0 .../components/common/charts/index.ts | 0 .../common/charts/monitor_bar_series.test.tsx | 0 .../common/charts/monitor_bar_series.tsx | 0 .../common/charts/ping_histogram.test.tsx | 0 .../common/charts/ping_histogram.tsx | 0 .../components/common/charts/utils.test.ts | 0 .../components/common/charts/utils.ts | 0 .../components/common/header/action_menu.tsx | 0 .../header/action_menu_content.test.tsx | 0 .../common/header/action_menu_content.tsx | 0 .../common/header/inspector_header_link.tsx | 0 .../common/header/manage_monitors_btn.tsx | 0 .../components/common/higher_order/index.ts | 0 .../higher_order/responsive_wrapper.test.tsx | 0 .../higher_order/responsive_wrapper.tsx | 0 .../components/common/location_link.test.tsx | 0 .../components/common/location_link.tsx | 0 .../common/monitor_page_link.test.tsx | 0 .../components/common/monitor_page_link.tsx | 0 .../components/common/monitor_tags.test.tsx | 0 .../components/common/monitor_tags.tsx | 0 .../common/react_router_helpers/index.ts | 0 .../react_router_helpers/link_events.test.ts | 0 .../react_router_helpers/link_events.ts | 0 .../link_for_eui.test.tsx | 0 .../react_router_helpers/link_for_eui.tsx | 0 .../components/common/step_detail_link.tsx | 0 .../common/uptime_date_picker.test.tsx | 0 .../components/common/uptime_date_picker.tsx | 0 .../fleet_package/deprecate_notice_modal.tsx | 0 .../components/fleet_package/index.tsx | 0 ...azy_synthetics_custom_assets_extension.tsx | 0 ...azy_synthetics_policy_create_extension.tsx | 0 .../lazy_synthetics_policy_edit_extension.tsx | 0 .../synthetics_custom_assets_extension.tsx | 0 ...ics_edit_policy_extension_wrapper.test.tsx | 0 .../synthetics_policy_create_extension.tsx | 0 ...hetics_policy_create_extension_wrapper.tsx | 0 ...nthetics_policy_edit_extension_wrapper.tsx | 0 .../fleet_package/use_edit_monitor_locator.ts | 0 .../monitor_charts.test.tsx.snap | 0 .../legacy_uptime/components/monitor/index.ts | 0 .../confirm_delete.test.tsx.snap | 0 .../ml_integerations.test.tsx.snap | 0 .../monitor/ml/confirm_alert_delete.tsx | 0 .../monitor/ml/confirm_delete.test.tsx | 0 .../components/monitor/ml/confirm_delete.tsx | 0 .../components/monitor/ml/index.ts | 0 .../monitor/ml/license_info.test.tsx | 0 .../components/monitor/ml/license_info.tsx | 0 .../components/monitor/ml/manage_ml_job.tsx | 0 .../components/monitor/ml/ml_flyout.test.tsx | 0 .../components/monitor/ml/ml_flyout.tsx | 0 .../monitor/ml/ml_flyout_container.tsx | 0 .../components/monitor/ml/ml_integeration.tsx | 0 .../monitor/ml/ml_integerations.test.tsx | 0 .../monitor/ml/ml_job_link.test.tsx | 0 .../components/monitor/ml/ml_job_link.tsx | 0 .../monitor/ml/ml_manage_job.test.tsx | 0 .../components/monitor/ml/translations.tsx | 0 .../monitor/ml/use_anomaly_alert.ts | 0 .../monitor/monitor_charts.test.tsx | 0 .../components/monitor/monitor_charts.tsx | 0 .../monitor/monitor_duration/index.ts | 0 .../monitor_duration/monitor_duration.tsx | 0 .../monitor_duration_container.tsx | 0 .../components/monitor/monitor_title.test.tsx | 0 .../components/monitor/monitor_title.tsx | 0 .../monitor/ping_histogram/index.ts | 0 .../ping_histogram_container.tsx | 0 .../__snapshots__/expanded_row.test.tsx.snap | 0 .../__snapshots__/ping_headers.test.tsx.snap | 0 .../ping_list/columns/expand_row.test.tsx | 0 .../monitor/ping_list/columns/expand_row.tsx | 0 .../monitor/ping_list/columns/failed_step.tsx | 0 .../monitor/ping_list/columns/ping_error.tsx | 0 .../monitor/ping_list/columns/ping_status.tsx | 0 .../ping_list/columns/ping_timestamp/index.ts | 0 .../no_image_available.test.tsx | 0 .../ping_timestamp/no_image_available.tsx | 0 .../ping_timestamp/no_image_display.test.tsx | 0 .../ping_timestamp/no_image_display.tsx | 0 .../ping_timestamp/ping_timestamp.test.tsx | 0 .../columns/ping_timestamp/ping_timestamp.tsx | 0 .../step_image_caption.test.tsx | 0 .../ping_timestamp/step_image_caption.tsx | 0 .../step_image_popover.test.tsx | 0 .../ping_timestamp/step_image_popover.tsx | 0 .../columns/ping_timestamp/translations.ts | 0 .../ping_timestamp/use_in_progress_image.ts | 1 - .../ping_list/columns/response_code.tsx | 0 .../monitor/ping_list/doc_link_body.test.tsx | 0 .../monitor/ping_list/doc_link_body.tsx | 0 .../monitor/ping_list/expanded_row.test.tsx | 0 .../monitor/ping_list/expanded_row.tsx | 0 .../components/monitor/ping_list/headers.tsx | 0 .../components/monitor/ping_list/index.tsx | 0 .../monitor/ping_list/location_name.tsx | 0 .../monitor/ping_list/ping_headers.test.tsx | 0 .../monitor/ping_list/ping_list.test.tsx | 0 .../monitor/ping_list/ping_list.tsx | 0 .../monitor/ping_list/ping_list_header.tsx | 0 .../monitor/ping_list/ping_list_table.tsx | 0 .../monitor/ping_list/ping_redirects.tsx | 0 .../monitor/ping_list/response_code.test.tsx | 0 .../monitor/ping_list/translations.ts | 0 .../components/monitor/ping_list/use_pings.ts | 0 .../monitor_status.bar.test.tsx.snap | 0 .../ssl_certificate.test.tsx.snap | 0 .../status_by_location.test.tsx.snap | 0 .../__snapshots__/tag_label.test.tsx.snap | 0 .../availability_reporting.test.tsx | 0 .../availability_reporting.tsx | 0 .../availability_reporting/index.ts | 0 .../location_status_tags.test.tsx | 0 .../location_status_tags.tsx | 0 .../availability_reporting/tag_label.test.tsx | 0 .../availability_reporting/tag_label.tsx | 0 .../monitor/status_details/index.ts | 0 .../location_availability.test.tsx | 0 .../location_availability.tsx | 0 .../monitor_status.bar.test.tsx | 0 .../status_details/ssl_certificate.test.tsx | 0 .../status_details/status_bar/index.ts | 0 .../status_bar/monitor_redirects.tsx | 0 .../status_bar/ssl_certificate.tsx | 0 .../status_bar/status_bar.test.ts | 0 .../status_details/status_bar/status_bar.tsx | 0 .../status_bar/status_by_location.tsx | 0 .../status_bar/use_status_bar.ts | 0 .../status_by_location.test.tsx | 0 .../monitor/status_details/status_details.tsx | 0 .../status_details_container.tsx | 0 .../monitor/status_details/translations.ts | 0 .../step_detail/step_detail_container.tsx | 0 .../synthetics/step_detail/step_page_nav.tsx | 0 .../step_detail/step_page_title.tsx | 0 .../step_detail/use_monitor_breadcrumb.tsx | 0 .../use_monitor_breadcrumbs.test.tsx | 0 .../use_step_waterfall_metrics.test.tsx | 0 .../step_detail/use_step_waterfall_metrics.ts | 0 .../waterfall/data_formatting.test.ts | 0 .../step_detail/waterfall/data_formatting.ts | 0 .../synthetics/step_detail/waterfall/types.ts | 0 .../waterfall_chart_container.test.tsx | 0 .../waterfall/waterfall_chart_container.tsx | 0 .../waterfall_chart_wrapper.test.tsx | 0 .../waterfall/waterfall_chart_wrapper.tsx | 0 .../waterfall/waterfall_filter.test.tsx | 0 .../waterfall/waterfall_filter.tsx | 0 .../waterfall/waterfall_flyout.test.tsx | 0 .../waterfall/waterfall_flyout.tsx | 0 .../waterfall/waterfall_sidebar_item.test.tsx | 0 .../waterfall/waterfall_sidebar_item.tsx | 0 .../monitor/synthetics/translations.ts | 0 .../monitor/synthetics/waterfall/README.md | 0 .../waterfall/components/constants.ts | 0 .../waterfall/components/legend.tsx | 0 .../components/middle_truncated_text.test.tsx | 0 .../components/middle_truncated_text.tsx | 0 .../network_requests_total.test.tsx | 0 .../components/network_requests_total.tsx | 0 .../waterfall/components/sidebar.tsx | 0 .../synthetics/waterfall/components/styles.ts | 0 .../waterfall/components/translations.ts | 0 .../components/use_bar_charts.test.tsx | 0 .../waterfall/components/use_bar_charts.ts | 0 .../waterfall/components/use_flyout.test.tsx | 0 .../waterfall/components/use_flyout.ts | 0 .../waterfall/components/waterfall.test.tsx | 0 .../components/waterfall_bar_chart.tsx | 0 .../waterfall/components/waterfall_chart.tsx | 0 .../components/waterfall_chart_fixed_axis.tsx | 0 .../components/waterfall_flyout_table.tsx | 0 .../components/waterfall_marker_icon.test.tsx | 0 .../components/waterfall_marker_icon.tsx | 0 .../waterfall_marker_test_helper.tsx | 0 .../waterfall_marker_trend.test.tsx | 0 .../components/waterfall_marker_trend.tsx | 0 .../components/waterfall_markers.tsx | 0 .../waterfall_tooltip_content.test.tsx | 0 .../components/waterfall_tooltip_content.tsx | 0 .../waterfall/context/waterfall_chart.tsx | 0 .../monitor/synthetics/waterfall/index.tsx | 0 .../monitor/synthetics/waterfall/types.ts | 0 .../snapshot_heading.test.tsx.snap | 0 .../alerts/alert_expression_popover.tsx | 0 .../alerts/alert_field_number.test.tsx | 0 .../overview/alerts/alert_field_number.tsx | 0 .../alerts/alert_query_bar/query_bar.tsx | 0 .../components/overview/alerts/alert_tls.tsx | 0 .../alert_monitor_status.tsx | 0 .../alerts/alerts_containers/alert_tls.tsx | 0 .../alerts/alerts_containers/index.ts | 0 .../toggle_alert_flyout_button.tsx | 0 .../uptime_alerts_flyout_wrapper.tsx | 0 .../alerts/alerts_containers/use_snap_shot.ts | 2 +- .../alerts/anomaly_alert/anomaly_alert.tsx | 0 .../alerts/anomaly_alert/select_severity.tsx | 0 .../alerts/anomaly_alert/translations.ts | 0 .../components/overview/alerts/index.ts | 0 .../down_number_select.test.tsx.snap | 0 .../time_expression_select.test.tsx.snap | 0 .../availability_expression_select.tsx | 0 .../down_number_select.test.tsx | 0 .../down_number_select.tsx | 0 .../filters_expression_select.test.tsx | 0 .../filters_expression_select.tsx | 0 .../alerts/monitor_expressions/index.ts | 0 .../status_expression_select.tsx | 0 .../time_expression_select.test.tsx | 0 .../time_expression_select.tsx | 0 .../time_unit_selectable.tsx | 0 .../monitor_expressions/translations.ts | 0 .../add_filter_btn.test.tsx | 0 .../monitor_status_alert/add_filter_btn.tsx | 0 .../alert_monitor_status.test.tsx | 0 .../alert_monitor_status.tsx | 0 .../old_alert_call_out.tsx | 0 .../old_alert_callout.test.tsx | 0 .../toggle_alert_flyout_button.test.tsx | 0 .../alerts/toggle_alert_flyout_button.tsx | 0 .../overview/alerts/translations.ts | 0 .../alerts/uptime_alerts_flyout_wrapper.tsx | 0 .../empty_state/empty_state_error.tsx | 0 .../empty_state/empty_state_loading.tsx | 0 .../overview/empty_state/use_has_data.tsx | 0 .../filter_group/filter_group.test.tsx | 0 .../overview/filter_group/filter_group.tsx | 0 .../filter_group/selected_filters.tsx | 0 .../overview/filter_group/translations.tsx | 0 .../components/overview/index.ts | 0 .../integration_deprecation/index.tsx | 1 - .../integration_deprecation.test.tsx | 0 .../integration_deprecation_callout.tsx | 0 .../filter_status_button.test.tsx.snap | 0 .../__snapshots__/status_filter.test.tsx.snap | 0 .../columns/cert_status_column.tsx | 0 .../columns/define_connectors.test.tsx | 0 .../columns/define_connectors.tsx | 0 .../columns/enable_alert.test.tsx | 0 .../monitor_list/columns/enable_alert.tsx | 0 .../monitor_list/columns/monitor_name_col.tsx | 0 .../columns/monitor_status_column.test.tsx | 0 .../columns/monitor_status_column.tsx | 0 .../columns/status_badge.test.tsx | 0 .../monitor_list/columns/status_badge.tsx | 0 .../monitor_list/columns/translations.ts | 0 .../filter_status_button.test.tsx | 0 .../monitor_list/filter_status_button.tsx | 0 .../components/overview/monitor_list/index.ts | 0 .../monitor_list/monitor_list.test.tsx | 0 .../overview/monitor_list/monitor_list.tsx | 0 .../monitor_list/monitor_list_container.tsx | 0 .../integration_group.test.tsx.snap | 0 .../integration_link.test.tsx.snap | 0 .../monitor_list_drawer.test.tsx.snap | 0 .../most_recent_error.test.tsx.snap | 0 .../actions_popover/actions_popover.tsx | 0 .../actions_popover_container.tsx | 0 .../actions_popover/integration_group.tsx | 0 .../actions_popover/integration_link.tsx | 0 .../monitor_list_drawer/data.json | 0 .../monitor_list_drawer/enabled_alerts.tsx | 0 .../monitor_list/monitor_list_drawer/index.ts | 0 .../integration_group.test.tsx | 0 .../integration_link.test.tsx | 0 .../list_drawer_container.tsx | 0 .../monitor_list_drawer.test.tsx | 0 .../monitor_list_drawer.tsx | 0 .../monitor_status_list.test.tsx | 0 .../monitor_status_list.tsx | 0 .../monitor_status_row.test.tsx | 0 .../monitor_status_row.tsx | 0 .../monitor_list_drawer/monitor_url.tsx | 0 .../most_recent_error.test.tsx | 0 .../monitor_list_drawer/most_recent_error.tsx | 0 .../monitor_list_drawer/most_recent_run.tsx | 0 .../monitor_list/monitor_list_header.tsx | 0 .../monitor_list_page_size_select.test.tsx | 0 .../monitor_list_page_size_select.tsx | 0 .../monitor_list/no_items_meesage.test.tsx | 0 .../monitor_list/no_items_message.tsx | 0 .../monitor_list/overview_page_link.tsx | 0 .../monitor_list/parse_timestamp.test.ts | 0 .../overview/monitor_list/parse_timestamp.ts | 0 .../monitor_list/status_filter.test.tsx | 0 .../overview/monitor_list/status_filter.tsx | 0 .../overview/monitor_list/translations.ts | 0 .../monitor_list/troubleshoot_popover.tsx | 0 .../components/overview/monitor_list/types.ts | 0 .../monitor_list/use_monitor_histogram.ts | 0 .../overview/query_bar/query_bar.tsx | 0 .../overview/query_bar/translations.ts | 0 .../overview/query_bar/use_query_bar.test.tsx | 0 .../overview/query_bar/use_query_bar.ts | 0 .../__snapshots__/snapshot.test.tsx.snap | 0 .../components/overview/snapshot/index.ts | 0 .../overview/snapshot/snapshot.test.tsx | 0 .../components/overview/snapshot/snapshot.tsx | 0 .../overview/snapshot/snapshot_heading.tsx | 0 .../overview/snapshot/use_snap_shot.ts | 2 +- .../overview/snapshot_heading.test.tsx | 0 .../components/overview/status_panel.tsx | 0 .../certificate_form.test.tsx.snap | 0 .../__snapshots__/indices_form.test.tsx.snap | 0 .../settings/add_connector_flyout.tsx | 0 .../settings/alert_defaults_form.tsx | 0 .../settings/certificate_form.test.tsx | 0 .../components/settings/certificate_form.tsx | 0 .../components/settings/default_email.tsx | 0 .../components/settings/indices_form.test.tsx | 0 .../components/settings/indices_form.tsx | 0 .../components/settings/settings_actions.tsx | 0 .../settings/settings_bottom_bar.tsx | 0 .../components/settings/translations.ts | 0 .../settings/use_settings_errors.ts | 0 .../synthetics/check_steps/stderr_logs.tsx | 1 - .../synthetics/check_steps/step_duration.tsx | 0 .../step_expanded_row/screenshot_link.tsx | 0 .../step_expanded_row/step_screenshots.tsx | 1 - .../check_steps/step_field_trend.test.tsx | 0 .../check_steps/step_field_trend.tsx | 0 .../synthetics/check_steps/step_image.tsx | 0 .../check_steps/steps_list.test.tsx | 0 .../synthetics/check_steps/steps_list.tsx | 0 .../synthetics/check_steps/use_check_steps.ts | 0 .../check_steps/use_expanded_row.test.tsx | 0 .../check_steps/use_expanded_row.tsx | 0 .../check_steps/use_std_error_logs.ts | 0 .../synthetics/code_block_accordion.tsx | 0 .../synthetics/console_event.test.tsx | 0 .../components/synthetics/console_event.tsx | 0 .../console_output_event_list.test.tsx | 0 .../synthetics/console_output_event_list.tsx | 0 .../synthetics/empty_journey.test.tsx | 0 .../components/synthetics/empty_journey.tsx | 0 .../synthetics/executed_step.test.tsx | 0 .../components/synthetics/executed_step.tsx | 0 .../synthetics/status_badge.test.tsx | 0 .../components/synthetics/status_badge.tsx | 0 .../step_screenshot_display.test.tsx | 0 .../synthetics/step_screenshot_display.tsx | 1 - .../components/synthetics/translations.ts | 0 .../public/legacy_uptime/contexts/index.ts | 0 .../contexts/uptime_data_view_context.tsx | 1 - .../contexts/uptime_refresh_context.tsx | 0 .../contexts/uptime_settings_context.tsx | 0 .../uptime_startup_plugins_context.tsx | 0 .../contexts/uptime_theme_context.tsx | 0 .../use_url_params.test.tsx.snap | 0 .../public/legacy_uptime/hooks/index.ts | 0 .../hooks/use_base_chart_theme.ts | 0 .../hooks/use_breadcrumbs.test.tsx | 0 .../legacy_uptime/hooks/use_breadcrumbs.ts | 0 .../legacy_uptime/hooks/use_cert_status.ts | 0 .../hooks/use_composite_image.test.tsx | 0 .../hooks/use_composite_image.ts | 0 .../hooks/use_filter_update.test.ts | 0 .../legacy_uptime/hooks/use_filter_update.ts | 0 .../legacy_uptime/hooks/use_init_app.ts | 0 .../hooks/use_mapping_check.test.ts | 0 .../legacy_uptime/hooks/use_mapping_check.ts | 0 .../public/legacy_uptime/hooks/use_monitor.ts | 0 .../hooks/use_overview_filter_check.test.tsx | 0 .../hooks/use_overview_filter_check.ts | 0 .../legacy_uptime/hooks/use_search_text.ts | 0 .../hooks/use_selected_filters.test.tsx | 0 .../hooks/use_selected_filters.ts | 0 .../hooks/use_update_kuery_string.ts | 0 .../hooks/use_url_params.test.tsx | 0 .../legacy_uptime/hooks/use_url_params.ts | 0 .../__mocks__/legacy_screenshot_ref.mock.ts | 0 .../legacy_use_composite_image.mock.ts | 0 .../lib/__mocks__/uptime_plugin_start_mock.ts | 0 .../lib/__mocks__/uptime_store.mock.ts | 0 .../lib/__mocks__/ut_router_history.mock.ts | 0 .../framework/capabilities_adapter.ts | 0 .../lib/alert_types/alert_messages.tsx | 0 .../legacy_uptime/lib/alert_types/common.ts | 0 .../lib/alert_types/duration_anomaly.tsx | 0 .../legacy_uptime/lib/alert_types/index.ts | 0 .../lazy_wrapper/duration_anomaly.tsx | 0 .../lazy_wrapper/monitor_status.tsx | 0 .../alert_types/lazy_wrapper/tls_alert.tsx | 0 .../lazy_wrapper/validate_monitor_status.ts | 0 .../lazy_wrapper/validate_tls_alert.ts | 0 .../lib/alert_types/monitor_status.test.ts | 0 .../lib/alert_types/monitor_status.tsx | 0 .../legacy_uptime/lib/alert_types/tls.tsx | 0 .../lib/alert_types/tls_legacy.tsx | 0 .../public/legacy_uptime/lib/formatting.ts | 0 .../lib/helper/charts/get_chart_date_label.ts | 0 .../helper/charts/get_label_format.test.ts | 0 .../lib/helper/charts/get_label_format.ts | 0 .../legacy_uptime/lib/helper/charts/index.ts | 0 .../charts/is_within_current_date.test.ts | 0 .../helper/charts/is_within_current_date.ts | 0 .../helper/compose_screenshot_images.test.ts | 0 .../lib/helper/compose_screenshot_images.ts | 0 .../lib/helper/convert_measurements.test.ts | 0 .../lib/helper/convert_measurements.ts | 0 .../lib/helper/enzyme_helpers.tsx | 0 .../lib/helper/helper_with_redux.tsx | 0 .../public/legacy_uptime/lib/helper/index.ts | 0 .../add_base_path.ts | 0 .../observability_integration/build_href.ts | 0 .../get_apm_href.test.ts | 0 .../observability_integration/get_apm_href.ts | 0 .../get_infra_href.test.ts | 0 .../get_infra_href.ts | 0 .../get_logging_href.test.ts | 0 .../get_logging_href.ts | 0 .../helper/observability_integration/index.ts | 0 .../lib/helper/parse_search.test.ts | 0 .../legacy_uptime/lib/helper/parse_search.ts | 0 .../legacy_uptime/lib/helper/rtl_helpers.tsx | 0 .../lib/helper/series_has_down_values.test.ts | 0 .../lib/helper/series_has_down_values.ts | 0 .../legacy_uptime/lib/helper/test_helpers.ts | 0 .../get_supported_url_params.test.ts.snap | 0 .../get_supported_url_params.test.ts | 0 .../url_params/get_supported_url_params.ts | 0 .../lib/helper/url_params/index.ts | 0 .../url_params/parse_absolute_date.test.ts | 0 .../helper/url_params/parse_absolute_date.ts | 0 .../helper/url_params/stringify_url_params.ts | 0 .../uptime/public/legacy_uptime/lib/index.ts | 0 .../uptime/public/legacy_uptime/lib/lib.ts | 0 .../legacy_uptime/pages/certificates.test.tsx | 0 .../legacy_uptime/pages/certificates.tsx | 0 .../public/legacy_uptime/pages/index.ts | 0 .../legacy_uptime/pages/mapping_error.tsx | 0 .../legacy_uptime/pages/monitor.test.tsx | 0 .../public/legacy_uptime/pages/monitor.tsx | 0 .../legacy_uptime/pages/not_found.test.tsx | 0 .../public/legacy_uptime/pages/not_found.tsx | 0 .../legacy_uptime/pages/overview.test.tsx | 0 .../public/legacy_uptime/pages/overview.tsx | 0 .../legacy_uptime/pages/settings.test.tsx | 0 .../public/legacy_uptime/pages/settings.tsx | 0 .../pages/synthetics/checks_navigation.tsx | 0 .../pages/synthetics/step_detail_page.tsx | 0 .../synthetics/synthetics_checks.test.tsx | 0 .../pages/synthetics/synthetics_checks.tsx | 0 .../legacy_uptime/pages/translations.ts | 0 .../uptime/public/legacy_uptime/routes.tsx | 0 .../state/actions/dynamic_settings.ts | 0 .../legacy_uptime/state/actions/index.ts | 0 .../state/actions/index_status.ts | 0 .../legacy_uptime/state/actions/journey.ts | 0 .../legacy_uptime/state/actions/ml_anomaly.ts | 0 .../legacy_uptime/state/actions/monitor.ts | 0 .../state/actions/monitor_duration.ts | 0 .../state/actions/monitor_list.ts | 0 .../state/actions/monitor_status.ts | 0 .../state/actions/network_events.ts | 0 .../legacy_uptime/state/actions/ping.ts | 0 .../state/actions/selected_filters.ts | 0 .../legacy_uptime/state/actions/snapshot.ts | 0 .../legacy_uptime/state/actions/types.ts | 0 .../public/legacy_uptime/state/actions/ui.ts | 0 .../legacy_uptime/state/actions/utils.ts | 0 .../legacy_uptime/state/alerts/alerts.ts | 0 .../api/__snapshots__/snapshot.test.ts.snap | 0 .../public/legacy_uptime/state/api/alerts.ts | 0 .../state/api/dynamic_settings.ts | 0 .../state/api/has_integration_monitors.ts | 0 .../public/legacy_uptime/state/api/index.ts | 0 .../legacy_uptime/state/api/index_status.ts | 0 .../public/legacy_uptime/state/api/journey.ts | 0 .../legacy_uptime/state/api/ml_anomaly.ts | 0 .../public/legacy_uptime/state/api/monitor.ts | 0 .../state/api/monitor_duration.ts | 0 .../legacy_uptime/state/api/monitor_list.ts | 0 .../legacy_uptime/state/api/monitor_status.ts | 0 .../legacy_uptime/state/api/network_events.ts | 0 .../public/legacy_uptime/state/api/ping.ts | 0 .../legacy_uptime/state/api/snapshot.test.ts | 0 .../legacy_uptime/state/api/snapshot.ts | 0 .../public/legacy_uptime/state/api/types.ts | 0 .../public/legacy_uptime/state/api/utils.ts | 0 .../state/certificates/certificates.ts | 0 .../state/effects/dynamic_settings.ts | 0 .../state/effects/fetch_effect.test.ts | 0 .../state/effects/fetch_effect.ts | 0 .../legacy_uptime/state/effects/index.ts | 0 .../state/effects/index_status.ts | 0 .../state/effects/journey.test.ts | 0 .../legacy_uptime/state/effects/journey.ts | 0 .../legacy_uptime/state/effects/ml_anomaly.ts | 0 .../legacy_uptime/state/effects/monitor.ts | 0 .../state/effects/monitor_duration.ts | 0 .../state/effects/monitor_list.ts | 0 .../state/effects/monitor_status.ts | 0 .../state/effects/network_events.ts | 0 .../legacy_uptime/state/effects/ping.ts | 0 .../state/effects/synthetic_journey_blocks.ts | 0 .../public/legacy_uptime/state/index.ts | 0 .../legacy_uptime/state/kibana_service.ts | 0 .../state/reducers/dynamic_settings.ts | 0 .../legacy_uptime/state/reducers/index.ts | 0 .../state/reducers/index_status.ts | 0 .../legacy_uptime/state/reducers/journey.ts | 0 .../state/reducers/ml_anomaly.ts | 0 .../legacy_uptime/state/reducers/monitor.ts | 0 .../state/reducers/monitor_duration.ts | 0 .../state/reducers/monitor_list.ts | 0 .../state/reducers/monitor_status.test.ts | 0 .../state/reducers/monitor_status.ts | 0 .../state/reducers/network_events.ts | 0 .../legacy_uptime/state/reducers/ping.ts | 0 .../legacy_uptime/state/reducers/ping_list.ts | 0 .../state/reducers/selected_filters.test.ts | 0 .../state/reducers/selected_filters.ts | 0 .../state/reducers/synthetics.test.ts | 0 .../state/reducers/synthetics.ts | 0 .../legacy_uptime/state/reducers/types.ts | 0 .../legacy_uptime/state/reducers/ui.test.ts | 0 .../public/legacy_uptime/state/reducers/ui.ts | 0 .../legacy_uptime/state/reducers/utils.ts | 0 .../state/selectors/index.test.ts | 0 .../legacy_uptime/state/selectors/index.ts | 0 .../uptime/public/locators/overview.test.ts | 0 .../uptime/public/locators/overview.ts | 0 .../plugins}/uptime/public/plugin.ts | 0 .../public/utils/api_service/api_service.ts | 0 .../uptime/public/utils/api_service/index.ts | 0 .../public/utils/kibana_service/index.ts | 0 .../utils/kibana_service/kibana_service.ts | 0 .../plugins}/uptime/scripts/base_e2e.js | 0 .../plugins}/uptime/scripts/uptime_e2e.js | 0 .../uptime/server/constants/settings.ts | 0 .../plugins}/uptime/server/index.ts | 0 .../lib/adapters/framework/adapter_types.ts | 0 .../lib/adapters/framework/index.ts | 0 .../legacy_uptime/lib/adapters/index.ts | 0 .../lib/alerts/action_variables.ts | 0 .../legacy_uptime/lib/alerts/common.test.ts | 0 .../server/legacy_uptime/lib/alerts/common.ts | 0 ...ms_property_synthetics_monitor_status.yaml | 0 ...params_property_synthetics_uptime_tls.yaml | 0 .../lib/alerts/duration_anomaly.test.ts | 0 .../lib/alerts/duration_anomaly.ts | 0 .../lib/alerts/status_check.test.ts | 0 .../legacy_uptime/lib/alerts/status_check.ts | 0 .../lib/alerts/test_utils/index.ts | 0 .../legacy_uptime/lib/alerts/tls.test.ts | 0 .../server/legacy_uptime/lib/alerts/tls.ts | 0 .../lib/alerts/tls_legacy.test.ts | 0 .../legacy_uptime/lib/alerts/tls_legacy.ts | 0 .../legacy_uptime/lib/alerts/translations.ts | 0 .../server/legacy_uptime/lib/alerts/types.ts | 0 .../__snapshots__/license.test.ts.snap | 0 .../server/legacy_uptime/lib/domains/index.ts | 0 .../legacy_uptime/lib/domains/license.test.ts | 0 .../legacy_uptime/lib/domains/license.ts | 0 .../get_filter_clause.test.ts.snap | 0 .../lib/helper/get_filter_clause.test.ts | 0 .../lib/helper/get_filter_clause.ts | 0 .../server/legacy_uptime/lib/helper/index.ts | 0 .../lib/helper/make_date_rate_filter.ts | 0 .../lib/helper/object_to_array.ts | 0 .../lib/helper/parse_relative_date.test.ts | 0 .../server/legacy_uptime/lib/lib.test.ts | 0 .../uptime/server/legacy_uptime/lib/lib.ts | 0 .../__fixtures__/monitor_charts_mock.json | 0 .../generate_filter_aggs.test.ts.snap | 0 .../get_monitor_details.test.ts.snap | 0 .../get_monitor_duration.test.ts.snap | 0 .../get_ping_histogram.test.ts.snap | 0 .../lib/requests/generate_filter_aggs.test.ts | 0 .../lib/requests/generate_filter_aggs.ts | 0 .../lib/requests/get_certs.test.ts | 0 .../legacy_uptime/lib/requests/get_certs.ts | 0 .../lib/requests/get_index_pattern.ts | 0 .../lib/requests/get_index_status.ts | 0 .../lib/requests/get_journey_details.test.ts | 0 .../lib/requests/get_journey_details.ts | 0 .../requests/get_journey_failed_steps.test.ts | 0 .../lib/requests/get_journey_failed_steps.ts | 0 .../requests/get_journey_screenshot.test.ts | 0 .../lib/requests/get_journey_screenshot.ts | 0 .../get_journey_screenshot_blocks.test.ts | 0 .../requests/get_journey_screenshot_blocks.ts | 0 .../lib/requests/get_journey_steps.test.ts | 0 .../lib/requests/get_journey_steps.ts | 0 .../get_last_successful_check.test.ts | 0 .../lib/requests/get_last_successful_check.ts | 0 .../lib/requests/get_latest_monitor.test.ts | 0 .../lib/requests/get_latest_monitor.ts | 0 .../requests/get_monitor_availability.test.ts | 0 .../lib/requests/get_monitor_availability.ts | 0 .../lib/requests/get_monitor_details.test.ts | 0 .../lib/requests/get_monitor_details.ts | 0 .../lib/requests/get_monitor_duration.test.ts | 0 .../lib/requests/get_monitor_duration.ts | 0 .../lib/requests/get_monitor_locations.ts | 0 .../lib/requests/get_monitor_states.ts | 0 .../lib/requests/get_monitor_status.test.ts | 0 .../lib/requests/get_monitor_status.ts | 0 .../lib/requests/get_network_events.test.ts | 0 .../lib/requests/get_network_events.ts | 0 .../lib/requests/get_ping_histogram.test.ts | 0 .../lib/requests/get_ping_histogram.ts | 0 .../lib/requests/get_pings.test.ts | 0 .../legacy_uptime/lib/requests/get_pings.ts | 0 .../lib/requests/get_snapshot_counts.ts | 0 .../legacy_uptime/lib/requests/index.ts | 0 .../lib/requests/search/fetch_chunk.ts | 0 .../requests/search/find_potential_matches.ts | 0 .../search/get_query_string_filter.test.ts | 0 .../search/get_query_string_filter.ts | 0 .../lib/requests/search/index.ts | 0 .../search/monitor_summary_iterator.test.ts | 0 .../search/monitor_summary_iterator.ts | 0 .../lib/requests/search/query_context.ts | 0 .../search/refine_potential_matches.ts | 0 .../lib/requests/search/test_helpers.ts | 0 .../lib/requests/search/types.ts | 0 .../lib/requests/test_helpers.ts | 0 .../legacy_uptime/lib/saved_objects/index.ts | 0 .../lib/saved_objects/migrations.test.ts | 0 .../lib/saved_objects/migrations.ts | 0 .../lib/saved_objects/saved_objects.ts | 0 .../lib/saved_objects/uptime_settings.ts | 0 .../routes/create_route_with_auth.ts | 0 .../legacy_uptime/routes/dynamic_settings.ts | 0 .../server/legacy_uptime/routes/index.ts | 0 .../routes/index_state/get_index_status.ts | 0 .../legacy_uptime/routes/index_state/index.ts | 0 .../legacy_uptime/routes/monitors/index.ts | 0 .../routes/monitors/monitor_list.ts | 0 .../routes/monitors/monitor_locations.ts | 0 .../routes/monitors/monitor_status.ts | 0 .../routes/monitors/monitors_details.ts | 0 .../routes/monitors/monitors_durations.ts | 0 .../network_events/get_network_events.ts | 0 .../routes/network_events/index.ts | 0 .../routes/pings/get_ping_histogram.ts | 0 .../legacy_uptime/routes/pings/get_pings.ts | 0 .../legacy_uptime/routes/pings/index.ts | 0 .../pings/journey_screenshot_blocks.test.ts | 0 .../routes/pings/journey_screenshot_blocks.ts | 0 .../routes/pings/journey_screenshots.test.ts | 0 .../routes/pings/journey_screenshots.ts | 0 .../legacy_uptime/routes/pings/journeys.ts | 0 .../routes/snapshot/get_snapshot_count.ts | 0 .../legacy_uptime/routes/snapshot/index.ts | 0 .../synthetics/last_successful_check.ts | 0 .../server/legacy_uptime/routes/types.ts | 0 .../routes/uptime_route_wrapper.ts | 0 .../server/legacy_uptime/uptime_server.ts | 0 .../plugins}/uptime/server/plugin.ts | 0 .../uptime/server/runtime_types/settings.ts | 0 .../plugins}/uptime/server/types.ts | 0 .../plugins}/uptime/tsconfig.json | 4 +- .../plugins}/ux/.buildkite/pipelines/flaky.js | 0 .../plugins/ux/.buildkite/pipelines/flaky.sh | 8 ++ .../plugins}/ux/.storybook/main.js | 0 .../observability/plugins}/ux/CONTRIBUTING.md | 0 .../plugins}/ux/common/agent_name.ts | 0 .../plugins}/ux/common/config.ts | 0 .../ux/common/elasticsearch_fieldnames.ts | 0 .../ux/common/environment_filter_values.ts | 0 .../plugins}/ux/common/environment_rt.ts | 0 .../plugins}/ux/common/fetch_options.ts | 0 .../plugins}/ux/common/transaction_types.ts | 0 .../ux/common/utils/merge_projection.ts | 0 .../plugins}/ux/common/utils/pick_keys.ts | 0 .../plugins}/ux/common/ux_ui_filter.ts | 0 .../observability/plugins}/ux/e2e/README.md | 4 +- .../ux/e2e/fixtures/rum_8.0.0/data.json.gz | Bin .../ux/e2e/fixtures/rum_8.0.0/mappings.json | 0 .../e2e/fixtures/rum_test_data/data.json.gz | Bin .../e2e/fixtures/rum_test_data/mappings.json | 0 .../ux/e2e/journeys/core_web_vitals.ts | 0 .../plugins}/ux/e2e/journeys/index.ts | 0 .../plugins}/ux/e2e/journeys/inp.journey.ts | 0 .../plugins}/ux/e2e/journeys/page_views.ts | 0 .../ux/e2e/journeys/url_ux_query.journey.ts | 0 .../plugins}/ux/e2e/journeys/utils.ts | 0 .../e2e/journeys/ux_client_metrics.journey.ts | 0 .../ux/e2e/journeys/ux_js_errors.journey.ts | 0 .../journeys/ux_long_task_metric_journey.ts | 0 .../journeys/ux_visitor_breakdown.journey.ts | 0 .../plugins}/ux/e2e/page_objects/dashboard.ts | 0 .../ux/e2e/page_objects/date_picker.ts | 0 .../plugins}/ux/e2e/page_objects/login.tsx | 0 .../plugins}/ux/e2e/page_objects/utils.tsx | 0 .../plugins}/ux/e2e/synthetics_run.ts | 0 .../plugins}/ux/e2e/tsconfig.json | 2 +- .../observability/plugins}/ux/jest.config.js | 4 +- .../observability/plugins}/ux/kibana.jsonc | 0 .../public/application/application.test.tsx | 0 .../plugins}/ux/public/application/ux_app.tsx | 0 .../app/rum_dashboard/action_menu/index.tsx | 0 .../action_menu/inpector_link.tsx | 0 .../breakdowns/breakdown_filter.tsx | 0 .../app/rum_dashboard/chart_wrapper/index.tsx | 0 .../visitor_breakdown_chart.test.tsx.snap | 0 .../charts/page_load_dist_chart.tsx | 0 .../rum_dashboard/charts/page_views_chart.tsx | 0 .../charts/use_exp_view_attrs.ts | 0 .../charts/visitor_breakdown_chart.test.tsx | 0 .../charts/visitor_breakdown_chart.tsx | 0 .../rum_dashboard/client_metrics/index.tsx | 0 .../rum_dashboard/client_metrics/metrics.tsx | 0 .../csm_shared_context/index.tsx | 0 .../app/rum_dashboard/empty_state_loading.tsx | 0 .../environment_filter/index.tsx | 0 .../rum_dashboard/hooks/use_has_rum_data.ts | 0 .../hooks/use_local_uifilters.ts | 0 .../app/rum_dashboard/hooks/use_ux_query.ts | 0 .../rum_dashboard/impactful_metrics/index.tsx | 0 .../impactful_metrics/js_errors.tsx | 0 .../components/app/rum_dashboard/index.tsx | 0 .../rum_dashboard/local_uifilters/index.tsx | 0 .../rum_dashboard/local_uifilters/queries.ts | 0 .../local_uifilters/selected_filters.tsx | 0 .../local_uifilters/selected_wildcards.tsx | 0 .../local_uifilters/use_data_view.ts | 0 .../page_load_distribution/index.tsx | 0 .../percentile_annotations.tsx | 0 .../reset_percentile_zoom.tsx | 0 .../page_load_distribution/types.ts | 0 .../rum_dashboard/page_views_trend/index.tsx | 0 .../panels/page_load_and_views.tsx | 0 .../panels/visitor_breakdowns.tsx | 0 .../panels/web_application_select.tsx | 0 .../app/rum_dashboard/rum_dashboard.tsx | 0 .../rum_dashboard/rum_datepicker/index.tsx | 0 .../components/app/rum_dashboard/rum_home.tsx | 0 .../app/rum_dashboard/translations.ts | 0 .../app/rum_dashboard/url_filter/index.tsx | 0 .../url_filter/service_name_filter/index.tsx | 0 .../url_filter/url_search/index.tsx | 0 .../url_filter/url_search/render_option.tsx | 0 .../url_filter/url_search/use_url_search.tsx | 0 .../rum_dashboard/user_percentile/index.tsx | 0 .../app/rum_dashboard/utils/test_helper.tsx | 0 .../ux_metrics/format_to_sec.test.ts | 0 .../app/rum_dashboard/ux_metrics/index.tsx | 0 .../ux_metrics/key_ux_metrics.test.tsx | 0 .../ux_metrics/key_ux_metrics.tsx | 0 .../rum_dashboard/ux_metrics/translations.ts | 0 .../app/rum_dashboard/ux_overview_fetchers.ts | 0 .../rum_dashboard/visitor_breakdown/index.tsx | 0 .../__mocks__/regions_layer.mock.ts | 0 .../__snapshots__/embedded_map.test.tsx.snap | 0 .../__snapshots__/map_tooltip.test.tsx.snap | 0 .../__stories__/map_tooltip.stories.tsx | 0 .../embedded_map.test.tsx | 0 .../visitor_breakdown_map/embedded_map.tsx | 0 .../visitor_breakdown_map/index.tsx | 0 .../map_tooltip.test.tsx | 0 .../visitor_breakdown_map/map_tooltip.tsx | 0 .../use_layer_list.test.ts | 0 .../visitor_breakdown_map/use_layer_list.ts | 0 .../visitor_breakdown_map/use_map_filters.ts | 0 .../ux/public/context/plugin_context.ts | 0 .../context/url_params_context/constants.ts | 0 .../url_params_context/helpers.test.ts | 0 .../context/url_params_context/helpers.ts | 0 .../mock_url_params_context_provider.tsx | 0 .../url_params_context/resolve_url_params.ts | 0 .../context/url_params_context/types.ts | 0 .../url_params_context.test.tsx | 0 .../url_params_context/url_params_context.tsx | 0 .../url_params_context/use_url_params.ts | 0 .../url_params_context/use_ux_url_params.ts | 0 .../public/context/use_ux_plugin_context.tsx | 0 .../ux/public/hooks/use_breakpoints.ts | 0 .../public/hooks/use_client_metrics_query.ts | 0 .../public/hooks/use_core_web_vitals_query.ts | 0 .../public/hooks/use_date_range_redirect.ts | 0 .../public/hooks/use_deep_object_identity.ts | 0 .../ux/public/hooks/use_dynamic_data_view.ts | 0 .../public/hooks/use_environments_fetcher.tsx | 0 .../plugins}/ux/public/hooks/use_fetcher.tsx | 0 .../plugins}/ux/public/hooks/use_inp_query.ts | 0 .../ux/public/hooks/use_js_errors_query.tsx | 0 .../ux/public/hooks/use_kibana_services.tsx | 0 .../hooks/use_long_task_metrics_query.tsx | 0 .../ux/public/hooks/use_static_data_view.ts | 1 - .../observability/plugins}/ux/public/index.ts | 0 .../plugins}/ux/public/plugin.ts | 0 .../client_metrics_query.test.ts.snap | 0 .../core_web_vitals_query.test.ts.snap | 0 .../js_errors_query.test.ts.snap | 0 .../long_task_metrics_query.test.ts.snap | 0 .../service_name_query.test.ts.snap | 0 .../ux/public/services/data/call_date_math.ts | 0 .../data/client_metrics_query.test.ts | 0 .../services/data/client_metrics_query.ts | 0 .../data/core_web_vitals_query.test.ts | 0 .../services/data/core_web_vitals_query.ts | 0 .../services/data/environments_query.ts | 0 .../services/data/get_es_filter.test.ts | 0 .../ux/public/services/data/get_es_filter.ts | 0 .../services/data/get_exp_view_filter.test.ts | 0 .../services/data/get_exp_view_filter.ts | 0 .../services/data/has_rum_data_query.ts | 0 .../ux/public/services/data/inp_query.ts | 0 .../services/data/js_errors_query.test.ts | 0 .../public/services/data/js_errors_query.ts | 0 .../data/long_task_metrics_query.test.ts | 0 .../services/data/long_task_metrics_query.ts | 0 .../ux/public/services/data/projections.ts | 0 .../ux/public/services/data/range_query.ts | 0 .../services/data/service_name_query.test.ts | 0 .../services/data/service_name_query.ts | 0 .../public/services/data/url_search_query.ts | 0 .../ux/public/services/rest/call_api.ts | 0 .../services/rest/create_call_apm_api.ts | 0 .../ux/public/services/rest/data_view.ts | 0 .../observability/plugins/ux/readme.md | 14 ++ .../observability/plugins}/ux/scripts/e2e.js | 0 .../observability/plugins}/ux/server/index.ts | 0 .../plugins}/ux/server/plugin.ts | 0 .../observability/plugins}/ux/tsconfig.json | 4 +- .../plugins}/ux/typings/ui_filters.ts | 0 yarn.lock | 38 ++--- 3448 files changed, 676 insertions(+), 757 deletions(-) delete mode 100644 packages/kbn-investigation-shared/index.ts delete mode 100644 packages/kbn-investigation-shared/jest.config.js delete mode 100644 packages/kbn-investigation-shared/src/index.ts delete mode 100644 packages/kbn-investigation-shared/src/schema/index.ts delete mode 100644 packages/kbn-investigation-shared/src/schema/investigation_note.ts delete mode 100644 packages/kbn-investigation-shared/src/schema/origin.ts rename {packages => src/platform/packages/shared}/deeplinks/observability/README.md (100%) rename {packages => src/platform/packages/shared}/deeplinks/observability/constants.ts (100%) rename {packages => src/platform/packages/shared}/deeplinks/observability/deep_links.ts (100%) rename {packages => src/platform/packages/shared}/deeplinks/observability/index.ts (100%) rename {packages => src/platform/packages/shared}/deeplinks/observability/jest.config.js (82%) rename {packages => src/platform/packages/shared}/deeplinks/observability/kibana.jsonc (100%) rename {packages => src/platform/packages/shared}/deeplinks/observability/locators/dataset_quality.ts (100%) rename {packages => src/platform/packages/shared}/deeplinks/observability/locators/dataset_quality_details.ts (100%) rename {packages => src/platform/packages/shared}/deeplinks/observability/locators/index.ts (100%) rename {packages => src/platform/packages/shared}/deeplinks/observability/locators/logs_explorer.ts (100%) rename {packages => src/platform/packages/shared}/deeplinks/observability/locators/observability_logs_explorer.ts (100%) rename {packages => src/platform/packages/shared}/deeplinks/observability/locators/observability_onboarding.ts (100%) rename {packages => src/platform/packages/shared}/deeplinks/observability/locators/uptime.ts (100%) rename {packages => src/platform/packages/shared}/deeplinks/observability/package.json (100%) rename {packages => src/platform/packages/shared}/deeplinks/observability/tsconfig.json (84%) delete mode 100644 x-pack/packages/observability/alerting_test_data/jest.config.js delete mode 100644 x-pack/packages/observability/get_padded_alert_time_range_util/jest.config.js delete mode 100644 x-pack/packages/observability/synthetics_test_data/jest.config.js rename x-pack/{packages => platform/packages/private}/kbn-infra-forge/README.md (100%) rename x-pack/{packages => platform/packages/private}/kbn-infra-forge/index.ts (100%) rename x-pack/{packages => platform/packages/private}/kbn-infra-forge/jest.config.js (75%) rename x-pack/{packages => platform/packages/private}/kbn-infra-forge/kibana.jsonc (100%) rename x-pack/{packages => platform/packages/private}/kbn-infra-forge/package.json (100%) rename x-pack/{packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch => platform/packages/private/kbn-infra-forge/src/data_sources}/composable/component/base.json (100%) rename x-pack/{packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch => platform/packages/private/kbn-infra-forge/src/data_sources}/composable/component/event.json (100%) rename x-pack/{packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch => platform/packages/private/kbn-infra-forge/src/data_sources}/composable/component/host.json (100%) rename x-pack/{packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch => platform/packages/private/kbn-infra-forge/src/data_sources}/composable/component/metricset.json (100%) rename x-pack/{packages => platform/packages/private}/kbn-infra-forge/src/data_sources/composable/component/system.json (100%) rename x-pack/{packages => platform/packages/private}/kbn-infra-forge/src/data_sources/composable/template.json (100%) rename x-pack/{packages => platform/packages/private}/kbn-infra-forge/src/data_sources/fake_hosts/index.ts (100%) rename x-pack/{packages => platform/packages/private}/kbn-infra-forge/src/data_sources/fake_hosts/index_template_def.ts (100%) rename x-pack/{packages => platform/packages/private}/kbn-infra-forge/src/lib/manage_template.ts (100%) rename x-pack/{packages => platform/packages/private}/kbn-infra-forge/src/lib/queue.ts (100%) rename x-pack/{packages => platform/packages/private}/kbn-infra-forge/src/run.ts (100%) rename x-pack/{packages => platform/packages/private}/kbn-infra-forge/tsconfig.json (92%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/README.md (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/anomalies_by_type/change_point_detection.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/anomalies_by_type/concept_drift.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/anomalies_by_type/contextual_anomaly.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/anomalies_by_type/point_anomaly.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/changing_log_volume_example.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/fake_logs_sine.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/fake_stack.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/full_example.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/future_example.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/good_to_bad_to_good.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/log_drop.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/log_spike_scenarios/scenario0_logs.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/log_spike_scenarios/scenario1_spike_logs.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/log_spike_scenarios/scenario2_spike_logs_host.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/log_spike_scenarios/scenario3_spike_errors.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/log_spike_scenarios/scenario4_spike_errors_with_recovery.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/log_spike_scenarios/scenario5_spike_logs_linear.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/metric_example.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/ramp_up_then_down.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/related_events_metrics/scenario0_paralell_metrics_drop_step_change.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/related_events_metrics/scenario1_paralell_metrics_increase_step_change.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/related_events_metrics/scenario2_divergent_metrics.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/related_events_metrics/scenario3_chained_metrics_change.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/rule_tests/custom_threshold_log_count.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/rule_tests/custom_threshold_log_count_groupby.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/rule_tests/custom_threshold_log_count_nodata.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/rule_tests/custom_threshold_metric_avg.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/rule_tests/custom_threshold_metric_avg_groupby.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/rule_tests/custom_threshold_metric_avg_nodata.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/rule_tests/slo_burn_rate.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/transition_example.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/example_config/transitioning_templates_example.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/index.ts (100%) rename x-pack/{packages/observability/alert_details => platform/packages/shared/kbn-data-forge}/jest.config.js (74%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/kibana.jsonc (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/package.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/cleanup.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/cli.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/constants.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/custom/metricset.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/custom/system.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/mapping-settings.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/subset.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/template-settings-legacy.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/template-settings.json (100%) rename x-pack/{packages/kbn-data-forge/src/data_sources/fake_logs => platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts}/ecs/generate.sh (76%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/beats/fields.ecs.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/csv/fields.csv (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/ecs/ecs_flat.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/ecs/ecs_nested.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/ecs/subset/fake_hosts/ecs_flat.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/ecs/subset/fake_hosts/ecs_nested.yml (100%) rename x-pack/{packages/kbn-data-forge/src/data_sources/fake_logs => platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts}/ecs/generated/elasticsearch/composable/component/base.json (100%) rename x-pack/{packages/kbn-infra-forge/src/data_sources => platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch}/composable/component/event.json (100%) rename x-pack/{packages/kbn-infra-forge/src/data_sources => platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch}/composable/component/host.json (100%) rename x-pack/{packages/kbn-data-forge/src/data_sources/fake_logs => platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts}/ecs/generated/elasticsearch/composable/component/metricset.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/composable/component/system.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/composable/template.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/legacy/template.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_hosts/ecs/index.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_hosts/index.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_hosts/template.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_logs/ecs/fields/custom/metricset.yaml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_logs/ecs/fields/mapping-settings.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_logs/ecs/fields/subset.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_logs/ecs/fields/template-settings-legacy.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_logs/ecs/fields/template-settings.json (100%) rename x-pack/{packages/kbn-data-forge/src/data_sources/fake_hosts => platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs}/ecs/generate.sh (76%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/beats/fields.ecs.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/csv/fields.csv (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/ecs/ecs_flat.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/ecs/ecs_nested.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/ecs/subset/admin_console/ecs_flat.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/ecs/subset/admin_console/ecs_nested.yml (100%) rename x-pack/{packages/kbn-data-forge/src/data_sources/fake_stack/admin_console => platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs}/ecs/generated/elasticsearch/composable/component/base.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/component/event.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/component/host.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/component/log.json (100%) rename x-pack/{packages/kbn-infra-forge/src/data_sources => platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch}/composable/component/metricset.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/template.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/legacy/template.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_logs/ecs/index.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_logs/index.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_logs/template.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/assets/admin_console.ndjson (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/fields/mapping-settings.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/fields/subset.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/fields/template-settings-legacy.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/fields/template-settings.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generate.sh (73%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/beats/fields.ecs.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/csv/fields.csv (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/ecs/ecs_flat.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/ecs/ecs_nested.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/ecs/subset/admin_console/ecs_flat.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/ecs/subset/admin_console/ecs_nested.yml (100%) rename x-pack/{packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat => platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console}/ecs/generated/elasticsearch/composable/component/base.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/event.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/host.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/http.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/log.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/server.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/url.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/user.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/user_agent.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/template.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/legacy/template.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/index.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/index.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/create_base_event.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/create_user.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/delete_user.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/edit_user.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/internal_error.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/list_customers.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/login.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/login_error.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/mongodb_connection_error.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/mongodb_proxy_timeout.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/qa_deployed_to_production.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/startup.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/view_user.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/login_cache.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/assets/transaction_rates.ndjson (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/common/constants.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/common/weighted_sample.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/heartbeat/assets/heartbeat.ndjson (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/fields/mapping-settings.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/fields/subset.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/fields/template-settings-legacy.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/fields/template-settings.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generate.sh (73%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/beats/fields.ecs.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/csv/fields.csv (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/ecs_flat.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/ecs_nested.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/subset/heartbeat/ecs_flat.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/subset/heartbeat/ecs_nested.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/subset/nginx_proxy/ecs_flat.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/subset/nginx_proxy/ecs_nested.yml (100%) rename x-pack/{packages/kbn-data-forge/src/data_sources/fake_stack/message_processor => platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat}/ecs/generated/elasticsearch/composable/component/base.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/elasticsearch/composable/component/event.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/elasticsearch/composable/component/log.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/elasticsearch/composable/template.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/elasticsearch/legacy/template.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/index.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/heartbeat/index.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/heartbeat/lib/events/bad.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/heartbeat/lib/events/create_event.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/heartbeat/lib/events/good.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/index.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/assets/message_processor.ndjson (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/fields/custom/processor.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/fields/mapping-settings.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/fields/subset.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/fields/template-settings-legacy.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/fields/template-settings.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generate.sh (76%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/beats/fields.ecs.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/csv/fields.csv (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/ecs/ecs_flat.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/ecs/ecs_nested.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/ecs/subset/message_processor/ecs_flat.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/ecs/subset/message_processor/ecs_nested.yml (100%) rename x-pack/{packages/kbn-data-forge/src/data_sources/fake_stack/mongodb => platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor}/ecs/generated/elasticsearch/composable/component/base.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/composable/component/host.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/composable/component/log.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/composable/component/processor.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/composable/template.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/legacy/template.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/index.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/index.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/bad.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/bad_host.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/create_base_event.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/create_latency_histogram.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/generate_bytes_processed.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/generate_time_spent.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/good.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/startup.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/mongodb/assets/mongodb.ndjson (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/fields/custom/mongodb.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/fields/mapping-settings.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/fields/subset.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/fields/template-settings-legacy.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/fields/template-settings.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generate.sh (75%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/beats/fields.ecs.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/csv/fields.csv (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/ecs/ecs_flat.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/ecs/ecs_nested.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/ecs/subset/mongodb/ecs_flat.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/ecs/subset/mongodb/ecs_nested.yml (100%) rename x-pack/{packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy => platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb}/ecs/generated/elasticsearch/composable/component/base.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/composable/component/host.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/composable/component/log.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/composable/component/mongodb.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/composable/template.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/legacy/template.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/index.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/mongodb/index.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/mongodb/lib/events/create_base_event.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/mongodb/lib/events/mongo_actions.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/mongodb/lib/events/startup.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/assets/nginx_proxy.ndjson (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/fields/mapping-settings.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/fields/subset.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/fields/template-settings-legacy.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/fields/template-settings.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generate.sh (73%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/beats/fields.ecs.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/csv/fields.csv (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/ecs/ecs_flat.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/ecs/ecs_nested.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/ecs/subset/nginx_proxy/ecs_flat.yml (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/ecs/subset/nginx_proxy/ecs_nested.yml (100%) rename x-pack/{packages/kbn-infra-forge/src/data_sources => platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch}/composable/component/base.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/component/host.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/component/http.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/component/log.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/component/url.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/template.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/legacy/template.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/index.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/index.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/lib/create_nginx_timestamp.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/lib/events/create_nginx_log.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/lib/events/create_upstream_timedout.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/lib/events/startup.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/index.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/service_logs/index.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/service_logs/lib/generate_cloud.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/service_logs/lib/generate_host.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/service_logs/lib/generate_log_message.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/data_sources/service_logs/lib/generate_service.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/generate.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/lib/add_ephemeral_project_id.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/lib/cli_to_partial_config.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/lib/create_config.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/lib/create_events.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/lib/data_shapes/create_exponetial_function.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/lib/data_shapes/create_linear_function.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/lib/data_shapes/create_sine_function.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/lib/data_shapes/index.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/lib/delete_index_template.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/lib/elasticsearch_error_handler.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/lib/generate_counter_data.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/lib/get_es_client.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/lib/index_schedule.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/lib/indices.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/lib/install_assets.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/lib/install_default_component_template.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/lib/install_default_ingest_pipeline.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/lib/install_index_template.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/lib/install_kibana_assets.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/lib/is_weekend.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/lib/parse_cli_options.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/lib/queue.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/lib/replace_metrics_with_shapes.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/lib/setup_kibana_system_user.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/lib/wait.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/run.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/src/types/index.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-data-forge/tsconfig.json (86%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/README.md (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/index.ts (100%) rename x-pack/{packages/kbn-data-forge => platform/packages/shared/kbn-slo-schema}/jest.config.js (74%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/kibana.jsonc (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/package.json (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/models/duration.test.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/models/duration.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/models/index.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/models/pagination.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/rest_specs/common.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/rest_specs/index.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/rest_specs/indicators.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/rest_specs/routes/create.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/rest_specs/routes/delete.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/rest_specs/routes/delete_instance.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/rest_specs/routes/fetch_historical_summary.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/rest_specs/routes/find.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/rest_specs/routes/find_definition.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/rest_specs/routes/find_group.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/rest_specs/routes/get.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/rest_specs/routes/get_burn_rates.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/rest_specs/routes/get_overview.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/rest_specs/routes/get_preview_data.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/rest_specs/routes/get_slo_groupings.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/rest_specs/routes/get_slo_health.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/rest_specs/routes/get_suggestions.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/rest_specs/routes/index.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/rest_specs/routes/manage.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/rest_specs/routes/put_settings.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/rest_specs/routes/reset.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/rest_specs/routes/update.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/rest_specs/slo.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/schema/common.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/schema/duration.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/schema/health.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/schema/index.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/schema/indicators.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/schema/schema.test.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/schema/settings.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/schema/slo.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/schema/time_window.test.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/src/schema/time_window.ts (100%) rename x-pack/{packages => platform/packages/shared}/kbn-slo-schema/tsconfig.json (83%) rename x-pack/{packages => platform/packages/shared}/observability/alerting_rule_utils/README.md (100%) rename x-pack/{packages => platform/packages/shared}/observability/alerting_rule_utils/index.ts (100%) create mode 100644 x-pack/platform/packages/shared/observability/alerting_rule_utils/jest.config.js rename x-pack/{packages => platform/packages/shared}/observability/alerting_rule_utils/kibana.jsonc (100%) rename x-pack/{packages => platform/packages/shared}/observability/alerting_rule_utils/package.json (100%) rename x-pack/{packages => platform/packages/shared}/observability/alerting_rule_utils/src/get_ecs_groups.test.ts (100%) rename x-pack/{packages => platform/packages/shared}/observability/alerting_rule_utils/src/get_ecs_groups.ts (100%) rename x-pack/{packages => platform/packages/shared}/observability/alerting_rule_utils/tsconfig.json (81%) delete mode 100644 x-pack/plugins/observability_solution/exploratory_view/jest.config.js delete mode 100755 x-pack/plugins/observability_solution/synthetics/.buildkite/pipelines/flaky.sh delete mode 100755 x-pack/plugins/observability_solution/uptime/.buildkite/pipelines/flaky.sh delete mode 100644 x-pack/plugins/observability_solution/ux/.buildkite/pipelines/flaky.sh delete mode 100644 x-pack/plugins/observability_solution/ux/readme.md rename x-pack/{packages/observability => solutions/observability/packages}/alert_details/README.md (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alert_details/index.ts (100%) rename x-pack/{packages/observability/alerting_rule_utils => solutions/observability/packages/alert_details}/jest.config.js (73%) rename x-pack/{packages/observability => solutions/observability/packages}/alert_details/kibana.jsonc (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alert_details/package.json (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alert_details/src/components/alert_active_time_range_annotation.tsx (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alert_details/src/components/alert_annotation.tsx (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alert_details/src/components/alert_threshold_annotation.tsx (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alert_details/src/components/alert_threshold_time_range_rect.tsx (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alert_details/src/hooks/use_alerts_history.test.tsx (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alert_details/src/hooks/use_alerts_history.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alert_details/tsconfig.json (88%) rename x-pack/{packages/observability => solutions/observability/packages}/alerting_test_data/README.md (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alerting_test_data/index.ts (100%) rename x-pack/{packages/kbn-slo-schema => solutions/observability/packages/alerting_test_data}/jest.config.js (72%) rename x-pack/{packages/observability => solutions/observability/packages}/alerting_test_data/kibana.jsonc (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alerting_test_data/package.json (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alerting_test_data/src/constants.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alerting_test_data/src/create_apm_error_count_threshold_rule.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alerting_test_data/src/create_apm_failed_transaction_rate_rule.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alerting_test_data/src/create_custom_threshold_rule.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alerting_test_data/src/create_data_view.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alerting_test_data/src/create_index_connector.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alerting_test_data/src/create_rule.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alerting_test_data/src/get_kibana_url.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alerting_test_data/src/run.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alerting_test_data/src/scenarios/custom_threshold_log_count.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alerting_test_data/src/scenarios/custom_threshold_log_count_groupby.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alerting_test_data/src/scenarios/custom_threshold_log_count_nodata.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alerting_test_data/src/scenarios/custom_threshold_metric_avg.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alerting_test_data/src/scenarios/custom_threshold_metric_avg_groupby.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alerting_test_data/src/scenarios/custom_threshold_metric_avg_nodata.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alerting_test_data/src/scenarios/index.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/alerting_test_data/tsconfig.json (86%) rename x-pack/{packages/observability => solutions/observability/packages}/get_padded_alert_time_range_util/README.md (100%) rename x-pack/{packages/observability => solutions/observability/packages}/get_padded_alert_time_range_util/index.ts (100%) create mode 100644 x-pack/solutions/observability/packages/get_padded_alert_time_range_util/jest.config.js rename x-pack/{packages/observability => solutions/observability/packages}/get_padded_alert_time_range_util/kibana.jsonc (100%) rename x-pack/{packages/observability => solutions/observability/packages}/get_padded_alert_time_range_util/package.json (100%) rename x-pack/{packages/observability => solutions/observability/packages}/get_padded_alert_time_range_util/src/get_padded_alert_time_range.test.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/get_padded_alert_time_range_util/src/get_padded_alert_time_range.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/get_padded_alert_time_range_util/tsconfig.json (80%) rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/README.md (100%) create mode 100644 x-pack/solutions/observability/packages/kbn-investigation-shared/index.ts create mode 100644 x-pack/solutions/observability/packages/kbn-investigation-shared/jest.config.js rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/kibana.jsonc (100%) rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/package.json (56%) create mode 100644 x-pack/solutions/observability/packages/kbn-investigation-shared/src/index.ts rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/src/rest_specs/create.ts (72%) rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/src/rest_specs/create_item.ts (68%) rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/src/rest_specs/create_note.ts (67%) rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/src/rest_specs/delete.ts (52%) rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/src/rest_specs/delete_item.ts (54%) rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/src/rest_specs/delete_note.ts (54%) rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/src/rest_specs/entity.ts (73%) rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/src/rest_specs/find.ts (71%) rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/src/rest_specs/get.ts (66%) rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/src/rest_specs/get_all_investigation_stats.ts (61%) rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/src/rest_specs/get_all_investigation_tags.ts (56%) rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/src/rest_specs/get_entities.ts (67%) rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/src/rest_specs/get_events.ts (75%) rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/src/rest_specs/get_items.ts (61%) rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/src/rest_specs/get_notes.ts (61%) rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/src/rest_specs/index.ts (79%) rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/src/rest_specs/investigation.ts (50%) rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/src/rest_specs/investigation_item.ts (51%) rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/src/rest_specs/investigation_note.ts (51%) rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/src/rest_specs/update.ts (74%) rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/src/rest_specs/update_item.ts (68%) rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/src/rest_specs/update_note.ts (68%) rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/src/schema/event.ts (78%) create mode 100644 x-pack/solutions/observability/packages/kbn-investigation-shared/src/schema/index.ts rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/src/schema/investigation.ts (75%) rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/src/schema/investigation_item.ts (61%) create mode 100644 x-pack/solutions/observability/packages/kbn-investigation-shared/src/schema/investigation_note.ts create mode 100644 x-pack/solutions/observability/packages/kbn-investigation-shared/src/schema/origin.ts rename {packages => x-pack/solutions/observability/packages}/kbn-investigation-shared/tsconfig.json (81%) rename x-pack/{packages/observability => solutions/observability/packages}/synthetics_test_data/README.md (100%) rename x-pack/{packages/observability => solutions/observability/packages}/synthetics_test_data/index.ts (100%) create mode 100644 x-pack/solutions/observability/packages/synthetics_test_data/jest.config.js rename x-pack/{packages/observability => solutions/observability/packages}/synthetics_test_data/kibana.jsonc (100%) rename x-pack/{packages/observability => solutions/observability/packages}/synthetics_test_data/package.json (100%) rename x-pack/{packages/observability => solutions/observability/packages}/synthetics_test_data/src/e2e/helpers/parse_args_params.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/synthetics_test_data/src/e2e/helpers/record_video.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/synthetics_test_data/src/e2e/helpers/synthetics_runner.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/synthetics_test_data/src/e2e/helpers/test_reporter.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/synthetics_test_data/src/e2e/helpers/utils.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/synthetics_test_data/src/e2e/index.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/synthetics_test_data/src/e2e/tasks/es_archiver.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/synthetics_test_data/src/e2e/tasks/read_kibana_config.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/synthetics_test_data/src/make_summaries.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/synthetics_test_data/src/utils.ts (100%) rename x-pack/{packages/observability => solutions/observability/packages}/synthetics_test_data/tsconfig.json (86%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/.storybook/jest_setup.js (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/.storybook/main.js (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/.storybook/preview.js (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/README.md (81%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/common/annotations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/common/i18n.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/common/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/common/processor_event.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/e2e/README.md (54%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/e2e/journeys/exploratory_view.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/e2e/journeys/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/e2e/journeys/single_metric.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/e2e/journeys/step_duration.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/e2e/synthetics_run.ts (88%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/e2e/tsconfig.json (82%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/e2e/utils.ts (100%) create mode 100644 x-pack/solutions/observability/plugins/exploratory_view/jest.config.js rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/kibana.jsonc (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/application/application.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/application/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/application/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/add_data_buttons/mobile_add_data.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/add_data_buttons/synthetics_add_data.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/add_data_buttons/ux_add_data.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/date_picker/date_picker.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/date_picker/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/date_picker/typings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/README.md (97%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/components/action_menu/action_menu.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/components/action_menu/action_menu.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/components/action_menu/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/components/date_range_picker.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/components/empty_view.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/components/filter_label.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/components/filter_label.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/components/series_color_picker.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/components/series_date_picker/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/components/series_date_picker/series_date_picker.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/components/url_search/selectable_url_list.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/components/url_search/selectable_url_list.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/components/url_search/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/components/url_search/url_search.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/components/url_search/use_url_search.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/alerts_configs/kpi_over_time_config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/alerts_configs/single_metric_config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/apm/field_formats.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/constants/constants.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/constants/elasticsearch_fieldnames.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/constants/field_names/infra_logs.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/constants/field_names/infra_metrics.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/constants/field_names/synthetics.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/constants/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/constants/labels.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/constants/url_constants.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/default_configs.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/exploratory_view_url.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/exploratory_view_url.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/infra_logs/kpi_over_time_config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/infra_metrics/field_formats.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/infra_metrics/kpi_over_time_config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes/heatmap_attributes.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes/single_metric_attributes.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes/single_metric_attributes.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/lens_columns/overall_column.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/mobile/device_distribution_config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/mobile/distribution_config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/mobile/kpi_over_time_config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/mobile/mobile_fields.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/mobile/mobile_kpi_config.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/rum/core_web_vitals_config.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/rum/core_web_vitals_config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/rum/data_distribution_config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/rum/field_formats.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/rum/kpi_over_time_config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/rum/single_metric_config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/data_distribution_config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/field_formats.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/heatmap_config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/kpi_over_time_config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/runtime_fields.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/single_metric_config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/mobile_test_attribute.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_cwv.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_kpi.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_with_reference_lines.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/test_data_view.json (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/test_formula_metric_attribute.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/configurations/utils.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/contexts/exploratory_view_config.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/embeddable/embeddable.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/embeddable/embeddable.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/embeddable/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/embeddable/use_actions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/embeddable/use_app_data_view.ts (97%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/embeddable/use_embeddable_attributes.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/embeddable/use_local_data_view.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/exploratory_view.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/exploratory_view.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/header/add_to_case_action.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/header/add_to_case_action.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/header/chart_creation_info.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/header/chart_creation_info.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/header/embed_action.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/header/last_updated.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/header/refresh_button.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/hooks/use_add_to_case.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/hooks/use_add_to_case.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/hooks/use_app_data_view.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/hooks/use_discover_link.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/hooks/use_ebt_telemetry.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/hooks/use_kibana.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/hooks/use_lens_attributes.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/hooks/use_lens_attributes.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/hooks/use_lens_formula_helper.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/hooks/use_series_filters.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/hooks/use_series_storage.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/hooks/use_series_storage.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/hooks/use_time_range.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/hooks/use_time_range.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/labels.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/lens_embeddable.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/obsv_exploratory_view.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/rtl_helpers.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/breakdown/breakdowns.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/breakdown/breakdowns.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/breakdown/label_breakdown.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/chart_type_select.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/chart_types.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/chart_types.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/data_type_select.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/data_type_select.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/date_picker_col.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/filter_expanded.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/filter_expanded.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/filter_value_btn.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/filter_value_btn.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/incomplete_badge.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/operation_type_select.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/operation_type_select.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/report_definition_col.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/report_definition_col.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/report_definition_field.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/report_type_select.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/selected_filters.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/selected_filters.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_actions.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_actions.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_filter.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_info.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_name.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_name.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/text_report_definition_field.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/components/filter_values_list.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/components/labels_filter.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/expanded_series_row.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/expanded_series_row.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/report_metric_options.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/report_metric_options.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/series.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/series_editor.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/series_editor/use_filter_values.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/utils/stringify_kueries.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/utils/stringify_kueries.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/utils/telemetry.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/utils/telemetry.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/utils/utils.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/views/add_series_button.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/views/add_series_button.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/views/series_views.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/views/view_actions.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/exploratory_view/views/view_actions.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/filter_value_label/filter_value_label.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/components/shared/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/constants.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/context/date_picker_context.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/context/plugin_context.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/data_handler.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/data_handler.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/hooks/use_date_picker_context.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/hooks/use_plugin_context.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/plugin.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/routes/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/routes/json_rt.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/typings/fetch_overview_data/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/utils/date.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/utils/observability_data_views/get_app_data_view.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/utils/observability_data_views/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/utils/observability_data_views/observability_data_views.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/utils/observability_data_views/observability_data_views.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/utils/url.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/public/utils/url.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/scripts/e2e.js (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/scripts/storybook.js (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/exploratory_view/tsconfig.json (94%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate/README.md (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate/common/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate/common/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate/common/utils/merge_plain_objects.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate/jest.config.js (53%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate/kibana.jsonc (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate/public/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate/public/investigation/item_definition_registry.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate/public/plugin.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate/public/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate/public/util/get_es_filters_from_global_parameters.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate/server/config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate/server/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate/server/plugin.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate/server/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate/tsconfig.json (79%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/.storybook/extend_props.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/.storybook/get_mock_investigate_app_services.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/.storybook/jest_setup.js (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/.storybook/main.js (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/.storybook/mock_kibana_services.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/.storybook/preview.js (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/.storybook/storybook_decorator.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/README.md (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/common/paths.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/jest.config.js (52%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/kibana.jsonc (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/api/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/application.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/components/error_message/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/components/investigate_app_context_provider/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/components/investigate_text_button/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/components/investigation_edit_form/fields/external_incident_field.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/components/investigation_edit_form/fields/status_field.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/components/investigation_edit_form/fields/tags_field.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/components/investigation_edit_form/form_helper.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/components/investigation_edit_form/investigation_edit_form.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/components/investigation_not_found/investigation_not_found.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/components/investigation_status_badge/investigation_status_badge.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/components/investigation_tag/investigation_tag.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/components/preview_lens_suggestion/index.stories.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/components/preview_lens_suggestion/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/components/suggest_visualization_list/index.stories.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/components/suggest_visualization_list/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/components/suggest_visualization_list/suggestions.mock.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/constants/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/hooks/query_key_factory.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/hooks/use_add_investigation_item.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/hooks/use_add_investigation_note.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/hooks/use_create_investigation.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/hooks/use_delete_investigation.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/hooks/use_delete_investigation_item.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/hooks/use_delete_investigation_note.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/hooks/use_fetch_alert.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/hooks/use_fetch_all_investigation_stats.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/hooks/use_fetch_all_investigation_tags.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/hooks/use_fetch_entities.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/hooks/use_fetch_events.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/hooks/use_fetch_investigation.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/hooks/use_fetch_investigation_items.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/hooks/use_fetch_investigation_list.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/hooks/use_fetch_investigation_notes.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/hooks/use_fetch_user_profiles.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/hooks/use_kibana.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/hooks/use_screen_context.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/hooks/use_theme.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/hooks/use_update_investigation.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/hooks/use_update_investigation_note.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/items/README.md (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/items/embeddable_item/register_embeddable_item.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/items/esql_item/get_date_histogram_results.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/items/esql_item/register_esql_item.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/items/lens_item/register_lens_item.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/items/register_items.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/components/add_from_library_button/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/components/add_investigation_item/add_investigation_item.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/components/add_investigation_item/esql_widget_preview.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/components/assistant_hypothesis/assistant_hypothesis.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/components/grid_item/index.stories.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/components/grid_item/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/components/investigation_details/index.stories.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/components/investigation_details/investigation_details.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/components/investigation_header/alert_details_button.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/components/investigation_header/external_incident_button.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/components/investigation_header/investigation_header.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/components/investigation_items/investigation_items.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/components/investigation_items_list/investigation_items_list.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/components/investigation_notes/edit_note_form.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/components/investigation_notes/investigation_notes.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/components/investigation_notes/note.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/components/investigation_notes/resizable_text_input.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/alert_event.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/annotation_event.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/events_timeline.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/timeline_theme.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline_filter_bar/investigation_event_types_filter.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline_filter_bar/investigation_timeline_filter_bar.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/contexts/investigation_context.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/investigation_details_page.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/details/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/list/components/investigation_list.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/list/components/investigation_list_actions.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/list/components/investigation_stats.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/list/components/investigations_error.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/list/components/search_bar/search_bar.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/list/components/search_bar/status_filter.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/list/components/search_bar/tags_filter.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/pages/list/investigation_list_page.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/plugin.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/routes/config.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/services/esql.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/services/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/utils/find_scrollable_parent.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/utils/get_data_table_from_esql_response.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/utils/get_es_filter_from_overrides.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/utils/get_kibana_columns.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/public/utils/get_lens_attrs_for_suggestion.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/clients/create_entities_es_client.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/lib/collectors/fetcher.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/lib/collectors/fetcher.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/lib/collectors/helpers/metrics.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/lib/collectors/helpers/metrics.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/lib/collectors/register.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/lib/collectors/type.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/lib/get_document_categories.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/lib/get_sample_documents.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/lib/queries/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/models/investigation.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/models/investigation_item.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/models/investigation_note.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/models/pagination.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/plugin.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/routes/create_investigate_app_server_route.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/routes/get_global_investigate_app_server_route_repository.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/routes/rca/route.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/routes/register_routes.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/routes/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/saved_objects/investigation.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/services/create_investigation.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/services/create_investigation_item.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/services/create_investigation_note.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/services/delete_investigation.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/services/delete_investigation_item.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/services/delete_investigation_note.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/services/find_investigations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/services/get_alerts_client.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/services/get_all_investigation_stats.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/services/get_all_investigation_tags.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/services/get_entities.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/services/get_events.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/services/get_investigation.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/services/get_investigation_items.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/services/get_investigation_notes.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/services/investigation_repository.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/services/update_investigation.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/services/update_investigation_item.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/services/update_investigation_note.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/server/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/investigate_app/tsconfig.json (96%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/.storybook/jest_setup.js (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/.storybook/main.js (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/.storybook/preview.js (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/README.md (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/annotations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/constants.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/custom_threshold_rule/color_palette.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/custom_threshold_rule/formatters/bytes.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/custom_threshold_rule/formatters/bytes.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/custom_threshold_rule/formatters/datetime.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/custom_threshold_rule/formatters/high_precision.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/custom_threshold_rule/formatters/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/custom_threshold_rule/formatters/number.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/custom_threshold_rule/formatters/percent.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/custom_threshold_rule/formatters/snapshot_metric_formats.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/custom_threshold_rule/formatters/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/custom_threshold_rule/get_view_in_app_url.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/custom_threshold_rule/get_view_in_app_url.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/custom_threshold_rule/helpers/get_group.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/custom_threshold_rule/helpers/get_group.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/custom_threshold_rule/metric_value_formatter.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/custom_threshold_rule/metric_value_formatter.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/custom_threshold_rule/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/guided_onboarding/kubernetes_guide_config.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/i18n.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/locators/alerts.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/locators/alerts.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/locators/paths.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/processor_event.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/progressive_loading.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/typings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/ui_settings_keys.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/utils/alerting/alert_url.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/utils/alerting/get_related_alerts_query.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/utils/alerting/get_related_alerts_query.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/utils/alerting/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/utils/array_union_to_callable.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/utils/as_mutable_array.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/utils/convert_legacy_outside_comparator.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/utils/convert_legacy_outside_comparator.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/utils/formatters/datetime.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/utils/formatters/datetime.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/utils/formatters/duration.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/utils/formatters/duration.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/utils/formatters/formatters.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/utils/formatters/formatters.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/utils/formatters/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/utils/formatters/size.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/utils/formatters/size.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/utils/get_inspect_response.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/utils/get_interval_in_seconds.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/utils/get_interval_in_seconds.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/utils/is_finite_number.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/utils/join_by_key/index.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/utils/join_by_key/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/utils/maybe.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/utils/pick_keys.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/common/utils/unwrap_es_response.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/dev_docs/custom_threshold.md (77%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/dev_docs/feature_flags.md (70%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/dev_docs/images/data_forge_custom_threshold_rule_cpu.png (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/dev_docs/images/data_forge_data_view.png (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/dev_docs/images/synthtrace_custom_threshold_rule.png (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/dev_docs/images/synthtrace_data_view.png (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/jest.config.js (50%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/kibana.jsonc (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/application/application.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/application/hideable_react_query_dev_tools.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/application/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/assets/illustration_dark.svg (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/assets/illustration_light.svg (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/assets/kibana_dashboard_dark.svg (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/assets/kibana_dashboard_light.svg (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/assets/onboarding_tour_step_alerts.gif (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/assets/onboarding_tour_step_logs.gif (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/assets/onboarding_tour_step_metrics.gif (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/assets/onboarding_tour_step_services.gif (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alert_overview/alert_overview.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alert_overview/helpers/format_cases.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alert_overview/helpers/is_fields_same_type.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alert_overview/helpers/map_rules_params_with_flyout.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alert_overview/helpers/map_rules_params_with_flyout.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alert_overview/overview_columns.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alert_search_bar/alert_search_bar.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alert_search_bar/alert_search_bar.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alert_search_bar/alert_search_bar_with_url_sync.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alert_search_bar/components/alerts_status_filter.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alert_search_bar/components/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alert_search_bar/constants.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alert_search_bar/containers/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alert_search_bar/containers/state_container.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alert_search_bar/containers/use_alert_search_bar_state_container.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alert_search_bar/get_alert_search_bar_lazy.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alert_search_bar/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alert_severity_badge.stories.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alert_severity_badge.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alert_sources/get_alert_source_links.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alert_sources/get_alert_source_links.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alert_sources/get_apm_app_url.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alert_sources/get_sources.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alert_sources/groups.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alert_status_indicator.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_flyout/alerts_flyout.mock.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_flyout/alerts_flyout.stories.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_flyout/alerts_flyout.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_flyout/alerts_flyout.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_flyout/alerts_flyout_body.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_flyout/alerts_flyout_body.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_flyout/alerts_flyout_footer.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_flyout/alerts_flyout_header.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_flyout/use_get_alert_flyout_components.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_table/alerts/get_alerts_page_table_configuration.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_table/alerts/get_persistent_controls.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_table/common/cell_tooltip.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_table/common/cell_tooltip.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_table/common/get_columns.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_table/common/render_cell_value.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_table/common/render_cell_value.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_table/common/timestamp_tooltip.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_table/common/timestamp_tooltip.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_table/grouping/constants.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_table/grouping/get_aggregations_by_grouping_field.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_table/grouping/get_group_stats.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_table/grouping/render_group_panel.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_table/observability/get_alerts_page_table_configuration.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_table/register_alerts_table_configuration.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_table/rule_details/get_rule_details_table_configuration.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_table/slo/default_columns.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_table/slo/get_slo_alerts_table_configuration.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/alerts_table/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/annotation_apearance.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/annotation_form.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/components/annotation_apply_to.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/components/annotation_icon.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/components/annotation_range.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/components/annotation_tooltip.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/components/annotations.scss (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/components/common/delete_annotations.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/components/common/delete_annotations_modal.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/components/common/field_selector.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/components/create_annotation.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/components/fill_option.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/components/forward_refs.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/components/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/components/new_line_annotation.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/components/new_rect_annotation.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/components/obs_annotation.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/components/observability_annotation.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/components/service_apply_to.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/components/slo_apply_to.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/components/slo_selector.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/components/text_decoration.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/components/timestamp_range_label.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/default_annotation.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/display_annotations.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/hooks/use_annotation_cruds.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/hooks/use_annotation_permissions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/hooks/use_create_annotation.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/hooks/use_delete_annotation.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/hooks/use_edit_annotation_helper.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/hooks/use_fetch_annotations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/hooks/use_fetch_apm_suggestions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/hooks/use_fetch_slo_list.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/hooks/use_update_annotation.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/icon_set.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/annotations/use_annotations.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/center_justified_spinner.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/alert_details_app_section/__snapshots__/alert_details_app_section.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/alert_details_app_section/alert_details_app_section.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/alert_details_app_section/alert_details_app_section.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/alert_details_app_section/helpers/__snapshots__/log_rate_analysis_query.test.ts.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/alert_details_app_section/helpers/generate_chart_title_and_tooltip.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/alert_details_app_section/helpers/log_rate_analysis_query.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/alert_details_app_section/helpers/log_rate_analysis_query.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/alert_details_app_section/log_rate_analysis.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/closable_popover_title.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/closable_popover_title.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/criterion_preview_chart/criterion_preview_chart.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/criterion_preview_chart/threshold_annotations.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/criterion_preview_chart/threshold_annotations.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/custom_equation/custom_equation_editor.stories.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/custom_equation/custom_equation_editor.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/custom_equation/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/custom_equation/metric_row_controls.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/custom_equation/metric_row_with_agg.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/custom_equation/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/custom_threshold.stories.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/expression_row.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/expression_row.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/group_by.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/threshold.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/threshold.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/triggers_actions_context.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/validation.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/components/validation.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/custom_threshold_rule_expression.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/custom_threshold_rule_expression.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/helpers/calculate_domain.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/helpers/corrected_percent_convert.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/helpers/corrected_percent_convert.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/helpers/create_formatter_for_metric.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/helpers/create_formatter_for_metrics.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/helpers/get_search_configuration.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/helpers/get_search_configuration.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/helpers/kuery.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/helpers/metric_to_format.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/helpers/notifications.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/helpers/runtime_types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/helpers/source_errors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/helpers/threshold_unit.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/helpers/threshold_unit.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/hooks/use_kibana_time_zone_setting.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/hooks/use_kibana_timefilter_time.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/hooks/use_metric_threshold_alert_prefill.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/hooks/use_tracked_promise.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/i18n_strings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/mocks/custom_threshold_rule.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/rule_data_formatters.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/custom_threshold/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/experimental_badge.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/loading_observability.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/rule_condition_chart/helpers.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/rule_condition_chart/helpers.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/rule_condition_chart/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/rule_condition_chart/painless_tinymath_parser.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/rule_condition_chart/painless_tinymath_parser.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/rule_condition_chart/rule_condition_chart.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/rule_condition_chart/rule_condition_chart.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/rule_kql_filter/autocomplete_field/autocomplete_field.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/rule_kql_filter/autocomplete_field/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/rule_kql_filter/autocomplete_field/suggestion_item.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/rule_kql_filter/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/rule_kql_filter/kuery_bar.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/rule_kql_filter/with_kuery_autocompletion.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/components/tags.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/constants.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/context/constants.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/context/date_picker_context/date_picker_context.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/context/has_data_context/data_handler.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/context/has_data_context/data_handler.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/context/has_data_context/get_observability_alerts.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/context/has_data_context/get_observability_alerts.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/context/has_data_context/has_data_context.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/context/has_data_context/has_data_context.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/context/plugin_context/plugin_context.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/__storybook_mocks__/use_fetch_data_views.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/create_use_rules_link.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/use_case_view_navigation.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/use_chart_themes.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/use_data_fetcher.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/use_date_picker_context.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/use_delete_rules.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/use_fetch_alert_data.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/use_fetch_alert_data.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/use_fetch_alert_detail.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/use_fetch_alert_detail.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/use_fetch_bulk_cases.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/use_fetch_bulk_cases.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/use_fetch_data_views.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/use_fetch_rule.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/use_fetch_rule_types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/use_get_available_rules_with_descriptions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/use_get_filtered_rule_types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/use_guided_setup_progress.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/use_has_data.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/use_kibana_ui_settings.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/use_license.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/use_observability_onboarding.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/use_plugin_context.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/use_summary_time_range.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/use_time_buckets.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/use_timefilter_service.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/hooks/use_toast.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/index.ts (98%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/locators/rule_details.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/locators/rule_details.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/locators/rules.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/locators/rules.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/navigation_tree.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/404.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alert_details/alert_details.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alert_details/alert_details.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alert_details/alert_details_contextual_insights.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alert_details/components/alert_history.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alert_details/components/assets/illustration_product_no_results_magnifying_glass.svg (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alert_details/components/feedback_button.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alert_details/components/header_actions.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alert_details/components/header_actions.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alert_details/components/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alert_details/components/related_alerts.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alert_details/components/source_bar.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alert_details/components/source_bar.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alert_details/components/status_bar.stories.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alert_details/components/status_bar.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alert_details/components/status_bar.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alert_details/hooks/use_add_investigation_item.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alert_details/hooks/use_bulk_untrack_alerts.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alert_details/hooks/use_create_investigation.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alert_details/hooks/use_fetch_investigations_by_alert.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alert_details/mock/alert.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alert_details/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alerts/alerts.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alerts/alerts.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alerts/components/alert_actions.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alerts/components/alert_actions.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alerts/components/rule_stats.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alerts/components/rule_stats.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alerts/helpers/merge_bool_queries.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/alerts/helpers/parse_alert.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/annotations/annotation_apply_to.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/annotations/annotations.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/annotations/annotations_list.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/annotations/annotations_list_chart.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/annotations/annotations_privileges.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/annotations/create_annotation_btn.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/annotations/date_picker.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/cases/cases.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/cases/components/cases.stories.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/cases/components/cases.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/cases/components/empty_page.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/cases/components/feature_no_permissions.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/landing/landing.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/chart_container/chart_container.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/chart_container/chart_container.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/data_assistant_flyout.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/data_sections.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/date_picker/date_picker.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/date_picker/date_picker.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/date_picker/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/header_actions/header_actions.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/header_menu/header_menu.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/header_menu/header_menu_portal.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/header_menu/header_menu_portal.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/news_feed/helpers/get_news_feed.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/news_feed/helpers/get_news_feed.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/news_feed/news_feed.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/news_feed/news_feed.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/observability_onboarding_callout.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/observability_status/content.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/observability_status/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/observability_status/observability_status.stories.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/observability_status/observability_status_box.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/observability_status/observability_status_box.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/observability_status/observability_status_boxes.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/observability_status/observability_status_boxes.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/observability_status/observability_status_progress.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/observability_status/observability_status_progress.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/resources.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/resources.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/apm/apm_section.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/apm/apm_section.tsx (99%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/apm/mock_data/apm.mock.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/empty/empty_section.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/empty/empty_section.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/empty/empty_sections.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/error_panel/error_panel.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/logs/logs_section.tsx (99%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/metrics/host_link.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/metrics/lib/format_duration.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/metrics/lib/format_duration.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/metrics/logos/aix.svg (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/metrics/logos/android.svg (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/metrics/logos/darwin.svg (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/metrics/logos/dragonfly.svg (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/metrics/logos/freebsd.svg (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/metrics/logos/illumos.svg (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/metrics/logos/linux.svg (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/metrics/logos/netbsd.svg (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/metrics/logos/solaris.svg (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/metrics/metric_with_sparkline.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/metrics/metrics_section.tsx (99%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/section_container.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/section_container.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/uptime/uptime_section.tsx (99%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/ux/core_web_vitals/__stories__/core_vitals.stories.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/ux/core_web_vitals/color_palette_flex_item.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/ux/core_web_vitals/core_vital_item.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/ux/core_web_vitals/core_vital_item.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/ux/core_web_vitals/core_vitals.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/ux/core_web_vitals/get_core_web_vitals_lazy.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/ux/core_web_vitals/palette_legends.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/ux/core_web_vitals/service_name.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/ux/core_web_vitals/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/ux/core_web_vitals/web_core_vitals_title.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/ux/mock_data/ux.mock.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/ux/ux_section.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/sections/ux/ux_section.tsx (98%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/components/styled_stat/styled_stat.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/helpers/calculate_bucket_size.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/helpers/calculate_bucket_size.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/helpers/on_brush_end.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/helpers/on_brush_end.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/helpers/use_overview_metrics.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/mock/alerts.mock.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/mock/apm.mock.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/mock/logs.mock.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/mock/metrics.mock.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/mock/news_feed.mock.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/mock/uptime.mock.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/overview.stories.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/overview/overview.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/rule_details/components/delete_confirmation_modal.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/rule_details/components/header_actions.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/rule_details/components/no_rule_found_panel.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/rule_details/components/page_title_content.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/rule_details/components/rule_details_tabs.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/rule_details/constants.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/rule_details/helpers/get_health_color.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/rule_details/helpers/is_rule_editable.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/rule_details/rule_details.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/rules/global_logs_tab.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/rules/rules.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/rules/rules.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/pages/rules/rules_tab.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/plugin.mock.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/plugin.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/routes/routes.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/rules/create_observability_rule_type_registry.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/rules/fixtures/example_alerts.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/rules/observability_rule_type_registry_mock.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/rules/register_observability_rule_types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/test_utils/use_global_storybook_theme.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/typings/alerts.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/typings/fetch_overview_data/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/typings/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/typings/utils.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/alert_summary_widget/constants.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/alert_summary_widget/get_alert_summary_time_range.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/alert_summary_widget/get_alert_summary_time_range.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/alert_summary_widget/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/build_es_query/__snapshots__/build_es_query.test.ts.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/build_es_query/build_es_query.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/build_es_query/build_es_query.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/build_es_query/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/date.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/datemath.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/datemath.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/format_alert_evaluation_value.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/format_alert_evaluation_value.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/format_stat_value.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/format_stat_value.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/get_alert_evaluation_unit_type_by_rule_type_id.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/get_apm_trace_url.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/get_apm_trace_url.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/get_bucket_size/calculate_auto.js (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/get_bucket_size/index.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/get_bucket_size/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/get_bucket_size/unit_to_seconds.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/get_time_zone.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/investigation_item_helper.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/is_alert_details_enabled.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/is_alert_details_enabled.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/kibana_react.mock.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/kibana_react.storybook_decorator.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/kibana_react.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/no_data_config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/test_helper.tsx (96%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/url.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/public/utils/url.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/scripts/storybook.js (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/common/constants.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/features/cases_v1.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/features/cases_v2.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/index.ts (98%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/annotations/bootstrap_annotations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/annotations/create_annotations_client.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/annotations/format_annotations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/annotations/mappings/annotation_mappings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/annotations/permissions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/annotations/register_annotation_apis.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/constants.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/custom_threshold_executor.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/custom_threshold_executor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/lib/check_missing_group.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/lib/create_bucket_selector.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/lib/create_condition_script.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/lib/create_custom_metrics_aggregations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/lib/create_last_value_aggregation.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/lib/create_rate_aggregation.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/lib/create_timerange.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/lib/create_timerange.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/lib/evaluate_rule.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/lib/format_alert_result.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/lib/get_data.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/lib/get_values.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/lib/get_values.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/lib/metric_query.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/lib/metric_query.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/lib/wrap_in_period.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/messages.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/mocks/custom_threshold_alert_result.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/mocks/custom_threshold_metric_params.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/register_custom_threshold_rule_type.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/utils.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/custom_threshold/utils.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/lib/rules/register_rule_types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/plugin.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/routes/assistant/route.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/routes/create_observability_server_route.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/routes/get_global_observability_server_route_repository.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/routes/register_routes.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/routes/rules/route.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/routes/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/saved_objects/threshold.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/services/index.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/services/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/ui_settings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/utils/create_or_update_index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/utils/create_or_update_index_template.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/utils/get_es_query_config.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/utils/get_es_query_config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/utils/get_parsed_filtered_query.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/utils/number.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/utils/queries.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/utils/queries.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/utils/retry.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/server/utils/retry.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/tsconfig.json (97%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/observability/typings/common.ts (100%) rename x-pack/{ => solutions/observability}/plugins/serverless_observability/.gitignore (100%) rename x-pack/{ => solutions/observability}/plugins/serverless_observability/README.mdx (100%) rename x-pack/{ => solutions/observability}/plugins/serverless_observability/common/index.ts (100%) rename x-pack/{ => solutions/observability}/plugins/serverless_observability/kibana.jsonc (100%) rename x-pack/{ => solutions/observability}/plugins/serverless_observability/package.json (61%) rename x-pack/{ => solutions/observability}/plugins/serverless_observability/public/index.ts (100%) rename x-pack/{ => solutions/observability}/plugins/serverless_observability/public/logs_signal/overview_registration.ts (100%) rename x-pack/{ => solutions/observability}/plugins/serverless_observability/public/navigation_tree.ts (100%) rename x-pack/{ => solutions/observability}/plugins/serverless_observability/public/plugin.ts (100%) rename x-pack/{ => solutions/observability}/plugins/serverless_observability/public/types.ts (100%) rename x-pack/{ => solutions/observability}/plugins/serverless_observability/server/config.ts (100%) rename x-pack/{ => solutions/observability}/plugins/serverless_observability/server/index.ts (100%) rename x-pack/{ => solutions/observability}/plugins/serverless_observability/server/plugin.ts (100%) rename x-pack/{ => solutions/observability}/plugins/serverless_observability/server/types.ts (100%) rename x-pack/{ => solutions/observability}/plugins/serverless_observability/tsconfig.json (89%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/.buildkite/pipelines/flaky.js (100%) create mode 100755 x-pack/solutions/observability/plugins/synthetics/.buildkite/pipelines/flaky.sh rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/README.md (98%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/__mocks__/@kbn/code-editor/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/constants/capabilities.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/constants/client_defaults.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/constants/context_defaults.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/constants/data_filters.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/constants/data_test_subjects.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/constants/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/constants/monitor_defaults.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/constants/monitor_management.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/constants/plugin.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/constants/settings_defaults.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/constants/synthetics/client_defaults.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/constants/synthetics/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/constants/synthetics/rest_api.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/constants/synthetics_alerts.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/constants/ui.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/field_names.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/formatters/format_space_name.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/formatters/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/lib/combine_filters_and_user_search.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/lib/combine_filters_and_user_search.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/lib/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/lib/schedule_to_time.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/lib/schedule_to_time.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/lib/stringify_kueries.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/lib/stringify_kueries.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/requests/get_certs_request_body.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/rules/alert_actions.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/rules/alert_actions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/rules/status_rule.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/rules/status_rule.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/rules/synthetics/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/rules/synthetics_rule_field_map.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/rules/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/alert_rules/common.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/alerts/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/alerts/status_check.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/alerts/tls.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/certs.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/common.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/dynamic_settings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/monitor/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/monitor/state.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/monitor_management/alert_config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/monitor_management/alert_config_schema.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/monitor_management/config_key.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/monitor_management/filters.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/monitor_management/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/monitor_management/locations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/monitor_management/monitor_configs.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/monitor_management/monitor_meta_data.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/monitor_management/monitor_types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/monitor_management/monitor_types_project.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/monitor_management/sort_field.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/monitor_management/state.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/monitor_management/synthetics_overview_status.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/monitor_management/synthetics_params.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/monitor_management/synthetics_private_locations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/network_events.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/ping/error_state.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/ping/histogram.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/ping/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/ping/observer.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/ping/ping.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/ping/synthetics.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/ping/synthetics.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/snapshot/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/snapshot/snapshot_count.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/runtime_types/synthetics_service_api_key.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/saved_objects/private_locations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/translations/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/types/default_alerts.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/types/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/types/monitor_validation.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/types/overview.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/types/saved_objects.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/types/synthetics_monitor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/utils/as_mutable_array.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/utils/es_search.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/utils/get_synthetics_monitor_url.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/utils/location_formatter.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/common/utils/t_enum.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/README.md (75%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/fixtures/es_archiver/browser/data.json.gz (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/fixtures/es_archiver/browser/mappings.json (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/fixtures/es_archiver/full_heartbeat/data.json.gz (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/fixtures/es_archiver/full_heartbeat/mappings.json (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/fixtures/es_archiver/synthetics_data/data.json.gz (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/helpers/make_checks.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/helpers/make_ping.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/helpers/make_tls.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/helpers/utils.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/kibana.jsonc (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/page_objects/login.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/page_objects/utils.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/add_monitor.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/alert_rules/custom_status_alert.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/alert_rules/default_status_alert.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/alert_rules/sample_docs/sample_docs.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/alerting_default.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/data_retention.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/detail_flyout.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/getting_started.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/global_parameters.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/management_list.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/monitor_details_page/monitor_summary.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/monitor_form_validation.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/monitor_selector.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/overview_scrolling.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/overview_search.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/overview_sorting.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/private_locations.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/project_api_keys.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/project_monitor_read_only.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/services/add_monitor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/services/add_monitor_project.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/services/data/browser_docs.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/services/settings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/services/synthetics_services.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/step_details.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/test_now_mode.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/journeys/test_run_details.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/page_objects/synthetics_app.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/page_objects/utils.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/synthetics/synthetics_run.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/e2e/tsconfig.json (89%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/jest.config.js (56%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/kibana.jsonc (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/embeddables/common/field_selector.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/embeddables/common/monitor_configuration.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/embeddables/common/monitor_filters_form.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/embeddables/common/monitors_open_configuration.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/embeddables/common/optional_text.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/embeddables/common/show_selected_filters.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/embeddables/common/utils.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/embeddables/constants.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/embeddables/hooks/use_fetch_synthetics_suggestions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/embeddables/monitors_overview/monitors_embeddable_factory.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/embeddables/monitors_overview/monitors_grid_component.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/embeddables/monitors_overview/redux_store.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/embeddables/monitors_overview/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/embeddables/register_embeddables.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/embeddables/stats_overview/redux_store.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/embeddables/stats_overview/stats_overview_component.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/embeddables/stats_overview/stats_overview_embeddable_factory.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/embeddables/synthetics_embeddable_context.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/embeddables/ui_actions/compatibility_check.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/embeddables/ui_actions/create_monitors_overview_panel_action.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/embeddables/ui_actions/create_stats_overview_panel_action.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/embeddables/ui_actions/register_ui_actions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/locators/edit_monitor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/locators/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/locators/monitor_detail.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/locators/settings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/alerts/alert_tls.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/alerts/common/condition_locations_value.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/alerts/common/condition_window_value.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/alerts/common/field_filters.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/alerts/common/field_popover_expression.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/alerts/common/field_selector.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/alerts/common/field_selector.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/alerts/common/fields.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/alerts/common/for_the_last_expression.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/alerts/common/group_by_field.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/alerts/common/popover_expression.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/alerts/hooks/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/alerts/hooks/use_fetch_synthetics_suggestions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/alerts/hooks/use_synthetics_rules.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/alerts/query_bar.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/alerts/rule_name_with_loading.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/alerts/status_rule_expression.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/alerts/status_rule_ui.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/alerts/tls_rule_ui.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/alerts/toggle_alert_flyout_button.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/certificates/cert_monitors.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/certificates/cert_refresh_btn.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/certificates/cert_search.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/certificates/cert_status.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/certificates/certificate_title.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/certificates/certificates.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/certificates/certificates.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/certificates/certificates_list.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/certificates/certificates_list.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/certificates/fingerprint_col.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/certificates/fingerprint_col.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/certificates/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/certificates/monitor_page_link.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/certificates/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/certificates/use_cert_search.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/certificates/use_cert_status.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/alerting_callout/alerting_callout.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/alerting_callout/alerting_callout.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/components/add_to_dashboard.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/components/auto_refresh_button.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/components/embeddable_panel_wrapper.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/components/filter_status_button.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/components/last_refreshed.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/components/location_status_badges.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/components/monitor_details_panel.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/components/monitor_inspect.tsx (99%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/components/monitor_location_select.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/components/monitor_status.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/components/monitor_type_badge.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/components/page_loader.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/components/panel_with_title.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/components/permissions.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/components/refresh_button.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/components/stderr_logs.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/components/table_title.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/components/thershold_indicator.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/components/use_std_error_logs.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/components/view_document.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/date_picker/synthetics_date_picker.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/date_picker/synthetics_date_picker.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/header/action_menu.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/header/action_menu_content.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/header/action_menu_content.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/header/inspector_header_link.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/links/add_monitor.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/links/error_details_link.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/links/manage_rules_link.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/links/step_details_link.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/links/test_details_link.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/links/view_alerts.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/monitor_test_result/browser_steps_list.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/monitor_test_result/browser_steps_list.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/monitor_test_result/journey_screenshot_preview.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/monitor_test_result/journey_screenshot_preview.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/monitor_test_result/result_details.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/monitor_test_result/result_details_successful.tsx (97%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/monitor_test_result/single_ping_result.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/monitor_test_result/status_badge.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/monitor_test_result/step_duration_text.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/monitor_test_result/use_retrieve_step_image.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/page_template/synthetics_page_template.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/react_router_helpers/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/react_router_helpers/link_events.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/react_router_helpers/link_events.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/react_router_helpers/link_for_eui.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/react_router_helpers/link_for_eui.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/screenshot/empty_thumbnail.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/screenshot/empty_thumbnail.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/screenshot/journey_last_screenshot.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/screenshot/journey_screenshot_dialog.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/screenshot/journey_screenshot_dialog.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/screenshot/journey_step_screenshot_container.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/screenshot/journey_step_screenshot_container.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/screenshot/screenshot_image.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/screenshot/screenshot_size.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/step_field_trend/step_field_trend.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/common/step_field_trend/step_field_trend.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/error_details/components/error_duration.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/error_details/components/error_started_at.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/error_details/components/error_timeline.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/error_details/components/failed_tests_list.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/error_details/components/resolved_at.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/error_details/error_details_page.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/error_details/hooks/use_error_details_breadcrumbs.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/error_details/hooks/use_error_failed_tests.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/error_details/hooks/use_find_my_killer_state.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/error_details/hooks/use_step_details.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/error_details/route_config.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/getting_started/form_fields/service_locations.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/getting_started/getting_started_page.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/getting_started/getting_started_page.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/getting_started/simple_monitor_form.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/getting_started/simple_monitor_form.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/getting_started/use_simple_monitor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/advanced/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/constants.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/edit_monitor_not_found.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/code_editor.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/combo_box.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/combo_box.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/header_field.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/header_field.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/index_response_body_field.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/index_response_body_field.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/key_value_field.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/key_value_field.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/monitor_type_radio_group.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/optional_label.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/request_body_field.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/request_body_field.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/script_recorder_fields.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/script_recorder_fields.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/source_field.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/source_field.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/connection_profile.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_config_field.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_config_field.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_disabled_callout.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_download_field.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_exceeded_callout.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_fields.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_fields.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_latency_field.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_upload_field.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/use_connection_profiles.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/uploader.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/form/controlled_field.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/form/defaults.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/form/defaults.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/form/disclaimer.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/form/disclaimer.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/form/field.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/form/field_config.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/form/field_wrappers.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/form/form_config.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/form/formatter.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/form/formatter.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/form/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/form/run_test_btn.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/form/submit.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/form/validation.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/form/validation.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_clone_monitor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_is_edit_flow.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_monitor_not_found.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_monitor_save.tsx (98%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_validate_field.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/locations_loading_error.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_add_page.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_add_page.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_details_portal.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_edit_page.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_edit_page.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/portals.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/can_use_public_locations_callout.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/inspect_monitor_portal.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/monitor_type.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/monitor_type_portal.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/read_only_callout.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/step.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/step_config.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/step_fields.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_add_edit/use_breadcrumbs.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_error_failed_step.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_failed_tests_by_step.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_fetch_active_alerts.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_journey_steps.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_errors.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_latest_ping.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_pings.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_query_filters.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_query_id.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_range_from.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_selected_location.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_selected_monitor.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_alerts/alerts_icon.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_alerts/monitor_detail_alerts.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_last_run.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_location.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_page_title.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_status.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/errors_icon.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/errors_list.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/errors_tab_content.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/failed_tests.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/failed_tests_by_step.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/failed_tests_count.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/monitor_errors.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_history/monitor_history.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_not_found_page.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_pending_wrapper.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_pending_wrapper.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_selector/monitor_searchable_list.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_selector/monitor_selector.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_selector/use_recently_viewed_monitors.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_selector/use_recently_viewed_monitors.ts (98%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/labels.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_cell_tooltip.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_chart_theme.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_data.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_data.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_header.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_legend.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_panel.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/use_monitor_status_data.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/use_monitor_status_data.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/alert_actions.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/availability_panel.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/availability_sparklines.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/duration_panel.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/duration_sparklines.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/duration_trend.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/edit_monitor_link.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/last_test_run.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/locations_status.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_alerts.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_complete_count.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_complete_sparklines.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_details_panel_container.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_error_sparklines.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_errors_count.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_summary.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_total_runs_count.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/status_filter.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/step_duration_panel.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/test_runs_table.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/test_runs_table_header.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/route_config.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/run_test_manually.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitor_details/use_monitor_details_page.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/filter_button.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/filter_group.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/list_filters.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/use_filters.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/use_filters.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/common/no_monitors_found.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/common/no_monitors_found.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/common/search_field.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/common/search_field.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/common/show_all_spaces.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/create_monitor_button.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_breadcrumbs.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_can_use_public_loc_id.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_create_slo.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_inline_errors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_inline_errors_count.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_monitor_filters.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_monitor_filters.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_monitor_list.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_monitor_list.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_monitor_query_filters.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_overview_status.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/management/disabled_callout.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/management/labels.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/management/loader/loader.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/management/loader/loader.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_errors/monitor_async_error.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_errors/monitor_async_error.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_container.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/bulk_operations.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/columns.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/delete_monitor.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/labels.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_details_link.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_enabled.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_list.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_list_header.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_locations.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_stats/monitor_stats.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_stats/monitor_test_runs.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_stats/monitor_test_runs_sparkline.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/management/page_header/monitors_page_header.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/management/show_sync_errors.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/management/synthetics_enablement/labels.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/management/synthetics_enablement/synthetics_enablement.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/monitors_page.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/actions_popover.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/actions_popover.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/grid_by_group/grid_group_item.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/grid_by_group/grid_items_by_group.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/grid_by_group/group_fields.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/grid_by_group/group_menu.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/grid_by_group/use_filtered_group_monitors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item/metric_item_body.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item/metric_item_extra.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item/metric_item_extra.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item_icon.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/monitor_detail_flyout.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/monitor_detail_flyout.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_alerts.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_errors/overview_errors.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_errors/overview_errors_count.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_errors/overview_errors_sparklines.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_grid.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_grid_item_loader.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_loader.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_pagination_info.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_status.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/quick_filters.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/quick_filters.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/sort_fields.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/sort_menu.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/overview_page.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/overview/use_breadcrumbs.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/monitors_page/route_config.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/alerting_defaults/add_connector_flyout.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/alerting_defaults/alert_defaults_form.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/alerting_defaults/connector_field.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/alerting_defaults/default_email.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/alerting_defaults/hooks/use_alerting_defaults.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/alerting_defaults/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/alerting_defaults/validation.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/components/optional_text.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/components/tags_field.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/data_retention/common.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/data_retention/common.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/data_retention/dsl_retention_tab.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/data_retention/ilm_retention_tab.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/data_retention/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/data_retention/policy_labels.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/data_retention/unprivileged.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/data_retention/use_management_locator.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/global_params/add_param_flyout.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/global_params/add_param_form.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/global_params/delete_param.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/global_params/param_value_field.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/global_params/params_list.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/global_params/params_text.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/hooks/api.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/hooks/use_get_data_stream_statuses.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/hooks/use_get_data_stream_statuses.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/hooks/use_get_ilm_policies.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/hooks/use_get_ilm_policies.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/hooks/use_params_list.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/page_header.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/policy_link.tsx (97%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/private_locations/add_location_flyout.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/private_locations/agent_policy_needed.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/private_locations/copy_name.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/private_locations/delete_location.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/private_locations/empty_locations.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/private_locations/hooks/use_location_monitors.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/private_locations/hooks/use_location_monitors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/private_locations/hooks/use_locations_api.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/private_locations/hooks/use_locations_api.ts (95%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/private_locations/location_form.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/private_locations/locations_table.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/private_locations/manage_empty_state.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/private_locations/manage_private_locations.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/private_locations/manage_private_locations.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/private_locations/policy_hosts.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/private_locations/policy_name.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/private_locations/view_location_monitors.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/project_api_keys/api_key_btn.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/project_api_keys/api_key_btn.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/project_api_keys/help_commands.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/project_api_keys/project_api_keys.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/project_api_keys/project_api_keys.tsx (99%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/route_config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/settings_page.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/settings/use_settings_breadcrumbs.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/common/network_data/data_formatting.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/common/network_data/data_formatting.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/common/network_data/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/error_callout.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_network_timings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_network_timings_prev.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_object_metrics.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_prev_object_metrics.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_step_detail_page.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_step_details_breadcrumbs.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_step_metrics.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_step_prev_metrics.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/network_timings_breakdown.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/route_config.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_detail_page.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_details_status.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_metrics/definitions_popover.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_metrics/labels.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_metrics/step_metrics.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_number_nav.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_objects/color_palette.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_objects/object_count_list.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_objects/object_weight_list.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_page_nav.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_screenshot/last_successful_screenshot.tsx (97%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_screenshot/step_image.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_timing_breakdown/breakdown_legend.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_timing_breakdown/network_timings_donut.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_title.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/use_step_waterfall_metrics.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/use_step_waterfall_metrics.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/README.md (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/constants.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/context/waterfall_context.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/middle_truncated_text.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/middle_truncated_text.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/sidebar.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/styles.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/use_bar_charts.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/use_bar_charts.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_bar_chart.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart_container.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart_container.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart_fixed_axis.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart_wrapper.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart_wrapper.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_flyout/use_flyout.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_flyout/use_flyout.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_flyout/waterfall_flyout.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_flyout/waterfall_flyout.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_flyout/waterfall_flyout_table.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/network_requests_total.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/network_requests_total.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_legend_item.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_mime_legend.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_mime_legend.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_search.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_search.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_tick_axis.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_tick_axis.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_timing_legend.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_marker_icon.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_marker_icon.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_marker_test_helper.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_marker_trend.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_marker_trend.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_markers.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_sidebar_item.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_sidebar_item.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_tooltip_content.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_tooltip_content.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_now_mode/browser/browser_test_results.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_browser_run_once_monitors.ts (99%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_run_once_errors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_simple_run_once_monitors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_test_flyout_open.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_tick_tick.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/browser_test_results.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/manual_test_run_mode.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/simple_test_results.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/columns/expand_row.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/columns/ping_error.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/columns/ping_status.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/columns/response_code.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/expanded_row.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/headers.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/ping_list_table.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/ping_redirects.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/use_ping_expanded.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_now_mode/simple/simple_test_results.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_now_mode/test_now_mode.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_now_mode/test_now_mode_flyout.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_now_mode/test_now_mode_flyout_container.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_now_mode/test_result_header.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_run_details/components/step_details.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_run_details/components/step_info.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_run_details/components/step_number_nav.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_run_details/components/test_run_date.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_run_details/components/test_run_details_status.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_run_details/components/test_run_error_info.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_run_details/hooks/use_test_run_details_breadcrumbs.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_run_details/route_config.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_run_details/step_screenshot_details.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_run_details/step_tabs.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_run_details/test_run_details.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/components/test_run_details/test_run_steps.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/contexts/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/contexts/synthetics_data_view_context.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/contexts/synthetics_embeddable_context.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/contexts/synthetics_refresh_context.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/contexts/synthetics_settings_context.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/contexts/synthetics_shared_context.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_absolute_date.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_absolute_date.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_breadcrumbs.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_breadcrumbs.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_composite_image.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_composite_image.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_dimensions.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_edit_monitor_locator.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_enablement.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_fleet_permissions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_location_name.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_location_name.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_locations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_monitor_alert_enable.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_monitor_detail.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_monitor_detail_locator.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_monitor_enable_handler.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_monitor_name.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_monitor_name.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_monitors_sorted_by_status.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_monitors_sorted_by_status.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_redux_es_search.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_status_by_location.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_status_by_location_overview.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_synthetics_priviliges.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_synthetics_priviliges.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_url_params.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/hooks/use_url_params.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/lib/alert_types/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/lib/alert_types/lazy_wrapper/monitor_status.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/lib/alert_types/lazy_wrapper/tls_alert.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/lib/alert_types/lazy_wrapper/validate_tls_alert.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/lib/alert_types/monitor_status.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/lib/alert_types/tls.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/lib/alert_types/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/render_app.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/routes.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/alert_rules/actions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/alert_rules/api.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/alert_rules/effects.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/alert_rules/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/alert_rules/selectors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/browser_journey/actions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/browser_journey/api.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/browser_journey/api.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/browser_journey/effects.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/browser_journey/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/browser_journey/models.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/browser_journey/selectors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/certificates/certificates.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/certs/actions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/certs/api.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/certs/effects.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/certs/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/certs/selectors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/elasticsearch/actions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/elasticsearch/api.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/elasticsearch/effects.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/elasticsearch/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/elasticsearch/selectors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/global_params/actions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/global_params/api.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/global_params/effects.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/global_params/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/global_params/selectors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/manual_test_runs/actions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/manual_test_runs/api.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/manual_test_runs/effects.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/manual_test_runs/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/manual_test_runs/selectors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/monitor_details/actions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/monitor_details/api.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/monitor_details/effects.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/monitor_details/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/monitor_details/selectors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/monitor_list/actions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/monitor_list/api.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/monitor_list/effects.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/monitor_list/helpers.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/monitor_list/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/monitor_list/models.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/monitor_list/selectors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/monitor_list/toast_title.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/monitor_management/api.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/network_events/actions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/network_events/api.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/network_events/effects.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/network_events/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/network_events/selectors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/overview/actions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/overview/api.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/overview/effects.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/overview/effects.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/overview/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/overview/models.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/overview/selectors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/overview_status/actions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/overview_status/api.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/overview_status/effects.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/overview_status/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/overview_status/selectors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/private_locations/actions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/private_locations/api.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/private_locations/effects.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/private_locations/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/private_locations/selectors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/root_effect.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/root_reducer.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/service_locations/actions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/service_locations/api.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/service_locations/effects.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/service_locations/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/service_locations/selectors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/settings/actions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/settings/api.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/settings/effects.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/settings/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/settings/selectors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/status_heatmap/actions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/status_heatmap/api.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/status_heatmap/effects.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/status_heatmap/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/status_heatmap/models.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/status_heatmap/selectors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/store.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/synthetics_enablement/actions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/synthetics_enablement/api.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/synthetics_enablement/effects.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/synthetics_enablement/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/synthetics_enablement/selectors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/ui/actions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/ui/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/ui/selectors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/utils/actions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/utils/fetch_effect.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/state/utils/http_error.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/synthetics_app.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/adapters/capabilities_adapter.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/adapters/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/filters/filter_fields.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/formatting/format.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/formatting/format.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/formatting/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/formatting/test_helpers.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/monitor_test_result/check_pings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/monitor_test_result/compose_screenshot_images.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/monitor_test_result/compose_screenshot_images.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/monitor_test_result/sort_pings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/monitor_test_result/test_time_formats.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/monitor_test_result/test_time_formats.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/testing/__mocks__/synthetics_plugin_start_mock.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/testing/__mocks__/synthetics_store.mock.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/testing/__mocks__/ut_router_history.mock.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/testing/helper_with_redux.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/testing/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/testing/rtl_helpers.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/url_params/get_supported_url_params.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/url_params/get_supported_url_params.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/url_params/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/url_params/parse_absolute_date.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/url_params/parse_absolute_date.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/url_params/stringify_url_params.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/url_params/stringify_url_params.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/validators/is_url_valid.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/apps/synthetics/utils/validators/is_url_valid.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/hooks/use_base_chart_theme.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/hooks/use_capabilities.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/hooks/use_date_format.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/hooks/use_date_format.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/hooks/use_form_wrapped.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/hooks/use_kibana_space.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/plugin.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/utils/api_service/api_service.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/utils/api_service/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/utils/kibana_service/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/public/utils/kibana_service/kibana_service.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/scripts/base_e2e.js (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/scripts/e2e.js (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/scripts/generate_monitors.js (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/scripts/tasks/generate_monitors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/alert_rules/action_variables.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/alert_rules/common.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/alert_rules/common.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/alert_rules/status_rule/message_utils.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/alert_rules/status_rule/monitor_status_rule.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/alert_rules/status_rule/queries/filter_monitors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/alert_rules/status_rule/queries/query_monitor_status_alert.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/alert_rules/status_rule/status_rule_executor.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/alert_rules/status_rule/status_rule_executor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/alert_rules/status_rule/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/alert_rules/status_rule/utils.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/alert_rules/tls_rule/message_utils.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/alert_rules/tls_rule/message_utils.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/alert_rules/tls_rule/tls_rule.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/alert_rules/tls_rule/tls_rule_executor.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/alert_rules/tls_rule/tls_rule_executor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/alert_rules/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/common/pings/monitor_status_heatmap.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/common/pings/query_pings.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/common/pings/query_pings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/common/unzip_project_code.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/constants/settings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/feature.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/lib.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/lib.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/plugin.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/queries/get_certs.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/queries/get_index_pattern.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/queries/get_journey_details.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/queries/get_journey_failed_steps.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/queries/get_journey_failed_steps.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/queries/get_journey_screenshot.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/queries/get_journey_screenshot.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/queries/get_journey_screenshot_blocks.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/queries/get_journey_screenshot_blocks.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/queries/get_journey_steps.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/queries/get_journey_steps.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/queries/get_last_successful_check.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/queries/get_last_successful_check.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/queries/get_monitor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/queries/get_network_events.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/queries/get_network_events.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/queries/journey_screenshots.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/queries/test_helpers.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/certs/get_certificates.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/certs/get_certificates.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/common.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/common.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/create_route_with_auth.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/create_route_with_auth.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/default_alerts/default_alert_service.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/default_alerts/default_alert_service.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/default_alerts/enable_default_alert.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/default_alerts/get_action_connectors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/default_alerts/get_connector_types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/default_alerts/get_default_alert.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/default_alerts/update_default_alert.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/filters/filters.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/fleet/get_has_integration_monitors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/monitor_cruds/add_monitor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/monitor_cruds/add_monitor/add_monitor_api.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/monitor_cruds/add_monitor/add_monitor_api.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/monitor_cruds/add_monitor/utils.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/monitor_cruds/add_monitor/utils.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/monitor_cruds/add_monitor_project.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/monitor_cruds/bulk_cruds/add_monitor_bulk.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/monitor_cruds/bulk_cruds/delete_monitor_bulk.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/monitor_cruds/bulk_cruds/edit_monitor_bulk.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/monitor_cruds/delete_integration.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/monitor_cruds/delete_monitor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/monitor_cruds/delete_monitor_project.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/monitor_cruds/edit_monitor.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/monitor_cruds/edit_monitor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/monitor_cruds/formatters/saved_object_to_monitor.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/monitor_cruds/formatters/saved_object_to_monitor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/monitor_cruds/get_api_key.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/monitor_cruds/get_monitor.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/monitor_cruds/get_monitor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/monitor_cruds/get_monitor_project.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/monitor_cruds/get_monitors_list.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/monitor_cruds/inspect_monitor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/monitor_cruds/monitor_validation.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/monitor_cruds/monitor_validation.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/monitor_cruds/services/delete_monitor_api.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/monitor_cruds/services/validate_space_id.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/network_events/get_network_events.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/network_events/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/overview_status/overview_status.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/overview_status/overview_status_service.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/overview_status/overview_status_service.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/overview_status/utils.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/overview_status/utils.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/overview_trends/fetch_trends.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/overview_trends/overview_trends.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/overview_trends/overview_trends.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/pings/get_pings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/pings/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/pings/journey_screenshot_blocks.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/pings/journey_screenshots.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/pings/journeys.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/pings/last_successful_check.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/pings/ping_heatmap.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/settings/dynamic_settings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/settings/params/add_param.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/settings/params/delete_param.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/settings/params/delete_params_bulk.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/settings/params/edit_param.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/settings/params/params.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/settings/private_locations/add_private_location.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/settings/private_locations/delete_private_location.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/settings/private_locations/get_agent_policies.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/settings/private_locations/get_location_monitors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/settings/private_locations/get_private_locations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/settings/private_locations/helpers.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/settings/private_locations/helpers.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/settings/private_locations/migrate_legacy_private_locations.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/settings/private_locations/migrate_legacy_private_locations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/settings/settings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/settings/sync_global_params.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/suggestions/route.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/synthetics_service/enablement.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/synthetics_service/get_service_allowed.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/synthetics_service/get_service_locations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/synthetics_service/install_index_templates.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/synthetics_service/run_once_monitor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/synthetics_service/service_errors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/synthetics_service/test_now_monitor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/telemetry/monitor_upgrade_sender.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/telemetry/monitor_upgrade_sender.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/routes/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/runtime_types/private_locations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/runtime_types/settings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/saved_objects/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/saved_objects/migrations/monitors/8.6.0.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/saved_objects/migrations/monitors/8.6.0.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/saved_objects/migrations/monitors/8.8.0.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/saved_objects/migrations/monitors/8.8.0.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/saved_objects/migrations/monitors/8.9.0.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/saved_objects/migrations/monitors/8.9.0.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/saved_objects/migrations/monitors/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/saved_objects/migrations/monitors/test_fixtures/8.5.0.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/saved_objects/migrations/monitors/test_fixtures/8.7.0.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/saved_objects/migrations/private_locations/model_version_1.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/saved_objects/migrations/private_locations/model_version_1.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/saved_objects/private_locations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/saved_objects/saved_objects.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/saved_objects/service_api_key.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/saved_objects/synthetics_monitor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/saved_objects/synthetics_monitor/get_all_monitors.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/saved_objects/synthetics_monitor/get_all_monitors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/saved_objects/synthetics_param.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/saved_objects/synthetics_settings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/server.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_route_wrapper.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/authentication/check_has_privilege.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/common.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/formatting_utils.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/formatting_utils.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/lightweight_param_formatter.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/lightweight_param_formatter.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/private_formatters/browser_formatters.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/private_formatters/browser_formatters.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/private_formatters/common_formatters.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/private_formatters/common_formatters.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/private_formatters/format_synthetics_policy.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/private_formatters/format_synthetics_policy.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/private_formatters/formatters.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/private_formatters/formatters.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/private_formatters/formatting_utils.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/private_formatters/http_formatters.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/private_formatters/icmp_formatters.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/private_formatters/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/private_formatters/processors_formatter.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/private_formatters/tcp_formatters.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/private_formatters/tls_formatters.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/public_formatters/browser.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/public_formatters/browser.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/public_formatters/common.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/public_formatters/common.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/public_formatters/convert_to_data_stream.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/public_formatters/convert_to_data_stream.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/public_formatters/format_configs.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/public_formatters/format_configs.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/public_formatters/formatting_utils.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/public_formatters/http.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/public_formatters/icmp.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/public_formatters/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/public_formatters/tcp.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/public_formatters/tls.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/formatters/variable_parser.js (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/get_all_locations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/get_api_key.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/get_api_key.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/get_es_hosts.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/get_es_hosts.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/get_private_locations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/get_service_locations.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/get_service_locations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/private_location/clean_up_task.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/private_location/synthetics_private_location.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/private_location/synthetics_private_location.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/private_location/test_policy.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/project_monitor/normalizers/browser_monitor.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/project_monitor/normalizers/browser_monitor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/project_monitor/normalizers/common_fields.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/project_monitor/normalizers/common_fields.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/project_monitor/normalizers/http_monitor.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/project_monitor/normalizers/http_monitor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/project_monitor/normalizers/icmp_monitor.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/project_monitor/normalizers/icmp_monitor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/project_monitor/normalizers/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/project_monitor/normalizers/tcp_monitor.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/project_monitor/normalizers/tcp_monitor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/project_monitor/project_monitor_formatter.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/project_monitor/project_monitor_formatter.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/service_api_client.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/service_api_client.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/synthetics_monitor/synthetics_monitor_client.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/synthetics_monitor/synthetics_monitor_client.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/synthetics_service.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/synthetics_service.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/utils/fake_kibana_request.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/utils/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/utils/mocks.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/synthetics_service/utils/secrets.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/telemetry/__mocks__/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/telemetry/constants.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/telemetry/queue.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/telemetry/queue.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/telemetry/sender.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/telemetry/sender.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/telemetry/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/server/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/synthetics/tsconfig.json (97%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/.buildkite/pipelines/flaky.js (100%) create mode 100755 x-pack/solutions/observability/plugins/uptime/.buildkite/pipelines/flaky.sh rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/README.md (98%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/constants/capabilities.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/constants/chart_format_limits.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/constants/client_defaults.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/constants/context_defaults.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/constants/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/constants/plugin.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/constants/query.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/constants/rest_api.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/constants/settings_defaults.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/constants/synthetics_alerts.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/constants/ui.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/constants/uptime_alerts.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/lib/__snapshots__/assert_close_to.test.ts.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/lib/assert_close_to.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/lib/assert_close_to.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/lib/combine_filters_and_user_search.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/lib/combine_filters_and_user_search.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/lib/get_histogram_interval.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/lib/get_histogram_interval.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/lib/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/lib/ml.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/lib/ml.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/lib/stringify_kueries.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/lib/stringify_kueries.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/requests/get_certs_request_body.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/rules/alert_actions.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/rules/alert_actions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/rules/legacy_uptime/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/rules/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/rules/uptime_rule_field_map.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/runtime_types/alerts/common.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/runtime_types/alerts/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/runtime_types/alerts/status_check.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/runtime_types/alerts/tls.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/runtime_types/certs.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/runtime_types/common.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/runtime_types/dynamic_settings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/runtime_types/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/runtime_types/monitor/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/runtime_types/monitor/locations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/runtime_types/monitor/state.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/runtime_types/network_events.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/runtime_types/ping/error_state.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/runtime_types/ping/histogram.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/runtime_types/ping/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/runtime_types/ping/observer.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/runtime_types/ping/ping.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/runtime_types/ping/synthetics.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/runtime_types/ping/synthetics.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/runtime_types/snapshot/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/runtime_types/snapshot/snapshot_count.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/translations/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/types/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/types/integration_deprecation.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/types/monitor_duration.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/types/synthetics_monitor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/utils/as_mutable_array.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/utils/es_search.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/common/utils/get_monitor_url.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/README.md (75%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/fixtures/es_archiver/browser/data.json.gz (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/fixtures/es_archiver/browser/mappings.json (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/fixtures/es_archiver/full_heartbeat/data.json.gz (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/fixtures/es_archiver/full_heartbeat/mappings.json (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/fixtures/es_archiver/synthetics_data/data.json.gz (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/helpers/make_checks.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/helpers/make_ping.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/helpers/make_tls.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/helpers/utils.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/page_objects/login.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/page_objects/utils.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/tsconfig.json (88%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/uptime/journeys/alerts/default_email_settings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/uptime/journeys/alerts/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/uptime/journeys/alerts/status_alert_flyouts_in_alerting_app.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/uptime/journeys/alerts/tls_alert_flyouts_in_alerting_app.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/uptime/journeys/data_view_permissions.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/uptime/journeys/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/uptime/journeys/locations/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/uptime/journeys/locations/locations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/uptime/journeys/monitor_details/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/uptime/journeys/monitor_details/monitor_alerts.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/uptime/journeys/monitor_details/monitor_details.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/uptime/journeys/monitor_details/ping_redirects.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/uptime/journeys/step_duration.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/uptime/journeys/uptime.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/uptime/page_objects/monitor_details.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/uptime/page_objects/settings.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/e2e/uptime/synthetics_run.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/jest.config.js (57%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/kibana.jsonc (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/kibana_services.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/app/render_app.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/app/uptime_app.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/app/uptime_overview_fetcher.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/app/uptime_page_template.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/app/use_no_data_config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/certificates/__snapshots__/cert_monitors.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/certificates/__snapshots__/cert_search.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/certificates/__snapshots__/cert_status.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/certificates/cert_monitors.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/certificates/cert_monitors.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/certificates/cert_refresh_btn.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/certificates/cert_search.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/certificates/cert_search.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/certificates/cert_status.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/certificates/cert_status.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/certificates/certificate_title.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/certificates/certificates_list.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/certificates/certificates_list.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/certificates/fingerprint_col.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/certificates/fingerprint_col.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/certificates/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/certificates/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/certificates/use_cert_search.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/__snapshots__/location_link.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/__snapshots__/monitor_page_link.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/__snapshots__/monitor_tags.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/alerts/uptime_edit_alert_flyout.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/__snapshots__/chart_empty_state.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/__snapshots__/chart_wrapper.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/__snapshots__/donut_chart.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/__snapshots__/donut_chart_legend_row.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/__snapshots__/monitor_bar_series.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/annotation_tooltip.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/chart_empty_state.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/chart_empty_state.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/chart_wrapper.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/chart_wrapper/chart_wrapper.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/chart_wrapper/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/donut_chart.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/donut_chart.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/donut_chart_legend.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/donut_chart_legend.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/donut_chart_legend_row.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/donut_chart_legend_row.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/duration_chart.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/duration_charts.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/duration_line_bar_list.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/duration_line_series_list.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/get_tick_format.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/get_tick_format.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/monitor_bar_series.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/monitor_bar_series.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/ping_histogram.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/ping_histogram.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/utils.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/charts/utils.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/header/action_menu.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/header/action_menu_content.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/header/action_menu_content.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/header/inspector_header_link.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/header/manage_monitors_btn.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/higher_order/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/higher_order/responsive_wrapper.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/higher_order/responsive_wrapper.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/location_link.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/location_link.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/monitor_page_link.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/monitor_page_link.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/monitor_tags.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/monitor_tags.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/react_router_helpers/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/react_router_helpers/link_events.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/react_router_helpers/link_events.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/react_router_helpers/link_for_eui.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/react_router_helpers/link_for_eui.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/step_detail_link.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/uptime_date_picker.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/common/uptime_date_picker.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/fleet_package/deprecate_notice_modal.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/fleet_package/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/fleet_package/lazy_synthetics_custom_assets_extension.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/fleet_package/lazy_synthetics_policy_create_extension.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/fleet_package/lazy_synthetics_policy_edit_extension.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/fleet_package/synthetics_custom_assets_extension.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/fleet_package/synthetics_edit_policy_extension_wrapper.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/fleet_package/synthetics_policy_create_extension.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/fleet_package/synthetics_policy_create_extension_wrapper.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/fleet_package/synthetics_policy_edit_extension_wrapper.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/fleet_package/use_edit_monitor_locator.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/__snapshots__/monitor_charts.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ml/__snapshots__/confirm_delete.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ml/__snapshots__/ml_integerations.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ml/confirm_alert_delete.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ml/confirm_delete.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ml/confirm_delete.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ml/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ml/license_info.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ml/license_info.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ml/manage_ml_job.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ml/ml_flyout.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ml/ml_flyout.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ml/ml_flyout_container.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ml/ml_integeration.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ml/ml_integerations.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ml/ml_job_link.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ml/ml_job_link.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ml/ml_manage_job.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ml/translations.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ml/use_anomaly_alert.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/monitor_charts.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/monitor_charts.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/monitor_duration/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/monitor_duration/monitor_duration.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/monitor_duration/monitor_duration_container.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/monitor_title.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/monitor_title.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_histogram/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_histogram/ping_histogram_container.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/__snapshots__/expanded_row.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/__snapshots__/ping_headers.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/columns/expand_row.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/columns/expand_row.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/columns/failed_step.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_error.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_status.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/no_image_available.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/no_image_available.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/no_image_display.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/no_image_display.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/ping_timestamp.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/ping_timestamp.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/step_image_caption.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/step_image_caption.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/step_image_popover.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/step_image_popover.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/use_in_progress_image.ts (97%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/columns/response_code.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/doc_link_body.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/doc_link_body.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/expanded_row.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/expanded_row.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/headers.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/location_name.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/ping_headers.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/ping_list.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/ping_list.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/ping_list_header.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/ping_list_table.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/ping_redirects.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/response_code.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/ping_list/use_pings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/__snapshots__/monitor_status.bar.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/__snapshots__/ssl_certificate.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/__snapshots__/status_by_location.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/__snapshots__/tag_label.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/availability_reporting.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/availability_reporting.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/location_status_tags.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/location_status_tags.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/tag_label.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/tag_label.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/location_availability/location_availability.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/location_availability/location_availability.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/monitor_status.bar.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/ssl_certificate.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/monitor_redirects.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/ssl_certificate.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/status_bar.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/status_bar.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/status_by_location.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/use_status_bar.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/status_by_location.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/status_details.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/status_details_container.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/status_details/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/step_detail_container.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/step_page_nav.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/step_page_title.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/use_monitor_breadcrumb.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/use_monitor_breadcrumbs.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/use_step_waterfall_metrics.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/use_step_waterfall_metrics.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/data_formatting.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/data_formatting.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_chart_container.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_chart_container.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_chart_wrapper.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_chart_wrapper.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_filter.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_filter.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_flyout.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_flyout.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_sidebar_item.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_sidebar_item.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/README.md (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/constants.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/legend.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/middle_truncated_text.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/middle_truncated_text.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/network_requests_total.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/network_requests_total.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/sidebar.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/styles.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/use_bar_charts.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/use_bar_charts.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/use_flyout.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/use_flyout.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_bar_chart.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_chart.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_chart_fixed_axis.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_flyout_table.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_marker_icon.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_marker_icon.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_marker_test_helper.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_marker_trend.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_marker_trend.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_markers.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_tooltip_content.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_tooltip_content.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/context/waterfall_chart.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/__snapshots__/snapshot_heading.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/alert_expression_popover.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/alert_field_number.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/alert_field_number.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/alert_query_bar/query_bar.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/alert_tls.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/alert_monitor_status.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/alert_tls.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/toggle_alert_flyout_button.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/uptime_alerts_flyout_wrapper.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/use_snap_shot.ts (95%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/anomaly_alert/anomaly_alert.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/anomaly_alert/select_severity.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/anomaly_alert/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/__snapshots__/down_number_select.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/__snapshots__/time_expression_select.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/availability_expression_select.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/down_number_select.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/down_number_select.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/filters_expression_select.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/filters_expression_select.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/status_expression_select.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/time_expression_select.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/time_expression_select.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/time_unit_selectable.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/add_filter_btn.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/add_filter_btn.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/alert_monitor_status.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/alert_monitor_status.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/old_alert_call_out.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/old_alert_callout.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/toggle_alert_flyout_button.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/toggle_alert_flyout_button.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/alerts/uptime_alerts_flyout_wrapper.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/empty_state/empty_state_error.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/empty_state/empty_state_loading.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/empty_state/use_has_data.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/filter_group/filter_group.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/filter_group/filter_group.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/filter_group/selected_filters.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/filter_group/translations.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/integration_deprecation/index.tsx (97%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/integration_deprecation/integration_deprecation.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/integration_deprecation/integration_deprecation_callout.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/__snapshots__/filter_status_button.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/__snapshots__/status_filter.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/columns/cert_status_column.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/columns/define_connectors.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/columns/define_connectors.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/columns/enable_alert.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/columns/enable_alert.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/columns/monitor_name_col.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/columns/monitor_status_column.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/columns/monitor_status_column.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/columns/status_badge.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/columns/status_badge.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/columns/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/filter_status_button.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/filter_status_button.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_container.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/__snapshots__/integration_group.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/__snapshots__/integration_link.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/__snapshots__/monitor_list_drawer.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/__snapshots__/most_recent_error.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/actions_popover/actions_popover.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/actions_popover/actions_popover_container.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/actions_popover/integration_group.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/actions_popover/integration_link.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/data.json (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/enabled_alerts.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/integration_group.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/integration_link.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/list_drawer_container.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_list_drawer.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_list_drawer.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_status_list.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_status_list.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_status_row.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_status_row.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_url.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/most_recent_error.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/most_recent_error.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/most_recent_run.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_header.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_page_size_select.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_page_size_select.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/no_items_meesage.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/no_items_message.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/overview_page_link.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/parse_timestamp.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/parse_timestamp.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/status_filter.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/status_filter.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/troubleshoot_popover.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/monitor_list/use_monitor_histogram.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/query_bar/query_bar.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/query_bar/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/query_bar/use_query_bar.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/query_bar/use_query_bar.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/snapshot/__snapshots__/snapshot.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/snapshot/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/snapshot/snapshot.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/snapshot/snapshot.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/snapshot/snapshot_heading.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/snapshot/use_snap_shot.ts (95%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/snapshot_heading.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/overview/status_panel.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/settings/__snapshots__/certificate_form.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/settings/__snapshots__/indices_form.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/settings/add_connector_flyout.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/settings/alert_defaults_form.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/settings/certificate_form.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/settings/certificate_form.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/settings/default_email.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/settings/indices_form.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/settings/indices_form.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/settings/settings_actions.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/settings/settings_bottom_bar.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/settings/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/settings/use_settings_errors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/check_steps/stderr_logs.tsx (98%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/check_steps/step_duration.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/check_steps/step_expanded_row/screenshot_link.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/check_steps/step_expanded_row/step_screenshots.tsx (98%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/check_steps/step_field_trend.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/check_steps/step_field_trend.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/check_steps/step_image.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/check_steps/steps_list.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/check_steps/steps_list.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/check_steps/use_check_steps.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/check_steps/use_expanded_row.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/check_steps/use_expanded_row.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/check_steps/use_std_error_logs.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/code_block_accordion.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/console_event.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/console_event.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/console_output_event_list.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/console_output_event_list.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/empty_journey.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/empty_journey.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/executed_step.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/executed_step.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/status_badge.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/status_badge.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/step_screenshot_display.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/step_screenshot_display.tsx (99%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/components/synthetics/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/contexts/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/contexts/uptime_data_view_context.tsx (96%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/contexts/uptime_refresh_context.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/contexts/uptime_settings_context.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/contexts/uptime_startup_plugins_context.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/contexts/uptime_theme_context.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/hooks/__snapshots__/use_url_params.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/hooks/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/hooks/use_base_chart_theme.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/hooks/use_breadcrumbs.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/hooks/use_breadcrumbs.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/hooks/use_cert_status.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/hooks/use_composite_image.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/hooks/use_composite_image.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/hooks/use_filter_update.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/hooks/use_filter_update.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/hooks/use_init_app.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/hooks/use_mapping_check.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/hooks/use_mapping_check.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/hooks/use_monitor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/hooks/use_overview_filter_check.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/hooks/use_overview_filter_check.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/hooks/use_search_text.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/hooks/use_selected_filters.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/hooks/use_selected_filters.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/hooks/use_update_kuery_string.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/hooks/use_url_params.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/hooks/use_url_params.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/__mocks__/legacy_screenshot_ref.mock.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/__mocks__/legacy_use_composite_image.mock.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/__mocks__/uptime_plugin_start_mock.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/__mocks__/uptime_store.mock.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/__mocks__/ut_router_history.mock.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/adapters/framework/capabilities_adapter.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/alert_types/alert_messages.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/alert_types/common.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/alert_types/duration_anomaly.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/alert_types/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/alert_types/lazy_wrapper/duration_anomaly.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/alert_types/lazy_wrapper/monitor_status.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/alert_types/lazy_wrapper/tls_alert.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/alert_types/lazy_wrapper/validate_monitor_status.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/alert_types/lazy_wrapper/validate_tls_alert.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/alert_types/monitor_status.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/alert_types/monitor_status.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/alert_types/tls.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/alert_types/tls_legacy.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/formatting.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/charts/get_chart_date_label.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/charts/get_label_format.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/charts/get_label_format.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/charts/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/charts/is_within_current_date.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/charts/is_within_current_date.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/compose_screenshot_images.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/compose_screenshot_images.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/convert_measurements.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/convert_measurements.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/enzyme_helpers.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/helper_with_redux.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/observability_integration/add_base_path.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/observability_integration/build_href.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/observability_integration/get_apm_href.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/observability_integration/get_apm_href.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/observability_integration/get_infra_href.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/observability_integration/get_infra_href.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/observability_integration/get_logging_href.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/observability_integration/get_logging_href.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/observability_integration/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/parse_search.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/parse_search.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/rtl_helpers.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/series_has_down_values.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/series_has_down_values.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/test_helpers.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/url_params/__snapshots__/get_supported_url_params.test.ts.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/url_params/get_supported_url_params.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/url_params/get_supported_url_params.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/url_params/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/url_params/parse_absolute_date.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/url_params/parse_absolute_date.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/helper/url_params/stringify_url_params.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/lib/lib.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/pages/certificates.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/pages/certificates.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/pages/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/pages/mapping_error.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/pages/monitor.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/pages/monitor.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/pages/not_found.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/pages/not_found.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/pages/overview.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/pages/overview.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/pages/settings.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/pages/settings.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/pages/synthetics/checks_navigation.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/pages/synthetics/step_detail_page.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/pages/synthetics/synthetics_checks.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/pages/synthetics/synthetics_checks.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/pages/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/routes.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/actions/dynamic_settings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/actions/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/actions/index_status.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/actions/journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/actions/ml_anomaly.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/actions/monitor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/actions/monitor_duration.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/actions/monitor_list.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/actions/monitor_status.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/actions/network_events.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/actions/ping.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/actions/selected_filters.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/actions/snapshot.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/actions/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/actions/ui.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/actions/utils.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/alerts/alerts.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/api/__snapshots__/snapshot.test.ts.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/api/alerts.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/api/dynamic_settings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/api/has_integration_monitors.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/api/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/api/index_status.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/api/journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/api/ml_anomaly.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/api/monitor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/api/monitor_duration.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/api/monitor_list.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/api/monitor_status.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/api/network_events.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/api/ping.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/api/snapshot.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/api/snapshot.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/api/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/api/utils.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/certificates/certificates.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/effects/dynamic_settings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/effects/fetch_effect.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/effects/fetch_effect.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/effects/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/effects/index_status.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/effects/journey.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/effects/journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/effects/ml_anomaly.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/effects/monitor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/effects/monitor_duration.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/effects/monitor_list.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/effects/monitor_status.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/effects/network_events.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/effects/ping.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/effects/synthetic_journey_blocks.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/kibana_service.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/reducers/dynamic_settings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/reducers/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/reducers/index_status.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/reducers/journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/reducers/ml_anomaly.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/reducers/monitor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/reducers/monitor_duration.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/reducers/monitor_list.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/reducers/monitor_status.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/reducers/monitor_status.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/reducers/network_events.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/reducers/ping.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/reducers/ping_list.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/reducers/selected_filters.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/reducers/selected_filters.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/reducers/synthetics.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/reducers/synthetics.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/reducers/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/reducers/ui.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/reducers/ui.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/reducers/utils.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/selectors/index.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/legacy_uptime/state/selectors/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/locators/overview.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/locators/overview.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/plugin.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/utils/api_service/api_service.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/utils/api_service/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/utils/kibana_service/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/public/utils/kibana_service/kibana_service.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/scripts/base_e2e.js (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/scripts/uptime_e2e.js (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/constants/settings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/adapters/framework/adapter_types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/adapters/framework/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/adapters/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/alerts/action_variables.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/alerts/common.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/alerts/common.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/alerts/docs/params_property_synthetics_monitor_status.yaml (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/alerts/docs/params_property_synthetics_uptime_tls.yaml (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/alerts/duration_anomaly.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/alerts/duration_anomaly.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/alerts/status_check.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/alerts/status_check.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/alerts/test_utils/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/alerts/tls.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/alerts/tls.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/alerts/tls_legacy.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/alerts/tls_legacy.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/alerts/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/alerts/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/domains/__snapshots__/license.test.ts.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/domains/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/domains/license.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/domains/license.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/helper/__snapshots__/get_filter_clause.test.ts.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/helper/get_filter_clause.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/helper/get_filter_clause.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/helper/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/helper/make_date_rate_filter.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/helper/object_to_array.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/helper/parse_relative_date.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/lib.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/lib.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/__fixtures__/monitor_charts_mock.json (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/__snapshots__/generate_filter_aggs.test.ts.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/__snapshots__/get_monitor_details.test.ts.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/__snapshots__/get_monitor_duration.test.ts.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/__snapshots__/get_ping_histogram.test.ts.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/generate_filter_aggs.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/generate_filter_aggs.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_certs.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_certs.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_index_pattern.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_index_status.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_journey_details.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_journey_details.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_journey_failed_steps.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_journey_failed_steps.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_journey_screenshot.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_journey_screenshot.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_journey_screenshot_blocks.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_journey_screenshot_blocks.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_journey_steps.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_journey_steps.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_last_successful_check.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_last_successful_check.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_latest_monitor.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_latest_monitor.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_monitor_availability.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_monitor_availability.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_monitor_details.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_monitor_details.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_monitor_duration.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_monitor_duration.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_monitor_locations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_monitor_states.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_monitor_status.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_monitor_status.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_network_events.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_network_events.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_ping_histogram.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_ping_histogram.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_pings.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_pings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/get_snapshot_counts.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/search/fetch_chunk.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/search/find_potential_matches.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/search/get_query_string_filter.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/search/get_query_string_filter.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/search/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/search/monitor_summary_iterator.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/search/monitor_summary_iterator.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/search/query_context.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/search/refine_potential_matches.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/search/test_helpers.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/search/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/requests/test_helpers.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/saved_objects/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/saved_objects/migrations.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/saved_objects/migrations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/saved_objects/saved_objects.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/lib/saved_objects/uptime_settings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/routes/create_route_with_auth.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/routes/dynamic_settings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/routes/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/routes/index_state/get_index_status.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/routes/index_state/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/routes/monitors/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/routes/monitors/monitor_list.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/routes/monitors/monitor_locations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/routes/monitors/monitor_status.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/routes/monitors/monitors_details.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/routes/monitors/monitors_durations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/routes/network_events/get_network_events.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/routes/network_events/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/routes/pings/get_ping_histogram.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/routes/pings/get_pings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/routes/pings/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/routes/pings/journey_screenshot_blocks.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/routes/pings/journey_screenshot_blocks.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/routes/pings/journey_screenshots.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/routes/pings/journey_screenshots.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/routes/pings/journeys.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/routes/snapshot/get_snapshot_count.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/routes/snapshot/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/routes/synthetics/last_successful_check.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/routes/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/routes/uptime_route_wrapper.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/legacy_uptime/uptime_server.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/plugin.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/runtime_types/settings.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/server/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/uptime/tsconfig.json (96%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/.buildkite/pipelines/flaky.js (100%) create mode 100644 x-pack/solutions/observability/plugins/ux/.buildkite/pipelines/flaky.sh rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/.storybook/main.js (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/CONTRIBUTING.md (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/common/agent_name.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/common/config.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/common/elasticsearch_fieldnames.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/common/environment_filter_values.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/common/environment_rt.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/common/fetch_options.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/common/transaction_types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/common/utils/merge_projection.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/common/utils/pick_keys.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/common/ux_ui_filter.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/e2e/README.md (56%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/e2e/fixtures/rum_8.0.0/data.json.gz (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/e2e/fixtures/rum_8.0.0/mappings.json (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/e2e/fixtures/rum_test_data/data.json.gz (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/e2e/fixtures/rum_test_data/mappings.json (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/e2e/journeys/core_web_vitals.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/e2e/journeys/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/e2e/journeys/inp.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/e2e/journeys/page_views.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/e2e/journeys/url_ux_query.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/e2e/journeys/utils.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/e2e/journeys/ux_client_metrics.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/e2e/journeys/ux_js_errors.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/e2e/journeys/ux_long_task_metric_journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/e2e/journeys/ux_visitor_breakdown.journey.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/e2e/page_objects/dashboard.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/e2e/page_objects/date_picker.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/e2e/page_objects/login.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/e2e/page_objects/utils.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/e2e/synthetics_run.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/e2e/tsconfig.json (81%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/jest.config.js (73%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/kibana.jsonc (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/application/application.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/application/ux_app.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/action_menu/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/action_menu/inpector_link.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/breakdowns/breakdown_filter.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/chart_wrapper/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/charts/__snapshots__/visitor_breakdown_chart.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/charts/page_load_dist_chart.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/charts/page_views_chart.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/charts/use_exp_view_attrs.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/charts/visitor_breakdown_chart.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/charts/visitor_breakdown_chart.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/client_metrics/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/client_metrics/metrics.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/csm_shared_context/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/empty_state_loading.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/environment_filter/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/hooks/use_has_rum_data.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/hooks/use_local_uifilters.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/hooks/use_ux_query.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/impactful_metrics/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/impactful_metrics/js_errors.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/local_uifilters/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/local_uifilters/queries.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/local_uifilters/selected_filters.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/local_uifilters/selected_wildcards.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/local_uifilters/use_data_view.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/page_load_distribution/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/page_load_distribution/percentile_annotations.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/page_load_distribution/reset_percentile_zoom.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/page_load_distribution/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/page_views_trend/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/panels/page_load_and_views.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/panels/visitor_breakdowns.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/panels/web_application_select.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/rum_dashboard.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/rum_datepicker/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/rum_home.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/url_filter/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/url_filter/service_name_filter/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/url_filter/url_search/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/url_filter/url_search/render_option.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/url_filter/url_search/use_url_search.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/user_percentile/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/utils/test_helper.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/ux_metrics/format_to_sec.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/ux_metrics/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/ux_metrics/key_ux_metrics.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/ux_metrics/key_ux_metrics.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/ux_metrics/translations.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/ux_overview_fetchers.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/visitor_breakdown/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/visitor_breakdown_map/__mocks__/regions_layer.mock.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/visitor_breakdown_map/__snapshots__/embedded_map.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/visitor_breakdown_map/__snapshots__/map_tooltip.test.tsx.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/visitor_breakdown_map/__stories__/map_tooltip.stories.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/visitor_breakdown_map/embedded_map.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/visitor_breakdown_map/embedded_map.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/visitor_breakdown_map/index.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/visitor_breakdown_map/map_tooltip.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/visitor_breakdown_map/map_tooltip.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/visitor_breakdown_map/use_layer_list.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/visitor_breakdown_map/use_layer_list.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/components/app/rum_dashboard/visitor_breakdown_map/use_map_filters.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/context/plugin_context.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/context/url_params_context/constants.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/context/url_params_context/helpers.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/context/url_params_context/helpers.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/context/url_params_context/mock_url_params_context_provider.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/context/url_params_context/resolve_url_params.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/context/url_params_context/types.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/context/url_params_context/url_params_context.test.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/context/url_params_context/url_params_context.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/context/url_params_context/use_url_params.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/context/url_params_context/use_ux_url_params.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/context/use_ux_plugin_context.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/hooks/use_breakpoints.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/hooks/use_client_metrics_query.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/hooks/use_core_web_vitals_query.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/hooks/use_date_range_redirect.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/hooks/use_deep_object_identity.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/hooks/use_dynamic_data_view.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/hooks/use_environments_fetcher.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/hooks/use_fetcher.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/hooks/use_inp_query.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/hooks/use_js_errors_query.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/hooks/use_kibana_services.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/hooks/use_long_task_metrics_query.tsx (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/hooks/use_static_data_view.ts (91%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/plugin.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/data/__snapshots__/client_metrics_query.test.ts.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/data/__snapshots__/core_web_vitals_query.test.ts.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/data/__snapshots__/js_errors_query.test.ts.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/data/__snapshots__/long_task_metrics_query.test.ts.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/data/__snapshots__/service_name_query.test.ts.snap (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/data/call_date_math.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/data/client_metrics_query.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/data/client_metrics_query.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/data/core_web_vitals_query.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/data/core_web_vitals_query.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/data/environments_query.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/data/get_es_filter.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/data/get_es_filter.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/data/get_exp_view_filter.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/data/get_exp_view_filter.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/data/has_rum_data_query.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/data/inp_query.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/data/js_errors_query.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/data/js_errors_query.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/data/long_task_metrics_query.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/data/long_task_metrics_query.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/data/projections.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/data/range_query.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/data/service_name_query.test.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/data/service_name_query.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/data/url_search_query.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/rest/call_api.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/rest/create_call_apm_api.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/public/services/rest/data_view.ts (100%) create mode 100644 x-pack/solutions/observability/plugins/ux/readme.md rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/scripts/e2e.js (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/server/index.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/server/plugin.ts (100%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/tsconfig.json (94%) rename x-pack/{plugins/observability_solution => solutions/observability/plugins}/ux/typings/ui_filters.ts (100%) diff --git a/.buildkite/ftr_oblt_stateful_configs.yml b/.buildkite/ftr_oblt_stateful_configs.yml index eed4654725038..1a2797795828e 100644 --- a/.buildkite/ftr_oblt_stateful_configs.yml +++ b/.buildkite/ftr_oblt_stateful_configs.yml @@ -12,14 +12,14 @@ disabled: - x-pack/plugins/observability_solution/profiling/e2e/ftr_config.ts #FTR configs - - x-pack/plugins/observability_solution/uptime/e2e/config.ts + - x-pack/solutions/observability/plugins/uptime/e2e/config.ts # Elastic Synthetics configs - - x-pack/plugins/observability_solution/uptime/e2e/uptime/synthetics_run.ts - - x-pack/plugins/observability_solution/synthetics/e2e/config.ts - - x-pack/plugins/observability_solution/synthetics/e2e/synthetics/synthetics_run.ts - - x-pack/plugins/observability_solution/exploratory_view/e2e/synthetics_run.ts - - x-pack/plugins/observability_solution/ux/e2e/synthetics_run.ts + - x-pack/solutions/observability/plugins/uptime/e2e/uptime/synthetics_run.ts + - x-pack/solutions/observability/plugins/synthetics/e2e/config.ts + - x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/synthetics_run.ts + - x-pack/solutions/observability/plugins/exploratory_view/e2e/synthetics_run.ts + - x-pack/solutions/observability/plugins/ux/e2e/synthetics_run.ts - x-pack/plugins/observability_solution/slo/e2e/synthetics_run.ts defaultQueue: 'n2-4-spot' diff --git a/.buildkite/pipelines/on_merge_unsupported_ftrs.yml b/.buildkite/pipelines/on_merge_unsupported_ftrs.yml index a7800fcc92dce..8903254ff4e8f 100644 --- a/.buildkite/pipelines/on_merge_unsupported_ftrs.yml +++ b/.buildkite/pipelines/on_merge_unsupported_ftrs.yml @@ -73,7 +73,7 @@ steps: depends_on: build timeout_in_minutes: 120 artifact_paths: - - 'x-pack/plugins/observability_solution/synthetics/e2e/.journeys/**/*' + - 'x-pack/solutions/observability/plugins/synthetics/e2e/.journeys/**/*' retry: automatic: - exit_status: '-1' diff --git a/.buildkite/pipelines/pull_request/exploratory_view_plugin.yml b/.buildkite/pipelines/pull_request/exploratory_view_plugin.yml index 05fc218080cd4..cf0cbd7e2012f 100644 --- a/.buildkite/pipelines/pull_request/exploratory_view_plugin.yml +++ b/.buildkite/pipelines/pull_request/exploratory_view_plugin.yml @@ -14,7 +14,7 @@ steps: - check_oas_snapshot timeout_in_minutes: 60 artifact_paths: - - 'x-pack/plugins/observability_solution/exploratory_view/e2e/.journeys/**/*' + - 'x-pack/solutions/observability/plugins/exploratory_view/e2e/.journeys/**/*' retry: automatic: - exit_status: '-1' diff --git a/.buildkite/pipelines/pull_request/synthetics_plugin.yml b/.buildkite/pipelines/pull_request/synthetics_plugin.yml index b4079b9fac307..5018dad0e58f7 100644 --- a/.buildkite/pipelines/pull_request/synthetics_plugin.yml +++ b/.buildkite/pipelines/pull_request/synthetics_plugin.yml @@ -14,7 +14,7 @@ steps: - check_oas_snapshot timeout_in_minutes: 60 artifact_paths: - - 'x-pack/plugins/observability_solution/synthetics/e2e/.journeys/**/*' + - 'x-pack/solutions/observability/plugins/synthetics/e2e/.journeys/**/*' retry: automatic: - exit_status: '-1' diff --git a/.buildkite/pipelines/pull_request/uptime_plugin.yml b/.buildkite/pipelines/pull_request/uptime_plugin.yml index 4c1e05d7476fd..f38a59969b45a 100644 --- a/.buildkite/pipelines/pull_request/uptime_plugin.yml +++ b/.buildkite/pipelines/pull_request/uptime_plugin.yml @@ -14,7 +14,7 @@ steps: - check_oas_snapshot timeout_in_minutes: 60 artifact_paths: - - 'x-pack/plugins/observability_solution/synthetics/e2e/.journeys/**/*' + - 'x-pack/solutions/observability/plugins/synthetics/e2e/.journeys/**/*' retry: automatic: - exit_status: '-1' diff --git a/.buildkite/pipelines/pull_request/ux_plugin_e2e.yml b/.buildkite/pipelines/pull_request/ux_plugin_e2e.yml index 4bade14464f35..b6f51351c62b8 100644 --- a/.buildkite/pipelines/pull_request/ux_plugin_e2e.yml +++ b/.buildkite/pipelines/pull_request/ux_plugin_e2e.yml @@ -14,7 +14,7 @@ steps: - check_oas_snapshot timeout_in_minutes: 60 artifact_paths: - - 'x-pack/plugins/observability_solution/ux/e2e/.journeys/**/*' + - 'x-pack/solutions/observability/plugins/ux/e2e/.journeys/**/*' retry: automatic: - exit_status: '-1' diff --git a/.buildkite/scripts/pipelines/pull_request/pipeline.ts b/.buildkite/scripts/pipelines/pull_request/pipeline.ts index ded7bd99643eb..0786508cdbb5d 100644 --- a/.buildkite/scripts/pipelines/pull_request/pipeline.ts +++ b/.buildkite/scripts/pipelines/pull_request/pipeline.ts @@ -89,7 +89,7 @@ const getPipeline = (filename: string, removeSteps = true) => { if ( (await doAnyChangesMatch([ - /^x-pack\/plugins\/observability_solution\/observability_onboarding/, + /^x-pack\/solutions\/observability\/plugins\/observability_onboarding/, /^x-pack\/plugins\/fleet/, ])) || GITHUB_PR_LABELS.includes('ci:all-cypress-suites') @@ -114,7 +114,7 @@ const getPipeline = (filename: string, removeSteps = true) => { } if ( - (await doAnyChangesMatch([/^x-pack\/plugins\/observability_solution\/exploratory_view/])) || + (await doAnyChangesMatch([/^x-pack\/solutions\/observability\/plugins\/exploratory_view/])) || GITHUB_PR_LABELS.includes('ci:synthetics-runner-suites') ) { pipeline.push(getPipeline('.buildkite/pipelines/pull_request/exploratory_view_plugin.yml')); @@ -122,8 +122,8 @@ const getPipeline = (filename: string, removeSteps = true) => { if ( (await doAnyChangesMatch([ - /^x-pack\/plugins\/observability_solution\/synthetics/, - /^x-pack\/plugins\/observability_solution\/exploratory_view/, + /^x-pack\/solutions\/observability\/plugins\/synthetics/, + /^x-pack\/solutions\/observability\/plugins\/exploratory_view/, ])) || GITHUB_PR_LABELS.includes('ci:synthetics-runner-suites') ) { @@ -133,8 +133,8 @@ const getPipeline = (filename: string, removeSteps = true) => { if ( (await doAnyChangesMatch([ - /^x-pack\/plugins\/observability_solution\/ux/, - /^x-pack\/plugins\/observability_solution\/exploratory_view/, + /^x-pack\/solutions\/observability\/plugins\/ux/, + /^x-pack\/solutions\/observability\/plugins\/exploratory_view/, ])) || GITHUB_PR_LABELS.includes('ci:synthetics-runner-suites') ) { diff --git a/.buildkite/scripts/steps/functional/exploratory_view_plugin.sh b/.buildkite/scripts/steps/functional/exploratory_view_plugin.sh index adee8986bc746..e685f84ed2304 100755 --- a/.buildkite/scripts/steps/functional/exploratory_view_plugin.sh +++ b/.buildkite/scripts/steps/functional/exploratory_view_plugin.sh @@ -14,4 +14,4 @@ echo "--- Exploratory View plugin @elastic/synthetics Tests" cd "$XPACK_DIR" -node plugins/observability_solution/exploratory_view/scripts/e2e.js --kibana-install-dir "$KIBANA_BUILD_LOCATION" ${GREP:+--grep \"${GREP}\"} +node solutions/observability/plugins/exploratory_view/scripts/e2e.js --kibana-install-dir "$KIBANA_BUILD_LOCATION" ${GREP:+--grep \"${GREP}\"} diff --git a/.buildkite/scripts/steps/functional/synthetics.sh b/.buildkite/scripts/steps/functional/synthetics.sh index aa388096fc404..261b1d5bf28bb 100644 --- a/.buildkite/scripts/steps/functional/synthetics.sh +++ b/.buildkite/scripts/steps/functional/synthetics.sh @@ -14,4 +14,4 @@ echo "--- synthetics @elastic/synthetics Tests" cd "$XPACK_DIR" -node plugins/observability_solution/synthetics/scripts/e2e.js --kibana-install-dir "$KIBANA_BUILD_LOCATION" --grep "MonitorManagement-monitor*" +node solutions/observability/plugins/synthetics/scripts/e2e.js --kibana-install-dir "$KIBANA_BUILD_LOCATION" --grep "MonitorManagement-monitor*" diff --git a/.buildkite/scripts/steps/functional/synthetics_plugin.sh b/.buildkite/scripts/steps/functional/synthetics_plugin.sh index 3e31b92011ad2..34be251cbfc26 100755 --- a/.buildkite/scripts/steps/functional/synthetics_plugin.sh +++ b/.buildkite/scripts/steps/functional/synthetics_plugin.sh @@ -14,4 +14,4 @@ echo "--- Synthetics plugin @elastic/synthetics Tests" cd "$XPACK_DIR" -node plugins/observability_solution/synthetics/scripts/e2e.js --kibana-install-dir "$KIBANA_BUILD_LOCATION" ${GREP:+--grep \"${GREP}\"} +node solutions/observability/plugins/synthetics/scripts/e2e.js --kibana-install-dir "$KIBANA_BUILD_LOCATION" ${GREP:+--grep \"${GREP}\"} diff --git a/.buildkite/scripts/steps/functional/uptime_plugin.sh b/.buildkite/scripts/steps/functional/uptime_plugin.sh index b4cdd0fb5738a..50cf33149b854 100755 --- a/.buildkite/scripts/steps/functional/uptime_plugin.sh +++ b/.buildkite/scripts/steps/functional/uptime_plugin.sh @@ -14,4 +14,4 @@ echo "--- Uptime plugin @elastic/synthetics Tests" cd "$XPACK_DIR" -node plugins/observability_solution/uptime/scripts/uptime_e2e.js --kibana-install-dir "$KIBANA_BUILD_LOCATION" ${GREP:+--grep \"${GREP}\"} +node solutions/observability/plugins/uptime/scripts/uptime_e2e.js --kibana-install-dir "$KIBANA_BUILD_LOCATION" ${GREP:+--grep \"${GREP}\"} diff --git a/.buildkite/scripts/steps/functional/ux_synthetics_e2e.sh b/.buildkite/scripts/steps/functional/ux_synthetics_e2e.sh index bcc5b71149607..2c165d7274e3a 100755 --- a/.buildkite/scripts/steps/functional/ux_synthetics_e2e.sh +++ b/.buildkite/scripts/steps/functional/ux_synthetics_e2e.sh @@ -14,4 +14,4 @@ echo "--- User Experience @elastic/synthetics Tests" cd "$XPACK_DIR" -node plugins/observability_solution/ux/scripts/e2e.js --kibana-install-dir "$KIBANA_BUILD_LOCATION" ${GREP:+--grep \"${GREP}\"} +node solutions/observability/plugins/ux/scripts/e2e.js --kibana-install-dir "$KIBANA_BUILD_LOCATION" ${GREP:+--grep \"${GREP}\"} diff --git a/.eslintrc.js b/.eslintrc.js index afbc2a1353b52..eb94a007639cd 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -915,9 +915,9 @@ module.exports = { { files: [ 'x-pack/plugins/observability_solution/apm/**/*.{js,mjs,ts,tsx}', - 'x-pack/plugins/observability_solution/observability/**/*.{js,mjs,ts,tsx}', - 'x-pack/plugins/observability_solution/exploratory_view/**/*.{js,mjs,ts,tsx}', - 'x-pack/plugins/observability_solution/ux/**/*.{js,mjs,ts,tsx}', + 'x-pack/solutions/observability/plugins/observability/**/*.{js,mjs,ts,tsx}', + 'x-pack/solutions/observability/plugins/exploratory_view/**/*.{js,mjs,ts,tsx}', + 'x-pack/solutions/observability/plugins/ux/**/*.{js,mjs,ts,tsx}', 'x-pack/plugins/observability_solution/slo/**/*.{js,mjs,ts,tsx}', 'x-pack/packages/observability/**/*.{js,mjs,ts,tsx}', ], @@ -936,8 +936,8 @@ module.exports = { { files: [ 'x-pack/plugins/observability_solution/apm/**/*.stories.*', - 'x-pack/plugins/observability_solution/observability/**/*.stories.*', - 'x-pack/plugins/observability_solution/exploratory_view/**/*.stories.*', + 'x-pack/solutions/observability/plugins/observability/**/*.stories.*', + 'x-pack/solutions/observability/plugins/exploratory_view/**/*.stories.*', 'x-pack/plugins/observability_solution/slo/**/*.stories.*', 'x-pack/packages/observability/**/*.{js,mjs,ts,tsx}', ], @@ -1013,7 +1013,7 @@ module.exports = { { // disable imports from legacy uptime plugin files: [ - 'x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/**/*.{js,mjs,ts,tsx}', + 'x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/**/*.{js,mjs,ts,tsx}', ], rules: { 'no-restricted-imports': [ diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index b69e21d8e5916..b5feeb1008049 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -265,7 +265,6 @@ packages/deeplinks/analytics @elastic/kibana-data-discovery @elastic/kibana-pres packages/deeplinks/devtools @elastic/kibana-management packages/deeplinks/fleet @elastic/fleet packages/deeplinks/management @elastic/kibana-management -packages/deeplinks/observability @elastic/obs-ux-management-team packages/deeplinks/search @elastic/search-kibana packages/deeplinks/security @elastic/security-solution packages/deeplinks/shared @elastic/appex-sharedux @@ -380,7 +379,6 @@ packages/kbn-import-locator @elastic/kibana-operations packages/kbn-import-resolver @elastic/kibana-operations packages/kbn-index-adapter @elastic/security-threat-hunting packages/kbn-interpreter @elastic/kibana-visualizations -packages/kbn-investigation-shared @elastic/obs-ux-management-team packages/kbn-io-ts-utils @elastic/obs-knowledge-team packages/kbn-ipynb @elastic/search-kibana packages/kbn-item-buffer @elastic/appex-sharedux @@ -623,6 +621,7 @@ src/platform/packages/private/default-nav/ml @elastic/ml-ui src/platform/packages/private/kbn-esql-editor @elastic/kibana-esql src/platform/packages/private/kbn-language-documentation @elastic/kibana-esql src/platform/packages/shared/deeplinks/ml @elastic/ml-ui +src/platform/packages/shared/deeplinks/observability @elastic/obs-ux-management-team src/platform/packages/shared/kbn-doc-links @elastic/docs src/platform/packages/shared/kbn-esql-ast @elastic/kibana-esql src/platform/packages/shared/kbn-esql-utils @elastic/kibana-esql @@ -788,24 +787,16 @@ x-pack/packages/kbn-alerting-state-types @elastic/response-ops x-pack/packages/kbn-cloud-security-posture/common @elastic/kibana-cloud-security-posture x-pack/packages/kbn-cloud-security-posture/graph @elastic/kibana-cloud-security-posture x-pack/packages/kbn-cloud-security-posture/public @elastic/kibana-cloud-security-posture -x-pack/packages/kbn-data-forge @elastic/obs-ux-management-team x-pack/packages/kbn-elastic-assistant @elastic/security-generative-ai x-pack/packages/kbn-elastic-assistant-common @elastic/security-generative-ai -x-pack/packages/kbn-infra-forge @elastic/obs-ux-management-team x-pack/packages/kbn-langchain @elastic/security-generative-ai x-pack/packages/kbn-random-sampling @elastic/kibana-visualizations -x-pack/packages/kbn-slo-schema @elastic/obs-ux-management-team x-pack/packages/kbn-synthetics-private-location @elastic/obs-ux-management-team x-pack/packages/maps/vector_tile_utils @elastic/kibana-presentation -x-pack/packages/observability/alert_details @elastic/obs-ux-management-team -x-pack/packages/observability/alerting_rule_utils @elastic/obs-ux-management-team -x-pack/packages/observability/alerting_test_data @elastic/obs-ux-management-team -x-pack/packages/observability/get_padded_alert_time_range_util @elastic/obs-ux-management-team x-pack/packages/observability/logs_overview @elastic/obs-ux-logs-team x-pack/packages/observability/observability_utils/observability_utils_browser @elastic/observability-ui x-pack/packages/observability/observability_utils/observability_utils_common @elastic/observability-ui x-pack/packages/observability/observability_utils/observability_utils_server @elastic/observability-ui -x-pack/packages/observability/synthetics_test_data @elastic/obs-ux-management-team x-pack/packages/rollup @elastic/kibana-management x-pack/packages/search/shared_ui @elastic/search-kibana x-pack/packages/security/api_key_management @elastic/kibana-security @@ -818,6 +809,7 @@ x-pack/packages/security/plugin_types_server @elastic/kibana-security x-pack/packages/security/role_management_model @elastic/kibana-security x-pack/packages/security/ui_components @elastic/kibana-security x-pack/performance @elastic/appex-qa +x-pack/platform/packages/private/kbn-infra-forge @elastic/obs-ux-management-team x-pack/platform/packages/private/ml/agg_utils @elastic/ml-ui x-pack/platform/packages/private/ml/aiops_change_point_detection @elastic/ml-ui x-pack/platform/packages/private/ml/aiops_components @elastic/ml-ui @@ -850,7 +842,9 @@ x-pack/platform/packages/private/ml/url_state @elastic/ml-ui x-pack/platform/packages/private/ml/validators @elastic/ml-ui x-pack/platform/packages/shared/ai-infra/inference-common @elastic/appex-ai-infra x-pack/platform/packages/shared/ai-infra/product-doc-common @elastic/appex-ai-infra +x-pack/platform/packages/shared/kbn-data-forge @elastic/obs-ux-management-team x-pack/platform/packages/shared/kbn-entities-schema @elastic/obs-entities +x-pack/platform/packages/shared/kbn-slo-schema @elastic/obs-ux-management-team x-pack/platform/packages/shared/ml/aiops_common @elastic/ml-ui x-pack/platform/packages/shared/ml/aiops_log_pattern_analysis @elastic/ml-ui x-pack/platform/packages/shared/ml/aiops_log_rate_analysis @elastic/ml-ui @@ -861,6 +855,7 @@ x-pack/platform/packages/shared/ml/random_sampler_utils @elastic/ml-ui x-pack/platform/packages/shared/ml/response_stream @elastic/ml-ui x-pack/platform/packages/shared/ml/runtime_field_utils @elastic/ml-ui x-pack/platform/packages/shared/ml/trained_models_utils @elastic/ml-ui +x-pack/platform/packages/shared/observability/alerting_rule_utils @elastic/obs-ux-management-team x-pack/platform/plugins/private/data_usage @elastic/obs-ai-assistant @elastic/security-solution x-pack/platform/plugins/private/data_visualizer @elastic/ml-ui x-pack/platform/plugins/private/transform @elastic/ml-ui @@ -926,17 +921,13 @@ x-pack/plugins/observability_solution/apm @elastic/obs-ux-infra_services-team x-pack/plugins/observability_solution/apm_data_access @elastic/obs-ux-infra_services-team x-pack/plugins/observability_solution/apm/ftr_e2e @elastic/obs-ux-infra_services-team x-pack/plugins/observability_solution/dataset_quality @elastic/obs-ux-logs-team -x-pack/plugins/observability_solution/exploratory_view @elastic/obs-ux-management-team x-pack/plugins/observability_solution/infra @elastic/obs-ux-logs-team @elastic/obs-ux-infra_services-team x-pack/plugins/observability_solution/inventory @elastic/obs-ux-infra_services-team x-pack/plugins/observability_solution/inventory/e2e @elastic/obs-ux-infra_services-team -x-pack/plugins/observability_solution/investigate @elastic/obs-ux-management-team -x-pack/plugins/observability_solution/investigate_app @elastic/obs-ux-management-team x-pack/plugins/observability_solution/logs_data_access @elastic/obs-ux-logs-team x-pack/plugins/observability_solution/logs_explorer @elastic/obs-ux-logs-team x-pack/plugins/observability_solution/logs_shared @elastic/obs-ux-logs-team x-pack/plugins/observability_solution/metrics_data_access @elastic/obs-ux-infra_services-team -x-pack/plugins/observability_solution/observability @elastic/obs-ux-management-team x-pack/plugins/observability_solution/observability_logs_explorer @elastic/obs-ux-logs-team x-pack/plugins/observability_solution/observability_onboarding @elastic/obs-ux-logs-team x-pack/plugins/observability_solution/observability_onboarding/e2e @elastic/obs-ux-logs-team @@ -944,10 +935,6 @@ x-pack/plugins/observability_solution/observability_shared @elastic/observabilit x-pack/plugins/observability_solution/profiling @elastic/obs-ux-infra_services-team x-pack/plugins/observability_solution/profiling_data_access @elastic/obs-ux-infra_services-team x-pack/plugins/observability_solution/slo @elastic/obs-ux-management-team -x-pack/plugins/observability_solution/synthetics @elastic/obs-ux-management-team -x-pack/plugins/observability_solution/synthetics/e2e @elastic/obs-ux-management-team -x-pack/plugins/observability_solution/uptime @elastic/obs-ux-management-team -x-pack/plugins/observability_solution/ux @elastic/obs-ux-management-team x-pack/plugins/osquery @elastic/security-defend-workflows x-pack/plugins/painless_lab @elastic/kibana-management x-pack/plugins/remote_clusters @elastic/kibana-management @@ -971,7 +958,6 @@ x-pack/plugins/security_solution @elastic/security-solution x-pack/plugins/security_solution_ess @elastic/security-solution x-pack/plugins/security_solution_serverless @elastic/security-solution x-pack/plugins/serverless @elastic/appex-sharedux -x-pack/plugins/serverless_observability @elastic/obs-ux-management-team x-pack/plugins/serverless_search @elastic/search-kibana x-pack/plugins/session_view @elastic/kibana-cloud-security-posture x-pack/plugins/snapshot_restore @elastic/kibana-management @@ -985,14 +971,28 @@ x-pack/plugins/timelines @elastic/security-threat-hunting-investigations x-pack/plugins/triggers_actions_ui @elastic/response-ops x-pack/plugins/upgrade_assistant @elastic/kibana-management x-pack/plugins/watcher @elastic/kibana-management +x-pack/solutions/observability/packages/alert_details @elastic/obs-ux-management-team +x-pack/solutions/observability/packages/alerting_test_data @elastic/obs-ux-management-team +x-pack/solutions/observability/packages/get_padded_alert_time_range_util @elastic/obs-ux-management-team +x-pack/solutions/observability/packages/kbn-investigation-shared @elastic/obs-ux-management-team x-pack/solutions/observability/packages/observability_ai/observability_ai_common @elastic/obs-ai-assistant x-pack/solutions/observability/packages/observability_ai/observability_ai_server @elastic/obs-ai-assistant +x-pack/solutions/observability/packages/synthetics_test_data @elastic/obs-ux-management-team +x-pack/solutions/observability/plugins/exploratory_view @elastic/obs-ux-management-team +x-pack/solutions/observability/plugins/investigate @elastic/obs-ux-management-team +x-pack/solutions/observability/plugins/investigate_app @elastic/obs-ux-management-team +x-pack/solutions/observability/plugins/observability @elastic/obs-ux-management-team x-pack/solutions/observability/plugins/observability_ai_assistant_app @elastic/obs-ai-assistant x-pack/solutions/observability/plugins/observability_ai_assistant_management @elastic/obs-ai-assistant x-pack/solutions/observability/plugins/observability_solution/entities_data_access @elastic/obs-entities x-pack/solutions/observability/plugins/observability_solution/entity_manager_app @elastic/obs-entities +x-pack/solutions/observability/plugins/serverless_observability @elastic/obs-ux-management-team x-pack/solutions/observability/plugins/streams @elastic/streams-program-team x-pack/solutions/observability/plugins/streams_app @elastic/streams-program-team +x-pack/solutions/observability/plugins/synthetics @elastic/obs-ux-management-team +x-pack/solutions/observability/plugins/synthetics/e2e @elastic/obs-ux-management-team +x-pack/solutions/observability/plugins/uptime @elastic/obs-ux-management-team +x-pack/solutions/observability/plugins/ux @elastic/obs-ux-management-team x-pack/solutions/security/packages/data_table @elastic/security-threat-hunting-investigations x-pack/solutions/security/packages/distribution_bar @elastic/kibana-cloud-security-posture x-pack/solutions/security/packages/ecs_data_quality_dashboard @elastic/security-threat-hunting-explore diff --git a/.github/paths-labeller.yml b/.github/paths-labeller.yml index dc7f4a126fb25..43e9445b5767b 100644 --- a/.github/paths-labeller.yml +++ b/.github/paths-labeller.yml @@ -14,15 +14,15 @@ - 'packages/kbn-apm-synthtrace/**/*.*' - 'packages/kbn-apm-synthtrace-client/**/*.*' - 'packages/kbn-apm-utils/**/*.*' - - 'x-pack/plugins/observability_solution/ux/**/*.*' + - 'x-pack/solutions/observability/plugins/ux/**/*.*' - 'Team:Fleet': - 'x-pack/plugins/fleet/**/*.*' - 'x-pack/test/fleet_api_integration/**/*.*' - 'Team:obs-ux-management': - - 'x-pack/plugins/observability_solution/observability/**/*.*' + - 'x-pack/solutions/observability/plugins/observability/**/*.*' - 'x-pack/plugins/observability_solution/slo/**/*.*' - - 'x-pack/plugins/observability_solution/synthetics/**/*.*' - - 'x-pack/plugins/observability_solution/exploratory_view/**/*.*' + - 'x-pack/solutions/observability/plugins/synthetics/**/*.*' + - 'x-pack/solutions/observability/plugins/exploratory_view/**/*.*' - 'Team:Obs AI Assistant': - 'x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/**/*.*' - 'x-pack/plugins/observability_solution/observability_ai_assistant_*/**/*.*' @@ -31,6 +31,6 @@ - 'ci:project-deploy-observability': - 'packages/kbn-apm-*/**/*.*' - 'x-pack/plugins/observability_solution/**/*.*' - - 'x-pack/plugins/serverless_observability/**/*.*' + - 'x-pack/solutions/observability/plugins/serverless_observability/**/*.*' - 'x-pack/test/apm_api_integration/**/*.*' - 'x-pack/test/observability_*/**/*.*' diff --git a/.i18nrc.json b/.i18nrc.json index dc8ff02da6465..c6a24d44a0eb4 100644 --- a/.i18nrc.json +++ b/.i18nrc.json @@ -23,7 +23,7 @@ "domDragDrop": "packages/kbn-dom-drag-drop", "controls": "src/plugins/controls", "data": "src/plugins/data", - "observabilityAlertDetails": "x-pack/packages/observability/alert_details", + "observabilityAlertDetails": "x-pack/solutions/observability/packages/alert_details", "dataViews": "src/plugins/data_views", "defaultNavigation": [ "packages/default-nav", diff --git a/docs/developer/plugin-list.asciidoc b/docs/developer/plugin-list.asciidoc index c00d47d5515ef..27863b0cd391f 100644 --- a/docs/developer/plugin-list.asciidoc +++ b/docs/developer/plugin-list.asciidoc @@ -592,7 +592,7 @@ security and spaces filtering. activities. -|{kib-repo}blob/{branch}/x-pack/plugins/observability_solution/exploratory_view/README.md[exploratoryView] +|{kib-repo}blob/{branch}/x-pack/solutions/observability/plugins/exploratory_view/README.md[exploratoryView] |A shared component for visualizing observability data types via lens embeddable. For further details. @@ -665,11 +665,11 @@ the infrastructure monitoring use-case within Kibana. |Home of the Inventory plugin, which renders the... inventory. -|{kib-repo}blob/{branch}/x-pack/plugins/observability_solution/investigate/README.md[investigate] +|{kib-repo}blob/{branch}/x-pack/solutions/observability/plugins/investigate/README.md[investigate] |undefined -|{kib-repo}blob/{branch}/x-pack/plugins/observability_solution/investigate_app/README.md[investigateApp] +|{kib-repo}blob/{branch}/x-pack/solutions/observability/plugins/investigate_app/README.md[investigateApp] |undefined @@ -743,7 +743,7 @@ Elastic. |The Notifications plugin provides a set of services to help Solutions and plugins send notifications to users. -|{kib-repo}blob/{branch}/x-pack/plugins/observability_solution/observability/README.md[observability] +|{kib-repo}blob/{branch}/x-pack/solutions/observability/plugins/observability/README.md[observability] |This plugin provides shared components and services for use across observability solutions, as well as the observability landing page UI. @@ -882,7 +882,7 @@ This plugin is only enabled when the application is built for serverless project | -|{kib-repo}blob/{branch}/x-pack/plugins/serverless_observability/README.mdx[serverlessObservability] +|{kib-repo}blob/{branch}/x-pack/solutions/observability/plugins/serverless_observability/README.mdx[serverlessObservability] |This plugin contains configuration and code used to create a Serverless Observability project. It leverages universal configuration and other APIs in the serverless plugin to configure Kibana. @@ -925,7 +925,7 @@ routes, etc. |Home of the Streams app plugin, which allows users to manage Streams via the UI. -|{kib-repo}blob/{branch}/x-pack/plugins/observability_solution/synthetics/README.md[synthetics] +|{kib-repo}blob/{branch}/x-pack/solutions/observability/plugins/synthetics/README.md[synthetics] |The purpose of this plugin is to provide users of Heartbeat more visibility of what's happening in their infrastructure. @@ -964,7 +964,7 @@ As a developer you can reuse and extend built-in alerts and actions UI functiona |Upgrade Assistant helps users prepare their Stack for being upgraded to the next version of the Elastic stack. -|{kib-repo}blob/{branch}/x-pack/plugins/observability_solution/uptime/README.md[uptime] +|{kib-repo}blob/{branch}/x-pack/solutions/observability/plugins/uptime/README.md[uptime] |The purpose of this plugin is to provide users of Heartbeat more visibility of what's happening in their infrastructure. @@ -973,7 +973,7 @@ in their infrastructure. |NOTE: This plugin contains implementation of URL drilldown. For drilldowns infrastructure code refer to ui_actions_enhanced plugin. -|{kib-repo}blob/{branch}/x-pack/plugins/observability_solution/ux/readme.md[ux] +|{kib-repo}blob/{branch}/x-pack/solutions/observability/plugins/ux/readme.md[ux] |https://docs.elastic.dev/kibana-dev-docs/welcome diff --git a/oas_docs/overlays/alerting.overlays.yaml b/oas_docs/overlays/alerting.overlays.yaml index c4cc25b685783..f6920e662e9e3 100644 --- a/oas_docs/overlays/alerting.overlays.yaml +++ b/oas_docs/overlays/alerting.overlays.yaml @@ -113,9 +113,9 @@ actions: # SLO burn rate (slo.rules.burnRate) - $ref: '../../x-pack/plugins/observability_solution/slo/server/lib/rules/slo_burn_rate/docs/params_property_slo_burn_rate.yaml' # Synthetics uptime TLS rule (xpack.uptime.alerts.tls) - - $ref: '../../x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/docs/params_property_synthetics_uptime_tls.yaml' + - $ref: '../../x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/docs/params_property_synthetics_uptime_tls.yaml' # Uptime monitor status rule (xpack.uptime.alerts.monitorStatus) - - $ref: '../../x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/docs/params_property_synthetics_monitor_status.yaml' + - $ref: '../../x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/docs/params_property_synthetics_monitor_status.yaml' # TBD # Anomaly detection alert rule (xpack.ml.anomaly_detection_alert) # Anomaly detection jobs health rule (xpack.ml.anomaly_detection_jobs_health) diff --git a/package.json b/package.json index 48cafc692db56..a2430778e5add 100644 --- a/package.json +++ b/package.json @@ -423,7 +423,7 @@ "@kbn/custom-integrations-plugin": "link:src/plugins/custom_integrations", "@kbn/dashboard-enhanced-plugin": "link:x-pack/plugins/dashboard_enhanced", "@kbn/dashboard-plugin": "link:src/plugins/dashboard", - "@kbn/data-forge": "link:x-pack/packages/kbn-data-forge", + "@kbn/data-forge": "link:x-pack/platform/packages/shared/kbn-data-forge", "@kbn/data-plugin": "link:src/plugins/data", "@kbn/data-quality-plugin": "link:x-pack/plugins/data_quality", "@kbn/data-search-plugin": "link:test/plugin_functional/plugins/data_search", @@ -444,7 +444,7 @@ "@kbn/deeplinks-fleet": "link:packages/deeplinks/fleet", "@kbn/deeplinks-management": "link:packages/deeplinks/management", "@kbn/deeplinks-ml": "link:src/platform/packages/shared/deeplinks/ml", - "@kbn/deeplinks-observability": "link:packages/deeplinks/observability", + "@kbn/deeplinks-observability": "link:src/platform/packages/shared/deeplinks/observability", "@kbn/deeplinks-search": "link:packages/deeplinks/search", "@kbn/deeplinks-security": "link:packages/deeplinks/security", "@kbn/deeplinks-shared": "link:packages/deeplinks/shared", @@ -506,7 +506,7 @@ "@kbn/event-log-plugin": "link:x-pack/plugins/event_log", "@kbn/expandable-flyout": "link:packages/kbn-expandable-flyout", "@kbn/exploratory-view-example-plugin": "link:x-pack/examples/exploratory_view_example", - "@kbn/exploratory-view-plugin": "link:x-pack/plugins/observability_solution/exploratory_view", + "@kbn/exploratory-view-plugin": "link:x-pack/solutions/observability/plugins/exploratory_view", "@kbn/expression-error-plugin": "link:src/plugins/expression_error", "@kbn/expression-gauge-plugin": "link:src/plugins/chart_expressions/expression_gauge", "@kbn/expression-heatmap-plugin": "link:src/plugins/chart_expressions/expression_heatmap", @@ -580,7 +580,7 @@ "@kbn/inference-common": "link:x-pack/platform/packages/shared/ai-infra/inference-common", "@kbn/inference-plugin": "link:x-pack/platform/plugins/shared/inference", "@kbn/inference_integration_flyout": "link:x-pack/platform/packages/private/ml/inference_integration_flyout", - "@kbn/infra-forge": "link:x-pack/packages/kbn-infra-forge", + "@kbn/infra-forge": "link:x-pack/platform/packages/private/kbn-infra-forge", "@kbn/infra-plugin": "link:x-pack/plugins/observability_solution/infra", "@kbn/ingest-pipelines-plugin": "link:x-pack/plugins/ingest_pipelines", "@kbn/input-control-vis-plugin": "link:src/plugins/input_control_vis", @@ -590,9 +590,9 @@ "@kbn/interactive-setup-test-endpoints-plugin": "link:test/interactive_setup_api_integration/plugins/test_endpoints", "@kbn/interpreter": "link:packages/kbn-interpreter", "@kbn/inventory-plugin": "link:x-pack/plugins/observability_solution/inventory", - "@kbn/investigate-app-plugin": "link:x-pack/plugins/observability_solution/investigate_app", - "@kbn/investigate-plugin": "link:x-pack/plugins/observability_solution/investigate", - "@kbn/investigation-shared": "link:packages/kbn-investigation-shared", + "@kbn/investigate-app-plugin": "link:x-pack/solutions/observability/plugins/investigate_app", + "@kbn/investigate-plugin": "link:x-pack/solutions/observability/plugins/investigate", + "@kbn/investigation-shared": "link:x-pack/solutions/observability/packages/kbn-investigation-shared", "@kbn/io-ts-utils": "link:packages/kbn-io-ts-utils", "@kbn/ipynb": "link:packages/kbn-ipynb", "@kbn/item-buffer": "link:packages/kbn-item-buffer", @@ -697,17 +697,17 @@ "@kbn/observability-ai-assistant-plugin": "link:x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant", "@kbn/observability-ai-common": "link:x-pack/solutions/observability/packages/observability_ai/observability_ai_common", "@kbn/observability-ai-server": "link:x-pack/solutions/observability/packages/observability_ai/observability_ai_server", - "@kbn/observability-alert-details": "link:x-pack/packages/observability/alert_details", - "@kbn/observability-alerting-rule-utils": "link:x-pack/packages/observability/alerting_rule_utils", - "@kbn/observability-alerting-test-data": "link:x-pack/packages/observability/alerting_test_data", + "@kbn/observability-alert-details": "link:x-pack/solutions/observability/packages/alert_details", + "@kbn/observability-alerting-rule-utils": "link:x-pack/platform/packages/shared/observability/alerting_rule_utils", + "@kbn/observability-alerting-test-data": "link:x-pack/solutions/observability/packages/alerting_test_data", "@kbn/observability-fixtures-plugin": "link:x-pack/test/cases_api_integration/common/plugins/observability", - "@kbn/observability-get-padded-alert-time-range-util": "link:x-pack/packages/observability/get_padded_alert_time_range_util", + "@kbn/observability-get-padded-alert-time-range-util": "link:x-pack/solutions/observability/packages/get_padded_alert_time_range_util", "@kbn/observability-logs-explorer-plugin": "link:x-pack/plugins/observability_solution/observability_logs_explorer", "@kbn/observability-logs-overview": "link:x-pack/packages/observability/logs_overview", "@kbn/observability-onboarding-plugin": "link:x-pack/plugins/observability_solution/observability_onboarding", - "@kbn/observability-plugin": "link:x-pack/plugins/observability_solution/observability", + "@kbn/observability-plugin": "link:x-pack/solutions/observability/plugins/observability", "@kbn/observability-shared-plugin": "link:x-pack/plugins/observability_solution/observability_shared", - "@kbn/observability-synthetics-test-data": "link:x-pack/packages/observability/synthetics_test_data", + "@kbn/observability-synthetics-test-data": "link:x-pack/solutions/observability/packages/synthetics_test_data", "@kbn/observability-utils-browser": "link:x-pack/packages/observability/observability_utils/observability_utils_browser", "@kbn/observability-utils-common": "link:x-pack/packages/observability/observability_utils/observability_utils_common", "@kbn/observability-utils-server": "link:x-pack/packages/observability/observability_utils/observability_utils_server", @@ -865,7 +865,7 @@ "@kbn/server-route-repository-utils": "link:packages/kbn-server-route-repository-utils", "@kbn/serverless": "link:x-pack/plugins/serverless", "@kbn/serverless-common-settings": "link:packages/serverless/settings/common", - "@kbn/serverless-observability": "link:x-pack/plugins/serverless_observability", + "@kbn/serverless-observability": "link:x-pack/solutions/observability/plugins/serverless_observability", "@kbn/serverless-observability-settings": "link:packages/serverless/settings/observability_project", "@kbn/serverless-project-switcher": "link:packages/serverless/project_switcher", "@kbn/serverless-search": "link:x-pack/plugins/serverless_search", @@ -929,7 +929,7 @@ "@kbn/shared-ux-table-persist": "link:packages/shared-ux/table_persist", "@kbn/shared-ux-utility": "link:packages/kbn-shared-ux-utility", "@kbn/slo-plugin": "link:x-pack/plugins/observability_solution/slo", - "@kbn/slo-schema": "link:x-pack/packages/kbn-slo-schema", + "@kbn/slo-schema": "link:x-pack/platform/packages/shared/kbn-slo-schema", "@kbn/snapshot-restore-plugin": "link:x-pack/plugins/snapshot_restore", "@kbn/sort-predicates": "link:packages/kbn-sort-predicates", "@kbn/spaces-plugin": "link:x-pack/plugins/spaces", @@ -946,7 +946,7 @@ "@kbn/std": "link:packages/kbn-std", "@kbn/streams-app-plugin": "link:x-pack/solutions/observability/plugins/streams_app", "@kbn/streams-plugin": "link:x-pack/solutions/observability/plugins/streams", - "@kbn/synthetics-plugin": "link:x-pack/plugins/observability_solution/synthetics", + "@kbn/synthetics-plugin": "link:x-pack/solutions/observability/plugins/synthetics", "@kbn/synthetics-private-location": "link:x-pack/packages/kbn-synthetics-private-location", "@kbn/task-manager-fixture-plugin": "link:x-pack/test/alerting_api_integration/common/plugins/task_manager_fixture", "@kbn/task-manager-performance-plugin": "link:x-pack/test/plugin_api_perf/plugins/task_manager_performance", @@ -994,7 +994,7 @@ "@kbn/unsaved-changes-badge": "link:packages/kbn-unsaved-changes-badge", "@kbn/unsaved-changes-prompt": "link:packages/kbn-unsaved-changes-prompt", "@kbn/upgrade-assistant-plugin": "link:x-pack/plugins/upgrade_assistant", - "@kbn/uptime-plugin": "link:x-pack/plugins/observability_solution/uptime", + "@kbn/uptime-plugin": "link:x-pack/solutions/observability/plugins/uptime", "@kbn/url-drilldown-plugin": "link:x-pack/plugins/drilldowns/url_drilldown", "@kbn/url-forwarding-plugin": "link:src/plugins/url_forwarding", "@kbn/usage-collection-plugin": "link:src/plugins/usage_collection", @@ -1006,7 +1006,7 @@ "@kbn/utility-types": "link:packages/kbn-utility-types", "@kbn/utility-types-jest": "link:packages/kbn-utility-types-jest", "@kbn/utils": "link:packages/kbn-utils", - "@kbn/ux-plugin": "link:x-pack/plugins/observability_solution/ux", + "@kbn/ux-plugin": "link:x-pack/solutions/observability/plugins/ux", "@kbn/v8-profiler-examples-plugin": "link:examples/v8_profiler_examples", "@kbn/vis-default-editor-plugin": "link:src/plugins/vis_default_editor", "@kbn/vis-type-gauge-plugin": "link:src/plugins/vis_types/gauge", @@ -1506,7 +1506,7 @@ "@kbn/sort-package-json": "link:packages/kbn-sort-package-json", "@kbn/stdio-dev-helpers": "link:packages/kbn-stdio-dev-helpers", "@kbn/storybook": "link:packages/kbn-storybook", - "@kbn/synthetics-e2e": "link:x-pack/plugins/observability_solution/synthetics/e2e", + "@kbn/synthetics-e2e": "link:x-pack/solutions/observability/plugins/synthetics/e2e", "@kbn/telemetry-tools": "link:packages/kbn-telemetry-tools", "@kbn/test": "link:packages/kbn-test", "@kbn/test-eui-helpers": "link:packages/kbn-test-eui-helpers", diff --git a/packages/kbn-babel-preset/styled_components_files.js b/packages/kbn-babel-preset/styled_components_files.js index 20bbaa3172cba..093efdc2c1986 100644 --- a/packages/kbn-babel-preset/styled_components_files.js +++ b/packages/kbn-babel-preset/styled_components_files.js @@ -15,6 +15,7 @@ module.exports = { USES_STYLED_COMPONENTS: [ /packages[\/\\]kbn-ui-shared-deps-(npm|src)[\/\\]/, /src[\/\\]plugins[\/\\](kibana_react)[\/\\]/, + /x-pack[\/\\]solutions[\/\\]observability[\/\\]plugins[\/\\]/, /x-pack[\/\\]plugins[\/\\](observability_solution\/apm|beats_management|fleet|observability_solution\/infra|lists|observability_solution\/observability|observability_solution\/observability_shared|observability_solution\/exploratory_view|security_solution|timelines|observability_solution\/synthetics|observability_solution\/ux|observability_solution\/uptime)[\/\\]/, /x-pack[\/\\]test[\/\\]plugin_functional[\/\\]plugins[\/\\]resolver_test[\/\\]/, /x-pack[\/\\]packages[\/\\]elastic_assistant[\/\\]/, diff --git a/packages/kbn-eslint-plugin-i18n/helpers/get_i18n_identifier_from_file_path.test.ts b/packages/kbn-eslint-plugin-i18n/helpers/get_i18n_identifier_from_file_path.test.ts index ca59efd40de44..fc7bf0b6bb509 100644 --- a/packages/kbn-eslint-plugin-i18n/helpers/get_i18n_identifier_from_file_path.test.ts +++ b/packages/kbn-eslint-plugin-i18n/helpers/get_i18n_identifier_from_file_path.test.ts @@ -13,7 +13,7 @@ const SYSTEMPATH = 'systemPath'; const testMap = [ [ - 'x-pack/plugins/observability_solution/observability/public/header_actions.tsx', + 'x-pack/solutions/observability/plugins/observability/public/header_actions.tsx', 'xpack.observability', ], [ @@ -22,7 +22,7 @@ const testMap = [ ], ['x-pack/plugins/cases/server/components/foo.tsx', 'xpack.cases'], [ - 'x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/toggle_alert_flyout_button.tsx', + 'x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/toggle_alert_flyout_button.tsx', 'xpack.synthetics', ], ['src/plugins/vis_types/gauge/public/editor/collections.ts', 'visTypeGauge'], diff --git a/packages/kbn-eslint-plugin-i18n/rules/formatted_message_should_start_with_the_right_id.test.ts b/packages/kbn-eslint-plugin-i18n/rules/formatted_message_should_start_with_the_right_id.test.ts index 55d32fb801f04..69d03af917d1b 100644 --- a/packages/kbn-eslint-plugin-i18n/rules/formatted_message_should_start_with_the_right_id.test.ts +++ b/packages/kbn-eslint-plugin-i18n/rules/formatted_message_should_start_with_the_right_id.test.ts @@ -52,13 +52,13 @@ for (const [name, tester] of [tsTester, babelTester]) { { name: 'When a string literal is passed to FormattedMessage the ID attribute should start with the correct i18n identifier, and if no existing defaultMessage is passed, it should add an empty default.', filename: - '/x-pack/plugins/observability_solution/observability/public/test_component.tsx', + '/x-pack/solutions/observability/plugins/observability/public/test_component.tsx', code: ``, }, { name: 'When a string literal is passed to FormattedMessage the ID attribute should start with the correct i18n identifier, and if an existing id and defaultMessage is passed, it should leave them alone.', filename: - '/x-pack/plugins/observability_solution/observability/public/test_component.tsx', + '/x-pack/solutions/observability/plugins/observability/public/test_component.tsx', code: ``, }, ], @@ -66,7 +66,7 @@ for (const [name, tester] of [tsTester, babelTester]) { { name: 'When a string literal is passed to FormattedMessage the ID attribute should start with the correct i18n identifier, and if no existing defaultMessage is passed, it should add an empty default.', filename: - '/x-pack/plugins/observability_solution/observability/public/test_component.tsx', + '/x-pack/solutions/observability/plugins/observability/public/test_component.tsx', code: ` import { FormattedMessage } from '@kbn/i18n-react'; @@ -89,7 +89,7 @@ for (const [name, tester] of [tsTester, babelTester]) { { name: 'When a string literal is passed to the ID attribute of and the root of the i18n identifier is not correct, it should keep the existing identifier but only update the right base app, and keep the default message if available.', filename: - '/x-pack/plugins/observability_solution/observability/public/test_component.tsx', + '/x-pack/solutions/observability/plugins/observability/public/test_component.tsx', code: ` import { FormattedMessage } from '@kbn/i18n-react'; @@ -112,7 +112,7 @@ for (const [name, tester] of [tsTester, babelTester]) { { name: 'When no string literal is passed to the ID attribute of it should start with the correct i18n identifier.', filename: - '/x-pack/plugins/observability_solution/observability/public/test_component.tsx', + '/x-pack/solutions/observability/plugins/observability/public/test_component.tsx', code: ` import { FormattedMessage } from '@kbn/i18n-react'; @@ -135,7 +135,7 @@ for (const [name, tester] of [tsTester, babelTester]) { { name: 'When i18n is not imported yet, the rule should add it.', filename: - '/x-pack/plugins/observability_solution/observability/public/test_component.tsx', + '/x-pack/solutions/observability/plugins/observability/public/test_component.tsx', code: ` function TestComponent() { return ; diff --git a/packages/kbn-eslint-plugin-i18n/rules/i18n_translate_should_start_with_the_right_id.test.ts b/packages/kbn-eslint-plugin-i18n/rules/i18n_translate_should_start_with_the_right_id.test.ts index 36ddbdd3c4258..df701532517b6 100644 --- a/packages/kbn-eslint-plugin-i18n/rules/i18n_translate_should_start_with_the_right_id.test.ts +++ b/packages/kbn-eslint-plugin-i18n/rules/i18n_translate_should_start_with_the_right_id.test.ts @@ -45,7 +45,7 @@ const babelTester = [ const invalid: RuleTester.InvalidTestCase[] = [ { name: 'When a string literal is passed to i18n.translate, it should start with the correct i18n identifier, and if no existing defaultMessage is passed, it should add an empty default.', - filename: '/x-pack/plugins/observability_solution/observability/public/test_component.ts', + filename: '/x-pack/solutions/observability/plugins/observability/public/test_component.ts', code: ` import { i18n } from '@kbn/i18n'; @@ -67,7 +67,7 @@ function TestComponent() { }, { name: 'When a string literal is passed to i18n.translate, and the root of the i18n identifier is not correct, it should keep the existing identifier but only update the right base app.', - filename: '/x-pack/plugins/observability_solution/observability/public/test_component.ts', + filename: '/x-pack/solutions/observability/plugins/observability/public/test_component.ts', code: ` import { i18n } from '@kbn/i18n'; @@ -89,7 +89,7 @@ function TestComponent() { }, { name: 'When a string literal is passed to i18n.translate, and the root of the i18n identifier is not correct, it should keep the existing identifier but only update the right base app, and keep the default message if available.', - filename: '/x-pack/plugins/observability_solution/observability/public/test_component.ts', + filename: '/x-pack/solutions/observability/plugins/observability/public/test_component.ts', code: ` import { i18n } from '@kbn/i18n'; @@ -111,7 +111,7 @@ function TestComponent() { }, { name: 'When no string literal is passed to i18n.translate, it should start with the correct i18n identifier.', - filename: '/x-pack/plugins/observability_solution/observability/public/test_component.ts', + filename: '/x-pack/solutions/observability/plugins/observability/public/test_component.ts', code: ` import { i18n } from '@kbn/i18n'; @@ -133,7 +133,7 @@ function TestComponent() { }, { name: 'When i18n is not imported yet, the rule should add it.', - filename: '/x-pack/plugins/observability_solution/observability/public/test_component.ts', + filename: '/x-pack/solutions/observability/plugins/observability/public/test_component.ts', code: ` function TestComponent() { const foo = i18n.translate(); diff --git a/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_formatted_message.test.ts b/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_formatted_message.test.ts index b9aeaed90d1a9..298e5976add23 100644 --- a/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_formatted_message.test.ts +++ b/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_formatted_message.test.ts @@ -45,7 +45,7 @@ const babelTester = [ const invalid: RuleTester.InvalidTestCase[] = [ { name: 'A JSX element with a string literal should be translated with i18n', - filename: '/x-pack/plugins/observability_solution/observability/public/test_component.tsx', + filename: '/x-pack/solutions/observability/plugins/observability/public/test_component.tsx', code: ` import React from 'react'; @@ -76,7 +76,7 @@ function TestComponent() { }, { name: 'A JSX element with a string literal that are inside an Eui component should take the component name of the parent into account', - filename: '/x-pack/plugins/observability_solution/observability/public/another_component.tsx', + filename: '/x-pack/solutions/observability/plugins/observability/public/another_component.tsx', code: ` import React from 'react'; @@ -120,7 +120,7 @@ function AnotherComponent() { { name: 'When no import of the translation module is present, the import line should be added', filename: - '/x-pack/plugins/observability_solution/observability/public/yet_another_component.tsx', + '/x-pack/solutions/observability/plugins/observability/public/yet_another_component.tsx', code: ` import React from 'react'; @@ -155,7 +155,7 @@ function YetAnotherComponent() { }, { name: 'Import lines without the necessary translation module should be updated to include i18n', - filename: '/x-pack/plugins/observability_solution/observability/public/test_component.tsx', + filename: '/x-pack/solutions/observability/plugins/observability/public/test_component.tsx', code: ` import React from 'react'; import { SomeOtherModule } from '@kbn/i18n-react'; @@ -183,7 +183,7 @@ function TestComponent() { }, { name: 'JSX elements that have a label, aria-label or title prop with a string value should be translated with FormattedMessage', - filename: '/x-pack/plugins/observability_solution/observability/public/test_component.tsx', + filename: '/x-pack/solutions/observability/plugins/observability/public/test_component.tsx', code: ` import React from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; @@ -239,7 +239,7 @@ function TestComponent3() { }, { name: 'JSX elements that have a label, aria-label or title prop with a string value with quotes in it should be correctly translated with FormattedMessage', - filename: '/x-pack/plugins/observability_solution/observability/public/test_component.tsx', + filename: '/x-pack/solutions/observability/plugins/observability/public/test_component.tsx', code: ` import React from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; @@ -295,7 +295,7 @@ function TestComponent3() { }, { name: 'JSX elements that have a label, aria-label or title prop with a JSXExpression value that is a string should be translated with FormattedMessage', - filename: '/x-pack/plugins/observability_solution/observability/public/test_component.tsx', + filename: '/x-pack/solutions/observability/plugins/observability/public/test_component.tsx', code: ` import React from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; @@ -351,7 +351,7 @@ function TestComponent3() { }, { name: 'JSX elements that have a label, aria-label or title prop with a JSXExpression value that is a string with quotes in it should be correctly translated with FormattedMessage', - filename: '/x-pack/plugins/observability_solution/observability/public/test_component.tsx', + filename: '/x-pack/solutions/observability/plugins/observability/public/test_component.tsx', code: ` import React from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; @@ -410,7 +410,7 @@ function TestComponent3() { const valid: RuleTester.ValidTestCase[] = [ { name: 'A JSXText element inside a EuiCode component should not be translated', - filename: '/x-pack/plugins/observability_solution/observability/public/test_component.tsx', + filename: '/x-pack/solutions/observability/plugins/observability/public/test_component.tsx', code: ` import React from 'react'; @@ -422,7 +422,7 @@ function TestComponent() { }, { name: 'A JSXText element that contains anything other than alpha characters should not be translated', - filename: '/x-pack/plugins/observability_solution/observability/public/test_component.tsx', + filename: '/x-pack/solutions/observability/plugins/observability/public/test_component.tsx', code: ` import React from 'react'; @@ -434,7 +434,7 @@ function TestComponent() { }, { name: 'A JSXText element that is wrapped in three backticks (markdown) should not be translated', - filename: '/x-pack/plugins/observability_solution/observability/public/test_component.tsx', + filename: '/x-pack/solutions/observability/plugins/observability/public/test_component.tsx', code: ` import React from 'react'; diff --git a/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_i18n.test.ts b/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_i18n.test.ts index 17a1e290befb5..1d36880057f16 100644 --- a/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_i18n.test.ts +++ b/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_i18n.test.ts @@ -45,7 +45,7 @@ const babelTester = [ const invalid: RuleTester.InvalidTestCase[] = [ { name: 'A JSX element with a string literal should be translated with i18n', - filename: '/x-pack/plugins/observability_solution/observability/public/test_component.tsx', + filename: '/x-pack/solutions/observability/plugins/observability/public/test_component.tsx', code: ` import React from 'react'; @@ -72,7 +72,7 @@ function TestComponent() { }, { name: 'A JSX element with a string literal that are inside an Eui component should take the component name of the parent into account', - filename: '/x-pack/plugins/observability_solution/observability/public/another_component.tsx', + filename: '/x-pack/solutions/observability/plugins/observability/public/another_component.tsx', code: ` import React from 'react'; @@ -112,7 +112,7 @@ function AnotherComponent() { { name: 'When no import of the translation module is present, the import line should be added', filename: - '/x-pack/plugins/observability_solution/observability/public/yet_another_component.tsx', + '/x-pack/solutions/observability/plugins/observability/public/yet_another_component.tsx', code: ` import React from 'react'; @@ -143,7 +143,7 @@ function YetAnotherComponent() { }, { name: 'Import lines without the necessary translation module should be updated to include i18n', - filename: '/x-pack/plugins/observability_solution/observability/public/test_component.tsx', + filename: '/x-pack/solutions/observability/plugins/observability/public/test_component.tsx', code: ` import React from 'react'; import { SomeOtherModule } from '@kbn/i18n'; @@ -171,7 +171,7 @@ function TestComponent() { }, { name: 'JSX elements that have a label, aria-label or title prop with a string value should be translated with i18n', - filename: '/x-pack/plugins/observability_solution/observability/public/test_component.tsx', + filename: '/x-pack/solutions/observability/plugins/observability/public/test_component.tsx', code: ` import React from 'react'; import { i18n } from '@kbn/i18n'; @@ -227,7 +227,7 @@ function TestComponent3() { }, { name: 'JSX elements that have a label, aria-label or title prop with a string value with quotes should be correctly translated with i18n', - filename: '/x-pack/plugins/observability_solution/observability/public/test_component.tsx', + filename: '/x-pack/solutions/observability/plugins/observability/public/test_component.tsx', code: ` import React from 'react'; import { i18n } from '@kbn/i18n'; @@ -283,7 +283,7 @@ function TestComponent3() { }, { name: 'JSX elements that have a label, aria-label or title prop with a JSXExpression value that is a string should be translated with i18n', - filename: '/x-pack/plugins/observability_solution/observability/public/test_component.tsx', + filename: '/x-pack/solutions/observability/plugins/observability/public/test_component.tsx', code: ` import React from 'react'; import { i18n } from '@kbn/i18n'; @@ -339,7 +339,7 @@ function TestComponent3() { }, { name: 'JSX elements that have a label, aria-label or title prop with a JSXExpression value that is a string with quotes in it should be correctly translated with i18n', - filename: '/x-pack/plugins/observability_solution/observability/public/test_component.tsx', + filename: '/x-pack/solutions/observability/plugins/observability/public/test_component.tsx', code: ` import React from 'react'; import { i18n } from '@kbn/i18n'; @@ -398,7 +398,7 @@ function TestComponent3() { const valid: RuleTester.ValidTestCase[] = [ { name: 'A JSXText element inside a EuiCode component should not be translated', - filename: '/x-pack/plugins/observability_solution/observability/public/test_component.tsx', + filename: '/x-pack/solutions/observability/plugins/observability/public/test_component.tsx', code: ` import React from 'react'; @@ -410,7 +410,7 @@ function TestComponent() { }, { name: 'A JSXText element that contains anything other than alpha characters should not be translated', - filename: '/x-pack/plugins/observability_solution/observability/public/test_component.tsx', + filename: '/x-pack/solutions/observability/plugins/observability/public/test_component.tsx', code: ` import React from 'react'; @@ -422,7 +422,7 @@ function TestComponent() { }, { name: 'A JSXText element that is wrapped in three backticks (markdown) should not be translated', - filename: '/x-pack/plugins/observability_solution/observability/public/test_component.tsx', + filename: '/x-pack/solutions/observability/plugins/observability/public/test_component.tsx', code: ` import React from 'react'; diff --git a/packages/kbn-eslint-plugin-telemetry/helpers/get_app_name.test.ts b/packages/kbn-eslint-plugin-telemetry/helpers/get_app_name.test.ts index 0d5526103fb7d..5053c4ca5a8e2 100644 --- a/packages/kbn-eslint-plugin-telemetry/helpers/get_app_name.test.ts +++ b/packages/kbn-eslint-plugin-telemetry/helpers/get_app_name.test.ts @@ -12,7 +12,7 @@ import { getAppName } from './get_app_name'; const SYSTEMPATH = 'systemPath'; const testMap = [ - ['x-pack/plugins/observability_solution/observability/foo/bar/baz/header_actions.tsx', 'o11y'], + ['x-pack/solutions/observability/plugins/observability/foo/bar/baz/header_actions.tsx', 'o11y'], ['x-pack/plugins/observability_solution/apm/baz/header_actions.tsx', 'apm'], ['x-pack/plugins/apm/public/components/app/correlations/correlations_table.tsx', 'apm'], ['x-pack/plugins/observability/foo/bar/baz/header_actions.tsx', 'o11y'], diff --git a/packages/kbn-investigation-shared/index.ts b/packages/kbn-investigation-shared/index.ts deleted file mode 100644 index 55b900ad5137a..0000000000000 --- a/packages/kbn-investigation-shared/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -/* - * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". - */ - -export * from './src'; diff --git a/packages/kbn-investigation-shared/jest.config.js b/packages/kbn-investigation-shared/jest.config.js deleted file mode 100644 index 54ed81a5d343b..0000000000000 --- a/packages/kbn-investigation-shared/jest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -/* - * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". - */ - -module.exports = { - preset: '@kbn/test/jest_node', - rootDir: '../..', - roots: ['/packages/kbn-investigation-shared'], -}; diff --git a/packages/kbn-investigation-shared/src/index.ts b/packages/kbn-investigation-shared/src/index.ts deleted file mode 100644 index 8ab81653a18dd..0000000000000 --- a/packages/kbn-investigation-shared/src/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* - * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". - */ - -export * from './rest_specs'; -export * from './schema'; diff --git a/packages/kbn-investigation-shared/src/schema/index.ts b/packages/kbn-investigation-shared/src/schema/index.ts deleted file mode 100644 index f65fe9baf1f6f..0000000000000 --- a/packages/kbn-investigation-shared/src/schema/index.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* - * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". - */ - -export * from './investigation'; -export * from './investigation_item'; -export * from './investigation_note'; -export * from './origin'; -export * from './event'; - -export type * from './investigation'; diff --git a/packages/kbn-investigation-shared/src/schema/investigation_note.ts b/packages/kbn-investigation-shared/src/schema/investigation_note.ts deleted file mode 100644 index ff877ab884127..0000000000000 --- a/packages/kbn-investigation-shared/src/schema/investigation_note.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". - */ - -import { z } from '@kbn/zod'; - -const investigationNoteSchema = z.object({ - id: z.string(), - content: z.string(), - createdAt: z.number(), - updatedAt: z.number(), - createdBy: z.string(), -}); - -export { investigationNoteSchema }; diff --git a/packages/kbn-investigation-shared/src/schema/origin.ts b/packages/kbn-investigation-shared/src/schema/origin.ts deleted file mode 100644 index b0c790db0ad67..0000000000000 --- a/packages/kbn-investigation-shared/src/schema/origin.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* - * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". - */ - -import { z } from '@kbn/zod'; - -const blankOriginSchema = z.object({ type: z.literal('blank') }); -const alertOriginSchema = z.object({ type: z.literal('alert'), id: z.string() }); - -export { alertOriginSchema, blankOriginSchema }; diff --git a/src/dev/storybook/aliases.ts b/src/dev/storybook/aliases.ts index e70d2e703048e..6054def996623 100644 --- a/src/dev/storybook/aliases.ts +++ b/src/dev/storybook/aliases.ts @@ -46,12 +46,12 @@ export const storybookAliases = { home: 'src/plugins/home/.storybook', infra: 'x-pack/plugins/observability_solution/infra/.storybook', inventory: 'x-pack/plugins/observability_solution/inventory/.storybook', - investigate: 'x-pack/plugins/observability_solution/investigate_app/.storybook', + investigate: 'x-pack/solutions/observability/plugins/investigate_app/.storybook', kibana_react: 'src/plugins/kibana_react/.storybook', lists: 'x-pack/plugins/lists/.storybook', logs_explorer: 'x-pack/plugins/observability_solution/logs_explorer/.storybook', management: 'packages/kbn-management/storybook/config', - observability: 'x-pack/plugins/observability_solution/observability/.storybook', + observability: 'x-pack/solutions/observability/plugins/observability/.storybook', observability_ai_assistant: 'x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/.storybook', observability_ai_assistant_app: diff --git a/packages/deeplinks/observability/README.md b/src/platform/packages/shared/deeplinks/observability/README.md similarity index 100% rename from packages/deeplinks/observability/README.md rename to src/platform/packages/shared/deeplinks/observability/README.md diff --git a/packages/deeplinks/observability/constants.ts b/src/platform/packages/shared/deeplinks/observability/constants.ts similarity index 100% rename from packages/deeplinks/observability/constants.ts rename to src/platform/packages/shared/deeplinks/observability/constants.ts diff --git a/packages/deeplinks/observability/deep_links.ts b/src/platform/packages/shared/deeplinks/observability/deep_links.ts similarity index 100% rename from packages/deeplinks/observability/deep_links.ts rename to src/platform/packages/shared/deeplinks/observability/deep_links.ts diff --git a/packages/deeplinks/observability/index.ts b/src/platform/packages/shared/deeplinks/observability/index.ts similarity index 100% rename from packages/deeplinks/observability/index.ts rename to src/platform/packages/shared/deeplinks/observability/index.ts diff --git a/packages/deeplinks/observability/jest.config.js b/src/platform/packages/shared/deeplinks/observability/jest.config.js similarity index 82% rename from packages/deeplinks/observability/jest.config.js rename to src/platform/packages/shared/deeplinks/observability/jest.config.js index 76553cb468478..132706f9af307 100644 --- a/packages/deeplinks/observability/jest.config.js +++ b/src/platform/packages/shared/deeplinks/observability/jest.config.js @@ -9,6 +9,6 @@ module.exports = { preset: '@kbn/test', - rootDir: '../../..', - roots: ['/packages/deeplinks/observability'], + rootDir: '../../../../../..', + roots: ['/src/platform/packages/shared/deeplinks/observability'], }; diff --git a/packages/deeplinks/observability/kibana.jsonc b/src/platform/packages/shared/deeplinks/observability/kibana.jsonc similarity index 100% rename from packages/deeplinks/observability/kibana.jsonc rename to src/platform/packages/shared/deeplinks/observability/kibana.jsonc diff --git a/packages/deeplinks/observability/locators/dataset_quality.ts b/src/platform/packages/shared/deeplinks/observability/locators/dataset_quality.ts similarity index 100% rename from packages/deeplinks/observability/locators/dataset_quality.ts rename to src/platform/packages/shared/deeplinks/observability/locators/dataset_quality.ts diff --git a/packages/deeplinks/observability/locators/dataset_quality_details.ts b/src/platform/packages/shared/deeplinks/observability/locators/dataset_quality_details.ts similarity index 100% rename from packages/deeplinks/observability/locators/dataset_quality_details.ts rename to src/platform/packages/shared/deeplinks/observability/locators/dataset_quality_details.ts diff --git a/packages/deeplinks/observability/locators/index.ts b/src/platform/packages/shared/deeplinks/observability/locators/index.ts similarity index 100% rename from packages/deeplinks/observability/locators/index.ts rename to src/platform/packages/shared/deeplinks/observability/locators/index.ts diff --git a/packages/deeplinks/observability/locators/logs_explorer.ts b/src/platform/packages/shared/deeplinks/observability/locators/logs_explorer.ts similarity index 100% rename from packages/deeplinks/observability/locators/logs_explorer.ts rename to src/platform/packages/shared/deeplinks/observability/locators/logs_explorer.ts diff --git a/packages/deeplinks/observability/locators/observability_logs_explorer.ts b/src/platform/packages/shared/deeplinks/observability/locators/observability_logs_explorer.ts similarity index 100% rename from packages/deeplinks/observability/locators/observability_logs_explorer.ts rename to src/platform/packages/shared/deeplinks/observability/locators/observability_logs_explorer.ts diff --git a/packages/deeplinks/observability/locators/observability_onboarding.ts b/src/platform/packages/shared/deeplinks/observability/locators/observability_onboarding.ts similarity index 100% rename from packages/deeplinks/observability/locators/observability_onboarding.ts rename to src/platform/packages/shared/deeplinks/observability/locators/observability_onboarding.ts diff --git a/packages/deeplinks/observability/locators/uptime.ts b/src/platform/packages/shared/deeplinks/observability/locators/uptime.ts similarity index 100% rename from packages/deeplinks/observability/locators/uptime.ts rename to src/platform/packages/shared/deeplinks/observability/locators/uptime.ts diff --git a/packages/deeplinks/observability/package.json b/src/platform/packages/shared/deeplinks/observability/package.json similarity index 100% rename from packages/deeplinks/observability/package.json rename to src/platform/packages/shared/deeplinks/observability/package.json diff --git a/packages/deeplinks/observability/tsconfig.json b/src/platform/packages/shared/deeplinks/observability/tsconfig.json similarity index 84% rename from packages/deeplinks/observability/tsconfig.json rename to src/platform/packages/shared/deeplinks/observability/tsconfig.json index 425a5a8612854..e1c207f1ba4d2 100644 --- a/packages/deeplinks/observability/tsconfig.json +++ b/src/platform/packages/shared/deeplinks/observability/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../tsconfig.base.json", + "extends": "../../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types", "types": [ diff --git a/src/plugins/guided_onboarding/README.md b/src/plugins/guided_onboarding/README.md index a7d1447d6da8b..8190ee82c2008 100755 --- a/src/plugins/guided_onboarding/README.md +++ b/src/plugins/guided_onboarding/README.md @@ -125,7 +125,7 @@ To use the API service, you need to know a guide ID (currently one of `appSearch The guided onboarding exposes a function `registerGuideConfig(guideId: GuideId, guideConfig: GuideConfig)` function in its setup contract. This function allows consumers to register a guide config for a specified guide ID. The function throws an error if a config already exists for the guide ID. See code examples in following plugins: - enterprise search: `x-pack/plugins/enterprise_search/server/plugin.ts` -- observability: `x-pack/plugins/observability_solution/observability/server/plugin.ts` +- observability: `x-pack/solutions/observability/plugins/observability/server/plugin.ts` - security solution: `x-pack/plugins/security_solution/server/plugin.ts` ## Adding a new guide diff --git a/tsconfig.base.json b/tsconfig.base.json index 965f6eeb8cf70..c68b6d406dace 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -700,8 +700,8 @@ "@kbn/dashboard-enhanced-plugin/*": ["x-pack/plugins/dashboard_enhanced/*"], "@kbn/dashboard-plugin": ["src/plugins/dashboard"], "@kbn/dashboard-plugin/*": ["src/plugins/dashboard/*"], - "@kbn/data-forge": ["x-pack/packages/kbn-data-forge"], - "@kbn/data-forge/*": ["x-pack/packages/kbn-data-forge/*"], + "@kbn/data-forge": ["x-pack/platform/packages/shared/kbn-data-forge"], + "@kbn/data-forge/*": ["x-pack/platform/packages/shared/kbn-data-forge/*"], "@kbn/data-plugin": ["src/plugins/data"], "@kbn/data-plugin/*": ["src/plugins/data/*"], "@kbn/data-quality-plugin": ["x-pack/plugins/data_quality"], @@ -742,8 +742,8 @@ "@kbn/deeplinks-management/*": ["packages/deeplinks/management/*"], "@kbn/deeplinks-ml": ["src/platform/packages/shared/deeplinks/ml"], "@kbn/deeplinks-ml/*": ["src/platform/packages/shared/deeplinks/ml/*"], - "@kbn/deeplinks-observability": ["packages/deeplinks/observability"], - "@kbn/deeplinks-observability/*": ["packages/deeplinks/observability/*"], + "@kbn/deeplinks-observability": ["src/platform/packages/shared/deeplinks/observability"], + "@kbn/deeplinks-observability/*": ["src/platform/packages/shared/deeplinks/observability/*"], "@kbn/deeplinks-search": ["packages/deeplinks/search"], "@kbn/deeplinks-search/*": ["packages/deeplinks/search/*"], "@kbn/deeplinks-security": ["packages/deeplinks/security"], @@ -898,8 +898,8 @@ "@kbn/expect/*": ["packages/kbn-expect/*"], "@kbn/exploratory-view-example-plugin": ["x-pack/examples/exploratory_view_example"], "@kbn/exploratory-view-example-plugin/*": ["x-pack/examples/exploratory_view_example/*"], - "@kbn/exploratory-view-plugin": ["x-pack/plugins/observability_solution/exploratory_view"], - "@kbn/exploratory-view-plugin/*": ["x-pack/plugins/observability_solution/exploratory_view/*"], + "@kbn/exploratory-view-plugin": ["x-pack/solutions/observability/plugins/exploratory_view"], + "@kbn/exploratory-view-plugin/*": ["x-pack/solutions/observability/plugins/exploratory_view/*"], "@kbn/expression-error-plugin": ["src/plugins/expression_error"], "@kbn/expression-error-plugin/*": ["src/plugins/expression_error/*"], "@kbn/expression-gauge-plugin": ["src/plugins/chart_expressions/expression_gauge"], @@ -1066,8 +1066,8 @@ "@kbn/inference-common/*": ["x-pack/platform/packages/shared/ai-infra/inference-common/*"], "@kbn/inference-plugin": ["x-pack/platform/plugins/shared/inference"], "@kbn/inference-plugin/*": ["x-pack/platform/plugins/shared/inference/*"], - "@kbn/infra-forge": ["x-pack/packages/kbn-infra-forge"], - "@kbn/infra-forge/*": ["x-pack/packages/kbn-infra-forge/*"], + "@kbn/infra-forge": ["x-pack/platform/packages/private/kbn-infra-forge"], + "@kbn/infra-forge/*": ["x-pack/platform/packages/private/kbn-infra-forge/*"], "@kbn/infra-plugin": ["x-pack/plugins/observability_solution/infra"], "@kbn/infra-plugin/*": ["x-pack/plugins/observability_solution/infra/*"], "@kbn/ingest-pipelines-plugin": ["x-pack/plugins/ingest_pipelines"], @@ -1088,12 +1088,12 @@ "@kbn/inventory-e2e/*": ["x-pack/plugins/observability_solution/inventory/e2e/*"], "@kbn/inventory-plugin": ["x-pack/plugins/observability_solution/inventory"], "@kbn/inventory-plugin/*": ["x-pack/plugins/observability_solution/inventory/*"], - "@kbn/investigate-app-plugin": ["x-pack/plugins/observability_solution/investigate_app"], - "@kbn/investigate-app-plugin/*": ["x-pack/plugins/observability_solution/investigate_app/*"], - "@kbn/investigate-plugin": ["x-pack/plugins/observability_solution/investigate"], - "@kbn/investigate-plugin/*": ["x-pack/plugins/observability_solution/investigate/*"], - "@kbn/investigation-shared": ["packages/kbn-investigation-shared"], - "@kbn/investigation-shared/*": ["packages/kbn-investigation-shared/*"], + "@kbn/investigate-app-plugin": ["x-pack/solutions/observability/plugins/investigate_app"], + "@kbn/investigate-app-plugin/*": ["x-pack/solutions/observability/plugins/investigate_app/*"], + "@kbn/investigate-plugin": ["x-pack/solutions/observability/plugins/investigate"], + "@kbn/investigate-plugin/*": ["x-pack/solutions/observability/plugins/investigate/*"], + "@kbn/investigation-shared": ["x-pack/solutions/observability/packages/kbn-investigation-shared"], + "@kbn/investigation-shared/*": ["x-pack/solutions/observability/packages/kbn-investigation-shared/*"], "@kbn/io-ts-utils": ["packages/kbn-io-ts-utils"], "@kbn/io-ts-utils/*": ["packages/kbn-io-ts-utils/*"], "@kbn/ipynb": ["packages/kbn-ipynb"], @@ -1326,16 +1326,16 @@ "@kbn/observability-ai-common/*": ["x-pack/solutions/observability/packages/observability_ai/observability_ai_common/*"], "@kbn/observability-ai-server": ["x-pack/solutions/observability/packages/observability_ai/observability_ai_server"], "@kbn/observability-ai-server/*": ["x-pack/solutions/observability/packages/observability_ai/observability_ai_server/*"], - "@kbn/observability-alert-details": ["x-pack/packages/observability/alert_details"], - "@kbn/observability-alert-details/*": ["x-pack/packages/observability/alert_details/*"], - "@kbn/observability-alerting-rule-utils": ["x-pack/packages/observability/alerting_rule_utils"], - "@kbn/observability-alerting-rule-utils/*": ["x-pack/packages/observability/alerting_rule_utils/*"], - "@kbn/observability-alerting-test-data": ["x-pack/packages/observability/alerting_test_data"], - "@kbn/observability-alerting-test-data/*": ["x-pack/packages/observability/alerting_test_data/*"], + "@kbn/observability-alert-details": ["x-pack/solutions/observability/packages/alert_details"], + "@kbn/observability-alert-details/*": ["x-pack/solutions/observability/packages/alert_details/*"], + "@kbn/observability-alerting-rule-utils": ["x-pack/platform/packages/shared/observability/alerting_rule_utils"], + "@kbn/observability-alerting-rule-utils/*": ["x-pack/platform/packages/shared/observability/alerting_rule_utils/*"], + "@kbn/observability-alerting-test-data": ["x-pack/solutions/observability/packages/alerting_test_data"], + "@kbn/observability-alerting-test-data/*": ["x-pack/solutions/observability/packages/alerting_test_data/*"], "@kbn/observability-fixtures-plugin": ["x-pack/test/cases_api_integration/common/plugins/observability"], "@kbn/observability-fixtures-plugin/*": ["x-pack/test/cases_api_integration/common/plugins/observability/*"], - "@kbn/observability-get-padded-alert-time-range-util": ["x-pack/packages/observability/get_padded_alert_time_range_util"], - "@kbn/observability-get-padded-alert-time-range-util/*": ["x-pack/packages/observability/get_padded_alert_time_range_util/*"], + "@kbn/observability-get-padded-alert-time-range-util": ["x-pack/solutions/observability/packages/get_padded_alert_time_range_util"], + "@kbn/observability-get-padded-alert-time-range-util/*": ["x-pack/solutions/observability/packages/get_padded_alert_time_range_util/*"], "@kbn/observability-logs-explorer-plugin": ["x-pack/plugins/observability_solution/observability_logs_explorer"], "@kbn/observability-logs-explorer-plugin/*": ["x-pack/plugins/observability_solution/observability_logs_explorer/*"], "@kbn/observability-logs-overview": ["x-pack/packages/observability/logs_overview"], @@ -1344,12 +1344,12 @@ "@kbn/observability-onboarding-e2e/*": ["x-pack/plugins/observability_solution/observability_onboarding/e2e/*"], "@kbn/observability-onboarding-plugin": ["x-pack/plugins/observability_solution/observability_onboarding"], "@kbn/observability-onboarding-plugin/*": ["x-pack/plugins/observability_solution/observability_onboarding/*"], - "@kbn/observability-plugin": ["x-pack/plugins/observability_solution/observability"], - "@kbn/observability-plugin/*": ["x-pack/plugins/observability_solution/observability/*"], + "@kbn/observability-plugin": ["x-pack/solutions/observability/plugins/observability"], + "@kbn/observability-plugin/*": ["x-pack/solutions/observability/plugins/observability/*"], "@kbn/observability-shared-plugin": ["x-pack/plugins/observability_solution/observability_shared"], "@kbn/observability-shared-plugin/*": ["x-pack/plugins/observability_solution/observability_shared/*"], - "@kbn/observability-synthetics-test-data": ["x-pack/packages/observability/synthetics_test_data"], - "@kbn/observability-synthetics-test-data/*": ["x-pack/packages/observability/synthetics_test_data/*"], + "@kbn/observability-synthetics-test-data": ["x-pack/solutions/observability/packages/synthetics_test_data"], + "@kbn/observability-synthetics-test-data/*": ["x-pack/solutions/observability/packages/synthetics_test_data/*"], "@kbn/observability-utils-browser": ["x-pack/packages/observability/observability_utils/observability_utils_browser"], "@kbn/observability-utils-browser/*": ["x-pack/packages/observability/observability_utils/observability_utils_browser/*"], "@kbn/observability-utils-common": ["x-pack/packages/observability/observability_utils/observability_utils_common"], @@ -1706,8 +1706,8 @@ "@kbn/serverless/*": ["x-pack/plugins/serverless/*"], "@kbn/serverless-common-settings": ["packages/serverless/settings/common"], "@kbn/serverless-common-settings/*": ["packages/serverless/settings/common/*"], - "@kbn/serverless-observability": ["x-pack/plugins/serverless_observability"], - "@kbn/serverless-observability/*": ["x-pack/plugins/serverless_observability/*"], + "@kbn/serverless-observability": ["x-pack/solutions/observability/plugins/serverless_observability"], + "@kbn/serverless-observability/*": ["x-pack/solutions/observability/plugins/serverless_observability/*"], "@kbn/serverless-observability-settings": ["packages/serverless/settings/observability_project"], "@kbn/serverless-observability-settings/*": ["packages/serverless/settings/observability_project/*"], "@kbn/serverless-project-switcher": ["packages/serverless/project_switcher"], @@ -1836,8 +1836,8 @@ "@kbn/shared-ux-utility/*": ["packages/kbn-shared-ux-utility/*"], "@kbn/slo-plugin": ["x-pack/plugins/observability_solution/slo"], "@kbn/slo-plugin/*": ["x-pack/plugins/observability_solution/slo/*"], - "@kbn/slo-schema": ["x-pack/packages/kbn-slo-schema"], - "@kbn/slo-schema/*": ["x-pack/packages/kbn-slo-schema/*"], + "@kbn/slo-schema": ["x-pack/platform/packages/shared/kbn-slo-schema"], + "@kbn/slo-schema/*": ["x-pack/platform/packages/shared/kbn-slo-schema/*"], "@kbn/snapshot-restore-plugin": ["x-pack/plugins/snapshot_restore"], "@kbn/snapshot-restore-plugin/*": ["x-pack/plugins/snapshot_restore/*"], "@kbn/some-dev-log": ["packages/kbn-some-dev-log"], @@ -1878,10 +1878,10 @@ "@kbn/streams-app-plugin/*": ["x-pack/solutions/observability/plugins/streams_app/*"], "@kbn/streams-plugin": ["x-pack/solutions/observability/plugins/streams"], "@kbn/streams-plugin/*": ["x-pack/solutions/observability/plugins/streams/*"], - "@kbn/synthetics-e2e": ["x-pack/plugins/observability_solution/synthetics/e2e"], - "@kbn/synthetics-e2e/*": ["x-pack/plugins/observability_solution/synthetics/e2e/*"], - "@kbn/synthetics-plugin": ["x-pack/plugins/observability_solution/synthetics"], - "@kbn/synthetics-plugin/*": ["x-pack/plugins/observability_solution/synthetics/*"], + "@kbn/synthetics-e2e": ["x-pack/solutions/observability/plugins/synthetics/e2e"], + "@kbn/synthetics-e2e/*": ["x-pack/solutions/observability/plugins/synthetics/e2e/*"], + "@kbn/synthetics-plugin": ["x-pack/solutions/observability/plugins/synthetics"], + "@kbn/synthetics-plugin/*": ["x-pack/solutions/observability/plugins/synthetics/*"], "@kbn/synthetics-private-location": ["x-pack/packages/kbn-synthetics-private-location"], "@kbn/synthetics-private-location/*": ["x-pack/packages/kbn-synthetics-private-location/*"], "@kbn/task-manager-fixture-plugin": ["x-pack/test/alerting_api_integration/common/plugins/task_manager_fixture"], @@ -2000,8 +2000,8 @@ "@kbn/unsaved-changes-prompt/*": ["packages/kbn-unsaved-changes-prompt/*"], "@kbn/upgrade-assistant-plugin": ["x-pack/plugins/upgrade_assistant"], "@kbn/upgrade-assistant-plugin/*": ["x-pack/plugins/upgrade_assistant/*"], - "@kbn/uptime-plugin": ["x-pack/plugins/observability_solution/uptime"], - "@kbn/uptime-plugin/*": ["x-pack/plugins/observability_solution/uptime/*"], + "@kbn/uptime-plugin": ["x-pack/solutions/observability/plugins/uptime"], + "@kbn/uptime-plugin/*": ["x-pack/solutions/observability/plugins/uptime/*"], "@kbn/url-drilldown-plugin": ["x-pack/plugins/drilldowns/url_drilldown"], "@kbn/url-drilldown-plugin/*": ["x-pack/plugins/drilldowns/url_drilldown/*"], "@kbn/url-forwarding-plugin": ["src/plugins/url_forwarding"], @@ -2024,8 +2024,8 @@ "@kbn/utility-types-jest/*": ["packages/kbn-utility-types-jest/*"], "@kbn/utils": ["packages/kbn-utils"], "@kbn/utils/*": ["packages/kbn-utils/*"], - "@kbn/ux-plugin": ["x-pack/plugins/observability_solution/ux"], - "@kbn/ux-plugin/*": ["x-pack/plugins/observability_solution/ux/*"], + "@kbn/ux-plugin": ["x-pack/solutions/observability/plugins/ux"], + "@kbn/ux-plugin/*": ["x-pack/solutions/observability/plugins/ux/*"], "@kbn/v8-profiler-examples-plugin": ["examples/v8_profiler_examples"], "@kbn/v8-profiler-examples-plugin/*": ["examples/v8_profiler_examples/*"], "@kbn/validate-next-docs-cli": ["packages/kbn-validate-next-docs-cli"], diff --git a/x-pack/.i18nrc.json b/x-pack/.i18nrc.json index 9242957fd923c..c70a6201ed8bc 100644 --- a/x-pack/.i18nrc.json +++ b/x-pack/.i18nrc.json @@ -44,7 +44,7 @@ "xpack.enterpriseSearch": "plugins/enterprise_search", "xpack.features": "plugins/features", "xpack.dataVisualizer": "platform/plugins/private/data_visualizer", - "xpack.exploratoryView": "plugins/observability_solution/exploratory_view", + "xpack.exploratoryView": "solutions/observability/plugins/exploratory_view", "xpack.fileUpload": "plugins/file_upload", "xpack.globalSearch": [ "plugins/global_search" @@ -68,8 +68,8 @@ "xpack.integrationAssistant": "plugins/integration_assistant", "xpack.inference": "platform/plugins/shared/inference", "xpack.inventory": "plugins/observability_solution/inventory", - "xpack.investigate": "plugins/observability_solution/investigate", - "xpack.investigateApp": "plugins/observability_solution/investigate_app", + "xpack.investigate": "solutions/observability/plugins/investigate", + "xpack.investigateApp": "solutions/observability/plugins/investigate_app", "xpack.kubernetesSecurity": "plugins/kubernetes_security", "xpack.lens": "plugins/lens", "xpack.licenseApiGuard": "plugins/license_api_guard", @@ -100,7 +100,7 @@ "xpack.monitoring": [ "plugins/monitoring" ], - "xpack.observability": "plugins/observability_solution/observability", + "xpack.observability": "solutions/observability/plugins/observability", "xpack.observabilityAiAssistant": [ "platform/plugins/shared/observability_solution/observability_ai_assistant", "solutions/observability/plugins/observability_ai_assistant_app" @@ -145,7 +145,7 @@ "xpack.server": "legacy/server", "xpack.serverless": "plugins/serverless", "xpack.serverlessSearch": "plugins/serverless_search", - "xpack.serverlessObservability": "plugins/serverless_observability", + "xpack.serverlessObservability": "solutions/observability/plugins/serverless_observability", "xpack.securitySolution": "plugins/security_solution", "xpack.securitySolutionEss": "plugins/security_solution_ess", "xpack.securitySolutionServerless": "plugins/security_solution_serverless", @@ -166,13 +166,13 @@ "xpack.triggersActionsUI": "plugins/triggers_actions_ui", "xpack.upgradeAssistant": "plugins/upgrade_assistant", "xpack.uptime": [ - "plugins/observability_solution/uptime" + "solutions/observability/plugins/uptime" ], "xpack.synthetics": [ - "plugins/observability_solution/synthetics" + "solutions/observability/plugins/synthetics" ], "xpack.ux": [ - "plugins/observability_solution/ux" + "solutions/observability/plugins/ux" ], "xpack.urlDrilldown": "plugins/drilldowns/url_drilldown", "xpack.watcher": "plugins/watcher" diff --git a/x-pack/packages/observability/alerting_test_data/jest.config.js b/x-pack/packages/observability/alerting_test_data/jest.config.js deleted file mode 100644 index 05b0dbe613054..0000000000000 --- a/x-pack/packages/observability/alerting_test_data/jest.config.js +++ /dev/null @@ -1,12 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -module.exports = { - preset: '@kbn/test', - rootDir: '../../../..', - roots: ['/x-pack/packages/observability/alerting_test_data'], -}; diff --git a/x-pack/packages/observability/get_padded_alert_time_range_util/jest.config.js b/x-pack/packages/observability/get_padded_alert_time_range_util/jest.config.js deleted file mode 100644 index 2e476b09b3c4c..0000000000000 --- a/x-pack/packages/observability/get_padded_alert_time_range_util/jest.config.js +++ /dev/null @@ -1,12 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -module.exports = { - preset: '@kbn/test', - rootDir: '../../../..', - roots: ['/x-pack/packages/observability/get_padded_alert_time_range_util'], -}; diff --git a/x-pack/packages/observability/synthetics_test_data/jest.config.js b/x-pack/packages/observability/synthetics_test_data/jest.config.js deleted file mode 100644 index 62001f4072246..0000000000000 --- a/x-pack/packages/observability/synthetics_test_data/jest.config.js +++ /dev/null @@ -1,12 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -module.exports = { - preset: '@kbn/test', - rootDir: '../../../..', - roots: ['/x-pack/packages/observability/synthetics_test_data'], -}; diff --git a/x-pack/packages/kbn-infra-forge/README.md b/x-pack/platform/packages/private/kbn-infra-forge/README.md similarity index 100% rename from x-pack/packages/kbn-infra-forge/README.md rename to x-pack/platform/packages/private/kbn-infra-forge/README.md diff --git a/x-pack/packages/kbn-infra-forge/index.ts b/x-pack/platform/packages/private/kbn-infra-forge/index.ts similarity index 100% rename from x-pack/packages/kbn-infra-forge/index.ts rename to x-pack/platform/packages/private/kbn-infra-forge/index.ts diff --git a/x-pack/packages/kbn-infra-forge/jest.config.js b/x-pack/platform/packages/private/kbn-infra-forge/jest.config.js similarity index 75% rename from x-pack/packages/kbn-infra-forge/jest.config.js rename to x-pack/platform/packages/private/kbn-infra-forge/jest.config.js index d5bd842dee334..ca4dd781d58f8 100644 --- a/x-pack/packages/kbn-infra-forge/jest.config.js +++ b/x-pack/platform/packages/private/kbn-infra-forge/jest.config.js @@ -7,6 +7,6 @@ module.exports = { preset: '@kbn/test/jest_node', - rootDir: '../../..', - roots: ['/x-pack/packages/kbn-infra-forge'], + rootDir: '../../../../..', + roots: ['/x-pack/platform/packages/private/kbn-infra-forge'], }; diff --git a/x-pack/packages/kbn-infra-forge/kibana.jsonc b/x-pack/platform/packages/private/kbn-infra-forge/kibana.jsonc similarity index 100% rename from x-pack/packages/kbn-infra-forge/kibana.jsonc rename to x-pack/platform/packages/private/kbn-infra-forge/kibana.jsonc diff --git a/x-pack/packages/kbn-infra-forge/package.json b/x-pack/platform/packages/private/kbn-infra-forge/package.json similarity index 100% rename from x-pack/packages/kbn-infra-forge/package.json rename to x-pack/platform/packages/private/kbn-infra-forge/package.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/composable/component/base.json b/x-pack/platform/packages/private/kbn-infra-forge/src/data_sources/composable/component/base.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/composable/component/base.json rename to x-pack/platform/packages/private/kbn-infra-forge/src/data_sources/composable/component/base.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/composable/component/event.json b/x-pack/platform/packages/private/kbn-infra-forge/src/data_sources/composable/component/event.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/composable/component/event.json rename to x-pack/platform/packages/private/kbn-infra-forge/src/data_sources/composable/component/event.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/composable/component/host.json b/x-pack/platform/packages/private/kbn-infra-forge/src/data_sources/composable/component/host.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/composable/component/host.json rename to x-pack/platform/packages/private/kbn-infra-forge/src/data_sources/composable/component/host.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/composable/component/metricset.json b/x-pack/platform/packages/private/kbn-infra-forge/src/data_sources/composable/component/metricset.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/composable/component/metricset.json rename to x-pack/platform/packages/private/kbn-infra-forge/src/data_sources/composable/component/metricset.json diff --git a/x-pack/packages/kbn-infra-forge/src/data_sources/composable/component/system.json b/x-pack/platform/packages/private/kbn-infra-forge/src/data_sources/composable/component/system.json similarity index 100% rename from x-pack/packages/kbn-infra-forge/src/data_sources/composable/component/system.json rename to x-pack/platform/packages/private/kbn-infra-forge/src/data_sources/composable/component/system.json diff --git a/x-pack/packages/kbn-infra-forge/src/data_sources/composable/template.json b/x-pack/platform/packages/private/kbn-infra-forge/src/data_sources/composable/template.json similarity index 100% rename from x-pack/packages/kbn-infra-forge/src/data_sources/composable/template.json rename to x-pack/platform/packages/private/kbn-infra-forge/src/data_sources/composable/template.json diff --git a/x-pack/packages/kbn-infra-forge/src/data_sources/fake_hosts/index.ts b/x-pack/platform/packages/private/kbn-infra-forge/src/data_sources/fake_hosts/index.ts similarity index 100% rename from x-pack/packages/kbn-infra-forge/src/data_sources/fake_hosts/index.ts rename to x-pack/platform/packages/private/kbn-infra-forge/src/data_sources/fake_hosts/index.ts diff --git a/x-pack/packages/kbn-infra-forge/src/data_sources/fake_hosts/index_template_def.ts b/x-pack/platform/packages/private/kbn-infra-forge/src/data_sources/fake_hosts/index_template_def.ts similarity index 100% rename from x-pack/packages/kbn-infra-forge/src/data_sources/fake_hosts/index_template_def.ts rename to x-pack/platform/packages/private/kbn-infra-forge/src/data_sources/fake_hosts/index_template_def.ts diff --git a/x-pack/packages/kbn-infra-forge/src/lib/manage_template.ts b/x-pack/platform/packages/private/kbn-infra-forge/src/lib/manage_template.ts similarity index 100% rename from x-pack/packages/kbn-infra-forge/src/lib/manage_template.ts rename to x-pack/platform/packages/private/kbn-infra-forge/src/lib/manage_template.ts diff --git a/x-pack/packages/kbn-infra-forge/src/lib/queue.ts b/x-pack/platform/packages/private/kbn-infra-forge/src/lib/queue.ts similarity index 100% rename from x-pack/packages/kbn-infra-forge/src/lib/queue.ts rename to x-pack/platform/packages/private/kbn-infra-forge/src/lib/queue.ts diff --git a/x-pack/packages/kbn-infra-forge/src/run.ts b/x-pack/platform/packages/private/kbn-infra-forge/src/run.ts similarity index 100% rename from x-pack/packages/kbn-infra-forge/src/run.ts rename to x-pack/platform/packages/private/kbn-infra-forge/src/run.ts diff --git a/x-pack/packages/kbn-infra-forge/tsconfig.json b/x-pack/platform/packages/private/kbn-infra-forge/tsconfig.json similarity index 92% rename from x-pack/packages/kbn-infra-forge/tsconfig.json rename to x-pack/platform/packages/private/kbn-infra-forge/tsconfig.json index 09420c85fcfd7..44527346cbd92 100644 --- a/x-pack/packages/kbn-infra-forge/tsconfig.json +++ b/x-pack/platform/packages/private/kbn-infra-forge/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../tsconfig.base.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types", "types": [ diff --git a/x-pack/packages/kbn-data-forge/README.md b/x-pack/platform/packages/shared/kbn-data-forge/README.md similarity index 100% rename from x-pack/packages/kbn-data-forge/README.md rename to x-pack/platform/packages/shared/kbn-data-forge/README.md diff --git a/x-pack/packages/kbn-data-forge/example_config/anomalies_by_type/change_point_detection.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/anomalies_by_type/change_point_detection.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/anomalies_by_type/change_point_detection.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/anomalies_by_type/change_point_detection.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/anomalies_by_type/concept_drift.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/anomalies_by_type/concept_drift.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/anomalies_by_type/concept_drift.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/anomalies_by_type/concept_drift.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/anomalies_by_type/contextual_anomaly.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/anomalies_by_type/contextual_anomaly.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/anomalies_by_type/contextual_anomaly.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/anomalies_by_type/contextual_anomaly.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/anomalies_by_type/point_anomaly.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/anomalies_by_type/point_anomaly.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/anomalies_by_type/point_anomaly.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/anomalies_by_type/point_anomaly.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/changing_log_volume_example.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/changing_log_volume_example.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/changing_log_volume_example.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/changing_log_volume_example.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/fake_logs_sine.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/fake_logs_sine.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/fake_logs_sine.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/fake_logs_sine.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/fake_stack.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/fake_stack.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/fake_stack.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/fake_stack.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/full_example.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/full_example.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/full_example.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/full_example.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/future_example.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/future_example.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/future_example.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/future_example.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/good_to_bad_to_good.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/good_to_bad_to_good.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/good_to_bad_to_good.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/good_to_bad_to_good.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/log_drop.yml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/log_drop.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/log_drop.yml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/log_drop.yml diff --git a/x-pack/packages/kbn-data-forge/example_config/log_spike_scenarios/scenario0_logs.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/log_spike_scenarios/scenario0_logs.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/log_spike_scenarios/scenario0_logs.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/log_spike_scenarios/scenario0_logs.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/log_spike_scenarios/scenario1_spike_logs.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/log_spike_scenarios/scenario1_spike_logs.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/log_spike_scenarios/scenario1_spike_logs.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/log_spike_scenarios/scenario1_spike_logs.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/log_spike_scenarios/scenario2_spike_logs_host.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/log_spike_scenarios/scenario2_spike_logs_host.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/log_spike_scenarios/scenario2_spike_logs_host.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/log_spike_scenarios/scenario2_spike_logs_host.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/log_spike_scenarios/scenario3_spike_errors.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/log_spike_scenarios/scenario3_spike_errors.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/log_spike_scenarios/scenario3_spike_errors.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/log_spike_scenarios/scenario3_spike_errors.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/log_spike_scenarios/scenario4_spike_errors_with_recovery.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/log_spike_scenarios/scenario4_spike_errors_with_recovery.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/log_spike_scenarios/scenario4_spike_errors_with_recovery.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/log_spike_scenarios/scenario4_spike_errors_with_recovery.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/log_spike_scenarios/scenario5_spike_logs_linear.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/log_spike_scenarios/scenario5_spike_logs_linear.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/log_spike_scenarios/scenario5_spike_logs_linear.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/log_spike_scenarios/scenario5_spike_logs_linear.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/metric_example.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/metric_example.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/metric_example.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/metric_example.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/ramp_up_then_down.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/ramp_up_then_down.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/ramp_up_then_down.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/ramp_up_then_down.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/related_events_metrics/scenario0_paralell_metrics_drop_step_change.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/related_events_metrics/scenario0_paralell_metrics_drop_step_change.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/related_events_metrics/scenario0_paralell_metrics_drop_step_change.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/related_events_metrics/scenario0_paralell_metrics_drop_step_change.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/related_events_metrics/scenario1_paralell_metrics_increase_step_change.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/related_events_metrics/scenario1_paralell_metrics_increase_step_change.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/related_events_metrics/scenario1_paralell_metrics_increase_step_change.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/related_events_metrics/scenario1_paralell_metrics_increase_step_change.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/related_events_metrics/scenario2_divergent_metrics.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/related_events_metrics/scenario2_divergent_metrics.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/related_events_metrics/scenario2_divergent_metrics.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/related_events_metrics/scenario2_divergent_metrics.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/related_events_metrics/scenario3_chained_metrics_change.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/related_events_metrics/scenario3_chained_metrics_change.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/related_events_metrics/scenario3_chained_metrics_change.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/related_events_metrics/scenario3_chained_metrics_change.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/rule_tests/custom_threshold_log_count.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/rule_tests/custom_threshold_log_count.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/rule_tests/custom_threshold_log_count.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/rule_tests/custom_threshold_log_count.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/rule_tests/custom_threshold_log_count_groupby.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/rule_tests/custom_threshold_log_count_groupby.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/rule_tests/custom_threshold_log_count_groupby.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/rule_tests/custom_threshold_log_count_groupby.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/rule_tests/custom_threshold_log_count_nodata.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/rule_tests/custom_threshold_log_count_nodata.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/rule_tests/custom_threshold_log_count_nodata.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/rule_tests/custom_threshold_log_count_nodata.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/rule_tests/custom_threshold_metric_avg.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/rule_tests/custom_threshold_metric_avg.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/rule_tests/custom_threshold_metric_avg.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/rule_tests/custom_threshold_metric_avg.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/rule_tests/custom_threshold_metric_avg_groupby.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/rule_tests/custom_threshold_metric_avg_groupby.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/rule_tests/custom_threshold_metric_avg_groupby.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/rule_tests/custom_threshold_metric_avg_groupby.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/rule_tests/custom_threshold_metric_avg_nodata.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/rule_tests/custom_threshold_metric_avg_nodata.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/rule_tests/custom_threshold_metric_avg_nodata.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/rule_tests/custom_threshold_metric_avg_nodata.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/rule_tests/slo_burn_rate.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/rule_tests/slo_burn_rate.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/rule_tests/slo_burn_rate.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/rule_tests/slo_burn_rate.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/transition_example.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/transition_example.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/transition_example.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/transition_example.yaml diff --git a/x-pack/packages/kbn-data-forge/example_config/transitioning_templates_example.yaml b/x-pack/platform/packages/shared/kbn-data-forge/example_config/transitioning_templates_example.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/example_config/transitioning_templates_example.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/example_config/transitioning_templates_example.yaml diff --git a/x-pack/packages/kbn-data-forge/index.ts b/x-pack/platform/packages/shared/kbn-data-forge/index.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/index.ts rename to x-pack/platform/packages/shared/kbn-data-forge/index.ts diff --git a/x-pack/packages/observability/alert_details/jest.config.js b/x-pack/platform/packages/shared/kbn-data-forge/jest.config.js similarity index 74% rename from x-pack/packages/observability/alert_details/jest.config.js rename to x-pack/platform/packages/shared/kbn-data-forge/jest.config.js index 746e2af6257c9..2b75e2ad4d2b6 100644 --- a/x-pack/packages/observability/alert_details/jest.config.js +++ b/x-pack/platform/packages/shared/kbn-data-forge/jest.config.js @@ -7,6 +7,6 @@ module.exports = { preset: '@kbn/test', - rootDir: '../../../..', - roots: ['/x-pack/packages/observability/alert_details'], + rootDir: '../../../../..', + roots: ['/x-pack/platform/packages/shared/kbn-data-forge'], }; diff --git a/x-pack/packages/kbn-data-forge/kibana.jsonc b/x-pack/platform/packages/shared/kbn-data-forge/kibana.jsonc similarity index 100% rename from x-pack/packages/kbn-data-forge/kibana.jsonc rename to x-pack/platform/packages/shared/kbn-data-forge/kibana.jsonc diff --git a/x-pack/packages/kbn-data-forge/package.json b/x-pack/platform/packages/shared/kbn-data-forge/package.json similarity index 100% rename from x-pack/packages/kbn-data-forge/package.json rename to x-pack/platform/packages/shared/kbn-data-forge/package.json diff --git a/x-pack/packages/kbn-data-forge/src/cleanup.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/cleanup.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/cleanup.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/cleanup.ts diff --git a/x-pack/packages/kbn-data-forge/src/cli.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/cli.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/cli.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/cli.ts diff --git a/x-pack/packages/kbn-data-forge/src/constants.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/constants.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/constants.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/constants.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/custom/metricset.yaml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/custom/metricset.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/custom/metricset.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/custom/metricset.yaml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/custom/system.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/custom/system.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/custom/system.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/custom/system.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/mapping-settings.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/mapping-settings.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/mapping-settings.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/mapping-settings.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/subset.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/subset.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/subset.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/subset.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/template-settings-legacy.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/template-settings-legacy.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/template-settings-legacy.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/template-settings-legacy.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/template-settings.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/template-settings.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/template-settings.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/fields/template-settings.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generate.sh b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generate.sh similarity index 76% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generate.sh rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generate.sh index da992a32c79d6..f4e90c0d0510f 100755 --- a/x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generate.sh +++ b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generate.sh @@ -1,8 +1,8 @@ #!/bin/sh -cd ../../../../../../../../ecs +cd ../../../../../../../../../../ecs -BASE=../kibana/x-pack/packages/kbn-data-forge/src/data_sources/fake_logs +BASE=../kibana/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts ECS=$BASE/ecs python3 ./scripts/generator.py --ref v8.0.0 \ diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/beats/fields.ecs.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/beats/fields.ecs.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/beats/fields.ecs.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/beats/fields.ecs.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/csv/fields.csv b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/csv/fields.csv similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/csv/fields.csv rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/csv/fields.csv diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/ecs/ecs_flat.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/ecs/ecs_flat.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/ecs/ecs_flat.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/ecs/ecs_flat.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/ecs/ecs_nested.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/ecs/ecs_nested.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/ecs/ecs_nested.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/ecs/ecs_nested.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/ecs/subset/fake_hosts/ecs_flat.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/ecs/subset/fake_hosts/ecs_flat.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/ecs/subset/fake_hosts/ecs_flat.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/ecs/subset/fake_hosts/ecs_flat.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/ecs/subset/fake_hosts/ecs_nested.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/ecs/subset/fake_hosts/ecs_nested.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/ecs/subset/fake_hosts/ecs_nested.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/ecs/subset/fake_hosts/ecs_nested.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/component/base.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/composable/component/base.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/component/base.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/composable/component/base.json diff --git a/x-pack/packages/kbn-infra-forge/src/data_sources/composable/component/event.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/composable/component/event.json similarity index 100% rename from x-pack/packages/kbn-infra-forge/src/data_sources/composable/component/event.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/composable/component/event.json diff --git a/x-pack/packages/kbn-infra-forge/src/data_sources/composable/component/host.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/composable/component/host.json similarity index 100% rename from x-pack/packages/kbn-infra-forge/src/data_sources/composable/component/host.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/composable/component/host.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/component/metricset.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/composable/component/metricset.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/component/metricset.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/composable/component/metricset.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/composable/component/system.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/composable/component/system.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/composable/component/system.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/composable/component/system.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/composable/template.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/composable/template.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/composable/template.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/composable/template.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/legacy/template.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/legacy/template.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/legacy/template.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generated/elasticsearch/legacy/template.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/index.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/index.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/index.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/index.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/index.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/index.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/index.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/index.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/template.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/template.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/template.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/template.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/fields/custom/metricset.yaml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/fields/custom/metricset.yaml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/fields/custom/metricset.yaml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/fields/custom/metricset.yaml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/fields/mapping-settings.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/fields/mapping-settings.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/fields/mapping-settings.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/fields/mapping-settings.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/fields/subset.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/fields/subset.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/fields/subset.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/fields/subset.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/fields/template-settings-legacy.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/fields/template-settings-legacy.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/fields/template-settings-legacy.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/fields/template-settings-legacy.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/fields/template-settings.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/fields/template-settings.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/fields/template-settings.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/fields/template-settings.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generate.sh b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generate.sh similarity index 76% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generate.sh rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generate.sh index 76221bba3ad34..2862d2e9acfea 100755 --- a/x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts/ecs/generate.sh +++ b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generate.sh @@ -1,8 +1,8 @@ #!/bin/sh -cd ../../../../../../../../ecs +cd ../../../../../../../../../../ecs -BASE=../kibana/x-pack/packages/kbn-data-forge/src/data_sources/fake_hosts +BASE=../kibana/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs ECS=$BASE/ecs python3 ./scripts/generator.py --ref v8.0.0 \ diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/beats/fields.ecs.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/beats/fields.ecs.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/beats/fields.ecs.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/beats/fields.ecs.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/csv/fields.csv b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/csv/fields.csv similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/csv/fields.csv rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/csv/fields.csv diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/ecs/ecs_flat.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/ecs/ecs_flat.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/ecs/ecs_flat.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/ecs/ecs_flat.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/ecs/ecs_nested.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/ecs/ecs_nested.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/ecs/ecs_nested.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/ecs/ecs_nested.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/ecs/subset/admin_console/ecs_flat.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/ecs/subset/admin_console/ecs_flat.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/ecs/subset/admin_console/ecs_flat.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/ecs/subset/admin_console/ecs_flat.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/ecs/subset/admin_console/ecs_nested.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/ecs/subset/admin_console/ecs_nested.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/ecs/subset/admin_console/ecs_nested.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/ecs/subset/admin_console/ecs_nested.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/base.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/component/base.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/base.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/component/base.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/component/event.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/component/event.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/component/event.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/component/event.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/component/host.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/component/host.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/component/host.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/component/host.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/component/log.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/component/log.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/component/log.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/component/log.json diff --git a/x-pack/packages/kbn-infra-forge/src/data_sources/composable/component/metricset.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/component/metricset.json similarity index 100% rename from x-pack/packages/kbn-infra-forge/src/data_sources/composable/component/metricset.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/component/metricset.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/template.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/template.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/template.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/composable/template.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/legacy/template.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/legacy/template.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/legacy/template.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generated/elasticsearch/legacy/template.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/index.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/index.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/ecs/index.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/index.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/index.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/index.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/index.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/index.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/template.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/template.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_logs/template.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/template.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/assets/admin_console.ndjson b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/assets/admin_console.ndjson similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/assets/admin_console.ndjson rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/assets/admin_console.ndjson diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/fields/mapping-settings.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/fields/mapping-settings.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/fields/mapping-settings.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/fields/mapping-settings.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/fields/subset.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/fields/subset.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/fields/subset.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/fields/subset.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/fields/template-settings-legacy.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/fields/template-settings-legacy.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/fields/template-settings-legacy.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/fields/template-settings-legacy.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/fields/template-settings.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/fields/template-settings.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/fields/template-settings.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/fields/template-settings.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generate.sh b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generate.sh similarity index 73% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generate.sh rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generate.sh index 8cfa4b8956f2b..da33b88d992e1 100755 --- a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generate.sh +++ b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generate.sh @@ -1,9 +1,9 @@ #!/bin/sh -cd ../../../../../../../../../ecs +cd ../../../../../../../../../../../ecs NAME=admin_console -BASE=../kibana/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/$NAME +BASE=../kibana/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/$NAME ECS=$BASE/ecs python3 ./scripts/generator.py --ref v8.0.0 \ diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/beats/fields.ecs.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/beats/fields.ecs.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/beats/fields.ecs.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/beats/fields.ecs.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/csv/fields.csv b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/csv/fields.csv similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/csv/fields.csv rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/csv/fields.csv diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/ecs/ecs_flat.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/ecs/ecs_flat.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/ecs/ecs_flat.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/ecs/ecs_flat.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/ecs/ecs_nested.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/ecs/ecs_nested.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/ecs/ecs_nested.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/ecs/ecs_nested.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/ecs/subset/admin_console/ecs_flat.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/ecs/subset/admin_console/ecs_flat.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/ecs/subset/admin_console/ecs_flat.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/ecs/subset/admin_console/ecs_flat.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/ecs/subset/admin_console/ecs_nested.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/ecs/subset/admin_console/ecs_nested.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/ecs/subset/admin_console/ecs_nested.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/ecs/subset/admin_console/ecs_nested.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/elasticsearch/composable/component/base.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/base.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/elasticsearch/composable/component/base.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/base.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/event.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/event.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/event.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/event.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/host.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/host.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/host.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/host.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/http.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/http.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/http.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/http.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/log.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/log.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/log.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/log.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/server.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/server.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/server.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/server.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/url.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/url.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/url.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/url.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/user.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/user.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/user.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/user.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/user_agent.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/user_agent.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/user_agent.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/component/user_agent.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/template.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/template.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/template.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/composable/template.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/legacy/template.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/legacy/template.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/legacy/template.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generated/elasticsearch/legacy/template.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/index.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/index.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/index.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/index.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/index.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/index.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/index.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/index.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/create_base_event.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/create_base_event.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/create_base_event.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/create_base_event.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/create_user.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/create_user.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/create_user.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/create_user.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/delete_user.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/delete_user.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/delete_user.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/delete_user.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/edit_user.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/edit_user.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/edit_user.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/edit_user.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/internal_error.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/internal_error.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/internal_error.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/internal_error.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/list_customers.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/list_customers.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/list_customers.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/list_customers.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/login.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/login.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/login.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/login.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/login_error.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/login_error.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/login_error.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/login_error.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/mongodb_connection_error.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/mongodb_connection_error.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/mongodb_connection_error.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/mongodb_connection_error.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/mongodb_proxy_timeout.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/mongodb_proxy_timeout.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/mongodb_proxy_timeout.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/mongodb_proxy_timeout.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/qa_deployed_to_production.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/qa_deployed_to_production.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/qa_deployed_to_production.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/qa_deployed_to_production.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/startup.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/startup.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/startup.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/startup.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/view_user.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/view_user.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/view_user.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/events/view_user.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/login_cache.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/login_cache.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/login_cache.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/lib/login_cache.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/assets/transaction_rates.ndjson b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/assets/transaction_rates.ndjson similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/assets/transaction_rates.ndjson rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/assets/transaction_rates.ndjson diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/common/constants.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/common/constants.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/common/constants.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/common/constants.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/common/weighted_sample.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/common/weighted_sample.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/common/weighted_sample.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/common/weighted_sample.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/assets/heartbeat.ndjson b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/assets/heartbeat.ndjson similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/assets/heartbeat.ndjson rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/assets/heartbeat.ndjson diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/fields/mapping-settings.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/fields/mapping-settings.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/fields/mapping-settings.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/fields/mapping-settings.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/fields/subset.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/fields/subset.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/fields/subset.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/fields/subset.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/fields/template-settings-legacy.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/fields/template-settings-legacy.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/fields/template-settings-legacy.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/fields/template-settings-legacy.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/fields/template-settings.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/fields/template-settings.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/fields/template-settings.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/fields/template-settings.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generate.sh b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generate.sh similarity index 73% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generate.sh rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generate.sh index dcbf7e9be9de7..4d366a307a40a 100755 --- a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generate.sh +++ b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generate.sh @@ -1,9 +1,9 @@ #!/bin/sh -cd ../../../../../../../../../ecs +cd ../../../../../../../../../../../ecs NAME=heartbeat -BASE=../kibana/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/$NAME +BASE=../kibana/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/$NAME ECS=$BASE/ecs python3 ./scripts/generator.py --ref v8.0.0 \ diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/beats/fields.ecs.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/beats/fields.ecs.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/beats/fields.ecs.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/beats/fields.ecs.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/csv/fields.csv b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/csv/fields.csv similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/csv/fields.csv rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/csv/fields.csv diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/ecs_flat.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/ecs_flat.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/ecs_flat.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/ecs_flat.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/ecs_nested.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/ecs_nested.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/ecs_nested.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/ecs_nested.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/subset/heartbeat/ecs_flat.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/subset/heartbeat/ecs_flat.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/subset/heartbeat/ecs_flat.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/subset/heartbeat/ecs_flat.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/subset/heartbeat/ecs_nested.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/subset/heartbeat/ecs_nested.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/subset/heartbeat/ecs_nested.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/subset/heartbeat/ecs_nested.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/subset/nginx_proxy/ecs_flat.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/subset/nginx_proxy/ecs_flat.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/subset/nginx_proxy/ecs_flat.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/subset/nginx_proxy/ecs_flat.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/subset/nginx_proxy/ecs_nested.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/subset/nginx_proxy/ecs_nested.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/subset/nginx_proxy/ecs_nested.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/ecs/subset/nginx_proxy/ecs_nested.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/composable/component/base.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/elasticsearch/composable/component/base.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/composable/component/base.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/elasticsearch/composable/component/base.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/elasticsearch/composable/component/event.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/elasticsearch/composable/component/event.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/elasticsearch/composable/component/event.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/elasticsearch/composable/component/event.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/elasticsearch/composable/component/log.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/elasticsearch/composable/component/log.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/elasticsearch/composable/component/log.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/elasticsearch/composable/component/log.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/elasticsearch/composable/template.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/elasticsearch/composable/template.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/elasticsearch/composable/template.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/elasticsearch/composable/template.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/elasticsearch/legacy/template.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/elasticsearch/legacy/template.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/elasticsearch/legacy/template.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generated/elasticsearch/legacy/template.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/index.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/index.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/index.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/index.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/index.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/index.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/index.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/index.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/lib/events/bad.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/lib/events/bad.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/lib/events/bad.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/lib/events/bad.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/lib/events/create_event.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/lib/events/create_event.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/lib/events/create_event.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/lib/events/create_event.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/lib/events/good.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/lib/events/good.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/heartbeat/lib/events/good.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/lib/events/good.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/index.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/index.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/index.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/index.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/assets/message_processor.ndjson b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/assets/message_processor.ndjson similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/assets/message_processor.ndjson rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/assets/message_processor.ndjson diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/fields/custom/processor.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/fields/custom/processor.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/fields/custom/processor.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/fields/custom/processor.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/fields/mapping-settings.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/fields/mapping-settings.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/fields/mapping-settings.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/fields/mapping-settings.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/fields/subset.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/fields/subset.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/fields/subset.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/fields/subset.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/fields/template-settings-legacy.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/fields/template-settings-legacy.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/fields/template-settings-legacy.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/fields/template-settings-legacy.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/fields/template-settings.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/fields/template-settings.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/fields/template-settings.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/fields/template-settings.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generate.sh b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generate.sh similarity index 76% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generate.sh rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generate.sh index 8e2778b740f0d..642b35d36b06e 100755 --- a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generate.sh +++ b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generate.sh @@ -1,9 +1,9 @@ #!/bin/sh -cd ../../../../../../../../../ecs +cd ../../../../../../../../../../../ecs NAME=message_processor -BASE=../kibana/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/$NAME +BASE=../kibana/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/$NAME ECS=$BASE/ecs python3 ./scripts/generator.py --ref v8.0.0 \ diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/beats/fields.ecs.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/beats/fields.ecs.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/beats/fields.ecs.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/beats/fields.ecs.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/csv/fields.csv b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/csv/fields.csv similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/csv/fields.csv rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/csv/fields.csv diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/ecs/ecs_flat.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/ecs/ecs_flat.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/ecs/ecs_flat.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/ecs/ecs_flat.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/ecs/ecs_nested.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/ecs/ecs_nested.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/ecs/ecs_nested.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/ecs/ecs_nested.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/ecs/subset/message_processor/ecs_flat.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/ecs/subset/message_processor/ecs_flat.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/ecs/subset/message_processor/ecs_flat.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/ecs/subset/message_processor/ecs_flat.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/ecs/subset/message_processor/ecs_nested.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/ecs/subset/message_processor/ecs_nested.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/ecs/subset/message_processor/ecs_nested.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/ecs/subset/message_processor/ecs_nested.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/composable/component/base.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/composable/component/base.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/composable/component/base.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/composable/component/base.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/composable/component/host.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/composable/component/host.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/composable/component/host.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/composable/component/host.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/composable/component/log.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/composable/component/log.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/composable/component/log.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/composable/component/log.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/composable/component/processor.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/composable/component/processor.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/composable/component/processor.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/composable/component/processor.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/composable/template.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/composable/template.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/composable/template.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/composable/template.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/legacy/template.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/legacy/template.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/legacy/template.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generated/elasticsearch/legacy/template.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/index.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/index.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/index.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/index.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/index.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/index.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/index.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/index.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/bad.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/bad.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/bad.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/bad.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/bad_host.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/bad_host.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/bad_host.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/bad_host.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/create_base_event.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/create_base_event.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/create_base_event.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/create_base_event.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/create_latency_histogram.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/create_latency_histogram.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/create_latency_histogram.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/create_latency_histogram.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/generate_bytes_processed.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/generate_bytes_processed.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/generate_bytes_processed.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/generate_bytes_processed.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/generate_time_spent.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/generate_time_spent.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/generate_time_spent.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/generate_time_spent.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/good.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/good.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/good.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/good.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/startup.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/startup.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/startup.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/lib/events/startup.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/assets/mongodb.ndjson b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/assets/mongodb.ndjson similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/assets/mongodb.ndjson rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/assets/mongodb.ndjson diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/fields/custom/mongodb.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/fields/custom/mongodb.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/fields/custom/mongodb.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/fields/custom/mongodb.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/fields/mapping-settings.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/fields/mapping-settings.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/fields/mapping-settings.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/fields/mapping-settings.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/fields/subset.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/fields/subset.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/fields/subset.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/fields/subset.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/fields/template-settings-legacy.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/fields/template-settings-legacy.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/fields/template-settings-legacy.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/fields/template-settings-legacy.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/fields/template-settings.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/fields/template-settings.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/fields/template-settings.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/fields/template-settings.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generate.sh b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generate.sh similarity index 75% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generate.sh rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generate.sh index af8cbb8ec6252..50495c22bc22e 100755 --- a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generate.sh +++ b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generate.sh @@ -1,9 +1,9 @@ #!/bin/sh -cd ../../../../../../../../../ecs +cd ../../../../../../../../../../../ecs NAME=mongodb -BASE=../kibana/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/$NAME +BASE=../kibana/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/$NAME ECS=$BASE/ecs python3 ./scripts/generator.py --ref v8.0.0 \ diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/beats/fields.ecs.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/beats/fields.ecs.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/beats/fields.ecs.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/beats/fields.ecs.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/csv/fields.csv b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/csv/fields.csv similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/csv/fields.csv rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/csv/fields.csv diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/ecs/ecs_flat.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/ecs/ecs_flat.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/ecs/ecs_flat.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/ecs/ecs_flat.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/ecs/ecs_nested.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/ecs/ecs_nested.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/ecs/ecs_nested.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/ecs/ecs_nested.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/ecs/subset/mongodb/ecs_flat.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/ecs/subset/mongodb/ecs_flat.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/ecs/subset/mongodb/ecs_flat.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/ecs/subset/mongodb/ecs_flat.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/ecs/subset/mongodb/ecs_nested.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/ecs/subset/mongodb/ecs_nested.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/ecs/subset/mongodb/ecs_nested.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/ecs/subset/mongodb/ecs_nested.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/component/base.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/composable/component/base.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/component/base.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/composable/component/base.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/composable/component/host.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/composable/component/host.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/composable/component/host.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/composable/component/host.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/composable/component/log.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/composable/component/log.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/composable/component/log.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/composable/component/log.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/composable/component/mongodb.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/composable/component/mongodb.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/composable/component/mongodb.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/composable/component/mongodb.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/composable/template.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/composable/template.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/composable/template.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/composable/template.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/legacy/template.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/legacy/template.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/legacy/template.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generated/elasticsearch/legacy/template.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/index.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/index.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/index.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/index.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/index.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/index.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/index.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/index.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/lib/events/create_base_event.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/lib/events/create_base_event.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/lib/events/create_base_event.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/lib/events/create_base_event.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/lib/events/mongo_actions.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/lib/events/mongo_actions.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/lib/events/mongo_actions.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/lib/events/mongo_actions.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/lib/events/startup.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/lib/events/startup.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/mongodb/lib/events/startup.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/lib/events/startup.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/assets/nginx_proxy.ndjson b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/assets/nginx_proxy.ndjson similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/assets/nginx_proxy.ndjson rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/assets/nginx_proxy.ndjson diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/fields/mapping-settings.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/fields/mapping-settings.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/fields/mapping-settings.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/fields/mapping-settings.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/fields/subset.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/fields/subset.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/fields/subset.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/fields/subset.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/fields/template-settings-legacy.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/fields/template-settings-legacy.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/fields/template-settings-legacy.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/fields/template-settings-legacy.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/fields/template-settings.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/fields/template-settings.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/fields/template-settings.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/fields/template-settings.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generate.sh b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generate.sh similarity index 73% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generate.sh rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generate.sh index 151e98b97fed3..54a4230e3d9b8 100755 --- a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generate.sh +++ b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generate.sh @@ -1,9 +1,9 @@ #!/bin/sh -cd ../../../../../../../../../ecs +cd ../../../../../../../../../../../ecs NAME=nginx_proxy -BASE=../kibana/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/$NAME +BASE=../kibana/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/$NAME ECS=$BASE/ecs python3 ./scripts/generator.py --ref v8.0.0 \ diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/beats/fields.ecs.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/beats/fields.ecs.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/beats/fields.ecs.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/beats/fields.ecs.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/csv/fields.csv b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/csv/fields.csv similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/csv/fields.csv rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/csv/fields.csv diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/ecs/ecs_flat.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/ecs/ecs_flat.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/ecs/ecs_flat.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/ecs/ecs_flat.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/ecs/ecs_nested.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/ecs/ecs_nested.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/ecs/ecs_nested.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/ecs/ecs_nested.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/ecs/subset/nginx_proxy/ecs_flat.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/ecs/subset/nginx_proxy/ecs_flat.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/ecs/subset/nginx_proxy/ecs_flat.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/ecs/subset/nginx_proxy/ecs_flat.yml diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/ecs/subset/nginx_proxy/ecs_nested.yml b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/ecs/subset/nginx_proxy/ecs_nested.yml similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/ecs/subset/nginx_proxy/ecs_nested.yml rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/ecs/subset/nginx_proxy/ecs_nested.yml diff --git a/x-pack/packages/kbn-infra-forge/src/data_sources/composable/component/base.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/component/base.json similarity index 100% rename from x-pack/packages/kbn-infra-forge/src/data_sources/composable/component/base.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/component/base.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/component/host.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/component/host.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/component/host.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/component/host.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/component/http.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/component/http.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/component/http.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/component/http.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/component/log.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/component/log.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/component/log.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/component/log.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/component/url.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/component/url.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/component/url.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/component/url.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/template.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/template.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/template.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/composable/template.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/legacy/template.json b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/legacy/template.json similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/legacy/template.json rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generated/elasticsearch/legacy/template.json diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/index.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/index.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/index.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/index.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/index.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/index.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/index.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/index.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/lib/create_nginx_timestamp.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/lib/create_nginx_timestamp.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/lib/create_nginx_timestamp.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/lib/create_nginx_timestamp.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/lib/events/create_nginx_log.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/lib/events/create_nginx_log.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/lib/events/create_nginx_log.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/lib/events/create_nginx_log.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/lib/events/create_upstream_timedout.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/lib/events/create_upstream_timedout.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/lib/events/create_upstream_timedout.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/lib/events/create_upstream_timedout.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/lib/events/startup.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/lib/events/startup.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/lib/events/startup.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/lib/events/startup.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/index.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/index.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/index.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/index.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/service_logs/index.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/service_logs/index.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/service_logs/index.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/service_logs/index.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/service_logs/lib/generate_cloud.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/service_logs/lib/generate_cloud.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/service_logs/lib/generate_cloud.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/service_logs/lib/generate_cloud.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/service_logs/lib/generate_host.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/service_logs/lib/generate_host.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/service_logs/lib/generate_host.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/service_logs/lib/generate_host.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/service_logs/lib/generate_log_message.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/service_logs/lib/generate_log_message.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/service_logs/lib/generate_log_message.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/service_logs/lib/generate_log_message.ts diff --git a/x-pack/packages/kbn-data-forge/src/data_sources/service_logs/lib/generate_service.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/service_logs/lib/generate_service.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/data_sources/service_logs/lib/generate_service.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/service_logs/lib/generate_service.ts diff --git a/x-pack/packages/kbn-data-forge/src/generate.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/generate.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/generate.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/generate.ts diff --git a/x-pack/packages/kbn-data-forge/src/lib/add_ephemeral_project_id.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/lib/add_ephemeral_project_id.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/lib/add_ephemeral_project_id.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/lib/add_ephemeral_project_id.ts diff --git a/x-pack/packages/kbn-data-forge/src/lib/cli_to_partial_config.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/lib/cli_to_partial_config.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/lib/cli_to_partial_config.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/lib/cli_to_partial_config.ts diff --git a/x-pack/packages/kbn-data-forge/src/lib/create_config.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/lib/create_config.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/lib/create_config.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/lib/create_config.ts diff --git a/x-pack/packages/kbn-data-forge/src/lib/create_events.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/lib/create_events.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/lib/create_events.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/lib/create_events.ts diff --git a/x-pack/packages/kbn-data-forge/src/lib/data_shapes/create_exponetial_function.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/lib/data_shapes/create_exponetial_function.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/lib/data_shapes/create_exponetial_function.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/lib/data_shapes/create_exponetial_function.ts diff --git a/x-pack/packages/kbn-data-forge/src/lib/data_shapes/create_linear_function.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/lib/data_shapes/create_linear_function.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/lib/data_shapes/create_linear_function.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/lib/data_shapes/create_linear_function.ts diff --git a/x-pack/packages/kbn-data-forge/src/lib/data_shapes/create_sine_function.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/lib/data_shapes/create_sine_function.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/lib/data_shapes/create_sine_function.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/lib/data_shapes/create_sine_function.ts diff --git a/x-pack/packages/kbn-data-forge/src/lib/data_shapes/index.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/lib/data_shapes/index.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/lib/data_shapes/index.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/lib/data_shapes/index.ts diff --git a/x-pack/packages/kbn-data-forge/src/lib/delete_index_template.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/lib/delete_index_template.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/lib/delete_index_template.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/lib/delete_index_template.ts diff --git a/x-pack/packages/kbn-data-forge/src/lib/elasticsearch_error_handler.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/lib/elasticsearch_error_handler.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/lib/elasticsearch_error_handler.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/lib/elasticsearch_error_handler.ts diff --git a/x-pack/packages/kbn-data-forge/src/lib/generate_counter_data.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/lib/generate_counter_data.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/lib/generate_counter_data.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/lib/generate_counter_data.ts diff --git a/x-pack/packages/kbn-data-forge/src/lib/get_es_client.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/lib/get_es_client.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/lib/get_es_client.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/lib/get_es_client.ts diff --git a/x-pack/packages/kbn-data-forge/src/lib/index_schedule.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/lib/index_schedule.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/lib/index_schedule.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/lib/index_schedule.ts diff --git a/x-pack/packages/kbn-data-forge/src/lib/indices.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/lib/indices.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/lib/indices.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/lib/indices.ts diff --git a/x-pack/packages/kbn-data-forge/src/lib/install_assets.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/lib/install_assets.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/lib/install_assets.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/lib/install_assets.ts diff --git a/x-pack/packages/kbn-data-forge/src/lib/install_default_component_template.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/lib/install_default_component_template.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/lib/install_default_component_template.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/lib/install_default_component_template.ts diff --git a/x-pack/packages/kbn-data-forge/src/lib/install_default_ingest_pipeline.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/lib/install_default_ingest_pipeline.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/lib/install_default_ingest_pipeline.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/lib/install_default_ingest_pipeline.ts diff --git a/x-pack/packages/kbn-data-forge/src/lib/install_index_template.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/lib/install_index_template.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/lib/install_index_template.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/lib/install_index_template.ts diff --git a/x-pack/packages/kbn-data-forge/src/lib/install_kibana_assets.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/lib/install_kibana_assets.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/lib/install_kibana_assets.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/lib/install_kibana_assets.ts diff --git a/x-pack/packages/kbn-data-forge/src/lib/is_weekend.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/lib/is_weekend.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/lib/is_weekend.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/lib/is_weekend.ts diff --git a/x-pack/packages/kbn-data-forge/src/lib/parse_cli_options.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/lib/parse_cli_options.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/lib/parse_cli_options.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/lib/parse_cli_options.ts diff --git a/x-pack/packages/kbn-data-forge/src/lib/queue.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/lib/queue.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/lib/queue.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/lib/queue.ts diff --git a/x-pack/packages/kbn-data-forge/src/lib/replace_metrics_with_shapes.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/lib/replace_metrics_with_shapes.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/lib/replace_metrics_with_shapes.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/lib/replace_metrics_with_shapes.ts diff --git a/x-pack/packages/kbn-data-forge/src/lib/setup_kibana_system_user.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/lib/setup_kibana_system_user.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/lib/setup_kibana_system_user.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/lib/setup_kibana_system_user.ts diff --git a/x-pack/packages/kbn-data-forge/src/lib/wait.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/lib/wait.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/lib/wait.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/lib/wait.ts diff --git a/x-pack/packages/kbn-data-forge/src/run.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/run.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/run.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/run.ts diff --git a/x-pack/packages/kbn-data-forge/src/types/index.ts b/x-pack/platform/packages/shared/kbn-data-forge/src/types/index.ts similarity index 100% rename from x-pack/packages/kbn-data-forge/src/types/index.ts rename to x-pack/platform/packages/shared/kbn-data-forge/src/types/index.ts diff --git a/x-pack/packages/kbn-data-forge/tsconfig.json b/x-pack/platform/packages/shared/kbn-data-forge/tsconfig.json similarity index 86% rename from x-pack/packages/kbn-data-forge/tsconfig.json rename to x-pack/platform/packages/shared/kbn-data-forge/tsconfig.json index ba7e509700917..3c3d54da2f20d 100644 --- a/x-pack/packages/kbn-data-forge/tsconfig.json +++ b/x-pack/platform/packages/shared/kbn-data-forge/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../tsconfig.base.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types", "types": [ diff --git a/x-pack/packages/kbn-slo-schema/README.md b/x-pack/platform/packages/shared/kbn-slo-schema/README.md similarity index 100% rename from x-pack/packages/kbn-slo-schema/README.md rename to x-pack/platform/packages/shared/kbn-slo-schema/README.md diff --git a/x-pack/packages/kbn-slo-schema/index.ts b/x-pack/platform/packages/shared/kbn-slo-schema/index.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/index.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/index.ts diff --git a/x-pack/packages/kbn-data-forge/jest.config.js b/x-pack/platform/packages/shared/kbn-slo-schema/jest.config.js similarity index 74% rename from x-pack/packages/kbn-data-forge/jest.config.js rename to x-pack/platform/packages/shared/kbn-slo-schema/jest.config.js index d1a6e79c73a62..caa876c76fafe 100644 --- a/x-pack/packages/kbn-data-forge/jest.config.js +++ b/x-pack/platform/packages/shared/kbn-slo-schema/jest.config.js @@ -7,6 +7,6 @@ module.exports = { preset: '@kbn/test', - rootDir: '../../..', - roots: ['/x-pack/packages/kbn-data-forge'], + rootDir: '../../../../..', + roots: ['/x-pack/platform/packages/shared/kbn-slo-schema'], }; diff --git a/x-pack/packages/kbn-slo-schema/kibana.jsonc b/x-pack/platform/packages/shared/kbn-slo-schema/kibana.jsonc similarity index 100% rename from x-pack/packages/kbn-slo-schema/kibana.jsonc rename to x-pack/platform/packages/shared/kbn-slo-schema/kibana.jsonc diff --git a/x-pack/packages/kbn-slo-schema/package.json b/x-pack/platform/packages/shared/kbn-slo-schema/package.json similarity index 100% rename from x-pack/packages/kbn-slo-schema/package.json rename to x-pack/platform/packages/shared/kbn-slo-schema/package.json diff --git a/x-pack/packages/kbn-slo-schema/src/models/duration.test.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/models/duration.test.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/models/duration.test.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/models/duration.test.ts diff --git a/x-pack/packages/kbn-slo-schema/src/models/duration.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/models/duration.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/models/duration.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/models/duration.ts diff --git a/x-pack/packages/kbn-slo-schema/src/models/index.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/models/index.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/models/index.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/models/index.ts diff --git a/x-pack/packages/kbn-slo-schema/src/models/pagination.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/models/pagination.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/models/pagination.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/models/pagination.ts diff --git a/x-pack/packages/kbn-slo-schema/src/rest_specs/common.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/common.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/rest_specs/common.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/common.ts diff --git a/x-pack/packages/kbn-slo-schema/src/rest_specs/index.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/index.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/rest_specs/index.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/index.ts diff --git a/x-pack/packages/kbn-slo-schema/src/rest_specs/indicators.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/indicators.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/rest_specs/indicators.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/indicators.ts diff --git a/x-pack/packages/kbn-slo-schema/src/rest_specs/routes/create.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/create.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/rest_specs/routes/create.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/create.ts diff --git a/x-pack/packages/kbn-slo-schema/src/rest_specs/routes/delete.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/delete.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/rest_specs/routes/delete.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/delete.ts diff --git a/x-pack/packages/kbn-slo-schema/src/rest_specs/routes/delete_instance.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/delete_instance.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/rest_specs/routes/delete_instance.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/delete_instance.ts diff --git a/x-pack/packages/kbn-slo-schema/src/rest_specs/routes/fetch_historical_summary.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/fetch_historical_summary.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/rest_specs/routes/fetch_historical_summary.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/fetch_historical_summary.ts diff --git a/x-pack/packages/kbn-slo-schema/src/rest_specs/routes/find.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/find.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/rest_specs/routes/find.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/find.ts diff --git a/x-pack/packages/kbn-slo-schema/src/rest_specs/routes/find_definition.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/find_definition.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/rest_specs/routes/find_definition.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/find_definition.ts diff --git a/x-pack/packages/kbn-slo-schema/src/rest_specs/routes/find_group.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/find_group.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/rest_specs/routes/find_group.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/find_group.ts diff --git a/x-pack/packages/kbn-slo-schema/src/rest_specs/routes/get.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/get.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/rest_specs/routes/get.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/get.ts diff --git a/x-pack/packages/kbn-slo-schema/src/rest_specs/routes/get_burn_rates.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/get_burn_rates.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/rest_specs/routes/get_burn_rates.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/get_burn_rates.ts diff --git a/x-pack/packages/kbn-slo-schema/src/rest_specs/routes/get_overview.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/get_overview.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/rest_specs/routes/get_overview.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/get_overview.ts diff --git a/x-pack/packages/kbn-slo-schema/src/rest_specs/routes/get_preview_data.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/get_preview_data.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/rest_specs/routes/get_preview_data.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/get_preview_data.ts diff --git a/x-pack/packages/kbn-slo-schema/src/rest_specs/routes/get_slo_groupings.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/get_slo_groupings.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/rest_specs/routes/get_slo_groupings.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/get_slo_groupings.ts diff --git a/x-pack/packages/kbn-slo-schema/src/rest_specs/routes/get_slo_health.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/get_slo_health.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/rest_specs/routes/get_slo_health.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/get_slo_health.ts diff --git a/x-pack/packages/kbn-slo-schema/src/rest_specs/routes/get_suggestions.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/get_suggestions.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/rest_specs/routes/get_suggestions.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/get_suggestions.ts diff --git a/x-pack/packages/kbn-slo-schema/src/rest_specs/routes/index.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/index.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/rest_specs/routes/index.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/index.ts diff --git a/x-pack/packages/kbn-slo-schema/src/rest_specs/routes/manage.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/manage.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/rest_specs/routes/manage.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/manage.ts diff --git a/x-pack/packages/kbn-slo-schema/src/rest_specs/routes/put_settings.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/put_settings.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/rest_specs/routes/put_settings.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/put_settings.ts diff --git a/x-pack/packages/kbn-slo-schema/src/rest_specs/routes/reset.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/reset.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/rest_specs/routes/reset.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/reset.ts diff --git a/x-pack/packages/kbn-slo-schema/src/rest_specs/routes/update.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/update.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/rest_specs/routes/update.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/routes/update.ts diff --git a/x-pack/packages/kbn-slo-schema/src/rest_specs/slo.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/slo.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/rest_specs/slo.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/rest_specs/slo.ts diff --git a/x-pack/packages/kbn-slo-schema/src/schema/common.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/schema/common.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/schema/common.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/schema/common.ts diff --git a/x-pack/packages/kbn-slo-schema/src/schema/duration.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/schema/duration.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/schema/duration.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/schema/duration.ts diff --git a/x-pack/packages/kbn-slo-schema/src/schema/health.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/schema/health.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/schema/health.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/schema/health.ts diff --git a/x-pack/packages/kbn-slo-schema/src/schema/index.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/schema/index.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/schema/index.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/schema/index.ts diff --git a/x-pack/packages/kbn-slo-schema/src/schema/indicators.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/schema/indicators.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/schema/indicators.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/schema/indicators.ts diff --git a/x-pack/packages/kbn-slo-schema/src/schema/schema.test.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/schema/schema.test.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/schema/schema.test.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/schema/schema.test.ts diff --git a/x-pack/packages/kbn-slo-schema/src/schema/settings.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/schema/settings.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/schema/settings.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/schema/settings.ts diff --git a/x-pack/packages/kbn-slo-schema/src/schema/slo.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/schema/slo.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/schema/slo.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/schema/slo.ts diff --git a/x-pack/packages/kbn-slo-schema/src/schema/time_window.test.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/schema/time_window.test.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/schema/time_window.test.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/schema/time_window.test.ts diff --git a/x-pack/packages/kbn-slo-schema/src/schema/time_window.ts b/x-pack/platform/packages/shared/kbn-slo-schema/src/schema/time_window.ts similarity index 100% rename from x-pack/packages/kbn-slo-schema/src/schema/time_window.ts rename to x-pack/platform/packages/shared/kbn-slo-schema/src/schema/time_window.ts diff --git a/x-pack/packages/kbn-slo-schema/tsconfig.json b/x-pack/platform/packages/shared/kbn-slo-schema/tsconfig.json similarity index 83% rename from x-pack/packages/kbn-slo-schema/tsconfig.json rename to x-pack/platform/packages/shared/kbn-slo-schema/tsconfig.json index cd411fff0db4a..47c1c65ecc3aa 100644 --- a/x-pack/packages/kbn-slo-schema/tsconfig.json +++ b/x-pack/platform/packages/shared/kbn-slo-schema/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../tsconfig.base.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types", "types": [ diff --git a/x-pack/packages/observability/alerting_rule_utils/README.md b/x-pack/platform/packages/shared/observability/alerting_rule_utils/README.md similarity index 100% rename from x-pack/packages/observability/alerting_rule_utils/README.md rename to x-pack/platform/packages/shared/observability/alerting_rule_utils/README.md diff --git a/x-pack/packages/observability/alerting_rule_utils/index.ts b/x-pack/platform/packages/shared/observability/alerting_rule_utils/index.ts similarity index 100% rename from x-pack/packages/observability/alerting_rule_utils/index.ts rename to x-pack/platform/packages/shared/observability/alerting_rule_utils/index.ts diff --git a/x-pack/platform/packages/shared/observability/alerting_rule_utils/jest.config.js b/x-pack/platform/packages/shared/observability/alerting_rule_utils/jest.config.js new file mode 100644 index 0000000000000..159f3ea52391a --- /dev/null +++ b/x-pack/platform/packages/shared/observability/alerting_rule_utils/jest.config.js @@ -0,0 +1,12 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../../../../../..', + roots: ['/x-pack/platform/packages/shared/observability/alerting_rule_utils'], +}; diff --git a/x-pack/packages/observability/alerting_rule_utils/kibana.jsonc b/x-pack/platform/packages/shared/observability/alerting_rule_utils/kibana.jsonc similarity index 100% rename from x-pack/packages/observability/alerting_rule_utils/kibana.jsonc rename to x-pack/platform/packages/shared/observability/alerting_rule_utils/kibana.jsonc diff --git a/x-pack/packages/observability/alerting_rule_utils/package.json b/x-pack/platform/packages/shared/observability/alerting_rule_utils/package.json similarity index 100% rename from x-pack/packages/observability/alerting_rule_utils/package.json rename to x-pack/platform/packages/shared/observability/alerting_rule_utils/package.json diff --git a/x-pack/packages/observability/alerting_rule_utils/src/get_ecs_groups.test.ts b/x-pack/platform/packages/shared/observability/alerting_rule_utils/src/get_ecs_groups.test.ts similarity index 100% rename from x-pack/packages/observability/alerting_rule_utils/src/get_ecs_groups.test.ts rename to x-pack/platform/packages/shared/observability/alerting_rule_utils/src/get_ecs_groups.test.ts diff --git a/x-pack/packages/observability/alerting_rule_utils/src/get_ecs_groups.ts b/x-pack/platform/packages/shared/observability/alerting_rule_utils/src/get_ecs_groups.ts similarity index 100% rename from x-pack/packages/observability/alerting_rule_utils/src/get_ecs_groups.ts rename to x-pack/platform/packages/shared/observability/alerting_rule_utils/src/get_ecs_groups.ts diff --git a/x-pack/packages/observability/alerting_rule_utils/tsconfig.json b/x-pack/platform/packages/shared/observability/alerting_rule_utils/tsconfig.json similarity index 81% rename from x-pack/packages/observability/alerting_rule_utils/tsconfig.json rename to x-pack/platform/packages/shared/observability/alerting_rule_utils/tsconfig.json index baf441402ea8c..04f886a74e0c3 100644 --- a/x-pack/packages/observability/alerting_rule_utils/tsconfig.json +++ b/x-pack/platform/packages/shared/observability/alerting_rule_utils/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../../tsconfig.base.json", + "extends": "../../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types", "types": [ diff --git a/x-pack/plugins/observability_solution/exploratory_view/jest.config.js b/x-pack/plugins/observability_solution/exploratory_view/jest.config.js deleted file mode 100644 index 089c3b9ed3ce4..0000000000000 --- a/x-pack/plugins/observability_solution/exploratory_view/jest.config.js +++ /dev/null @@ -1,21 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -module.exports = { - preset: '@kbn/test', - rootDir: '../../../..', - roots: ['/x-pack/plugins/observability_solution/exploratory_view'], - setupFiles: [ - '/x-pack/plugins/observability_solution/exploratory_view/.storybook/jest_setup.js', - ], - coverageDirectory: - '/target/kibana-coverage/jest/x-pack/plugins/observability_solution/exploratory_view', - coverageReporters: ['text', 'html'], - collectCoverageFrom: [ - '/x-pack/plugins/observability_solution/exploratory_view/{common,public,server}/**/*.{js,ts,tsx}', - ], -}; diff --git a/x-pack/plugins/observability_solution/slo/dev_docs/slo.md b/x-pack/plugins/observability_solution/slo/dev_docs/slo.md index a12f8822fc9e9..6286c47f2447d 100644 --- a/x-pack/plugins/observability_solution/slo/dev_docs/slo.md +++ b/x-pack/plugins/observability_solution/slo/dev_docs/slo.md @@ -8,7 +8,7 @@ Starting in 8.8, SLO is enabled by default. SLO is GA since 8.12 1. Data generation > [!TIP] -> The following commands uses [kbn-data-forge](../../../../packages/kbn-data-forge/README.md) to generate some data for developping or testing SLOs +> The following commands uses [kbn-data-forge](../../../../platform/packages/shared/kbn-data-forge/README.md) to generate some data for developping or testing SLOs Basic command to generate 7 days of data with a couple of services: ```sh diff --git a/x-pack/plugins/observability_solution/synthetics/.buildkite/pipelines/flaky.sh b/x-pack/plugins/observability_solution/synthetics/.buildkite/pipelines/flaky.sh deleted file mode 100755 index 58c2c88a8d836..0000000000000 --- a/x-pack/plugins/observability_solution/synthetics/.buildkite/pipelines/flaky.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail - -UUID="$(cat /proc/sys/kernel/random/uuid)" -export UUID - -node x-pack/plugins/observability_solution/synthetics/.buildkite/pipelines/flaky.js | buildkite-agent pipeline upload diff --git a/x-pack/plugins/observability_solution/uptime/.buildkite/pipelines/flaky.sh b/x-pack/plugins/observability_solution/uptime/.buildkite/pipelines/flaky.sh deleted file mode 100755 index 58c2c88a8d836..0000000000000 --- a/x-pack/plugins/observability_solution/uptime/.buildkite/pipelines/flaky.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail - -UUID="$(cat /proc/sys/kernel/random/uuid)" -export UUID - -node x-pack/plugins/observability_solution/synthetics/.buildkite/pipelines/flaky.js | buildkite-agent pipeline upload diff --git a/x-pack/plugins/observability_solution/ux/.buildkite/pipelines/flaky.sh b/x-pack/plugins/observability_solution/ux/.buildkite/pipelines/flaky.sh deleted file mode 100644 index f358969a3ff8a..0000000000000 --- a/x-pack/plugins/observability_solution/ux/.buildkite/pipelines/flaky.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail - -UUID="$(cat /proc/sys/kernel/random/uuid)" -export UUID - -node x-pack/plugins/observability_solution/ux/.buildkite/pipelines/flaky.js | buildkite-agent pipeline upload diff --git a/x-pack/plugins/observability_solution/ux/readme.md b/x-pack/plugins/observability_solution/ux/readme.md deleted file mode 100644 index e03da5df05eea..0000000000000 --- a/x-pack/plugins/observability_solution/ux/readme.md +++ /dev/null @@ -1,14 +0,0 @@ -# Documentation for UX UI developers - -https://docs.elastic.dev/kibana-dev-docs/welcome - -## Running E2E Tests - -The tests are managed via the `scripts/e2e.js` file. This script accepts numerous options. - -From the Kibana root you can run `node x-pack/plugins/observability_solution/ux/scripts/e2e.js` to simply stand up the stack, load data, and run the tests. - -If you are developing a new test, it is better to stand up the stack in one shell and load data/run tests in a second session. You can do this by running: - -- `node ./x-pack/plugins/observability_solution/ux/scripts/e2e.js --server` -- `node ./x-pack/plugins/observability_solution/ux/scripts/e2e.js --runner`, you can also specify `--grep "{TEST_NAME}"` to run a specific series of tests diff --git a/x-pack/plugins/telemetry_collection_xpack/schema/xpack_observability.json b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_observability.json index d5b0514b64918..22b1e3c3071ec 100644 --- a/x-pack/plugins/telemetry_collection_xpack/schema/xpack_observability.json +++ b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_observability.json @@ -1,3 +1,136 @@ { - "properties": {} + "properties": { + "investigation": { + "properties": { + "investigation": { + "properties": { + "total": { + "type": "long", + "_meta": { + "description": "The total number of investigations in the cluster" + } + }, + "by_status": { + "properties": { + "triage": { + "type": "long", + "_meta": { + "description": "The number of investigations in triage status in the cluster" + } + }, + "active": { + "type": "long", + "_meta": { + "description": "The number of investigations in active status in the cluster" + } + }, + "mitigated": { + "type": "long", + "_meta": { + "description": "The number of investigations in mitigated status in the cluster" + } + }, + "resolved": { + "type": "long", + "_meta": { + "description": "The number of investigations in resolved status in the cluster" + } + }, + "cancelled": { + "type": "long", + "_meta": { + "description": "The number of investigations in cancelled status in the cluster" + } + } + } + }, + "by_origin": { + "properties": { + "alert": { + "type": "long", + "_meta": { + "description": "The number of investigations created from alerts in the cluster" + } + }, + "blank": { + "type": "long", + "_meta": { + "description": "The number of investigations created from scratch in the cluster" + } + } + } + }, + "items": { + "properties": { + "avg": { + "type": "long", + "_meta": { + "description": "The average number of items across all investigations in the cluster" + } + }, + "p90": { + "type": "long", + "_meta": { + "description": "The 90th percentile of the number of items across all investigations in the cluster" + } + }, + "p95": { + "type": "long", + "_meta": { + "description": "The 95th percentile of the number of items across all investigations in the cluster" + } + }, + "max": { + "type": "long", + "_meta": { + "description": "The maximum number of items across all investigations in the cluster" + } + }, + "min": { + "type": "long", + "_meta": { + "description": "The minimum number of items across all investigations in the cluster" + } + } + } + }, + "notes": { + "properties": { + "avg": { + "type": "long", + "_meta": { + "description": "The average number of notes across all investigations in the cluster" + } + }, + "p90": { + "type": "long", + "_meta": { + "description": "The 90th percentile of the number of notes across all investigations in the cluster" + } + }, + "p95": { + "type": "long", + "_meta": { + "description": "The 95th percentile of the number of notes across all investigations in the cluster" + } + }, + "max": { + "type": "long", + "_meta": { + "description": "The maximum number of notes across all investigations in the cluster" + } + }, + "min": { + "type": "long", + "_meta": { + "description": "The minimum number of notes across all investigations in the cluster" + } + } + } + } + } + } + } + } + } } diff --git a/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json index 34f755702c7b1..bdbd6e52ff1f2 100644 --- a/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json +++ b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json @@ -13643,138 +13643,6 @@ } } }, - "investigation": { - "properties": { - "investigation": { - "properties": { - "total": { - "type": "long", - "_meta": { - "description": "The total number of investigations in the cluster" - } - }, - "by_status": { - "properties": { - "triage": { - "type": "long", - "_meta": { - "description": "The number of investigations in triage status in the cluster" - } - }, - "active": { - "type": "long", - "_meta": { - "description": "The number of investigations in active status in the cluster" - } - }, - "mitigated": { - "type": "long", - "_meta": { - "description": "The number of investigations in mitigated status in the cluster" - } - }, - "resolved": { - "type": "long", - "_meta": { - "description": "The number of investigations in resolved status in the cluster" - } - }, - "cancelled": { - "type": "long", - "_meta": { - "description": "The number of investigations in cancelled status in the cluster" - } - } - } - }, - "by_origin": { - "properties": { - "alert": { - "type": "long", - "_meta": { - "description": "The number of investigations created from alerts in the cluster" - } - }, - "blank": { - "type": "long", - "_meta": { - "description": "The number of investigations created from scratch in the cluster" - } - } - } - }, - "items": { - "properties": { - "avg": { - "type": "long", - "_meta": { - "description": "The average number of items across all investigations in the cluster" - } - }, - "p90": { - "type": "long", - "_meta": { - "description": "The 90th percentile of the number of items across all investigations in the cluster" - } - }, - "p95": { - "type": "long", - "_meta": { - "description": "The 95th percentile of the number of items across all investigations in the cluster" - } - }, - "max": { - "type": "long", - "_meta": { - "description": "The maximum number of items across all investigations in the cluster" - } - }, - "min": { - "type": "long", - "_meta": { - "description": "The minimum number of items across all investigations in the cluster" - } - } - } - }, - "notes": { - "properties": { - "avg": { - "type": "long", - "_meta": { - "description": "The average number of notes across all investigations in the cluster" - } - }, - "p90": { - "type": "long", - "_meta": { - "description": "The 90th percentile of the number of notes across all investigations in the cluster" - } - }, - "p95": { - "type": "long", - "_meta": { - "description": "The 95th percentile of the number of notes across all investigations in the cluster" - } - }, - "max": { - "type": "long", - "_meta": { - "description": "The maximum number of notes across all investigations in the cluster" - } - }, - "min": { - "type": "long", - "_meta": { - "description": "The minimum number of notes across all investigations in the cluster" - } - } - } - } - } - } - } - }, "kibana_settings": { "properties": { "xpack": { diff --git a/x-pack/packages/observability/alert_details/README.md b/x-pack/solutions/observability/packages/alert_details/README.md similarity index 100% rename from x-pack/packages/observability/alert_details/README.md rename to x-pack/solutions/observability/packages/alert_details/README.md diff --git a/x-pack/packages/observability/alert_details/index.ts b/x-pack/solutions/observability/packages/alert_details/index.ts similarity index 100% rename from x-pack/packages/observability/alert_details/index.ts rename to x-pack/solutions/observability/packages/alert_details/index.ts diff --git a/x-pack/packages/observability/alerting_rule_utils/jest.config.js b/x-pack/solutions/observability/packages/alert_details/jest.config.js similarity index 73% rename from x-pack/packages/observability/alerting_rule_utils/jest.config.js rename to x-pack/solutions/observability/packages/alert_details/jest.config.js index 605fe2b4fcdcf..b7c6f40e5bd51 100644 --- a/x-pack/packages/observability/alerting_rule_utils/jest.config.js +++ b/x-pack/solutions/observability/packages/alert_details/jest.config.js @@ -7,6 +7,6 @@ module.exports = { preset: '@kbn/test', - rootDir: '../../../..', - roots: ['/x-pack/packages/observability/alerting_rule_utils'], + rootDir: '../../../../..', + roots: ['/x-pack/solutions/observability/packages/alert_details'], }; diff --git a/x-pack/packages/observability/alert_details/kibana.jsonc b/x-pack/solutions/observability/packages/alert_details/kibana.jsonc similarity index 100% rename from x-pack/packages/observability/alert_details/kibana.jsonc rename to x-pack/solutions/observability/packages/alert_details/kibana.jsonc diff --git a/x-pack/packages/observability/alert_details/package.json b/x-pack/solutions/observability/packages/alert_details/package.json similarity index 100% rename from x-pack/packages/observability/alert_details/package.json rename to x-pack/solutions/observability/packages/alert_details/package.json diff --git a/x-pack/packages/observability/alert_details/src/components/alert_active_time_range_annotation.tsx b/x-pack/solutions/observability/packages/alert_details/src/components/alert_active_time_range_annotation.tsx similarity index 100% rename from x-pack/packages/observability/alert_details/src/components/alert_active_time_range_annotation.tsx rename to x-pack/solutions/observability/packages/alert_details/src/components/alert_active_time_range_annotation.tsx diff --git a/x-pack/packages/observability/alert_details/src/components/alert_annotation.tsx b/x-pack/solutions/observability/packages/alert_details/src/components/alert_annotation.tsx similarity index 100% rename from x-pack/packages/observability/alert_details/src/components/alert_annotation.tsx rename to x-pack/solutions/observability/packages/alert_details/src/components/alert_annotation.tsx diff --git a/x-pack/packages/observability/alert_details/src/components/alert_threshold_annotation.tsx b/x-pack/solutions/observability/packages/alert_details/src/components/alert_threshold_annotation.tsx similarity index 100% rename from x-pack/packages/observability/alert_details/src/components/alert_threshold_annotation.tsx rename to x-pack/solutions/observability/packages/alert_details/src/components/alert_threshold_annotation.tsx diff --git a/x-pack/packages/observability/alert_details/src/components/alert_threshold_time_range_rect.tsx b/x-pack/solutions/observability/packages/alert_details/src/components/alert_threshold_time_range_rect.tsx similarity index 100% rename from x-pack/packages/observability/alert_details/src/components/alert_threshold_time_range_rect.tsx rename to x-pack/solutions/observability/packages/alert_details/src/components/alert_threshold_time_range_rect.tsx diff --git a/x-pack/packages/observability/alert_details/src/hooks/use_alerts_history.test.tsx b/x-pack/solutions/observability/packages/alert_details/src/hooks/use_alerts_history.test.tsx similarity index 100% rename from x-pack/packages/observability/alert_details/src/hooks/use_alerts_history.test.tsx rename to x-pack/solutions/observability/packages/alert_details/src/hooks/use_alerts_history.test.tsx diff --git a/x-pack/packages/observability/alert_details/src/hooks/use_alerts_history.ts b/x-pack/solutions/observability/packages/alert_details/src/hooks/use_alerts_history.ts similarity index 100% rename from x-pack/packages/observability/alert_details/src/hooks/use_alerts_history.ts rename to x-pack/solutions/observability/packages/alert_details/src/hooks/use_alerts_history.ts diff --git a/x-pack/packages/observability/alert_details/tsconfig.json b/x-pack/solutions/observability/packages/alert_details/tsconfig.json similarity index 88% rename from x-pack/packages/observability/alert_details/tsconfig.json rename to x-pack/solutions/observability/packages/alert_details/tsconfig.json index d1b4c3fb2ce23..d4c6333338759 100644 --- a/x-pack/packages/observability/alert_details/tsconfig.json +++ b/x-pack/solutions/observability/packages/alert_details/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../../tsconfig.base.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types", "types": [ diff --git a/x-pack/packages/observability/alerting_test_data/README.md b/x-pack/solutions/observability/packages/alerting_test_data/README.md similarity index 100% rename from x-pack/packages/observability/alerting_test_data/README.md rename to x-pack/solutions/observability/packages/alerting_test_data/README.md diff --git a/x-pack/packages/observability/alerting_test_data/index.ts b/x-pack/solutions/observability/packages/alerting_test_data/index.ts similarity index 100% rename from x-pack/packages/observability/alerting_test_data/index.ts rename to x-pack/solutions/observability/packages/alerting_test_data/index.ts diff --git a/x-pack/packages/kbn-slo-schema/jest.config.js b/x-pack/solutions/observability/packages/alerting_test_data/jest.config.js similarity index 72% rename from x-pack/packages/kbn-slo-schema/jest.config.js rename to x-pack/solutions/observability/packages/alerting_test_data/jest.config.js index 915ccf489264a..6a296e9d22c0d 100644 --- a/x-pack/packages/kbn-slo-schema/jest.config.js +++ b/x-pack/solutions/observability/packages/alerting_test_data/jest.config.js @@ -7,6 +7,6 @@ module.exports = { preset: '@kbn/test', - rootDir: '../../..', - roots: ['/x-pack/packages/kbn-slo-schema'], + rootDir: '../../../../..', + roots: ['/x-pack/solutions/observability/packages/alerting_test_data'], }; diff --git a/x-pack/packages/observability/alerting_test_data/kibana.jsonc b/x-pack/solutions/observability/packages/alerting_test_data/kibana.jsonc similarity index 100% rename from x-pack/packages/observability/alerting_test_data/kibana.jsonc rename to x-pack/solutions/observability/packages/alerting_test_data/kibana.jsonc diff --git a/x-pack/packages/observability/alerting_test_data/package.json b/x-pack/solutions/observability/packages/alerting_test_data/package.json similarity index 100% rename from x-pack/packages/observability/alerting_test_data/package.json rename to x-pack/solutions/observability/packages/alerting_test_data/package.json diff --git a/x-pack/packages/observability/alerting_test_data/src/constants.ts b/x-pack/solutions/observability/packages/alerting_test_data/src/constants.ts similarity index 100% rename from x-pack/packages/observability/alerting_test_data/src/constants.ts rename to x-pack/solutions/observability/packages/alerting_test_data/src/constants.ts diff --git a/x-pack/packages/observability/alerting_test_data/src/create_apm_error_count_threshold_rule.ts b/x-pack/solutions/observability/packages/alerting_test_data/src/create_apm_error_count_threshold_rule.ts similarity index 100% rename from x-pack/packages/observability/alerting_test_data/src/create_apm_error_count_threshold_rule.ts rename to x-pack/solutions/observability/packages/alerting_test_data/src/create_apm_error_count_threshold_rule.ts diff --git a/x-pack/packages/observability/alerting_test_data/src/create_apm_failed_transaction_rate_rule.ts b/x-pack/solutions/observability/packages/alerting_test_data/src/create_apm_failed_transaction_rate_rule.ts similarity index 100% rename from x-pack/packages/observability/alerting_test_data/src/create_apm_failed_transaction_rate_rule.ts rename to x-pack/solutions/observability/packages/alerting_test_data/src/create_apm_failed_transaction_rate_rule.ts diff --git a/x-pack/packages/observability/alerting_test_data/src/create_custom_threshold_rule.ts b/x-pack/solutions/observability/packages/alerting_test_data/src/create_custom_threshold_rule.ts similarity index 100% rename from x-pack/packages/observability/alerting_test_data/src/create_custom_threshold_rule.ts rename to x-pack/solutions/observability/packages/alerting_test_data/src/create_custom_threshold_rule.ts diff --git a/x-pack/packages/observability/alerting_test_data/src/create_data_view.ts b/x-pack/solutions/observability/packages/alerting_test_data/src/create_data_view.ts similarity index 100% rename from x-pack/packages/observability/alerting_test_data/src/create_data_view.ts rename to x-pack/solutions/observability/packages/alerting_test_data/src/create_data_view.ts diff --git a/x-pack/packages/observability/alerting_test_data/src/create_index_connector.ts b/x-pack/solutions/observability/packages/alerting_test_data/src/create_index_connector.ts similarity index 100% rename from x-pack/packages/observability/alerting_test_data/src/create_index_connector.ts rename to x-pack/solutions/observability/packages/alerting_test_data/src/create_index_connector.ts diff --git a/x-pack/packages/observability/alerting_test_data/src/create_rule.ts b/x-pack/solutions/observability/packages/alerting_test_data/src/create_rule.ts similarity index 100% rename from x-pack/packages/observability/alerting_test_data/src/create_rule.ts rename to x-pack/solutions/observability/packages/alerting_test_data/src/create_rule.ts diff --git a/x-pack/packages/observability/alerting_test_data/src/get_kibana_url.ts b/x-pack/solutions/observability/packages/alerting_test_data/src/get_kibana_url.ts similarity index 100% rename from x-pack/packages/observability/alerting_test_data/src/get_kibana_url.ts rename to x-pack/solutions/observability/packages/alerting_test_data/src/get_kibana_url.ts diff --git a/x-pack/packages/observability/alerting_test_data/src/run.ts b/x-pack/solutions/observability/packages/alerting_test_data/src/run.ts similarity index 100% rename from x-pack/packages/observability/alerting_test_data/src/run.ts rename to x-pack/solutions/observability/packages/alerting_test_data/src/run.ts diff --git a/x-pack/packages/observability/alerting_test_data/src/scenarios/custom_threshold_log_count.ts b/x-pack/solutions/observability/packages/alerting_test_data/src/scenarios/custom_threshold_log_count.ts similarity index 100% rename from x-pack/packages/observability/alerting_test_data/src/scenarios/custom_threshold_log_count.ts rename to x-pack/solutions/observability/packages/alerting_test_data/src/scenarios/custom_threshold_log_count.ts diff --git a/x-pack/packages/observability/alerting_test_data/src/scenarios/custom_threshold_log_count_groupby.ts b/x-pack/solutions/observability/packages/alerting_test_data/src/scenarios/custom_threshold_log_count_groupby.ts similarity index 100% rename from x-pack/packages/observability/alerting_test_data/src/scenarios/custom_threshold_log_count_groupby.ts rename to x-pack/solutions/observability/packages/alerting_test_data/src/scenarios/custom_threshold_log_count_groupby.ts diff --git a/x-pack/packages/observability/alerting_test_data/src/scenarios/custom_threshold_log_count_nodata.ts b/x-pack/solutions/observability/packages/alerting_test_data/src/scenarios/custom_threshold_log_count_nodata.ts similarity index 100% rename from x-pack/packages/observability/alerting_test_data/src/scenarios/custom_threshold_log_count_nodata.ts rename to x-pack/solutions/observability/packages/alerting_test_data/src/scenarios/custom_threshold_log_count_nodata.ts diff --git a/x-pack/packages/observability/alerting_test_data/src/scenarios/custom_threshold_metric_avg.ts b/x-pack/solutions/observability/packages/alerting_test_data/src/scenarios/custom_threshold_metric_avg.ts similarity index 100% rename from x-pack/packages/observability/alerting_test_data/src/scenarios/custom_threshold_metric_avg.ts rename to x-pack/solutions/observability/packages/alerting_test_data/src/scenarios/custom_threshold_metric_avg.ts diff --git a/x-pack/packages/observability/alerting_test_data/src/scenarios/custom_threshold_metric_avg_groupby.ts b/x-pack/solutions/observability/packages/alerting_test_data/src/scenarios/custom_threshold_metric_avg_groupby.ts similarity index 100% rename from x-pack/packages/observability/alerting_test_data/src/scenarios/custom_threshold_metric_avg_groupby.ts rename to x-pack/solutions/observability/packages/alerting_test_data/src/scenarios/custom_threshold_metric_avg_groupby.ts diff --git a/x-pack/packages/observability/alerting_test_data/src/scenarios/custom_threshold_metric_avg_nodata.ts b/x-pack/solutions/observability/packages/alerting_test_data/src/scenarios/custom_threshold_metric_avg_nodata.ts similarity index 100% rename from x-pack/packages/observability/alerting_test_data/src/scenarios/custom_threshold_metric_avg_nodata.ts rename to x-pack/solutions/observability/packages/alerting_test_data/src/scenarios/custom_threshold_metric_avg_nodata.ts diff --git a/x-pack/packages/observability/alerting_test_data/src/scenarios/index.ts b/x-pack/solutions/observability/packages/alerting_test_data/src/scenarios/index.ts similarity index 100% rename from x-pack/packages/observability/alerting_test_data/src/scenarios/index.ts rename to x-pack/solutions/observability/packages/alerting_test_data/src/scenarios/index.ts diff --git a/x-pack/packages/observability/alerting_test_data/tsconfig.json b/x-pack/solutions/observability/packages/alerting_test_data/tsconfig.json similarity index 86% rename from x-pack/packages/observability/alerting_test_data/tsconfig.json rename to x-pack/solutions/observability/packages/alerting_test_data/tsconfig.json index 109b0dfbcf1a4..5e83fb292b665 100644 --- a/x-pack/packages/observability/alerting_test_data/tsconfig.json +++ b/x-pack/solutions/observability/packages/alerting_test_data/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../../tsconfig.base.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types", "types": [ diff --git a/x-pack/packages/observability/get_padded_alert_time_range_util/README.md b/x-pack/solutions/observability/packages/get_padded_alert_time_range_util/README.md similarity index 100% rename from x-pack/packages/observability/get_padded_alert_time_range_util/README.md rename to x-pack/solutions/observability/packages/get_padded_alert_time_range_util/README.md diff --git a/x-pack/packages/observability/get_padded_alert_time_range_util/index.ts b/x-pack/solutions/observability/packages/get_padded_alert_time_range_util/index.ts similarity index 100% rename from x-pack/packages/observability/get_padded_alert_time_range_util/index.ts rename to x-pack/solutions/observability/packages/get_padded_alert_time_range_util/index.ts diff --git a/x-pack/solutions/observability/packages/get_padded_alert_time_range_util/jest.config.js b/x-pack/solutions/observability/packages/get_padded_alert_time_range_util/jest.config.js new file mode 100644 index 0000000000000..6941925a188e2 --- /dev/null +++ b/x-pack/solutions/observability/packages/get_padded_alert_time_range_util/jest.config.js @@ -0,0 +1,12 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../../../../..', + roots: ['/x-pack/solutions/observability/packages/get_padded_alert_time_range_util'], +}; diff --git a/x-pack/packages/observability/get_padded_alert_time_range_util/kibana.jsonc b/x-pack/solutions/observability/packages/get_padded_alert_time_range_util/kibana.jsonc similarity index 100% rename from x-pack/packages/observability/get_padded_alert_time_range_util/kibana.jsonc rename to x-pack/solutions/observability/packages/get_padded_alert_time_range_util/kibana.jsonc diff --git a/x-pack/packages/observability/get_padded_alert_time_range_util/package.json b/x-pack/solutions/observability/packages/get_padded_alert_time_range_util/package.json similarity index 100% rename from x-pack/packages/observability/get_padded_alert_time_range_util/package.json rename to x-pack/solutions/observability/packages/get_padded_alert_time_range_util/package.json diff --git a/x-pack/packages/observability/get_padded_alert_time_range_util/src/get_padded_alert_time_range.test.ts b/x-pack/solutions/observability/packages/get_padded_alert_time_range_util/src/get_padded_alert_time_range.test.ts similarity index 100% rename from x-pack/packages/observability/get_padded_alert_time_range_util/src/get_padded_alert_time_range.test.ts rename to x-pack/solutions/observability/packages/get_padded_alert_time_range_util/src/get_padded_alert_time_range.test.ts diff --git a/x-pack/packages/observability/get_padded_alert_time_range_util/src/get_padded_alert_time_range.ts b/x-pack/solutions/observability/packages/get_padded_alert_time_range_util/src/get_padded_alert_time_range.ts similarity index 100% rename from x-pack/packages/observability/get_padded_alert_time_range_util/src/get_padded_alert_time_range.ts rename to x-pack/solutions/observability/packages/get_padded_alert_time_range_util/src/get_padded_alert_time_range.ts diff --git a/x-pack/packages/observability/get_padded_alert_time_range_util/tsconfig.json b/x-pack/solutions/observability/packages/get_padded_alert_time_range_util/tsconfig.json similarity index 80% rename from x-pack/packages/observability/get_padded_alert_time_range_util/tsconfig.json rename to x-pack/solutions/observability/packages/get_padded_alert_time_range_util/tsconfig.json index 0d78dace105e1..7aba1b1a9378a 100644 --- a/x-pack/packages/observability/get_padded_alert_time_range_util/tsconfig.json +++ b/x-pack/solutions/observability/packages/get_padded_alert_time_range_util/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../../tsconfig.base.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types", "types": [ diff --git a/packages/kbn-investigation-shared/README.md b/x-pack/solutions/observability/packages/kbn-investigation-shared/README.md similarity index 100% rename from packages/kbn-investigation-shared/README.md rename to x-pack/solutions/observability/packages/kbn-investigation-shared/README.md diff --git a/x-pack/solutions/observability/packages/kbn-investigation-shared/index.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/index.ts new file mode 100644 index 0000000000000..3b2a320ae181f --- /dev/null +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/index.ts @@ -0,0 +1,8 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export * from './src'; diff --git a/x-pack/solutions/observability/packages/kbn-investigation-shared/jest.config.js b/x-pack/solutions/observability/packages/kbn-investigation-shared/jest.config.js new file mode 100644 index 0000000000000..85d033a05a564 --- /dev/null +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/jest.config.js @@ -0,0 +1,12 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +module.exports = { + preset: '@kbn/test/jest_node', + rootDir: '../../../../..', + roots: ['/x-pack/solutions/observability/packages/kbn-investigation-shared'], +}; diff --git a/packages/kbn-investigation-shared/kibana.jsonc b/x-pack/solutions/observability/packages/kbn-investigation-shared/kibana.jsonc similarity index 100% rename from packages/kbn-investigation-shared/kibana.jsonc rename to x-pack/solutions/observability/packages/kbn-investigation-shared/kibana.jsonc diff --git a/packages/kbn-investigation-shared/package.json b/x-pack/solutions/observability/packages/kbn-investigation-shared/package.json similarity index 56% rename from packages/kbn-investigation-shared/package.json rename to x-pack/solutions/observability/packages/kbn-investigation-shared/package.json index 7687defb4dc5a..96c45f7b3cdd7 100644 --- a/packages/kbn-investigation-shared/package.json +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/package.json @@ -2,5 +2,5 @@ "name": "@kbn/investigation-shared", "private": true, "version": "1.0.0", - "license": "Elastic License 2.0 OR AGPL-3.0-only OR SSPL-1.0" + "license": "Elastic License 2.0" } diff --git a/x-pack/solutions/observability/packages/kbn-investigation-shared/src/index.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/index.ts new file mode 100644 index 0000000000000..cf5975aaaa97b --- /dev/null +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/index.ts @@ -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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export * from './rest_specs'; +export * from './schema'; diff --git a/packages/kbn-investigation-shared/src/rest_specs/create.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/create.ts similarity index 72% rename from packages/kbn-investigation-shared/src/rest_specs/create.ts rename to x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/create.ts index 8a8e4d62a37ee..08edee8a931d8 100644 --- a/packages/kbn-investigation-shared/src/rest_specs/create.ts +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/create.ts @@ -1,10 +1,8 @@ /* * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. */ import { z } from '@kbn/zod'; diff --git a/packages/kbn-investigation-shared/src/rest_specs/create_item.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/create_item.ts similarity index 68% rename from packages/kbn-investigation-shared/src/rest_specs/create_item.ts rename to x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/create_item.ts index 2e9551fcaa36b..c13bab564904e 100644 --- a/packages/kbn-investigation-shared/src/rest_specs/create_item.ts +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/create_item.ts @@ -1,10 +1,8 @@ /* * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. */ import { z } from '@kbn/zod'; diff --git a/packages/kbn-investigation-shared/src/rest_specs/create_note.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/create_note.ts similarity index 67% rename from packages/kbn-investigation-shared/src/rest_specs/create_note.ts rename to x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/create_note.ts index bf4c4f62456e2..f9e68b2131e8c 100644 --- a/packages/kbn-investigation-shared/src/rest_specs/create_note.ts +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/create_note.ts @@ -1,10 +1,8 @@ /* * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. */ import { z } from '@kbn/zod'; diff --git a/packages/kbn-investigation-shared/src/rest_specs/delete.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/delete.ts similarity index 52% rename from packages/kbn-investigation-shared/src/rest_specs/delete.ts rename to x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/delete.ts index 32e9b1f26bf66..f4a1d20c03c9d 100644 --- a/packages/kbn-investigation-shared/src/rest_specs/delete.ts +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/delete.ts @@ -1,10 +1,8 @@ /* * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. */ import { z } from '@kbn/zod'; diff --git a/packages/kbn-investigation-shared/src/rest_specs/delete_item.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/delete_item.ts similarity index 54% rename from packages/kbn-investigation-shared/src/rest_specs/delete_item.ts rename to x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/delete_item.ts index 712a74e299368..78b69f0bb5c26 100644 --- a/packages/kbn-investigation-shared/src/rest_specs/delete_item.ts +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/delete_item.ts @@ -1,10 +1,8 @@ /* * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. */ import { z } from '@kbn/zod'; diff --git a/packages/kbn-investigation-shared/src/rest_specs/delete_note.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/delete_note.ts similarity index 54% rename from packages/kbn-investigation-shared/src/rest_specs/delete_note.ts rename to x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/delete_note.ts index c3789ea13a359..eb39d6a3a50ba 100644 --- a/packages/kbn-investigation-shared/src/rest_specs/delete_note.ts +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/delete_note.ts @@ -1,10 +1,8 @@ /* * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. */ import { z } from '@kbn/zod'; diff --git a/packages/kbn-investigation-shared/src/rest_specs/entity.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/entity.ts similarity index 73% rename from packages/kbn-investigation-shared/src/rest_specs/entity.ts rename to x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/entity.ts index 8e571f3e2a4d4..a15d0e9da4e00 100644 --- a/packages/kbn-investigation-shared/src/rest_specs/entity.ts +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/entity.ts @@ -1,10 +1,8 @@ /* * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. */ import { z } from '@kbn/zod'; diff --git a/packages/kbn-investigation-shared/src/rest_specs/find.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/find.ts similarity index 71% rename from packages/kbn-investigation-shared/src/rest_specs/find.ts rename to x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/find.ts index 7a938212cfba4..5eaf1a9b6194f 100644 --- a/packages/kbn-investigation-shared/src/rest_specs/find.ts +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/find.ts @@ -1,10 +1,8 @@ /* * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. */ import { z } from '@kbn/zod'; diff --git a/packages/kbn-investigation-shared/src/rest_specs/get.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/get.ts similarity index 66% rename from packages/kbn-investigation-shared/src/rest_specs/get.ts rename to x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/get.ts index d9104959c1d7b..0222d97abdaab 100644 --- a/packages/kbn-investigation-shared/src/rest_specs/get.ts +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/get.ts @@ -1,10 +1,8 @@ /* * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. */ import { z } from '@kbn/zod'; diff --git a/packages/kbn-investigation-shared/src/rest_specs/get_all_investigation_stats.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/get_all_investigation_stats.ts similarity index 61% rename from packages/kbn-investigation-shared/src/rest_specs/get_all_investigation_stats.ts rename to x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/get_all_investigation_stats.ts index bee9f15db587d..f4dc0bd96efd3 100644 --- a/packages/kbn-investigation-shared/src/rest_specs/get_all_investigation_stats.ts +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/get_all_investigation_stats.ts @@ -1,10 +1,8 @@ /* * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. */ import { z } from '@kbn/zod'; diff --git a/packages/kbn-investigation-shared/src/rest_specs/get_all_investigation_tags.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/get_all_investigation_tags.ts similarity index 56% rename from packages/kbn-investigation-shared/src/rest_specs/get_all_investigation_tags.ts rename to x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/get_all_investigation_tags.ts index 35665b1b3c695..5cb03bc483ad2 100644 --- a/packages/kbn-investigation-shared/src/rest_specs/get_all_investigation_tags.ts +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/get_all_investigation_tags.ts @@ -1,10 +1,8 @@ /* * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. */ import { z } from '@kbn/zod'; diff --git a/packages/kbn-investigation-shared/src/rest_specs/get_entities.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/get_entities.ts similarity index 67% rename from packages/kbn-investigation-shared/src/rest_specs/get_entities.ts rename to x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/get_entities.ts index 383bc21b58085..5c7cdbc7617ac 100644 --- a/packages/kbn-investigation-shared/src/rest_specs/get_entities.ts +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/get_entities.ts @@ -1,10 +1,8 @@ /* * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. */ import { z } from '@kbn/zod'; diff --git a/packages/kbn-investigation-shared/src/rest_specs/get_events.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/get_events.ts similarity index 75% rename from packages/kbn-investigation-shared/src/rest_specs/get_events.ts rename to x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/get_events.ts index 801e0b47dc482..eb6d9bf8df38c 100644 --- a/packages/kbn-investigation-shared/src/rest_specs/get_events.ts +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/get_events.ts @@ -1,10 +1,8 @@ /* * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. */ import { z } from '@kbn/zod'; diff --git a/packages/kbn-investigation-shared/src/rest_specs/get_items.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/get_items.ts similarity index 61% rename from packages/kbn-investigation-shared/src/rest_specs/get_items.ts rename to x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/get_items.ts index eb6ddac42a7ae..8fb7524da511c 100644 --- a/packages/kbn-investigation-shared/src/rest_specs/get_items.ts +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/get_items.ts @@ -1,10 +1,8 @@ /* * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. */ import { z } from '@kbn/zod'; diff --git a/packages/kbn-investigation-shared/src/rest_specs/get_notes.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/get_notes.ts similarity index 61% rename from packages/kbn-investigation-shared/src/rest_specs/get_notes.ts rename to x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/get_notes.ts index 0a86f19a31d1a..e0be09fde7d87 100644 --- a/packages/kbn-investigation-shared/src/rest_specs/get_notes.ts +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/get_notes.ts @@ -1,10 +1,8 @@ /* * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. */ import { z } from '@kbn/zod'; diff --git a/packages/kbn-investigation-shared/src/rest_specs/index.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/index.ts similarity index 79% rename from packages/kbn-investigation-shared/src/rest_specs/index.ts rename to x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/index.ts index 3a6c5de095caa..cfc0b979a735c 100644 --- a/packages/kbn-investigation-shared/src/rest_specs/index.ts +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/index.ts @@ -1,10 +1,8 @@ /* * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. */ export type * from './create'; diff --git a/packages/kbn-investigation-shared/src/rest_specs/investigation.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/investigation.ts similarity index 50% rename from packages/kbn-investigation-shared/src/rest_specs/investigation.ts rename to x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/investigation.ts index c02e90cd70d25..fc00d81bbb0b9 100644 --- a/packages/kbn-investigation-shared/src/rest_specs/investigation.ts +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/investigation.ts @@ -1,10 +1,8 @@ /* * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. */ import { z } from '@kbn/zod'; diff --git a/packages/kbn-investigation-shared/src/rest_specs/investigation_item.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/investigation_item.ts similarity index 51% rename from packages/kbn-investigation-shared/src/rest_specs/investigation_item.ts rename to x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/investigation_item.ts index e7faa1d7a2834..1c580f668f829 100644 --- a/packages/kbn-investigation-shared/src/rest_specs/investigation_item.ts +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/investigation_item.ts @@ -1,10 +1,8 @@ /* * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. */ import { z } from '@kbn/zod'; diff --git a/packages/kbn-investigation-shared/src/rest_specs/investigation_note.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/investigation_note.ts similarity index 51% rename from packages/kbn-investigation-shared/src/rest_specs/investigation_note.ts rename to x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/investigation_note.ts index 73114fe844d52..b0784d679f13a 100644 --- a/packages/kbn-investigation-shared/src/rest_specs/investigation_note.ts +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/investigation_note.ts @@ -1,10 +1,8 @@ /* * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. */ import { z } from '@kbn/zod'; diff --git a/packages/kbn-investigation-shared/src/rest_specs/update.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/update.ts similarity index 74% rename from packages/kbn-investigation-shared/src/rest_specs/update.ts rename to x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/update.ts index 42cf1539d2b4d..ab1e5ab1dc053 100644 --- a/packages/kbn-investigation-shared/src/rest_specs/update.ts +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/update.ts @@ -1,10 +1,8 @@ /* * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. */ import { z } from '@kbn/zod'; diff --git a/packages/kbn-investigation-shared/src/rest_specs/update_item.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/update_item.ts similarity index 68% rename from packages/kbn-investigation-shared/src/rest_specs/update_item.ts rename to x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/update_item.ts index 8e96785c452b9..59c0a2196ab4b 100644 --- a/packages/kbn-investigation-shared/src/rest_specs/update_item.ts +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/update_item.ts @@ -1,10 +1,8 @@ /* * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. */ import { z } from '@kbn/zod'; diff --git a/packages/kbn-investigation-shared/src/rest_specs/update_note.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/update_note.ts similarity index 68% rename from packages/kbn-investigation-shared/src/rest_specs/update_note.ts rename to x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/update_note.ts index 35862cbe19aea..d5a95a0a691ea 100644 --- a/packages/kbn-investigation-shared/src/rest_specs/update_note.ts +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/rest_specs/update_note.ts @@ -1,10 +1,8 @@ /* * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. */ import { z } from '@kbn/zod'; diff --git a/packages/kbn-investigation-shared/src/schema/event.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/schema/event.ts similarity index 78% rename from packages/kbn-investigation-shared/src/schema/event.ts rename to x-pack/solutions/observability/packages/kbn-investigation-shared/src/schema/event.ts index 695d565e92c61..953d5dfbdf251 100644 --- a/packages/kbn-investigation-shared/src/schema/event.ts +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/schema/event.ts @@ -1,10 +1,8 @@ /* * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. */ import { z } from '@kbn/zod'; diff --git a/x-pack/solutions/observability/packages/kbn-investigation-shared/src/schema/index.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/schema/index.ts new file mode 100644 index 0000000000000..dba2f51cb1968 --- /dev/null +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/schema/index.ts @@ -0,0 +1,14 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export * from './investigation'; +export * from './investigation_item'; +export * from './investigation_note'; +export * from './origin'; +export * from './event'; + +export type * from './investigation'; diff --git a/packages/kbn-investigation-shared/src/schema/investigation.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/schema/investigation.ts similarity index 75% rename from packages/kbn-investigation-shared/src/schema/investigation.ts rename to x-pack/solutions/observability/packages/kbn-investigation-shared/src/schema/investigation.ts index 23806c23e94a6..3905ef2bf982e 100644 --- a/packages/kbn-investigation-shared/src/schema/investigation.ts +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/schema/investigation.ts @@ -1,10 +1,8 @@ /* * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. */ import { z } from '@kbn/zod'; diff --git a/packages/kbn-investigation-shared/src/schema/investigation_item.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/schema/investigation_item.ts similarity index 61% rename from packages/kbn-investigation-shared/src/schema/investigation_item.ts rename to x-pack/solutions/observability/packages/kbn-investigation-shared/src/schema/investigation_item.ts index 820db8500e5dc..0bf08d588f174 100644 --- a/packages/kbn-investigation-shared/src/schema/investigation_item.ts +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/schema/investigation_item.ts @@ -1,10 +1,8 @@ /* * 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. */ import { z } from '@kbn/zod'; diff --git a/x-pack/solutions/observability/packages/kbn-investigation-shared/src/schema/investigation_note.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/schema/investigation_note.ts new file mode 100644 index 0000000000000..0d210fa6d8aa7 --- /dev/null +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/schema/investigation_note.ts @@ -0,0 +1,18 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { z } from '@kbn/zod'; + +const investigationNoteSchema = z.object({ + id: z.string(), + content: z.string(), + createdAt: z.number(), + updatedAt: z.number(), + createdBy: z.string(), +}); + +export { investigationNoteSchema }; diff --git a/x-pack/solutions/observability/packages/kbn-investigation-shared/src/schema/origin.ts b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/schema/origin.ts new file mode 100644 index 0000000000000..d586b368bf6e5 --- /dev/null +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/src/schema/origin.ts @@ -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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { z } from '@kbn/zod'; + +const blankOriginSchema = z.object({ type: z.literal('blank') }); +const alertOriginSchema = z.object({ type: z.literal('alert'), id: z.string() }); + +export { alertOriginSchema, blankOriginSchema }; diff --git a/packages/kbn-investigation-shared/tsconfig.json b/x-pack/solutions/observability/packages/kbn-investigation-shared/tsconfig.json similarity index 81% rename from packages/kbn-investigation-shared/tsconfig.json rename to x-pack/solutions/observability/packages/kbn-investigation-shared/tsconfig.json index e8db47aba5c14..424670ff55aee 100644 --- a/packages/kbn-investigation-shared/tsconfig.json +++ b/x-pack/solutions/observability/packages/kbn-investigation-shared/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../tsconfig.base.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types", "types": [ diff --git a/x-pack/packages/observability/synthetics_test_data/README.md b/x-pack/solutions/observability/packages/synthetics_test_data/README.md similarity index 100% rename from x-pack/packages/observability/synthetics_test_data/README.md rename to x-pack/solutions/observability/packages/synthetics_test_data/README.md diff --git a/x-pack/packages/observability/synthetics_test_data/index.ts b/x-pack/solutions/observability/packages/synthetics_test_data/index.ts similarity index 100% rename from x-pack/packages/observability/synthetics_test_data/index.ts rename to x-pack/solutions/observability/packages/synthetics_test_data/index.ts diff --git a/x-pack/solutions/observability/packages/synthetics_test_data/jest.config.js b/x-pack/solutions/observability/packages/synthetics_test_data/jest.config.js new file mode 100644 index 0000000000000..1d9e9717d3e40 --- /dev/null +++ b/x-pack/solutions/observability/packages/synthetics_test_data/jest.config.js @@ -0,0 +1,12 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../../../../..', + roots: ['/x-pack/solutions/observability/packages/synthetics_test_data'], +}; diff --git a/x-pack/packages/observability/synthetics_test_data/kibana.jsonc b/x-pack/solutions/observability/packages/synthetics_test_data/kibana.jsonc similarity index 100% rename from x-pack/packages/observability/synthetics_test_data/kibana.jsonc rename to x-pack/solutions/observability/packages/synthetics_test_data/kibana.jsonc diff --git a/x-pack/packages/observability/synthetics_test_data/package.json b/x-pack/solutions/observability/packages/synthetics_test_data/package.json similarity index 100% rename from x-pack/packages/observability/synthetics_test_data/package.json rename to x-pack/solutions/observability/packages/synthetics_test_data/package.json diff --git a/x-pack/packages/observability/synthetics_test_data/src/e2e/helpers/parse_args_params.ts b/x-pack/solutions/observability/packages/synthetics_test_data/src/e2e/helpers/parse_args_params.ts similarity index 100% rename from x-pack/packages/observability/synthetics_test_data/src/e2e/helpers/parse_args_params.ts rename to x-pack/solutions/observability/packages/synthetics_test_data/src/e2e/helpers/parse_args_params.ts diff --git a/x-pack/packages/observability/synthetics_test_data/src/e2e/helpers/record_video.ts b/x-pack/solutions/observability/packages/synthetics_test_data/src/e2e/helpers/record_video.ts similarity index 100% rename from x-pack/packages/observability/synthetics_test_data/src/e2e/helpers/record_video.ts rename to x-pack/solutions/observability/packages/synthetics_test_data/src/e2e/helpers/record_video.ts diff --git a/x-pack/packages/observability/synthetics_test_data/src/e2e/helpers/synthetics_runner.ts b/x-pack/solutions/observability/packages/synthetics_test_data/src/e2e/helpers/synthetics_runner.ts similarity index 100% rename from x-pack/packages/observability/synthetics_test_data/src/e2e/helpers/synthetics_runner.ts rename to x-pack/solutions/observability/packages/synthetics_test_data/src/e2e/helpers/synthetics_runner.ts diff --git a/x-pack/packages/observability/synthetics_test_data/src/e2e/helpers/test_reporter.ts b/x-pack/solutions/observability/packages/synthetics_test_data/src/e2e/helpers/test_reporter.ts similarity index 100% rename from x-pack/packages/observability/synthetics_test_data/src/e2e/helpers/test_reporter.ts rename to x-pack/solutions/observability/packages/synthetics_test_data/src/e2e/helpers/test_reporter.ts diff --git a/x-pack/packages/observability/synthetics_test_data/src/e2e/helpers/utils.ts b/x-pack/solutions/observability/packages/synthetics_test_data/src/e2e/helpers/utils.ts similarity index 100% rename from x-pack/packages/observability/synthetics_test_data/src/e2e/helpers/utils.ts rename to x-pack/solutions/observability/packages/synthetics_test_data/src/e2e/helpers/utils.ts diff --git a/x-pack/packages/observability/synthetics_test_data/src/e2e/index.ts b/x-pack/solutions/observability/packages/synthetics_test_data/src/e2e/index.ts similarity index 100% rename from x-pack/packages/observability/synthetics_test_data/src/e2e/index.ts rename to x-pack/solutions/observability/packages/synthetics_test_data/src/e2e/index.ts diff --git a/x-pack/packages/observability/synthetics_test_data/src/e2e/tasks/es_archiver.ts b/x-pack/solutions/observability/packages/synthetics_test_data/src/e2e/tasks/es_archiver.ts similarity index 100% rename from x-pack/packages/observability/synthetics_test_data/src/e2e/tasks/es_archiver.ts rename to x-pack/solutions/observability/packages/synthetics_test_data/src/e2e/tasks/es_archiver.ts diff --git a/x-pack/packages/observability/synthetics_test_data/src/e2e/tasks/read_kibana_config.ts b/x-pack/solutions/observability/packages/synthetics_test_data/src/e2e/tasks/read_kibana_config.ts similarity index 100% rename from x-pack/packages/observability/synthetics_test_data/src/e2e/tasks/read_kibana_config.ts rename to x-pack/solutions/observability/packages/synthetics_test_data/src/e2e/tasks/read_kibana_config.ts diff --git a/x-pack/packages/observability/synthetics_test_data/src/make_summaries.ts b/x-pack/solutions/observability/packages/synthetics_test_data/src/make_summaries.ts similarity index 100% rename from x-pack/packages/observability/synthetics_test_data/src/make_summaries.ts rename to x-pack/solutions/observability/packages/synthetics_test_data/src/make_summaries.ts diff --git a/x-pack/packages/observability/synthetics_test_data/src/utils.ts b/x-pack/solutions/observability/packages/synthetics_test_data/src/utils.ts similarity index 100% rename from x-pack/packages/observability/synthetics_test_data/src/utils.ts rename to x-pack/solutions/observability/packages/synthetics_test_data/src/utils.ts diff --git a/x-pack/packages/observability/synthetics_test_data/tsconfig.json b/x-pack/solutions/observability/packages/synthetics_test_data/tsconfig.json similarity index 86% rename from x-pack/packages/observability/synthetics_test_data/tsconfig.json rename to x-pack/solutions/observability/packages/synthetics_test_data/tsconfig.json index b372f38a758ed..957d814a9aa90 100644 --- a/x-pack/packages/observability/synthetics_test_data/tsconfig.json +++ b/x-pack/solutions/observability/packages/synthetics_test_data/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../../tsconfig.base.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types", "types": [ diff --git a/x-pack/plugins/observability_solution/exploratory_view/.storybook/jest_setup.js b/x-pack/solutions/observability/plugins/exploratory_view/.storybook/jest_setup.js similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/.storybook/jest_setup.js rename to x-pack/solutions/observability/plugins/exploratory_view/.storybook/jest_setup.js diff --git a/x-pack/plugins/observability_solution/exploratory_view/.storybook/main.js b/x-pack/solutions/observability/plugins/exploratory_view/.storybook/main.js similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/.storybook/main.js rename to x-pack/solutions/observability/plugins/exploratory_view/.storybook/main.js diff --git a/x-pack/plugins/observability_solution/exploratory_view/.storybook/preview.js b/x-pack/solutions/observability/plugins/exploratory_view/.storybook/preview.js similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/.storybook/preview.js rename to x-pack/solutions/observability/plugins/exploratory_view/.storybook/preview.js diff --git a/x-pack/plugins/observability_solution/exploratory_view/README.md b/x-pack/solutions/observability/plugins/exploratory_view/README.md similarity index 81% rename from x-pack/plugins/observability_solution/exploratory_view/README.md rename to x-pack/solutions/observability/plugins/exploratory_view/README.md index 67a73639cdf87..c3aa6d2d36c7d 100644 --- a/x-pack/plugins/observability_solution/exploratory_view/README.md +++ b/x-pack/solutions/observability/plugins/exploratory_view/README.md @@ -4,7 +4,7 @@ A shared component for visualizing observability data types via lens embeddable. ## Unit testing -Note: Run the following commands from `kibana/x-pack/plugins/observability_solution/exploratory_view`. +Note: Run the following commands from `kibana/x-pack/solutions/observability/plugins/exploratory_view`. ### Run unit tests diff --git a/x-pack/plugins/observability_solution/exploratory_view/common/annotations.ts b/x-pack/solutions/observability/plugins/exploratory_view/common/annotations.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/common/annotations.ts rename to x-pack/solutions/observability/plugins/exploratory_view/common/annotations.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/common/i18n.ts b/x-pack/solutions/observability/plugins/exploratory_view/common/i18n.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/common/i18n.ts rename to x-pack/solutions/observability/plugins/exploratory_view/common/i18n.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/common/index.ts b/x-pack/solutions/observability/plugins/exploratory_view/common/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/common/index.ts rename to x-pack/solutions/observability/plugins/exploratory_view/common/index.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/common/processor_event.ts b/x-pack/solutions/observability/plugins/exploratory_view/common/processor_event.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/common/processor_event.ts rename to x-pack/solutions/observability/plugins/exploratory_view/common/processor_event.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/e2e/README.md b/x-pack/solutions/observability/plugins/exploratory_view/e2e/README.md similarity index 54% rename from x-pack/plugins/observability_solution/exploratory_view/e2e/README.md rename to x-pack/solutions/observability/plugins/exploratory_view/e2e/README.md index 00c7eaa80b88c..58dd5d0f8957f 100644 --- a/x-pack/plugins/observability_solution/exploratory_view/e2e/README.md +++ b/x-pack/solutions/observability/plugins/exploratory_view/e2e/README.md @@ -5,11 +5,11 @@ script for standing up the test server. ### Start the server -From `~/x-pack/plugins/observability_solution/exploratory_view/scripts`, run `node e2e.js --server`. Wait for the server to startup. It will provide you +From `~/x-pack/solutions/observability/plugins/exploratory_view/scripts`, run `node e2e.js --server`. Wait for the server to startup. It will provide you with an example run command when it finishes. ### Run the tests -From this directory, `~/x-pack/plugins/observability_solution/exploratory_view/e2e`, you can now run `node ../../../../scripts/functional_test_runner --config synthetics_run.ts`. +From this directory, `~/x-pack/solutions/observability/plugins/exploratory_view/e2e`, you can now run `node ../../../../../scripts/functional_test_runner --config synthetics_run.ts`. In addition to the usual flags like `--grep`, you can also specify `--no-headless` in order to view your tests as you debug/develop. diff --git a/x-pack/plugins/observability_solution/exploratory_view/e2e/journeys/exploratory_view.ts b/x-pack/solutions/observability/plugins/exploratory_view/e2e/journeys/exploratory_view.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/e2e/journeys/exploratory_view.ts rename to x-pack/solutions/observability/plugins/exploratory_view/e2e/journeys/exploratory_view.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/e2e/journeys/index.ts b/x-pack/solutions/observability/plugins/exploratory_view/e2e/journeys/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/e2e/journeys/index.ts rename to x-pack/solutions/observability/plugins/exploratory_view/e2e/journeys/index.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/e2e/journeys/single_metric.journey.ts b/x-pack/solutions/observability/plugins/exploratory_view/e2e/journeys/single_metric.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/e2e/journeys/single_metric.journey.ts rename to x-pack/solutions/observability/plugins/exploratory_view/e2e/journeys/single_metric.journey.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/e2e/journeys/step_duration.journey.ts b/x-pack/solutions/observability/plugins/exploratory_view/e2e/journeys/step_duration.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/e2e/journeys/step_duration.journey.ts rename to x-pack/solutions/observability/plugins/exploratory_view/e2e/journeys/step_duration.journey.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/e2e/synthetics_run.ts b/x-pack/solutions/observability/plugins/exploratory_view/e2e/synthetics_run.ts similarity index 88% rename from x-pack/plugins/observability_solution/exploratory_view/e2e/synthetics_run.ts rename to x-pack/solutions/observability/plugins/exploratory_view/e2e/synthetics_run.ts index 32a3c7d011a1b..8ca6504d34987 100644 --- a/x-pack/plugins/observability_solution/exploratory_view/e2e/synthetics_run.ts +++ b/x-pack/solutions/observability/plugins/exploratory_view/e2e/synthetics_run.ts @@ -25,11 +25,11 @@ async function runE2ETests({ readConfigFile }: FtrConfigProviderContext) { await syntheticsRunner.setup(); await syntheticsRunner.loadTestData( - `${REPO_ROOT}/x-pack/plugins/observability_solution/ux/e2e/fixtures/`, + `${REPO_ROOT}/x-pack/solutions/observability/plugins/ux/e2e/fixtures/`, ['rum_8.0.0', 'rum_test_data'] ); await syntheticsRunner.loadTestData( - `${REPO_ROOT}/x-pack/plugins/observability_solution/synthetics/e2e/fixtures/es_archiver/`, + `${REPO_ROOT}/x-pack/solutions/observability/plugins/synthetics/e2e/fixtures/es_archiver/`, ['full_heartbeat', 'browser'] ); await syntheticsRunner.loadTestFiles(async () => { diff --git a/x-pack/plugins/observability_solution/exploratory_view/e2e/tsconfig.json b/x-pack/solutions/observability/plugins/exploratory_view/e2e/tsconfig.json similarity index 82% rename from x-pack/plugins/observability_solution/exploratory_view/e2e/tsconfig.json rename to x-pack/solutions/observability/plugins/exploratory_view/e2e/tsconfig.json index aaa9e0b70577a..43b0ddc6b6f9e 100644 --- a/x-pack/plugins/observability_solution/exploratory_view/e2e/tsconfig.json +++ b/x-pack/solutions/observability/plugins/exploratory_view/e2e/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../../../tsconfig.base.json", + "extends": "../../../../../../tsconfig.base.json", "exclude": ["tmp", "target/**/*"], "include": ["./**/*"], "compilerOptions": { diff --git a/x-pack/plugins/observability_solution/exploratory_view/e2e/utils.ts b/x-pack/solutions/observability/plugins/exploratory_view/e2e/utils.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/e2e/utils.ts rename to x-pack/solutions/observability/plugins/exploratory_view/e2e/utils.ts diff --git a/x-pack/solutions/observability/plugins/exploratory_view/jest.config.js b/x-pack/solutions/observability/plugins/exploratory_view/jest.config.js new file mode 100644 index 0000000000000..5a879be3d92c9 --- /dev/null +++ b/x-pack/solutions/observability/plugins/exploratory_view/jest.config.js @@ -0,0 +1,21 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../../../../..', + roots: ['/x-pack/solutions/observability/plugins/exploratory_view'], + setupFiles: [ + '/x-pack/solutions/observability/plugins/exploratory_view/.storybook/jest_setup.js', + ], + coverageDirectory: + '/target/kibana-coverage/jest/x-pack/solutions/observability/plugins/exploratory_view', + coverageReporters: ['text', 'html'], + collectCoverageFrom: [ + '/x-pack/solutions/observability/plugins/exploratory_view/{common,public,server}/**/*.{js,ts,tsx}', + ], +}; diff --git a/x-pack/plugins/observability_solution/exploratory_view/kibana.jsonc b/x-pack/solutions/observability/plugins/exploratory_view/kibana.jsonc similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/kibana.jsonc rename to x-pack/solutions/observability/plugins/exploratory_view/kibana.jsonc diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/application/application.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/application/application.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/application/application.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/application/application.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/application/index.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/application/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/application/index.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/application/index.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/application/types.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/application/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/application/types.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/application/types.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/add_data_buttons/mobile_add_data.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/add_data_buttons/mobile_add_data.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/add_data_buttons/mobile_add_data.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/add_data_buttons/mobile_add_data.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/add_data_buttons/synthetics_add_data.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/add_data_buttons/synthetics_add_data.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/add_data_buttons/synthetics_add_data.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/add_data_buttons/synthetics_add_data.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/add_data_buttons/ux_add_data.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/add_data_buttons/ux_add_data.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/add_data_buttons/ux_add_data.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/add_data_buttons/ux_add_data.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/date_picker/date_picker.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/date_picker/date_picker.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/date_picker/date_picker.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/date_picker/date_picker.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/date_picker/index.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/date_picker/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/date_picker/index.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/date_picker/index.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/date_picker/typings.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/date_picker/typings.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/date_picker/typings.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/date_picker/typings.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/README.md b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/README.md similarity index 97% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/README.md rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/README.md index 6aea217a1aaa8..23d370cd27024 100644 --- a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/README.md +++ b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/README.md @@ -113,7 +113,7 @@ Add a link to lens embeddable readme #### Example A simple usage of lens embeddable example and playground options -[embedded_lens_example](../../../../../../examples/embedded_lens_example) +[embedded_lens_example](../../../../../../../examples/embedded_lens_example) ## Exploratory view Embeddable @@ -153,9 +153,9 @@ usage looks like this ``` there is an example in kibana example which you can view using -`yarn start --run-examples` and view the code at [Exploratory view embeddable](../../../../../../examples/exploratory_view_example) +`yarn start --run-examples` and view the code at [Exploratory view embeddable](../../../../../../../examples/exploratory_view_example) #### Example A simple usage of lens embeddable example and playground options, run kibana with `yarn start --run-example` to see this example in action -source code is defined at [embedded_lens_example](../../../../../../examples/embedded_lens_example) \ No newline at end of file +source code is defined at [embedded_lens_example](../../../../../../../examples/embedded_lens_example) \ No newline at end of file diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/action_menu/action_menu.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/action_menu/action_menu.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/action_menu/action_menu.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/action_menu/action_menu.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/action_menu/action_menu.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/action_menu/action_menu.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/action_menu/action_menu.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/action_menu/action_menu.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/action_menu/index.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/action_menu/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/action_menu/index.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/action_menu/index.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/date_range_picker.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/date_range_picker.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/date_range_picker.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/date_range_picker.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/empty_view.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/empty_view.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/empty_view.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/empty_view.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/filter_label.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/filter_label.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/filter_label.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/filter_label.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/filter_label.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/filter_label.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/filter_label.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/filter_label.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/series_color_picker.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/series_color_picker.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/series_color_picker.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/series_color_picker.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/series_date_picker/index.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/series_date_picker/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/series_date_picker/index.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/series_date_picker/index.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/series_date_picker/series_date_picker.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/series_date_picker/series_date_picker.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/series_date_picker/series_date_picker.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/series_date_picker/series_date_picker.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/url_search/selectable_url_list.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/url_search/selectable_url_list.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/url_search/selectable_url_list.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/url_search/selectable_url_list.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/url_search/selectable_url_list.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/url_search/selectable_url_list.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/url_search/selectable_url_list.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/url_search/selectable_url_list.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/url_search/translations.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/url_search/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/url_search/translations.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/url_search/translations.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/url_search/url_search.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/url_search/url_search.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/url_search/url_search.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/url_search/url_search.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/url_search/use_url_search.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/url_search/use_url_search.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/components/url_search/use_url_search.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/components/url_search/use_url_search.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/alerts_configs/kpi_over_time_config.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/alerts_configs/kpi_over_time_config.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/alerts_configs/kpi_over_time_config.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/alerts_configs/kpi_over_time_config.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/alerts_configs/single_metric_config.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/alerts_configs/single_metric_config.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/alerts_configs/single_metric_config.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/alerts_configs/single_metric_config.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/apm/field_formats.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/apm/field_formats.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/apm/field_formats.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/apm/field_formats.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/constants/constants.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/constants/constants.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/constants/constants.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/constants/constants.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/constants/elasticsearch_fieldnames.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/constants/elasticsearch_fieldnames.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/constants/elasticsearch_fieldnames.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/constants/elasticsearch_fieldnames.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/constants/field_names/infra_logs.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/constants/field_names/infra_logs.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/constants/field_names/infra_logs.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/constants/field_names/infra_logs.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/constants/field_names/infra_metrics.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/constants/field_names/infra_metrics.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/constants/field_names/infra_metrics.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/constants/field_names/infra_metrics.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/constants/field_names/synthetics.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/constants/field_names/synthetics.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/constants/field_names/synthetics.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/constants/field_names/synthetics.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/constants/index.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/constants/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/constants/index.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/constants/index.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/constants/labels.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/constants/labels.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/constants/labels.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/constants/labels.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/constants/url_constants.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/constants/url_constants.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/constants/url_constants.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/constants/url_constants.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/default_configs.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/default_configs.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/default_configs.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/default_configs.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/exploratory_view_url.test.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/exploratory_view_url.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/exploratory_view_url.test.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/exploratory_view_url.test.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/exploratory_view_url.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/exploratory_view_url.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/exploratory_view_url.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/exploratory_view_url.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/infra_logs/kpi_over_time_config.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/infra_logs/kpi_over_time_config.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/infra_logs/kpi_over_time_config.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/infra_logs/kpi_over_time_config.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/infra_metrics/field_formats.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/infra_metrics/field_formats.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/infra_metrics/field_formats.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/infra_metrics/field_formats.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/infra_metrics/kpi_over_time_config.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/infra_metrics/kpi_over_time_config.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/infra_metrics/kpi_over_time_config.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/infra_metrics/kpi_over_time_config.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes.test.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes.test.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes.test.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes/heatmap_attributes.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes/heatmap_attributes.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes/heatmap_attributes.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes/heatmap_attributes.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes/single_metric_attributes.test.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes/single_metric_attributes.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes/single_metric_attributes.test.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes/single_metric_attributes.test.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes/single_metric_attributes.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes/single_metric_attributes.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes/single_metric_attributes.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes/single_metric_attributes.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/lens_columns/overall_column.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/lens_columns/overall_column.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/lens_columns/overall_column.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/lens_columns/overall_column.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/mobile/device_distribution_config.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/mobile/device_distribution_config.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/mobile/device_distribution_config.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/mobile/device_distribution_config.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/mobile/distribution_config.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/mobile/distribution_config.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/mobile/distribution_config.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/mobile/distribution_config.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/mobile/kpi_over_time_config.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/mobile/kpi_over_time_config.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/mobile/kpi_over_time_config.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/mobile/kpi_over_time_config.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/mobile/mobile_fields.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/mobile/mobile_fields.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/mobile/mobile_fields.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/mobile/mobile_fields.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/mobile/mobile_kpi_config.test.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/mobile/mobile_kpi_config.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/mobile/mobile_kpi_config.test.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/mobile/mobile_kpi_config.test.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/rum/core_web_vitals_config.test.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/rum/core_web_vitals_config.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/rum/core_web_vitals_config.test.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/rum/core_web_vitals_config.test.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/rum/core_web_vitals_config.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/rum/core_web_vitals_config.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/rum/core_web_vitals_config.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/rum/core_web_vitals_config.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/rum/data_distribution_config.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/rum/data_distribution_config.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/rum/data_distribution_config.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/rum/data_distribution_config.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/rum/field_formats.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/rum/field_formats.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/rum/field_formats.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/rum/field_formats.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/rum/kpi_over_time_config.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/rum/kpi_over_time_config.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/rum/kpi_over_time_config.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/rum/kpi_over_time_config.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/rum/single_metric_config.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/rum/single_metric_config.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/rum/single_metric_config.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/rum/single_metric_config.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/data_distribution_config.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/data_distribution_config.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/data_distribution_config.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/data_distribution_config.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/field_formats.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/field_formats.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/field_formats.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/field_formats.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/heatmap_config.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/heatmap_config.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/heatmap_config.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/heatmap_config.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/kpi_over_time_config.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/kpi_over_time_config.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/kpi_over_time_config.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/kpi_over_time_config.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/runtime_fields.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/runtime_fields.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/runtime_fields.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/runtime_fields.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/single_metric_config.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/single_metric_config.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/single_metric_config.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/synthetics/single_metric_config.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/mobile_test_attribute.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/mobile_test_attribute.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/mobile_test_attribute.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/mobile_test_attribute.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_cwv.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_cwv.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_cwv.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_cwv.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_kpi.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_kpi.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_kpi.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_kpi.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_with_reference_lines.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_with_reference_lines.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_with_reference_lines.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_with_reference_lines.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/test_data_view.json b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/test_data_view.json similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/test_data_view.json rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/test_data_view.json diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/test_formula_metric_attribute.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/test_formula_metric_attribute.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/test_formula_metric_attribute.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/test_formula_metric_attribute.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/utils.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/utils.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/configurations/utils.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/utils.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/contexts/exploratory_view_config.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/contexts/exploratory_view_config.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/contexts/exploratory_view_config.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/contexts/exploratory_view_config.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/embeddable/embeddable.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/embeddable/embeddable.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/embeddable/embeddable.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/embeddable/embeddable.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/embeddable/embeddable.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/embeddable/embeddable.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/embeddable/embeddable.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/embeddable/embeddable.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/embeddable/index.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/embeddable/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/embeddable/index.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/embeddable/index.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/embeddable/use_actions.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/embeddable/use_actions.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/embeddable/use_actions.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/embeddable/use_actions.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/embeddable/use_app_data_view.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/embeddable/use_app_data_view.ts similarity index 97% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/embeddable/use_app_data_view.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/embeddable/use_app_data_view.ts index f4b73e16fbc4a..e7441ef0c45cd 100644 --- a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/embeddable/use_app_data_view.ts +++ b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/embeddable/use_app_data_view.ts @@ -45,7 +45,6 @@ export const useAppDataView = ({ setDataViews((prevState) => ({ ...(prevState ?? {}), [seriesDataType]: indPattern })); } } - // eslint-disable-next-line react-hooks/exhaustive-deps }, [dataViewTitle, seriesDataType, JSON.stringify(series)]); return { dataViews, loading: loading && !dataViews[seriesDataType] }; diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/embeddable/use_embeddable_attributes.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/embeddable/use_embeddable_attributes.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/embeddable/use_embeddable_attributes.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/embeddable/use_embeddable_attributes.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/embeddable/use_local_data_view.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/embeddable/use_local_data_view.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/embeddable/use_local_data_view.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/embeddable/use_local_data_view.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/exploratory_view.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/exploratory_view.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/exploratory_view.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/exploratory_view.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/exploratory_view.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/exploratory_view.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/exploratory_view.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/exploratory_view.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/header/add_to_case_action.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/header/add_to_case_action.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/header/add_to_case_action.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/header/add_to_case_action.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/header/add_to_case_action.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/header/add_to_case_action.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/header/add_to_case_action.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/header/add_to_case_action.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/header/chart_creation_info.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/header/chart_creation_info.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/header/chart_creation_info.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/header/chart_creation_info.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/header/chart_creation_info.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/header/chart_creation_info.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/header/chart_creation_info.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/header/chart_creation_info.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/header/embed_action.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/header/embed_action.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/header/embed_action.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/header/embed_action.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/header/last_updated.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/header/last_updated.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/header/last_updated.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/header/last_updated.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/header/refresh_button.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/header/refresh_button.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/header/refresh_button.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/header/refresh_button.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_add_to_case.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_add_to_case.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_add_to_case.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_add_to_case.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_add_to_case.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_add_to_case.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_add_to_case.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_add_to_case.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_app_data_view.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_app_data_view.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_app_data_view.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_app_data_view.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_discover_link.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_discover_link.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_discover_link.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_discover_link.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_ebt_telemetry.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_ebt_telemetry.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_ebt_telemetry.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_ebt_telemetry.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_kibana.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_kibana.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_kibana.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_kibana.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_lens_attributes.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_lens_attributes.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_lens_attributes.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_lens_attributes.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_lens_attributes.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_lens_attributes.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_lens_attributes.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_lens_attributes.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_lens_formula_helper.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_lens_formula_helper.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_lens_formula_helper.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_lens_formula_helper.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_series_filters.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_series_filters.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_series_filters.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_series_filters.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_series_storage.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_series_storage.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_series_storage.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_series_storage.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_series_storage.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_series_storage.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_series_storage.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_series_storage.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_time_range.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_time_range.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_time_range.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_time_range.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_time_range.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_time_range.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_time_range.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_time_range.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/index.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/index.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/index.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/labels.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/labels.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/labels.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/labels.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/lens_embeddable.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/lens_embeddable.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/lens_embeddable.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/lens_embeddable.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/obsv_exploratory_view.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/obsv_exploratory_view.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/obsv_exploratory_view.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/obsv_exploratory_view.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/rtl_helpers.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/rtl_helpers.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/rtl_helpers.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/rtl_helpers.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/breakdown/breakdowns.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/breakdown/breakdowns.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/breakdown/breakdowns.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/breakdown/breakdowns.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/breakdown/breakdowns.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/breakdown/breakdowns.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/breakdown/breakdowns.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/breakdown/breakdowns.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/breakdown/label_breakdown.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/breakdown/label_breakdown.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/breakdown/label_breakdown.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/breakdown/label_breakdown.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/chart_type_select.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/chart_type_select.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/chart_type_select.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/chart_type_select.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/chart_types.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/chart_types.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/chart_types.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/chart_types.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/chart_types.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/chart_types.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/chart_types.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/chart_types.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/data_type_select.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/data_type_select.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/data_type_select.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/data_type_select.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/data_type_select.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/data_type_select.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/data_type_select.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/data_type_select.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/date_picker_col.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/date_picker_col.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/date_picker_col.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/date_picker_col.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/filter_expanded.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/filter_expanded.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/filter_expanded.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/filter_expanded.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/filter_expanded.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/filter_expanded.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/filter_expanded.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/filter_expanded.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/filter_value_btn.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/filter_value_btn.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/filter_value_btn.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/filter_value_btn.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/filter_value_btn.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/filter_value_btn.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/filter_value_btn.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/filter_value_btn.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/incomplete_badge.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/incomplete_badge.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/incomplete_badge.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/incomplete_badge.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/operation_type_select.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/operation_type_select.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/operation_type_select.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/operation_type_select.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/operation_type_select.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/operation_type_select.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/operation_type_select.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/operation_type_select.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/report_definition_col.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/report_definition_col.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/report_definition_col.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/report_definition_col.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/report_definition_col.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/report_definition_col.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/report_definition_col.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/report_definition_col.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/report_definition_field.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/report_definition_field.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/report_definition_field.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/report_definition_field.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/report_type_select.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/report_type_select.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/report_type_select.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/report_type_select.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/selected_filters.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/selected_filters.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/selected_filters.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/selected_filters.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/selected_filters.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/selected_filters.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/selected_filters.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/selected_filters.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_actions.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_actions.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_actions.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_actions.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_actions.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_actions.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_actions.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_actions.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_filter.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_filter.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_filter.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_filter.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_info.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_info.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_info.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_info.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_name.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_name.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_name.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_name.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_name.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_name.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_name.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/series_name.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/text_report_definition_field.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/text_report_definition_field.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/text_report_definition_field.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/text_report_definition_field.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/components/filter_values_list.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/components/filter_values_list.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/components/filter_values_list.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/components/filter_values_list.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/components/labels_filter.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/components/labels_filter.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/components/labels_filter.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/components/labels_filter.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/expanded_series_row.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/expanded_series_row.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/expanded_series_row.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/expanded_series_row.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/expanded_series_row.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/expanded_series_row.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/expanded_series_row.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/expanded_series_row.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/report_metric_options.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/report_metric_options.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/report_metric_options.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/report_metric_options.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/report_metric_options.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/report_metric_options.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/report_metric_options.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/report_metric_options.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/series.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/series.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/series.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/series.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/series_editor.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/series_editor.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/series_editor.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/series_editor.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/use_filter_values.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/use_filter_values.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/series_editor/use_filter_values.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/use_filter_values.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/types.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/types.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/types.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/utils/stringify_kueries.test.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/utils/stringify_kueries.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/utils/stringify_kueries.test.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/utils/stringify_kueries.test.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/utils/stringify_kueries.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/utils/stringify_kueries.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/utils/stringify_kueries.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/utils/stringify_kueries.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/utils/telemetry.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/utils/telemetry.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/utils/telemetry.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/utils/telemetry.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/utils/telemetry.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/utils/telemetry.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/utils/telemetry.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/utils/telemetry.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/utils/utils.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/utils/utils.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/utils/utils.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/utils/utils.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/views/add_series_button.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/views/add_series_button.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/views/add_series_button.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/views/add_series_button.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/views/add_series_button.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/views/add_series_button.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/views/add_series_button.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/views/add_series_button.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/views/series_views.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/views/series_views.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/views/series_views.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/views/series_views.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/views/view_actions.test.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/views/view_actions.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/views/view_actions.test.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/views/view_actions.test.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/views/view_actions.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/views/view_actions.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/views/view_actions.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/views/view_actions.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/filter_value_label/filter_value_label.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/filter_value_label/filter_value_label.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/filter_value_label/filter_value_label.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/filter_value_label/filter_value_label.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/index.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/index.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/index.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/types.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/components/shared/types.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/types.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/constants.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/constants.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/constants.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/constants.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/context/date_picker_context.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/context/date_picker_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/context/date_picker_context.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/context/date_picker_context.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/context/plugin_context.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/context/plugin_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/context/plugin_context.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/context/plugin_context.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/data_handler.test.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/data_handler.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/data_handler.test.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/data_handler.test.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/data_handler.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/data_handler.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/data_handler.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/data_handler.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/hooks/use_date_picker_context.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/hooks/use_date_picker_context.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/hooks/use_date_picker_context.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/hooks/use_date_picker_context.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/hooks/use_plugin_context.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/hooks/use_plugin_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/hooks/use_plugin_context.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/hooks/use_plugin_context.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/index.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/index.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/index.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/plugin.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/plugin.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/plugin.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/plugin.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/routes/index.tsx b/x-pack/solutions/observability/plugins/exploratory_view/public/routes/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/routes/index.tsx rename to x-pack/solutions/observability/plugins/exploratory_view/public/routes/index.tsx diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/routes/json_rt.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/routes/json_rt.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/routes/json_rt.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/routes/json_rt.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/typings/fetch_overview_data/index.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/typings/fetch_overview_data/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/typings/fetch_overview_data/index.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/typings/fetch_overview_data/index.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/utils/date.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/utils/date.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/utils/date.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/utils/date.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/utils/observability_data_views/get_app_data_view.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/utils/observability_data_views/get_app_data_view.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/utils/observability_data_views/get_app_data_view.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/utils/observability_data_views/get_app_data_view.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/utils/observability_data_views/index.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/utils/observability_data_views/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/utils/observability_data_views/index.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/utils/observability_data_views/index.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/utils/observability_data_views/observability_data_views.test.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/utils/observability_data_views/observability_data_views.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/utils/observability_data_views/observability_data_views.test.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/utils/observability_data_views/observability_data_views.test.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/utils/observability_data_views/observability_data_views.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/utils/observability_data_views/observability_data_views.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/utils/observability_data_views/observability_data_views.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/utils/observability_data_views/observability_data_views.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/utils/url.test.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/utils/url.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/utils/url.test.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/utils/url.test.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/utils/url.ts b/x-pack/solutions/observability/plugins/exploratory_view/public/utils/url.ts similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/public/utils/url.ts rename to x-pack/solutions/observability/plugins/exploratory_view/public/utils/url.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/scripts/e2e.js b/x-pack/solutions/observability/plugins/exploratory_view/scripts/e2e.js similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/scripts/e2e.js rename to x-pack/solutions/observability/plugins/exploratory_view/scripts/e2e.js diff --git a/x-pack/plugins/observability_solution/exploratory_view/scripts/storybook.js b/x-pack/solutions/observability/plugins/exploratory_view/scripts/storybook.js similarity index 100% rename from x-pack/plugins/observability_solution/exploratory_view/scripts/storybook.js rename to x-pack/solutions/observability/plugins/exploratory_view/scripts/storybook.js diff --git a/x-pack/plugins/observability_solution/exploratory_view/tsconfig.json b/x-pack/solutions/observability/plugins/exploratory_view/tsconfig.json similarity index 94% rename from x-pack/plugins/observability_solution/exploratory_view/tsconfig.json rename to x-pack/solutions/observability/plugins/exploratory_view/tsconfig.json index 3aca08a23f4ef..cfe8deebbcc50 100644 --- a/x-pack/plugins/observability_solution/exploratory_view/tsconfig.json +++ b/x-pack/solutions/observability/plugins/exploratory_view/tsconfig.json @@ -1,9 +1,9 @@ { - "extends": "../../../../tsconfig.base.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types" }, - "include": ["common/**/*", "public/**/*", "public/**/*.json", "../../../../typings/**/*"], + "include": ["common/**/*", "public/**/*", "public/**/*.json", "../../../../../typings/**/*"], "kbn_references": [ "@kbn/core", "@kbn/data-plugin", diff --git a/x-pack/plugins/observability_solution/investigate/README.md b/x-pack/solutions/observability/plugins/investigate/README.md similarity index 100% rename from x-pack/plugins/observability_solution/investigate/README.md rename to x-pack/solutions/observability/plugins/investigate/README.md diff --git a/x-pack/plugins/observability_solution/investigate/common/index.ts b/x-pack/solutions/observability/plugins/investigate/common/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate/common/index.ts rename to x-pack/solutions/observability/plugins/investigate/common/index.ts diff --git a/x-pack/plugins/observability_solution/investigate/common/types.ts b/x-pack/solutions/observability/plugins/investigate/common/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate/common/types.ts rename to x-pack/solutions/observability/plugins/investigate/common/types.ts diff --git a/x-pack/plugins/observability_solution/investigate/common/utils/merge_plain_objects.ts b/x-pack/solutions/observability/plugins/investigate/common/utils/merge_plain_objects.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate/common/utils/merge_plain_objects.ts rename to x-pack/solutions/observability/plugins/investigate/common/utils/merge_plain_objects.ts diff --git a/x-pack/plugins/observability_solution/investigate/jest.config.js b/x-pack/solutions/observability/plugins/investigate/jest.config.js similarity index 53% rename from x-pack/plugins/observability_solution/investigate/jest.config.js rename to x-pack/solutions/observability/plugins/investigate/jest.config.js index bba3a2285005e..34bb5b6988136 100644 --- a/x-pack/plugins/observability_solution/investigate/jest.config.js +++ b/x-pack/solutions/observability/plugins/investigate/jest.config.js @@ -7,16 +7,16 @@ module.exports = { preset: '@kbn/test', - rootDir: '../../../..', + rootDir: '../../../../..', roots: [ - '/x-pack/plugins/observability_solution/investigate/public', - '/x-pack/plugins/observability_solution/investigate/common', - '/x-pack/plugins/observability_solution/investigate/server', + '/x-pack/solutions/observability/plugins/investigate/public', + '/x-pack/solutions/observability/plugins/investigate/common', + '/x-pack/solutions/observability/plugins/investigate/server', ], setupFiles: [], collectCoverage: true, collectCoverageFrom: [ - '/x-pack/plugins/observability_solution/investigate/{common,public,server}/**/*.{js,ts,tsx}', + '/x-pack/solutions/observability/plugins/investigate/{common,public,server}/**/*.{js,ts,tsx}', ], coverageReporters: ['html'], diff --git a/x-pack/plugins/observability_solution/investigate/kibana.jsonc b/x-pack/solutions/observability/plugins/investigate/kibana.jsonc similarity index 100% rename from x-pack/plugins/observability_solution/investigate/kibana.jsonc rename to x-pack/solutions/observability/plugins/investigate/kibana.jsonc diff --git a/x-pack/plugins/observability_solution/investigate/public/index.ts b/x-pack/solutions/observability/plugins/investigate/public/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate/public/index.ts rename to x-pack/solutions/observability/plugins/investigate/public/index.ts diff --git a/x-pack/plugins/observability_solution/investigate/public/investigation/item_definition_registry.ts b/x-pack/solutions/observability/plugins/investigate/public/investigation/item_definition_registry.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate/public/investigation/item_definition_registry.ts rename to x-pack/solutions/observability/plugins/investigate/public/investigation/item_definition_registry.ts diff --git a/x-pack/plugins/observability_solution/investigate/public/plugin.tsx b/x-pack/solutions/observability/plugins/investigate/public/plugin.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate/public/plugin.tsx rename to x-pack/solutions/observability/plugins/investigate/public/plugin.tsx diff --git a/x-pack/plugins/observability_solution/investigate/public/types.ts b/x-pack/solutions/observability/plugins/investigate/public/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate/public/types.ts rename to x-pack/solutions/observability/plugins/investigate/public/types.ts diff --git a/x-pack/plugins/observability_solution/investigate/public/util/get_es_filters_from_global_parameters.ts b/x-pack/solutions/observability/plugins/investigate/public/util/get_es_filters_from_global_parameters.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate/public/util/get_es_filters_from_global_parameters.ts rename to x-pack/solutions/observability/plugins/investigate/public/util/get_es_filters_from_global_parameters.ts diff --git a/x-pack/plugins/observability_solution/investigate/server/config.ts b/x-pack/solutions/observability/plugins/investigate/server/config.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate/server/config.ts rename to x-pack/solutions/observability/plugins/investigate/server/config.ts diff --git a/x-pack/plugins/observability_solution/investigate/server/index.ts b/x-pack/solutions/observability/plugins/investigate/server/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate/server/index.ts rename to x-pack/solutions/observability/plugins/investigate/server/index.ts diff --git a/x-pack/plugins/observability_solution/investigate/server/plugin.ts b/x-pack/solutions/observability/plugins/investigate/server/plugin.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate/server/plugin.ts rename to x-pack/solutions/observability/plugins/investigate/server/plugin.ts diff --git a/x-pack/plugins/observability_solution/investigate/server/types.ts b/x-pack/solutions/observability/plugins/investigate/server/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate/server/types.ts rename to x-pack/solutions/observability/plugins/investigate/server/types.ts diff --git a/x-pack/plugins/observability_solution/investigate/tsconfig.json b/x-pack/solutions/observability/plugins/investigate/tsconfig.json similarity index 79% rename from x-pack/plugins/observability_solution/investigate/tsconfig.json rename to x-pack/solutions/observability/plugins/investigate/tsconfig.json index e2e39f527c2e1..14a188c1a0ca2 100644 --- a/x-pack/plugins/observability_solution/investigate/tsconfig.json +++ b/x-pack/solutions/observability/plugins/investigate/tsconfig.json @@ -1,10 +1,10 @@ { - "extends": "../../../../tsconfig.base.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types" }, "include": [ - "../../../typings/**/*", + "../../../../typings/**/*", "common/**/*", "public/**/*", "typings/**/*", diff --git a/x-pack/plugins/observability_solution/investigate_app/.storybook/extend_props.ts b/x-pack/solutions/observability/plugins/investigate_app/.storybook/extend_props.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/.storybook/extend_props.ts rename to x-pack/solutions/observability/plugins/investigate_app/.storybook/extend_props.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/.storybook/get_mock_investigate_app_services.tsx b/x-pack/solutions/observability/plugins/investigate_app/.storybook/get_mock_investigate_app_services.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/.storybook/get_mock_investigate_app_services.tsx rename to x-pack/solutions/observability/plugins/investigate_app/.storybook/get_mock_investigate_app_services.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/.storybook/jest_setup.js b/x-pack/solutions/observability/plugins/investigate_app/.storybook/jest_setup.js similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/.storybook/jest_setup.js rename to x-pack/solutions/observability/plugins/investigate_app/.storybook/jest_setup.js diff --git a/x-pack/plugins/observability_solution/investigate_app/.storybook/main.js b/x-pack/solutions/observability/plugins/investigate_app/.storybook/main.js similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/.storybook/main.js rename to x-pack/solutions/observability/plugins/investigate_app/.storybook/main.js diff --git a/x-pack/plugins/observability_solution/investigate_app/.storybook/mock_kibana_services.ts b/x-pack/solutions/observability/plugins/investigate_app/.storybook/mock_kibana_services.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/.storybook/mock_kibana_services.ts rename to x-pack/solutions/observability/plugins/investigate_app/.storybook/mock_kibana_services.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/.storybook/preview.js b/x-pack/solutions/observability/plugins/investigate_app/.storybook/preview.js similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/.storybook/preview.js rename to x-pack/solutions/observability/plugins/investigate_app/.storybook/preview.js diff --git a/x-pack/plugins/observability_solution/investigate_app/.storybook/storybook_decorator.tsx b/x-pack/solutions/observability/plugins/investigate_app/.storybook/storybook_decorator.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/.storybook/storybook_decorator.tsx rename to x-pack/solutions/observability/plugins/investigate_app/.storybook/storybook_decorator.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/README.md b/x-pack/solutions/observability/plugins/investigate_app/README.md similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/README.md rename to x-pack/solutions/observability/plugins/investigate_app/README.md diff --git a/x-pack/plugins/observability_solution/investigate_app/common/paths.ts b/x-pack/solutions/observability/plugins/investigate_app/common/paths.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/common/paths.ts rename to x-pack/solutions/observability/plugins/investigate_app/common/paths.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/jest.config.js b/x-pack/solutions/observability/plugins/investigate_app/jest.config.js similarity index 52% rename from x-pack/plugins/observability_solution/investigate_app/jest.config.js rename to x-pack/solutions/observability/plugins/investigate_app/jest.config.js index b37e5c69d4635..fdd824900e3fc 100644 --- a/x-pack/plugins/observability_solution/investigate_app/jest.config.js +++ b/x-pack/solutions/observability/plugins/investigate_app/jest.config.js @@ -7,17 +7,17 @@ module.exports = { preset: '@kbn/test', - rootDir: '../../../..', + rootDir: '../../../../..', roots: [ - '/x-pack/plugins/observability_solution/investigate_app/public', - '/x-pack/plugins/observability_solution/investigate_app/server', + '/x-pack/solutions/observability/plugins/investigate_app/public', + '/x-pack/solutions/observability/plugins/investigate_app/server', ], setupFiles: [ - '/x-pack/plugins/observability_solution/investigate_app/.storybook/jest_setup.js', + '/x-pack/solutions/observability/plugins/investigate_app/.storybook/jest_setup.js', ], collectCoverage: true, collectCoverageFrom: [ - '/x-pack/plugins/observability_solution/investigate_app/{public,server}/**/*.{js,ts,tsx}', + '/x-pack/solutions/observability/plugins/investigate_app/{public,server}/**/*.{js,ts,tsx}', ], coverageReporters: ['html'], diff --git a/x-pack/plugins/observability_solution/investigate_app/kibana.jsonc b/x-pack/solutions/observability/plugins/investigate_app/kibana.jsonc similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/kibana.jsonc rename to x-pack/solutions/observability/plugins/investigate_app/kibana.jsonc diff --git a/x-pack/plugins/observability_solution/investigate_app/public/api/index.ts b/x-pack/solutions/observability/plugins/investigate_app/public/api/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/api/index.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/api/index.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/application.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/application.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/application.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/application.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/components/error_message/index.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/components/error_message/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/components/error_message/index.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/components/error_message/index.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/components/investigate_app_context_provider/index.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/components/investigate_app_context_provider/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/components/investigate_app_context_provider/index.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/components/investigate_app_context_provider/index.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/components/investigate_text_button/index.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/components/investigate_text_button/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/components/investigate_text_button/index.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/components/investigate_text_button/index.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/components/investigation_edit_form/fields/external_incident_field.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/components/investigation_edit_form/fields/external_incident_field.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/components/investigation_edit_form/fields/external_incident_field.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/components/investigation_edit_form/fields/external_incident_field.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/components/investigation_edit_form/fields/status_field.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/components/investigation_edit_form/fields/status_field.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/components/investigation_edit_form/fields/status_field.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/components/investigation_edit_form/fields/status_field.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/components/investigation_edit_form/fields/tags_field.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/components/investigation_edit_form/fields/tags_field.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/components/investigation_edit_form/fields/tags_field.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/components/investigation_edit_form/fields/tags_field.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/components/investigation_edit_form/form_helper.ts b/x-pack/solutions/observability/plugins/investigate_app/public/components/investigation_edit_form/form_helper.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/components/investigation_edit_form/form_helper.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/components/investigation_edit_form/form_helper.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/components/investigation_edit_form/investigation_edit_form.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/components/investigation_edit_form/investigation_edit_form.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/components/investigation_edit_form/investigation_edit_form.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/components/investigation_edit_form/investigation_edit_form.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/components/investigation_not_found/investigation_not_found.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/components/investigation_not_found/investigation_not_found.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/components/investigation_not_found/investigation_not_found.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/components/investigation_not_found/investigation_not_found.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/components/investigation_status_badge/investigation_status_badge.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/components/investigation_status_badge/investigation_status_badge.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/components/investigation_status_badge/investigation_status_badge.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/components/investigation_status_badge/investigation_status_badge.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/components/investigation_tag/investigation_tag.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/components/investigation_tag/investigation_tag.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/components/investigation_tag/investigation_tag.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/components/investigation_tag/investigation_tag.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/components/preview_lens_suggestion/index.stories.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/components/preview_lens_suggestion/index.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/components/preview_lens_suggestion/index.stories.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/components/preview_lens_suggestion/index.stories.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/components/preview_lens_suggestion/index.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/components/preview_lens_suggestion/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/components/preview_lens_suggestion/index.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/components/preview_lens_suggestion/index.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/components/suggest_visualization_list/index.stories.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/components/suggest_visualization_list/index.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/components/suggest_visualization_list/index.stories.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/components/suggest_visualization_list/index.stories.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/components/suggest_visualization_list/index.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/components/suggest_visualization_list/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/components/suggest_visualization_list/index.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/components/suggest_visualization_list/index.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/components/suggest_visualization_list/suggestions.mock.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/components/suggest_visualization_list/suggestions.mock.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/components/suggest_visualization_list/suggestions.mock.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/components/suggest_visualization_list/suggestions.mock.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/constants/index.ts b/x-pack/solutions/observability/plugins/investigate_app/public/constants/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/constants/index.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/constants/index.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/query_key_factory.ts b/x-pack/solutions/observability/plugins/investigate_app/public/hooks/query_key_factory.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/hooks/query_key_factory.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/hooks/query_key_factory.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_add_investigation_item.ts b/x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_add_investigation_item.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/hooks/use_add_investigation_item.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_add_investigation_item.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_add_investigation_note.ts b/x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_add_investigation_note.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/hooks/use_add_investigation_note.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_add_investigation_note.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_create_investigation.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_create_investigation.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/hooks/use_create_investigation.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_create_investigation.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_delete_investigation.ts b/x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_delete_investigation.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/hooks/use_delete_investigation.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_delete_investigation.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_delete_investigation_item.ts b/x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_delete_investigation_item.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/hooks/use_delete_investigation_item.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_delete_investigation_item.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_delete_investigation_note.ts b/x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_delete_investigation_note.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/hooks/use_delete_investigation_note.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_delete_investigation_note.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_alert.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_fetch_alert.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_alert.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_fetch_alert.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_all_investigation_stats.ts b/x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_fetch_all_investigation_stats.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_all_investigation_stats.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_fetch_all_investigation_stats.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_all_investigation_tags.ts b/x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_fetch_all_investigation_tags.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_all_investigation_tags.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_fetch_all_investigation_tags.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_entities.ts b/x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_fetch_entities.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_entities.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_fetch_entities.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_events.ts b/x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_fetch_events.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_events.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_fetch_events.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_investigation.ts b/x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_fetch_investigation.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_investigation.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_fetch_investigation.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_investigation_items.ts b/x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_fetch_investigation_items.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_investigation_items.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_fetch_investigation_items.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_investigation_list.ts b/x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_fetch_investigation_list.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_investigation_list.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_fetch_investigation_list.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_investigation_notes.ts b/x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_fetch_investigation_notes.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_investigation_notes.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_fetch_investigation_notes.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_user_profiles.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_fetch_user_profiles.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/hooks/use_fetch_user_profiles.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_fetch_user_profiles.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_kibana.ts b/x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_kibana.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/hooks/use_kibana.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_kibana.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_screen_context.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_screen_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/hooks/use_screen_context.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_screen_context.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_theme.ts b/x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_theme.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/hooks/use_theme.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_theme.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_update_investigation.ts b/x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_update_investigation.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/hooks/use_update_investigation.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_update_investigation.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/hooks/use_update_investigation_note.ts b/x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_update_investigation_note.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/hooks/use_update_investigation_note.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/hooks/use_update_investigation_note.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/index.ts b/x-pack/solutions/observability/plugins/investigate_app/public/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/index.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/index.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/items/README.md b/x-pack/solutions/observability/plugins/investigate_app/public/items/README.md similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/items/README.md rename to x-pack/solutions/observability/plugins/investigate_app/public/items/README.md diff --git a/x-pack/plugins/observability_solution/investigate_app/public/items/embeddable_item/register_embeddable_item.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/items/embeddable_item/register_embeddable_item.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/items/embeddable_item/register_embeddable_item.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/items/embeddable_item/register_embeddable_item.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/items/esql_item/get_date_histogram_results.ts b/x-pack/solutions/observability/plugins/investigate_app/public/items/esql_item/get_date_histogram_results.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/items/esql_item/get_date_histogram_results.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/items/esql_item/get_date_histogram_results.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/items/esql_item/register_esql_item.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/items/esql_item/register_esql_item.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/items/esql_item/register_esql_item.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/items/esql_item/register_esql_item.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/items/lens_item/register_lens_item.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/items/lens_item/register_lens_item.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/items/lens_item/register_lens_item.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/items/lens_item/register_lens_item.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/items/register_items.ts b/x-pack/solutions/observability/plugins/investigate_app/public/items/register_items.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/items/register_items.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/items/register_items.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/add_from_library_button/index.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/add_from_library_button/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/add_from_library_button/index.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/add_from_library_button/index.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/add_investigation_item/add_investigation_item.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/add_investigation_item/add_investigation_item.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/add_investigation_item/add_investigation_item.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/add_investigation_item/add_investigation_item.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/add_investigation_item/esql_widget_preview.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/add_investigation_item/esql_widget_preview.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/add_investigation_item/esql_widget_preview.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/add_investigation_item/esql_widget_preview.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/assistant_hypothesis/assistant_hypothesis.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/assistant_hypothesis/assistant_hypothesis.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/assistant_hypothesis/assistant_hypothesis.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/assistant_hypothesis/assistant_hypothesis.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/grid_item/index.stories.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/grid_item/index.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/grid_item/index.stories.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/grid_item/index.stories.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/grid_item/index.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/grid_item/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/grid_item/index.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/grid_item/index.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_details/index.stories.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_details/index.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_details/index.stories.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_details/index.stories.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_details/investigation_details.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_details/investigation_details.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_details/investigation_details.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_details/investigation_details.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_header/alert_details_button.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_header/alert_details_button.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_header/alert_details_button.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_header/alert_details_button.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_header/external_incident_button.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_header/external_incident_button.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_header/external_incident_button.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_header/external_incident_button.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_header/investigation_header.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_header/investigation_header.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_header/investigation_header.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_header/investigation_header.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_items/investigation_items.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_items/investigation_items.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_items/investigation_items.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_items/investigation_items.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_items_list/investigation_items_list.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_items_list/investigation_items_list.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_items_list/investigation_items_list.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_items_list/investigation_items_list.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_notes/edit_note_form.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_notes/edit_note_form.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_notes/edit_note_form.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_notes/edit_note_form.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_notes/investigation_notes.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_notes/investigation_notes.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_notes/investigation_notes.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_notes/investigation_notes.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_notes/note.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_notes/note.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_notes/note.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_notes/note.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_notes/resizable_text_input.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_notes/resizable_text_input.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_notes/resizable_text_input.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_notes/resizable_text_input.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/alert_event.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/alert_event.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/alert_event.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/alert_event.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/annotation_event.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/annotation_event.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/annotation_event.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/annotation_event.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/events_timeline.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/events_timeline.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/events_timeline.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/events_timeline.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/timeline_theme.ts b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/timeline_theme.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/timeline_theme.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_timeline/events_timeline/timeline_theme.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline_filter_bar/investigation_event_types_filter.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline_filter_bar/investigation_event_types_filter.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline_filter_bar/investigation_event_types_filter.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline_filter_bar/investigation_event_types_filter.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline_filter_bar/investigation_timeline_filter_bar.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline_filter_bar/investigation_timeline_filter_bar.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline_filter_bar/investigation_timeline_filter_bar.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/components/investigation_timeline/investigation_timeline_filter_bar/investigation_timeline_filter_bar.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/contexts/investigation_context.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/contexts/investigation_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/contexts/investigation_context.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/contexts/investigation_context.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/investigation_details_page.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/investigation_details_page.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/investigation_details_page.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/investigation_details_page.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/details/types.ts b/x-pack/solutions/observability/plugins/investigate_app/public/pages/details/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/details/types.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/details/types.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/list/components/investigation_list.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/list/components/investigation_list.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/list/components/investigation_list.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/list/components/investigation_list.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/list/components/investigation_list_actions.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/list/components/investigation_list_actions.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/list/components/investigation_list_actions.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/list/components/investigation_list_actions.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/list/components/investigation_stats.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/list/components/investigation_stats.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/list/components/investigation_stats.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/list/components/investigation_stats.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/list/components/investigations_error.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/list/components/investigations_error.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/list/components/investigations_error.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/list/components/investigations_error.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/list/components/search_bar/search_bar.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/list/components/search_bar/search_bar.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/list/components/search_bar/search_bar.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/list/components/search_bar/search_bar.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/list/components/search_bar/status_filter.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/list/components/search_bar/status_filter.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/list/components/search_bar/status_filter.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/list/components/search_bar/status_filter.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/list/components/search_bar/tags_filter.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/list/components/search_bar/tags_filter.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/list/components/search_bar/tags_filter.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/list/components/search_bar/tags_filter.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/pages/list/investigation_list_page.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/pages/list/investigation_list_page.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/pages/list/investigation_list_page.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/pages/list/investigation_list_page.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/plugin.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/plugin.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/plugin.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/plugin.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/routes/config.tsx b/x-pack/solutions/observability/plugins/investigate_app/public/routes/config.tsx similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/routes/config.tsx rename to x-pack/solutions/observability/plugins/investigate_app/public/routes/config.tsx diff --git a/x-pack/plugins/observability_solution/investigate_app/public/services/esql.ts b/x-pack/solutions/observability/plugins/investigate_app/public/services/esql.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/services/esql.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/services/esql.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/services/types.ts b/x-pack/solutions/observability/plugins/investigate_app/public/services/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/services/types.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/services/types.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/types.ts b/x-pack/solutions/observability/plugins/investigate_app/public/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/types.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/types.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/utils/find_scrollable_parent.ts b/x-pack/solutions/observability/plugins/investigate_app/public/utils/find_scrollable_parent.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/utils/find_scrollable_parent.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/utils/find_scrollable_parent.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/utils/get_data_table_from_esql_response.ts b/x-pack/solutions/observability/plugins/investigate_app/public/utils/get_data_table_from_esql_response.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/utils/get_data_table_from_esql_response.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/utils/get_data_table_from_esql_response.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/utils/get_es_filter_from_overrides.ts b/x-pack/solutions/observability/plugins/investigate_app/public/utils/get_es_filter_from_overrides.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/utils/get_es_filter_from_overrides.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/utils/get_es_filter_from_overrides.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/utils/get_kibana_columns.ts b/x-pack/solutions/observability/plugins/investigate_app/public/utils/get_kibana_columns.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/utils/get_kibana_columns.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/utils/get_kibana_columns.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/public/utils/get_lens_attrs_for_suggestion.ts b/x-pack/solutions/observability/plugins/investigate_app/public/utils/get_lens_attrs_for_suggestion.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/public/utils/get_lens_attrs_for_suggestion.ts rename to x-pack/solutions/observability/plugins/investigate_app/public/utils/get_lens_attrs_for_suggestion.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/clients/create_entities_es_client.ts b/x-pack/solutions/observability/plugins/investigate_app/server/clients/create_entities_es_client.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/clients/create_entities_es_client.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/clients/create_entities_es_client.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/config.ts b/x-pack/solutions/observability/plugins/investigate_app/server/config.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/config.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/config.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/index.ts b/x-pack/solutions/observability/plugins/investigate_app/server/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/index.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/index.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/lib/collectors/fetcher.test.ts b/x-pack/solutions/observability/plugins/investigate_app/server/lib/collectors/fetcher.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/lib/collectors/fetcher.test.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/lib/collectors/fetcher.test.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/lib/collectors/fetcher.ts b/x-pack/solutions/observability/plugins/investigate_app/server/lib/collectors/fetcher.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/lib/collectors/fetcher.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/lib/collectors/fetcher.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/lib/collectors/helpers/metrics.test.ts b/x-pack/solutions/observability/plugins/investigate_app/server/lib/collectors/helpers/metrics.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/lib/collectors/helpers/metrics.test.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/lib/collectors/helpers/metrics.test.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/lib/collectors/helpers/metrics.ts b/x-pack/solutions/observability/plugins/investigate_app/server/lib/collectors/helpers/metrics.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/lib/collectors/helpers/metrics.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/lib/collectors/helpers/metrics.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/lib/collectors/register.ts b/x-pack/solutions/observability/plugins/investigate_app/server/lib/collectors/register.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/lib/collectors/register.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/lib/collectors/register.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/lib/collectors/type.ts b/x-pack/solutions/observability/plugins/investigate_app/server/lib/collectors/type.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/lib/collectors/type.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/lib/collectors/type.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/lib/get_document_categories.ts b/x-pack/solutions/observability/plugins/investigate_app/server/lib/get_document_categories.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/lib/get_document_categories.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/lib/get_document_categories.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/lib/get_sample_documents.ts b/x-pack/solutions/observability/plugins/investigate_app/server/lib/get_sample_documents.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/lib/get_sample_documents.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/lib/get_sample_documents.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/lib/queries/index.ts b/x-pack/solutions/observability/plugins/investigate_app/server/lib/queries/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/lib/queries/index.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/lib/queries/index.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/models/investigation.ts b/x-pack/solutions/observability/plugins/investigate_app/server/models/investigation.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/models/investigation.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/models/investigation.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/models/investigation_item.ts b/x-pack/solutions/observability/plugins/investigate_app/server/models/investigation_item.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/models/investigation_item.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/models/investigation_item.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/models/investigation_note.ts b/x-pack/solutions/observability/plugins/investigate_app/server/models/investigation_note.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/models/investigation_note.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/models/investigation_note.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/models/pagination.ts b/x-pack/solutions/observability/plugins/investigate_app/server/models/pagination.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/models/pagination.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/models/pagination.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/plugin.ts b/x-pack/solutions/observability/plugins/investigate_app/server/plugin.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/plugin.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/plugin.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/routes/create_investigate_app_server_route.ts b/x-pack/solutions/observability/plugins/investigate_app/server/routes/create_investigate_app_server_route.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/routes/create_investigate_app_server_route.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/routes/create_investigate_app_server_route.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/routes/get_global_investigate_app_server_route_repository.ts b/x-pack/solutions/observability/plugins/investigate_app/server/routes/get_global_investigate_app_server_route_repository.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/routes/get_global_investigate_app_server_route_repository.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/routes/get_global_investigate_app_server_route_repository.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/routes/rca/route.ts b/x-pack/solutions/observability/plugins/investigate_app/server/routes/rca/route.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/routes/rca/route.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/routes/rca/route.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/routes/register_routes.ts b/x-pack/solutions/observability/plugins/investigate_app/server/routes/register_routes.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/routes/register_routes.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/routes/register_routes.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/routes/types.ts b/x-pack/solutions/observability/plugins/investigate_app/server/routes/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/routes/types.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/routes/types.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/saved_objects/investigation.ts b/x-pack/solutions/observability/plugins/investigate_app/server/saved_objects/investigation.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/saved_objects/investigation.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/saved_objects/investigation.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/services/create_investigation.ts b/x-pack/solutions/observability/plugins/investigate_app/server/services/create_investigation.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/services/create_investigation.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/services/create_investigation.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/services/create_investigation_item.ts b/x-pack/solutions/observability/plugins/investigate_app/server/services/create_investigation_item.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/services/create_investigation_item.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/services/create_investigation_item.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/services/create_investigation_note.ts b/x-pack/solutions/observability/plugins/investigate_app/server/services/create_investigation_note.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/services/create_investigation_note.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/services/create_investigation_note.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/services/delete_investigation.ts b/x-pack/solutions/observability/plugins/investigate_app/server/services/delete_investigation.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/services/delete_investigation.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/services/delete_investigation.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/services/delete_investigation_item.ts b/x-pack/solutions/observability/plugins/investigate_app/server/services/delete_investigation_item.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/services/delete_investigation_item.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/services/delete_investigation_item.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/services/delete_investigation_note.ts b/x-pack/solutions/observability/plugins/investigate_app/server/services/delete_investigation_note.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/services/delete_investigation_note.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/services/delete_investigation_note.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/services/find_investigations.ts b/x-pack/solutions/observability/plugins/investigate_app/server/services/find_investigations.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/services/find_investigations.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/services/find_investigations.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/services/get_alerts_client.ts b/x-pack/solutions/observability/plugins/investigate_app/server/services/get_alerts_client.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/services/get_alerts_client.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/services/get_alerts_client.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/services/get_all_investigation_stats.ts b/x-pack/solutions/observability/plugins/investigate_app/server/services/get_all_investigation_stats.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/services/get_all_investigation_stats.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/services/get_all_investigation_stats.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/services/get_all_investigation_tags.ts b/x-pack/solutions/observability/plugins/investigate_app/server/services/get_all_investigation_tags.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/services/get_all_investigation_tags.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/services/get_all_investigation_tags.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/services/get_entities.ts b/x-pack/solutions/observability/plugins/investigate_app/server/services/get_entities.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/services/get_entities.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/services/get_entities.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/services/get_events.ts b/x-pack/solutions/observability/plugins/investigate_app/server/services/get_events.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/services/get_events.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/services/get_events.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/services/get_investigation.ts b/x-pack/solutions/observability/plugins/investigate_app/server/services/get_investigation.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/services/get_investigation.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/services/get_investigation.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/services/get_investigation_items.ts b/x-pack/solutions/observability/plugins/investigate_app/server/services/get_investigation_items.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/services/get_investigation_items.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/services/get_investigation_items.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/services/get_investigation_notes.ts b/x-pack/solutions/observability/plugins/investigate_app/server/services/get_investigation_notes.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/services/get_investigation_notes.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/services/get_investigation_notes.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/services/investigation_repository.ts b/x-pack/solutions/observability/plugins/investigate_app/server/services/investigation_repository.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/services/investigation_repository.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/services/investigation_repository.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/services/update_investigation.ts b/x-pack/solutions/observability/plugins/investigate_app/server/services/update_investigation.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/services/update_investigation.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/services/update_investigation.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/services/update_investigation_item.ts b/x-pack/solutions/observability/plugins/investigate_app/server/services/update_investigation_item.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/services/update_investigation_item.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/services/update_investigation_item.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/services/update_investigation_note.ts b/x-pack/solutions/observability/plugins/investigate_app/server/services/update_investigation_note.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/services/update_investigation_note.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/services/update_investigation_note.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/server/types.ts b/x-pack/solutions/observability/plugins/investigate_app/server/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/investigate_app/server/types.ts rename to x-pack/solutions/observability/plugins/investigate_app/server/types.ts diff --git a/x-pack/plugins/observability_solution/investigate_app/tsconfig.json b/x-pack/solutions/observability/plugins/investigate_app/tsconfig.json similarity index 96% rename from x-pack/plugins/observability_solution/investigate_app/tsconfig.json rename to x-pack/solutions/observability/plugins/investigate_app/tsconfig.json index 7fad9f021f580..55e63cfdcf95f 100644 --- a/x-pack/plugins/observability_solution/investigate_app/tsconfig.json +++ b/x-pack/solutions/observability/plugins/investigate_app/tsconfig.json @@ -1,10 +1,10 @@ { - "extends": "../../../../tsconfig.base.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types" }, "include": [ - "../../../typings/**/*", + "../../../../typings/**/*", "common/**/*", "public/**/*", "typings/**/*", diff --git a/x-pack/plugins/observability_solution/observability/.storybook/jest_setup.js b/x-pack/solutions/observability/plugins/observability/.storybook/jest_setup.js similarity index 100% rename from x-pack/plugins/observability_solution/observability/.storybook/jest_setup.js rename to x-pack/solutions/observability/plugins/observability/.storybook/jest_setup.js diff --git a/x-pack/plugins/observability_solution/observability/.storybook/main.js b/x-pack/solutions/observability/plugins/observability/.storybook/main.js similarity index 100% rename from x-pack/plugins/observability_solution/observability/.storybook/main.js rename to x-pack/solutions/observability/plugins/observability/.storybook/main.js diff --git a/x-pack/plugins/observability_solution/observability/.storybook/preview.js b/x-pack/solutions/observability/plugins/observability/.storybook/preview.js similarity index 100% rename from x-pack/plugins/observability_solution/observability/.storybook/preview.js rename to x-pack/solutions/observability/plugins/observability/.storybook/preview.js diff --git a/x-pack/plugins/observability_solution/observability/README.md b/x-pack/solutions/observability/plugins/observability/README.md similarity index 100% rename from x-pack/plugins/observability_solution/observability/README.md rename to x-pack/solutions/observability/plugins/observability/README.md diff --git a/x-pack/plugins/observability_solution/observability/common/annotations.ts b/x-pack/solutions/observability/plugins/observability/common/annotations.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/annotations.ts rename to x-pack/solutions/observability/plugins/observability/common/annotations.ts diff --git a/x-pack/plugins/observability_solution/observability/common/constants.ts b/x-pack/solutions/observability/plugins/observability/common/constants.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/constants.ts rename to x-pack/solutions/observability/plugins/observability/common/constants.ts diff --git a/x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/color_palette.ts b/x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/color_palette.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/color_palette.ts rename to x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/color_palette.ts diff --git a/x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/formatters/bytes.test.ts b/x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/formatters/bytes.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/formatters/bytes.test.ts rename to x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/formatters/bytes.test.ts diff --git a/x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/formatters/bytes.ts b/x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/formatters/bytes.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/formatters/bytes.ts rename to x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/formatters/bytes.ts diff --git a/x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/formatters/datetime.ts b/x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/formatters/datetime.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/formatters/datetime.ts rename to x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/formatters/datetime.ts diff --git a/x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/formatters/high_precision.ts b/x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/formatters/high_precision.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/formatters/high_precision.ts rename to x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/formatters/high_precision.ts diff --git a/x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/formatters/index.ts b/x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/formatters/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/formatters/index.ts rename to x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/formatters/index.ts diff --git a/x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/formatters/number.ts b/x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/formatters/number.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/formatters/number.ts rename to x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/formatters/number.ts diff --git a/x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/formatters/percent.ts b/x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/formatters/percent.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/formatters/percent.ts rename to x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/formatters/percent.ts diff --git a/x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/formatters/snapshot_metric_formats.ts b/x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/formatters/snapshot_metric_formats.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/formatters/snapshot_metric_formats.ts rename to x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/formatters/snapshot_metric_formats.ts diff --git a/x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/formatters/types.ts b/x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/formatters/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/formatters/types.ts rename to x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/formatters/types.ts diff --git a/x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/get_view_in_app_url.test.ts b/x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/get_view_in_app_url.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/get_view_in_app_url.test.ts rename to x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/get_view_in_app_url.test.ts diff --git a/x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/get_view_in_app_url.ts b/x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/get_view_in_app_url.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/get_view_in_app_url.ts rename to x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/get_view_in_app_url.ts diff --git a/x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/helpers/get_group.test.ts b/x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/helpers/get_group.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/helpers/get_group.test.ts rename to x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/helpers/get_group.test.ts diff --git a/x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/helpers/get_group.ts b/x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/helpers/get_group.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/helpers/get_group.ts rename to x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/helpers/get_group.ts diff --git a/x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/metric_value_formatter.test.ts b/x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/metric_value_formatter.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/metric_value_formatter.test.ts rename to x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/metric_value_formatter.test.ts diff --git a/x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/metric_value_formatter.ts b/x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/metric_value_formatter.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/metric_value_formatter.ts rename to x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/metric_value_formatter.ts diff --git a/x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/types.ts b/x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/types.ts rename to x-pack/solutions/observability/plugins/observability/common/custom_threshold_rule/types.ts diff --git a/x-pack/plugins/observability_solution/observability/common/guided_onboarding/kubernetes_guide_config.tsx b/x-pack/solutions/observability/plugins/observability/common/guided_onboarding/kubernetes_guide_config.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/guided_onboarding/kubernetes_guide_config.tsx rename to x-pack/solutions/observability/plugins/observability/common/guided_onboarding/kubernetes_guide_config.tsx diff --git a/x-pack/plugins/observability_solution/observability/common/i18n.ts b/x-pack/solutions/observability/plugins/observability/common/i18n.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/i18n.ts rename to x-pack/solutions/observability/plugins/observability/common/i18n.ts diff --git a/x-pack/plugins/observability_solution/observability/common/index.ts b/x-pack/solutions/observability/plugins/observability/common/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/index.ts rename to x-pack/solutions/observability/plugins/observability/common/index.ts diff --git a/x-pack/plugins/observability_solution/observability/common/locators/alerts.test.ts b/x-pack/solutions/observability/plugins/observability/common/locators/alerts.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/locators/alerts.test.ts rename to x-pack/solutions/observability/plugins/observability/common/locators/alerts.test.ts diff --git a/x-pack/plugins/observability_solution/observability/common/locators/alerts.ts b/x-pack/solutions/observability/plugins/observability/common/locators/alerts.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/locators/alerts.ts rename to x-pack/solutions/observability/plugins/observability/common/locators/alerts.ts diff --git a/x-pack/plugins/observability_solution/observability/common/locators/paths.ts b/x-pack/solutions/observability/plugins/observability/common/locators/paths.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/locators/paths.ts rename to x-pack/solutions/observability/plugins/observability/common/locators/paths.ts diff --git a/x-pack/plugins/observability_solution/observability/common/processor_event.ts b/x-pack/solutions/observability/plugins/observability/common/processor_event.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/processor_event.ts rename to x-pack/solutions/observability/plugins/observability/common/processor_event.ts diff --git a/x-pack/plugins/observability_solution/observability/common/progressive_loading.ts b/x-pack/solutions/observability/plugins/observability/common/progressive_loading.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/progressive_loading.ts rename to x-pack/solutions/observability/plugins/observability/common/progressive_loading.ts diff --git a/x-pack/plugins/observability_solution/observability/common/typings.ts b/x-pack/solutions/observability/plugins/observability/common/typings.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/typings.ts rename to x-pack/solutions/observability/plugins/observability/common/typings.ts diff --git a/x-pack/plugins/observability_solution/observability/common/ui_settings_keys.ts b/x-pack/solutions/observability/plugins/observability/common/ui_settings_keys.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/ui_settings_keys.ts rename to x-pack/solutions/observability/plugins/observability/common/ui_settings_keys.ts diff --git a/x-pack/plugins/observability_solution/observability/common/utils/alerting/alert_url.ts b/x-pack/solutions/observability/plugins/observability/common/utils/alerting/alert_url.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/utils/alerting/alert_url.ts rename to x-pack/solutions/observability/plugins/observability/common/utils/alerting/alert_url.ts diff --git a/x-pack/plugins/observability_solution/observability/common/utils/alerting/get_related_alerts_query.test.ts b/x-pack/solutions/observability/plugins/observability/common/utils/alerting/get_related_alerts_query.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/utils/alerting/get_related_alerts_query.test.ts rename to x-pack/solutions/observability/plugins/observability/common/utils/alerting/get_related_alerts_query.test.ts diff --git a/x-pack/plugins/observability_solution/observability/common/utils/alerting/get_related_alerts_query.ts b/x-pack/solutions/observability/plugins/observability/common/utils/alerting/get_related_alerts_query.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/utils/alerting/get_related_alerts_query.ts rename to x-pack/solutions/observability/plugins/observability/common/utils/alerting/get_related_alerts_query.ts diff --git a/x-pack/plugins/observability_solution/observability/common/utils/alerting/types.ts b/x-pack/solutions/observability/plugins/observability/common/utils/alerting/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/utils/alerting/types.ts rename to x-pack/solutions/observability/plugins/observability/common/utils/alerting/types.ts diff --git a/x-pack/plugins/observability_solution/observability/common/utils/array_union_to_callable.ts b/x-pack/solutions/observability/plugins/observability/common/utils/array_union_to_callable.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/utils/array_union_to_callable.ts rename to x-pack/solutions/observability/plugins/observability/common/utils/array_union_to_callable.ts diff --git a/x-pack/plugins/observability_solution/observability/common/utils/as_mutable_array.ts b/x-pack/solutions/observability/plugins/observability/common/utils/as_mutable_array.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/utils/as_mutable_array.ts rename to x-pack/solutions/observability/plugins/observability/common/utils/as_mutable_array.ts diff --git a/x-pack/plugins/observability_solution/observability/common/utils/convert_legacy_outside_comparator.test.ts b/x-pack/solutions/observability/plugins/observability/common/utils/convert_legacy_outside_comparator.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/utils/convert_legacy_outside_comparator.test.ts rename to x-pack/solutions/observability/plugins/observability/common/utils/convert_legacy_outside_comparator.test.ts diff --git a/x-pack/plugins/observability_solution/observability/common/utils/convert_legacy_outside_comparator.ts b/x-pack/solutions/observability/plugins/observability/common/utils/convert_legacy_outside_comparator.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/utils/convert_legacy_outside_comparator.ts rename to x-pack/solutions/observability/plugins/observability/common/utils/convert_legacy_outside_comparator.ts diff --git a/x-pack/plugins/observability_solution/observability/common/utils/formatters/datetime.test.ts b/x-pack/solutions/observability/plugins/observability/common/utils/formatters/datetime.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/utils/formatters/datetime.test.ts rename to x-pack/solutions/observability/plugins/observability/common/utils/formatters/datetime.test.ts diff --git a/x-pack/plugins/observability_solution/observability/common/utils/formatters/datetime.ts b/x-pack/solutions/observability/plugins/observability/common/utils/formatters/datetime.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/utils/formatters/datetime.ts rename to x-pack/solutions/observability/plugins/observability/common/utils/formatters/datetime.ts diff --git a/x-pack/plugins/observability_solution/observability/common/utils/formatters/duration.test.ts b/x-pack/solutions/observability/plugins/observability/common/utils/formatters/duration.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/utils/formatters/duration.test.ts rename to x-pack/solutions/observability/plugins/observability/common/utils/formatters/duration.test.ts diff --git a/x-pack/plugins/observability_solution/observability/common/utils/formatters/duration.ts b/x-pack/solutions/observability/plugins/observability/common/utils/formatters/duration.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/utils/formatters/duration.ts rename to x-pack/solutions/observability/plugins/observability/common/utils/formatters/duration.ts diff --git a/x-pack/plugins/observability_solution/observability/common/utils/formatters/formatters.test.ts b/x-pack/solutions/observability/plugins/observability/common/utils/formatters/formatters.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/utils/formatters/formatters.test.ts rename to x-pack/solutions/observability/plugins/observability/common/utils/formatters/formatters.test.ts diff --git a/x-pack/plugins/observability_solution/observability/common/utils/formatters/formatters.ts b/x-pack/solutions/observability/plugins/observability/common/utils/formatters/formatters.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/utils/formatters/formatters.ts rename to x-pack/solutions/observability/plugins/observability/common/utils/formatters/formatters.ts diff --git a/x-pack/plugins/observability_solution/observability/common/utils/formatters/index.ts b/x-pack/solutions/observability/plugins/observability/common/utils/formatters/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/utils/formatters/index.ts rename to x-pack/solutions/observability/plugins/observability/common/utils/formatters/index.ts diff --git a/x-pack/plugins/observability_solution/observability/common/utils/formatters/size.test.ts b/x-pack/solutions/observability/plugins/observability/common/utils/formatters/size.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/utils/formatters/size.test.ts rename to x-pack/solutions/observability/plugins/observability/common/utils/formatters/size.test.ts diff --git a/x-pack/plugins/observability_solution/observability/common/utils/formatters/size.ts b/x-pack/solutions/observability/plugins/observability/common/utils/formatters/size.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/utils/formatters/size.ts rename to x-pack/solutions/observability/plugins/observability/common/utils/formatters/size.ts diff --git a/x-pack/plugins/observability_solution/observability/common/utils/get_inspect_response.ts b/x-pack/solutions/observability/plugins/observability/common/utils/get_inspect_response.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/utils/get_inspect_response.ts rename to x-pack/solutions/observability/plugins/observability/common/utils/get_inspect_response.ts diff --git a/x-pack/plugins/observability_solution/observability/common/utils/get_interval_in_seconds.test.ts b/x-pack/solutions/observability/plugins/observability/common/utils/get_interval_in_seconds.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/utils/get_interval_in_seconds.test.ts rename to x-pack/solutions/observability/plugins/observability/common/utils/get_interval_in_seconds.test.ts diff --git a/x-pack/plugins/observability_solution/observability/common/utils/get_interval_in_seconds.ts b/x-pack/solutions/observability/plugins/observability/common/utils/get_interval_in_seconds.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/utils/get_interval_in_seconds.ts rename to x-pack/solutions/observability/plugins/observability/common/utils/get_interval_in_seconds.ts diff --git a/x-pack/plugins/observability_solution/observability/common/utils/is_finite_number.ts b/x-pack/solutions/observability/plugins/observability/common/utils/is_finite_number.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/utils/is_finite_number.ts rename to x-pack/solutions/observability/plugins/observability/common/utils/is_finite_number.ts diff --git a/x-pack/plugins/observability_solution/observability/common/utils/join_by_key/index.test.ts b/x-pack/solutions/observability/plugins/observability/common/utils/join_by_key/index.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/utils/join_by_key/index.test.ts rename to x-pack/solutions/observability/plugins/observability/common/utils/join_by_key/index.test.ts diff --git a/x-pack/plugins/observability_solution/observability/common/utils/join_by_key/index.ts b/x-pack/solutions/observability/plugins/observability/common/utils/join_by_key/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/utils/join_by_key/index.ts rename to x-pack/solutions/observability/plugins/observability/common/utils/join_by_key/index.ts diff --git a/x-pack/plugins/observability_solution/observability/common/utils/maybe.ts b/x-pack/solutions/observability/plugins/observability/common/utils/maybe.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/utils/maybe.ts rename to x-pack/solutions/observability/plugins/observability/common/utils/maybe.ts diff --git a/x-pack/plugins/observability_solution/observability/common/utils/pick_keys.ts b/x-pack/solutions/observability/plugins/observability/common/utils/pick_keys.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/utils/pick_keys.ts rename to x-pack/solutions/observability/plugins/observability/common/utils/pick_keys.ts diff --git a/x-pack/plugins/observability_solution/observability/common/utils/unwrap_es_response.ts b/x-pack/solutions/observability/plugins/observability/common/utils/unwrap_es_response.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/common/utils/unwrap_es_response.ts rename to x-pack/solutions/observability/plugins/observability/common/utils/unwrap_es_response.ts diff --git a/x-pack/plugins/observability_solution/observability/dev_docs/custom_threshold.md b/x-pack/solutions/observability/plugins/observability/dev_docs/custom_threshold.md similarity index 77% rename from x-pack/plugins/observability_solution/observability/dev_docs/custom_threshold.md rename to x-pack/solutions/observability/plugins/observability/dev_docs/custom_threshold.md index cdf986adb6215..e8ec5dbbaa05e 100644 --- a/x-pack/plugins/observability_solution/observability/dev_docs/custom_threshold.md +++ b/x-pack/solutions/observability/plugins/observability/dev_docs/custom_threshold.md @@ -7,7 +7,7 @@ Custom threshold rule is GA since 8.13. ### With data forge > [!TIP] -> The following commands uses [kbn-data-forge](../../../../packages/kbn-data-forge/README.md) to generate some data for testing Custom threshold rule. +> The following commands uses [kbn-data-forge](../../../../../platform/packages/shared/kbn-data-forge/README.md) to generate some data for testing Custom threshold rule. Basic command to generate host data for 7 hosts: ```sh @@ -33,7 +33,7 @@ Get help with the data forge tool: `node x-pack/scripts/data_forge.js --help` ### With synthtrace > [!TIP] -> The following commands uses [kbn-apm-synthtrace](../../../../packages/kbn-apm-synthtrace) to generate some data for testing Custom threshold rule. +> The following commands uses [kbn-apm-synthtrace](../../../../../packages/kbn-apm-synthtrace) to generate some data for testing Custom threshold rule. Basic command to generate APM data for 3 services: ```sh diff --git a/x-pack/plugins/observability_solution/observability/dev_docs/feature_flags.md b/x-pack/solutions/observability/plugins/observability/dev_docs/feature_flags.md similarity index 70% rename from x-pack/plugins/observability_solution/observability/dev_docs/feature_flags.md rename to x-pack/solutions/observability/plugins/observability/dev_docs/feature_flags.md index 56c0e46813827..3b06f83096dfe 100644 --- a/x-pack/plugins/observability_solution/observability/dev_docs/feature_flags.md +++ b/x-pack/solutions/observability/plugins/observability/dev_docs/feature_flags.md @@ -11,6 +11,6 @@ if (core.uiSettings.get(myFeatureEnabled)) { } ``` -In order for telemetry to be collected, the keys and types need to be added in [src/plugins/kibana_usage_collection/server/collectors/management/schema.ts](../../../../src/plugins/kibana_usage_collection/server/collectors/management/schema.ts) and [src/plugins/kibana_usage_collection/server/collectors/management/types.ts](../../../../src/plugins/kibana_usage_collection/server/collectors/management/types.ts). +In order for telemetry to be collected, the keys and types need to be added in [src/plugins/kibana_usage_collection/server/collectors/management/schema.ts](../../../../../src/plugins/kibana_usage_collection/server/collectors/management/schema.ts) and [src/plugins/kibana_usage_collection/server/collectors/management/types.ts](../../../../src/plugins/kibana_usage_collection/server/collectors/management/types.ts). Settings can be managed in Kibana under Stack Management > Advanced Settings > Observability. diff --git a/x-pack/plugins/observability_solution/observability/dev_docs/images/data_forge_custom_threshold_rule_cpu.png b/x-pack/solutions/observability/plugins/observability/dev_docs/images/data_forge_custom_threshold_rule_cpu.png similarity index 100% rename from x-pack/plugins/observability_solution/observability/dev_docs/images/data_forge_custom_threshold_rule_cpu.png rename to x-pack/solutions/observability/plugins/observability/dev_docs/images/data_forge_custom_threshold_rule_cpu.png diff --git a/x-pack/plugins/observability_solution/observability/dev_docs/images/data_forge_data_view.png b/x-pack/solutions/observability/plugins/observability/dev_docs/images/data_forge_data_view.png similarity index 100% rename from x-pack/plugins/observability_solution/observability/dev_docs/images/data_forge_data_view.png rename to x-pack/solutions/observability/plugins/observability/dev_docs/images/data_forge_data_view.png diff --git a/x-pack/plugins/observability_solution/observability/dev_docs/images/synthtrace_custom_threshold_rule.png b/x-pack/solutions/observability/plugins/observability/dev_docs/images/synthtrace_custom_threshold_rule.png similarity index 100% rename from x-pack/plugins/observability_solution/observability/dev_docs/images/synthtrace_custom_threshold_rule.png rename to x-pack/solutions/observability/plugins/observability/dev_docs/images/synthtrace_custom_threshold_rule.png diff --git a/x-pack/plugins/observability_solution/observability/dev_docs/images/synthtrace_data_view.png b/x-pack/solutions/observability/plugins/observability/dev_docs/images/synthtrace_data_view.png similarity index 100% rename from x-pack/plugins/observability_solution/observability/dev_docs/images/synthtrace_data_view.png rename to x-pack/solutions/observability/plugins/observability/dev_docs/images/synthtrace_data_view.png diff --git a/x-pack/plugins/observability_solution/observability/jest.config.js b/x-pack/solutions/observability/plugins/observability/jest.config.js similarity index 50% rename from x-pack/plugins/observability_solution/observability/jest.config.js rename to x-pack/solutions/observability/plugins/observability/jest.config.js index 77d49b80d8bf5..e79375a9219a6 100644 --- a/x-pack/plugins/observability_solution/observability/jest.config.js +++ b/x-pack/solutions/observability/plugins/observability/jest.config.js @@ -7,15 +7,15 @@ module.exports = { preset: '@kbn/test', - rootDir: '../../../..', - roots: ['/x-pack/plugins/observability_solution/observability'], + rootDir: '../../../../..', + roots: ['/x-pack/solutions/observability/plugins/observability'], setupFiles: [ - '/x-pack/plugins/observability_solution/observability/.storybook/jest_setup.js', + '/x-pack/solutions/observability/plugins/observability/.storybook/jest_setup.js', ], coverageDirectory: - '/target/kibana-coverage/jest/x-pack/plugins/observability_solution/observability', + '/target/kibana-coverage/jest/x-pack/solutions/observability/plugins/observability', coverageReporters: ['text', 'html'], collectCoverageFrom: [ - '/x-pack/plugins/observability_solution/observability/{common,public,server}/**/*.{js,ts,tsx}', + '/x-pack/solutions/observability/plugins/observability/{common,public,server}/**/*.{js,ts,tsx}', ], }; diff --git a/x-pack/plugins/observability_solution/observability/kibana.jsonc b/x-pack/solutions/observability/plugins/observability/kibana.jsonc similarity index 100% rename from x-pack/plugins/observability_solution/observability/kibana.jsonc rename to x-pack/solutions/observability/plugins/observability/kibana.jsonc diff --git a/x-pack/plugins/observability_solution/observability/public/application/application.test.tsx b/x-pack/solutions/observability/plugins/observability/public/application/application.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/application/application.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/application/application.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/application/hideable_react_query_dev_tools.tsx b/x-pack/solutions/observability/plugins/observability/public/application/hideable_react_query_dev_tools.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/application/hideable_react_query_dev_tools.tsx rename to x-pack/solutions/observability/plugins/observability/public/application/hideable_react_query_dev_tools.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/application/index.tsx b/x-pack/solutions/observability/plugins/observability/public/application/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/application/index.tsx rename to x-pack/solutions/observability/plugins/observability/public/application/index.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/assets/illustration_dark.svg b/x-pack/solutions/observability/plugins/observability/public/assets/illustration_dark.svg similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/assets/illustration_dark.svg rename to x-pack/solutions/observability/plugins/observability/public/assets/illustration_dark.svg diff --git a/x-pack/plugins/observability_solution/observability/public/assets/illustration_light.svg b/x-pack/solutions/observability/plugins/observability/public/assets/illustration_light.svg similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/assets/illustration_light.svg rename to x-pack/solutions/observability/plugins/observability/public/assets/illustration_light.svg diff --git a/x-pack/plugins/observability_solution/observability/public/assets/kibana_dashboard_dark.svg b/x-pack/solutions/observability/plugins/observability/public/assets/kibana_dashboard_dark.svg similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/assets/kibana_dashboard_dark.svg rename to x-pack/solutions/observability/plugins/observability/public/assets/kibana_dashboard_dark.svg diff --git a/x-pack/plugins/observability_solution/observability/public/assets/kibana_dashboard_light.svg b/x-pack/solutions/observability/plugins/observability/public/assets/kibana_dashboard_light.svg similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/assets/kibana_dashboard_light.svg rename to x-pack/solutions/observability/plugins/observability/public/assets/kibana_dashboard_light.svg diff --git a/x-pack/plugins/observability_solution/observability/public/assets/onboarding_tour_step_alerts.gif b/x-pack/solutions/observability/plugins/observability/public/assets/onboarding_tour_step_alerts.gif similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/assets/onboarding_tour_step_alerts.gif rename to x-pack/solutions/observability/plugins/observability/public/assets/onboarding_tour_step_alerts.gif diff --git a/x-pack/plugins/observability_solution/observability/public/assets/onboarding_tour_step_logs.gif b/x-pack/solutions/observability/plugins/observability/public/assets/onboarding_tour_step_logs.gif similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/assets/onboarding_tour_step_logs.gif rename to x-pack/solutions/observability/plugins/observability/public/assets/onboarding_tour_step_logs.gif diff --git a/x-pack/plugins/observability_solution/observability/public/assets/onboarding_tour_step_metrics.gif b/x-pack/solutions/observability/plugins/observability/public/assets/onboarding_tour_step_metrics.gif similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/assets/onboarding_tour_step_metrics.gif rename to x-pack/solutions/observability/plugins/observability/public/assets/onboarding_tour_step_metrics.gif diff --git a/x-pack/plugins/observability_solution/observability/public/assets/onboarding_tour_step_services.gif b/x-pack/solutions/observability/plugins/observability/public/assets/onboarding_tour_step_services.gif similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/assets/onboarding_tour_step_services.gif rename to x-pack/solutions/observability/plugins/observability/public/assets/onboarding_tour_step_services.gif diff --git a/x-pack/plugins/observability_solution/observability/public/components/alert_overview/alert_overview.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alert_overview/alert_overview.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alert_overview/alert_overview.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alert_overview/alert_overview.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alert_overview/helpers/format_cases.ts b/x-pack/solutions/observability/plugins/observability/public/components/alert_overview/helpers/format_cases.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alert_overview/helpers/format_cases.ts rename to x-pack/solutions/observability/plugins/observability/public/components/alert_overview/helpers/format_cases.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/alert_overview/helpers/is_fields_same_type.ts b/x-pack/solutions/observability/plugins/observability/public/components/alert_overview/helpers/is_fields_same_type.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alert_overview/helpers/is_fields_same_type.ts rename to x-pack/solutions/observability/plugins/observability/public/components/alert_overview/helpers/is_fields_same_type.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/alert_overview/helpers/map_rules_params_with_flyout.test.ts b/x-pack/solutions/observability/plugins/observability/public/components/alert_overview/helpers/map_rules_params_with_flyout.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alert_overview/helpers/map_rules_params_with_flyout.test.ts rename to x-pack/solutions/observability/plugins/observability/public/components/alert_overview/helpers/map_rules_params_with_flyout.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/alert_overview/helpers/map_rules_params_with_flyout.ts b/x-pack/solutions/observability/plugins/observability/public/components/alert_overview/helpers/map_rules_params_with_flyout.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alert_overview/helpers/map_rules_params_with_flyout.ts rename to x-pack/solutions/observability/plugins/observability/public/components/alert_overview/helpers/map_rules_params_with_flyout.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/alert_overview/overview_columns.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alert_overview/overview_columns.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alert_overview/overview_columns.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alert_overview/overview_columns.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alert_search_bar/alert_search_bar.test.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alert_search_bar/alert_search_bar.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alert_search_bar/alert_search_bar.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alert_search_bar/alert_search_bar.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alert_search_bar/alert_search_bar.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alert_search_bar/alert_search_bar.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alert_search_bar/alert_search_bar.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alert_search_bar/alert_search_bar.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alert_search_bar/alert_search_bar_with_url_sync.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alert_search_bar/alert_search_bar_with_url_sync.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alert_search_bar/alert_search_bar_with_url_sync.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alert_search_bar/alert_search_bar_with_url_sync.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alert_search_bar/components/alerts_status_filter.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alert_search_bar/components/alerts_status_filter.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alert_search_bar/components/alerts_status_filter.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alert_search_bar/components/alerts_status_filter.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alert_search_bar/components/index.ts b/x-pack/solutions/observability/plugins/observability/public/components/alert_search_bar/components/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alert_search_bar/components/index.ts rename to x-pack/solutions/observability/plugins/observability/public/components/alert_search_bar/components/index.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/alert_search_bar/constants.ts b/x-pack/solutions/observability/plugins/observability/public/components/alert_search_bar/constants.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alert_search_bar/constants.ts rename to x-pack/solutions/observability/plugins/observability/public/components/alert_search_bar/constants.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/alert_search_bar/containers/index.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alert_search_bar/containers/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alert_search_bar/containers/index.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alert_search_bar/containers/index.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alert_search_bar/containers/state_container.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alert_search_bar/containers/state_container.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alert_search_bar/containers/state_container.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alert_search_bar/containers/state_container.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alert_search_bar/containers/use_alert_search_bar_state_container.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alert_search_bar/containers/use_alert_search_bar_state_container.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alert_search_bar/containers/use_alert_search_bar_state_container.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alert_search_bar/containers/use_alert_search_bar_state_container.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alert_search_bar/get_alert_search_bar_lazy.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alert_search_bar/get_alert_search_bar_lazy.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alert_search_bar/get_alert_search_bar_lazy.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alert_search_bar/get_alert_search_bar_lazy.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alert_search_bar/types.ts b/x-pack/solutions/observability/plugins/observability/public/components/alert_search_bar/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alert_search_bar/types.ts rename to x-pack/solutions/observability/plugins/observability/public/components/alert_search_bar/types.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/alert_severity_badge.stories.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alert_severity_badge.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alert_severity_badge.stories.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alert_severity_badge.stories.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alert_severity_badge.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alert_severity_badge.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alert_severity_badge.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alert_severity_badge.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alert_sources/get_alert_source_links.test.ts b/x-pack/solutions/observability/plugins/observability/public/components/alert_sources/get_alert_source_links.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alert_sources/get_alert_source_links.test.ts rename to x-pack/solutions/observability/plugins/observability/public/components/alert_sources/get_alert_source_links.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/alert_sources/get_alert_source_links.ts b/x-pack/solutions/observability/plugins/observability/public/components/alert_sources/get_alert_source_links.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alert_sources/get_alert_source_links.ts rename to x-pack/solutions/observability/plugins/observability/public/components/alert_sources/get_alert_source_links.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/alert_sources/get_apm_app_url.ts b/x-pack/solutions/observability/plugins/observability/public/components/alert_sources/get_apm_app_url.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alert_sources/get_apm_app_url.ts rename to x-pack/solutions/observability/plugins/observability/public/components/alert_sources/get_apm_app_url.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/alert_sources/get_sources.ts b/x-pack/solutions/observability/plugins/observability/public/components/alert_sources/get_sources.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alert_sources/get_sources.ts rename to x-pack/solutions/observability/plugins/observability/public/components/alert_sources/get_sources.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/alert_sources/groups.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alert_sources/groups.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alert_sources/groups.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alert_sources/groups.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alert_status_indicator.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alert_status_indicator.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alert_status_indicator.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alert_status_indicator.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_flyout/alerts_flyout.mock.ts b/x-pack/solutions/observability/plugins/observability/public/components/alerts_flyout/alerts_flyout.mock.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_flyout/alerts_flyout.mock.ts rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_flyout/alerts_flyout.mock.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_flyout/alerts_flyout.stories.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alerts_flyout/alerts_flyout.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_flyout/alerts_flyout.stories.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_flyout/alerts_flyout.stories.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_flyout/alerts_flyout.test.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alerts_flyout/alerts_flyout.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_flyout/alerts_flyout.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_flyout/alerts_flyout.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_flyout/alerts_flyout.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alerts_flyout/alerts_flyout.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_flyout/alerts_flyout.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_flyout/alerts_flyout.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_flyout/alerts_flyout_body.test.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alerts_flyout/alerts_flyout_body.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_flyout/alerts_flyout_body.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_flyout/alerts_flyout_body.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_flyout/alerts_flyout_body.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alerts_flyout/alerts_flyout_body.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_flyout/alerts_flyout_body.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_flyout/alerts_flyout_body.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_flyout/alerts_flyout_footer.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alerts_flyout/alerts_flyout_footer.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_flyout/alerts_flyout_footer.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_flyout/alerts_flyout_footer.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_flyout/alerts_flyout_header.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alerts_flyout/alerts_flyout_header.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_flyout/alerts_flyout_header.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_flyout/alerts_flyout_header.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_flyout/use_get_alert_flyout_components.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alerts_flyout/use_get_alert_flyout_components.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_flyout/use_get_alert_flyout_components.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_flyout/use_get_alert_flyout_components.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_table/alerts/get_alerts_page_table_configuration.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alerts_table/alerts/get_alerts_page_table_configuration.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_table/alerts/get_alerts_page_table_configuration.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_table/alerts/get_alerts_page_table_configuration.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_table/alerts/get_persistent_controls.ts b/x-pack/solutions/observability/plugins/observability/public/components/alerts_table/alerts/get_persistent_controls.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_table/alerts/get_persistent_controls.ts rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_table/alerts/get_persistent_controls.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_table/common/cell_tooltip.test.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alerts_table/common/cell_tooltip.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_table/common/cell_tooltip.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_table/common/cell_tooltip.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_table/common/cell_tooltip.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alerts_table/common/cell_tooltip.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_table/common/cell_tooltip.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_table/common/cell_tooltip.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_table/common/get_columns.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alerts_table/common/get_columns.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_table/common/get_columns.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_table/common/get_columns.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_table/common/render_cell_value.test.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alerts_table/common/render_cell_value.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_table/common/render_cell_value.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_table/common/render_cell_value.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_table/common/render_cell_value.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alerts_table/common/render_cell_value.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_table/common/render_cell_value.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_table/common/render_cell_value.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_table/common/timestamp_tooltip.test.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alerts_table/common/timestamp_tooltip.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_table/common/timestamp_tooltip.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_table/common/timestamp_tooltip.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_table/common/timestamp_tooltip.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alerts_table/common/timestamp_tooltip.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_table/common/timestamp_tooltip.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_table/common/timestamp_tooltip.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_table/grouping/constants.ts b/x-pack/solutions/observability/plugins/observability/public/components/alerts_table/grouping/constants.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_table/grouping/constants.ts rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_table/grouping/constants.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_table/grouping/get_aggregations_by_grouping_field.ts b/x-pack/solutions/observability/plugins/observability/public/components/alerts_table/grouping/get_aggregations_by_grouping_field.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_table/grouping/get_aggregations_by_grouping_field.ts rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_table/grouping/get_aggregations_by_grouping_field.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_table/grouping/get_group_stats.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alerts_table/grouping/get_group_stats.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_table/grouping/get_group_stats.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_table/grouping/get_group_stats.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_table/grouping/render_group_panel.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alerts_table/grouping/render_group_panel.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_table/grouping/render_group_panel.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_table/grouping/render_group_panel.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_table/observability/get_alerts_page_table_configuration.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alerts_table/observability/get_alerts_page_table_configuration.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_table/observability/get_alerts_page_table_configuration.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_table/observability/get_alerts_page_table_configuration.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_table/register_alerts_table_configuration.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alerts_table/register_alerts_table_configuration.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_table/register_alerts_table_configuration.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_table/register_alerts_table_configuration.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_table/rule_details/get_rule_details_table_configuration.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alerts_table/rule_details/get_rule_details_table_configuration.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_table/rule_details/get_rule_details_table_configuration.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_table/rule_details/get_rule_details_table_configuration.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_table/slo/default_columns.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alerts_table/slo/default_columns.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_table/slo/default_columns.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_table/slo/default_columns.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_table/slo/get_slo_alerts_table_configuration.tsx b/x-pack/solutions/observability/plugins/observability/public/components/alerts_table/slo/get_slo_alerts_table_configuration.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_table/slo/get_slo_alerts_table_configuration.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_table/slo/get_slo_alerts_table_configuration.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/alerts_table/types.ts b/x-pack/solutions/observability/plugins/observability/public/components/alerts_table/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/alerts_table/types.ts rename to x-pack/solutions/observability/plugins/observability/public/components/alerts_table/types.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/annotation_apearance.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/annotation_apearance.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/annotation_apearance.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/annotation_apearance.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/annotation_form.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/annotation_form.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/annotation_form.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/annotation_form.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/components/annotation_apply_to.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/components/annotation_apply_to.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/components/annotation_apply_to.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/components/annotation_apply_to.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/components/annotation_icon.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/components/annotation_icon.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/components/annotation_icon.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/components/annotation_icon.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/components/annotation_range.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/components/annotation_range.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/components/annotation_range.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/components/annotation_range.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/components/annotation_tooltip.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/components/annotation_tooltip.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/components/annotation_tooltip.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/components/annotation_tooltip.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/components/annotations.scss b/x-pack/solutions/observability/plugins/observability/public/components/annotations/components/annotations.scss similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/components/annotations.scss rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/components/annotations.scss diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/components/common/delete_annotations.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/components/common/delete_annotations.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/components/common/delete_annotations.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/components/common/delete_annotations.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/components/common/delete_annotations_modal.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/components/common/delete_annotations_modal.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/components/common/delete_annotations_modal.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/components/common/delete_annotations_modal.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/components/common/field_selector.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/components/common/field_selector.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/components/common/field_selector.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/components/common/field_selector.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/components/create_annotation.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/components/create_annotation.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/components/create_annotation.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/components/create_annotation.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/components/fill_option.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/components/fill_option.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/components/fill_option.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/components/fill_option.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/components/forward_refs.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/components/forward_refs.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/components/forward_refs.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/components/forward_refs.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/components/index.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/components/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/components/index.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/components/index.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/components/new_line_annotation.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/components/new_line_annotation.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/components/new_line_annotation.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/components/new_line_annotation.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/components/new_rect_annotation.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/components/new_rect_annotation.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/components/new_rect_annotation.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/components/new_rect_annotation.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/components/obs_annotation.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/components/obs_annotation.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/components/obs_annotation.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/components/obs_annotation.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/components/observability_annotation.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/components/observability_annotation.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/components/observability_annotation.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/components/observability_annotation.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/components/service_apply_to.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/components/service_apply_to.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/components/service_apply_to.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/components/service_apply_to.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/components/slo_apply_to.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/components/slo_apply_to.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/components/slo_apply_to.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/components/slo_apply_to.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/components/slo_selector.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/components/slo_selector.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/components/slo_selector.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/components/slo_selector.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/components/text_decoration.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/components/text_decoration.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/components/text_decoration.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/components/text_decoration.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/components/timestamp_range_label.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/components/timestamp_range_label.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/components/timestamp_range_label.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/components/timestamp_range_label.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/default_annotation.ts b/x-pack/solutions/observability/plugins/observability/public/components/annotations/default_annotation.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/default_annotation.ts rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/default_annotation.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/display_annotations.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/display_annotations.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/display_annotations.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/display_annotations.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/hooks/use_annotation_cruds.ts b/x-pack/solutions/observability/plugins/observability/public/components/annotations/hooks/use_annotation_cruds.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/hooks/use_annotation_cruds.ts rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/hooks/use_annotation_cruds.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/hooks/use_annotation_permissions.ts b/x-pack/solutions/observability/plugins/observability/public/components/annotations/hooks/use_annotation_permissions.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/hooks/use_annotation_permissions.ts rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/hooks/use_annotation_permissions.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/hooks/use_create_annotation.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/hooks/use_create_annotation.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/hooks/use_create_annotation.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/hooks/use_create_annotation.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/hooks/use_delete_annotation.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/hooks/use_delete_annotation.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/hooks/use_delete_annotation.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/hooks/use_delete_annotation.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/hooks/use_edit_annotation_helper.ts b/x-pack/solutions/observability/plugins/observability/public/components/annotations/hooks/use_edit_annotation_helper.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/hooks/use_edit_annotation_helper.ts rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/hooks/use_edit_annotation_helper.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/hooks/use_fetch_annotations.ts b/x-pack/solutions/observability/plugins/observability/public/components/annotations/hooks/use_fetch_annotations.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/hooks/use_fetch_annotations.ts rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/hooks/use_fetch_annotations.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/hooks/use_fetch_apm_suggestions.ts b/x-pack/solutions/observability/plugins/observability/public/components/annotations/hooks/use_fetch_apm_suggestions.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/hooks/use_fetch_apm_suggestions.ts rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/hooks/use_fetch_apm_suggestions.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/hooks/use_fetch_slo_list.ts b/x-pack/solutions/observability/plugins/observability/public/components/annotations/hooks/use_fetch_slo_list.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/hooks/use_fetch_slo_list.ts rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/hooks/use_fetch_slo_list.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/hooks/use_update_annotation.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/hooks/use_update_annotation.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/hooks/use_update_annotation.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/hooks/use_update_annotation.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/icon_set.ts b/x-pack/solutions/observability/plugins/observability/public/components/annotations/icon_set.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/icon_set.ts rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/icon_set.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/annotations/use_annotations.tsx b/x-pack/solutions/observability/plugins/observability/public/components/annotations/use_annotations.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/annotations/use_annotations.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/annotations/use_annotations.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/center_justified_spinner.tsx b/x-pack/solutions/observability/plugins/observability/public/components/center_justified_spinner.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/center_justified_spinner.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/center_justified_spinner.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/alert_details_app_section/__snapshots__/alert_details_app_section.test.tsx.snap b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/alert_details_app_section/__snapshots__/alert_details_app_section.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/alert_details_app_section/__snapshots__/alert_details_app_section.test.tsx.snap rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/alert_details_app_section/__snapshots__/alert_details_app_section.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/alert_details_app_section/alert_details_app_section.test.tsx b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/alert_details_app_section/alert_details_app_section.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/alert_details_app_section/alert_details_app_section.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/alert_details_app_section/alert_details_app_section.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/alert_details_app_section/alert_details_app_section.tsx b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/alert_details_app_section/alert_details_app_section.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/alert_details_app_section/alert_details_app_section.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/alert_details_app_section/alert_details_app_section.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/alert_details_app_section/helpers/__snapshots__/log_rate_analysis_query.test.ts.snap b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/alert_details_app_section/helpers/__snapshots__/log_rate_analysis_query.test.ts.snap similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/alert_details_app_section/helpers/__snapshots__/log_rate_analysis_query.test.ts.snap rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/alert_details_app_section/helpers/__snapshots__/log_rate_analysis_query.test.ts.snap diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/alert_details_app_section/helpers/generate_chart_title_and_tooltip.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/alert_details_app_section/helpers/generate_chart_title_and_tooltip.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/alert_details_app_section/helpers/generate_chart_title_and_tooltip.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/alert_details_app_section/helpers/generate_chart_title_and_tooltip.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/alert_details_app_section/helpers/log_rate_analysis_query.test.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/alert_details_app_section/helpers/log_rate_analysis_query.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/alert_details_app_section/helpers/log_rate_analysis_query.test.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/alert_details_app_section/helpers/log_rate_analysis_query.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/alert_details_app_section/helpers/log_rate_analysis_query.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/alert_details_app_section/helpers/log_rate_analysis_query.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/alert_details_app_section/helpers/log_rate_analysis_query.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/alert_details_app_section/helpers/log_rate_analysis_query.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/alert_details_app_section/log_rate_analysis.tsx b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/alert_details_app_section/log_rate_analysis.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/alert_details_app_section/log_rate_analysis.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/alert_details_app_section/log_rate_analysis.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/closable_popover_title.test.tsx b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/closable_popover_title.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/closable_popover_title.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/closable_popover_title.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/closable_popover_title.tsx b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/closable_popover_title.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/closable_popover_title.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/closable_popover_title.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/criterion_preview_chart/criterion_preview_chart.tsx b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/criterion_preview_chart/criterion_preview_chart.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/criterion_preview_chart/criterion_preview_chart.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/criterion_preview_chart/criterion_preview_chart.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/criterion_preview_chart/threshold_annotations.test.tsx b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/criterion_preview_chart/threshold_annotations.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/criterion_preview_chart/threshold_annotations.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/criterion_preview_chart/threshold_annotations.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/criterion_preview_chart/threshold_annotations.tsx b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/criterion_preview_chart/threshold_annotations.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/criterion_preview_chart/threshold_annotations.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/criterion_preview_chart/threshold_annotations.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/custom_equation/custom_equation_editor.stories.tsx b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/custom_equation/custom_equation_editor.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/custom_equation/custom_equation_editor.stories.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/custom_equation/custom_equation_editor.stories.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/custom_equation/custom_equation_editor.tsx b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/custom_equation/custom_equation_editor.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/custom_equation/custom_equation_editor.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/custom_equation/custom_equation_editor.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/custom_equation/index.tsx b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/custom_equation/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/custom_equation/index.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/custom_equation/index.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/custom_equation/metric_row_controls.tsx b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/custom_equation/metric_row_controls.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/custom_equation/metric_row_controls.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/custom_equation/metric_row_controls.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/custom_equation/metric_row_with_agg.tsx b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/custom_equation/metric_row_with_agg.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/custom_equation/metric_row_with_agg.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/custom_equation/metric_row_with_agg.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/custom_equation/types.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/custom_equation/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/custom_equation/types.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/custom_equation/types.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/custom_threshold.stories.tsx b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/custom_threshold.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/custom_threshold.stories.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/custom_threshold.stories.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/expression_row.test.tsx b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/expression_row.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/expression_row.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/expression_row.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/expression_row.tsx b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/expression_row.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/expression_row.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/expression_row.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/group_by.tsx b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/group_by.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/group_by.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/group_by.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/threshold.test.tsx b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/threshold.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/threshold.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/threshold.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/threshold.tsx b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/threshold.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/threshold.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/threshold.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/triggers_actions_context.tsx b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/triggers_actions_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/triggers_actions_context.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/triggers_actions_context.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/types.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/types.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/types.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/validation.test.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/validation.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/validation.test.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/validation.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/validation.tsx b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/validation.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/components/validation.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/components/validation.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/custom_threshold_rule_expression.test.tsx b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/custom_threshold_rule_expression.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/custom_threshold_rule_expression.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/custom_threshold_rule_expression.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/custom_threshold_rule_expression.tsx b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/custom_threshold_rule_expression.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/custom_threshold_rule_expression.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/custom_threshold_rule_expression.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/calculate_domain.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/calculate_domain.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/calculate_domain.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/calculate_domain.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/corrected_percent_convert.test.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/corrected_percent_convert.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/corrected_percent_convert.test.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/corrected_percent_convert.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/corrected_percent_convert.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/corrected_percent_convert.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/corrected_percent_convert.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/corrected_percent_convert.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/create_formatter_for_metric.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/create_formatter_for_metric.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/create_formatter_for_metric.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/create_formatter_for_metric.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/create_formatter_for_metrics.test.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/create_formatter_for_metrics.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/create_formatter_for_metrics.test.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/create_formatter_for_metrics.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/get_search_configuration.test.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/get_search_configuration.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/get_search_configuration.test.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/get_search_configuration.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/get_search_configuration.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/get_search_configuration.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/get_search_configuration.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/get_search_configuration.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/kuery.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/kuery.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/kuery.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/kuery.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/metric_to_format.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/metric_to_format.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/metric_to_format.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/metric_to_format.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/notifications.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/notifications.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/notifications.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/notifications.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/runtime_types.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/runtime_types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/runtime_types.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/runtime_types.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/source_errors.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/source_errors.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/source_errors.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/source_errors.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/threshold_unit.test.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/threshold_unit.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/threshold_unit.test.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/threshold_unit.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/threshold_unit.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/threshold_unit.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/helpers/threshold_unit.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/helpers/threshold_unit.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/hooks/use_kibana_time_zone_setting.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/hooks/use_kibana_time_zone_setting.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/hooks/use_kibana_time_zone_setting.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/hooks/use_kibana_time_zone_setting.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/hooks/use_kibana_timefilter_time.tsx b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/hooks/use_kibana_timefilter_time.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/hooks/use_kibana_timefilter_time.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/hooks/use_kibana_timefilter_time.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/hooks/use_metric_threshold_alert_prefill.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/hooks/use_metric_threshold_alert_prefill.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/hooks/use_metric_threshold_alert_prefill.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/hooks/use_metric_threshold_alert_prefill.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/hooks/use_tracked_promise.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/hooks/use_tracked_promise.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/hooks/use_tracked_promise.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/hooks/use_tracked_promise.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/i18n_strings.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/i18n_strings.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/i18n_strings.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/i18n_strings.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/mocks/custom_threshold_rule.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/mocks/custom_threshold_rule.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/mocks/custom_threshold_rule.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/mocks/custom_threshold_rule.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/rule_data_formatters.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/rule_data_formatters.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/rule_data_formatters.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/rule_data_formatters.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/custom_threshold/types.ts b/x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/custom_threshold/types.ts rename to x-pack/solutions/observability/plugins/observability/public/components/custom_threshold/types.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/experimental_badge.tsx b/x-pack/solutions/observability/plugins/observability/public/components/experimental_badge.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/experimental_badge.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/experimental_badge.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/loading_observability.tsx b/x-pack/solutions/observability/plugins/observability/public/components/loading_observability.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/loading_observability.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/loading_observability.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/rule_condition_chart/helpers.test.ts b/x-pack/solutions/observability/plugins/observability/public/components/rule_condition_chart/helpers.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/rule_condition_chart/helpers.test.ts rename to x-pack/solutions/observability/plugins/observability/public/components/rule_condition_chart/helpers.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/rule_condition_chart/helpers.ts b/x-pack/solutions/observability/plugins/observability/public/components/rule_condition_chart/helpers.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/rule_condition_chart/helpers.ts rename to x-pack/solutions/observability/plugins/observability/public/components/rule_condition_chart/helpers.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/rule_condition_chart/index.tsx b/x-pack/solutions/observability/plugins/observability/public/components/rule_condition_chart/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/rule_condition_chart/index.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/rule_condition_chart/index.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/rule_condition_chart/painless_tinymath_parser.test.ts b/x-pack/solutions/observability/plugins/observability/public/components/rule_condition_chart/painless_tinymath_parser.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/rule_condition_chart/painless_tinymath_parser.test.ts rename to x-pack/solutions/observability/plugins/observability/public/components/rule_condition_chart/painless_tinymath_parser.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/rule_condition_chart/painless_tinymath_parser.ts b/x-pack/solutions/observability/plugins/observability/public/components/rule_condition_chart/painless_tinymath_parser.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/rule_condition_chart/painless_tinymath_parser.ts rename to x-pack/solutions/observability/plugins/observability/public/components/rule_condition_chart/painless_tinymath_parser.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/rule_condition_chart/rule_condition_chart.test.tsx b/x-pack/solutions/observability/plugins/observability/public/components/rule_condition_chart/rule_condition_chart.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/rule_condition_chart/rule_condition_chart.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/rule_condition_chart/rule_condition_chart.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/rule_condition_chart/rule_condition_chart.tsx b/x-pack/solutions/observability/plugins/observability/public/components/rule_condition_chart/rule_condition_chart.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/rule_condition_chart/rule_condition_chart.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/rule_condition_chart/rule_condition_chart.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/rule_kql_filter/autocomplete_field/autocomplete_field.tsx b/x-pack/solutions/observability/plugins/observability/public/components/rule_kql_filter/autocomplete_field/autocomplete_field.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/rule_kql_filter/autocomplete_field/autocomplete_field.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/rule_kql_filter/autocomplete_field/autocomplete_field.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/rule_kql_filter/autocomplete_field/index.ts b/x-pack/solutions/observability/plugins/observability/public/components/rule_kql_filter/autocomplete_field/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/rule_kql_filter/autocomplete_field/index.ts rename to x-pack/solutions/observability/plugins/observability/public/components/rule_kql_filter/autocomplete_field/index.ts diff --git a/x-pack/plugins/observability_solution/observability/public/components/rule_kql_filter/autocomplete_field/suggestion_item.tsx b/x-pack/solutions/observability/plugins/observability/public/components/rule_kql_filter/autocomplete_field/suggestion_item.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/rule_kql_filter/autocomplete_field/suggestion_item.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/rule_kql_filter/autocomplete_field/suggestion_item.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/rule_kql_filter/index.tsx b/x-pack/solutions/observability/plugins/observability/public/components/rule_kql_filter/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/rule_kql_filter/index.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/rule_kql_filter/index.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/rule_kql_filter/kuery_bar.tsx b/x-pack/solutions/observability/plugins/observability/public/components/rule_kql_filter/kuery_bar.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/rule_kql_filter/kuery_bar.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/rule_kql_filter/kuery_bar.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/rule_kql_filter/with_kuery_autocompletion.tsx b/x-pack/solutions/observability/plugins/observability/public/components/rule_kql_filter/with_kuery_autocompletion.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/rule_kql_filter/with_kuery_autocompletion.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/rule_kql_filter/with_kuery_autocompletion.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/components/tags.tsx b/x-pack/solutions/observability/plugins/observability/public/components/tags.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/components/tags.tsx rename to x-pack/solutions/observability/plugins/observability/public/components/tags.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/constants.ts b/x-pack/solutions/observability/plugins/observability/public/constants.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/constants.ts rename to x-pack/solutions/observability/plugins/observability/public/constants.ts diff --git a/x-pack/plugins/observability_solution/observability/public/context/constants.ts b/x-pack/solutions/observability/plugins/observability/public/context/constants.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/context/constants.ts rename to x-pack/solutions/observability/plugins/observability/public/context/constants.ts diff --git a/x-pack/plugins/observability_solution/observability/public/context/date_picker_context/date_picker_context.tsx b/x-pack/solutions/observability/plugins/observability/public/context/date_picker_context/date_picker_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/context/date_picker_context/date_picker_context.tsx rename to x-pack/solutions/observability/plugins/observability/public/context/date_picker_context/date_picker_context.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/context/has_data_context/data_handler.test.ts b/x-pack/solutions/observability/plugins/observability/public/context/has_data_context/data_handler.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/context/has_data_context/data_handler.test.ts rename to x-pack/solutions/observability/plugins/observability/public/context/has_data_context/data_handler.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/context/has_data_context/data_handler.ts b/x-pack/solutions/observability/plugins/observability/public/context/has_data_context/data_handler.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/context/has_data_context/data_handler.ts rename to x-pack/solutions/observability/plugins/observability/public/context/has_data_context/data_handler.ts diff --git a/x-pack/plugins/observability_solution/observability/public/context/has_data_context/get_observability_alerts.test.ts b/x-pack/solutions/observability/plugins/observability/public/context/has_data_context/get_observability_alerts.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/context/has_data_context/get_observability_alerts.test.ts rename to x-pack/solutions/observability/plugins/observability/public/context/has_data_context/get_observability_alerts.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/context/has_data_context/get_observability_alerts.ts b/x-pack/solutions/observability/plugins/observability/public/context/has_data_context/get_observability_alerts.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/context/has_data_context/get_observability_alerts.ts rename to x-pack/solutions/observability/plugins/observability/public/context/has_data_context/get_observability_alerts.ts diff --git a/x-pack/plugins/observability_solution/observability/public/context/has_data_context/has_data_context.test.tsx b/x-pack/solutions/observability/plugins/observability/public/context/has_data_context/has_data_context.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/context/has_data_context/has_data_context.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/context/has_data_context/has_data_context.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/context/has_data_context/has_data_context.tsx b/x-pack/solutions/observability/plugins/observability/public/context/has_data_context/has_data_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/context/has_data_context/has_data_context.tsx rename to x-pack/solutions/observability/plugins/observability/public/context/has_data_context/has_data_context.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/context/plugin_context/plugin_context.tsx b/x-pack/solutions/observability/plugins/observability/public/context/plugin_context/plugin_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/context/plugin_context/plugin_context.tsx rename to x-pack/solutions/observability/plugins/observability/public/context/plugin_context/plugin_context.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/__storybook_mocks__/use_fetch_data_views.ts b/x-pack/solutions/observability/plugins/observability/public/hooks/__storybook_mocks__/use_fetch_data_views.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/__storybook_mocks__/use_fetch_data_views.ts rename to x-pack/solutions/observability/plugins/observability/public/hooks/__storybook_mocks__/use_fetch_data_views.ts diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/create_use_rules_link.ts b/x-pack/solutions/observability/plugins/observability/public/hooks/create_use_rules_link.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/create_use_rules_link.ts rename to x-pack/solutions/observability/plugins/observability/public/hooks/create_use_rules_link.ts diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/use_case_view_navigation.ts b/x-pack/solutions/observability/plugins/observability/public/hooks/use_case_view_navigation.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/use_case_view_navigation.ts rename to x-pack/solutions/observability/plugins/observability/public/hooks/use_case_view_navigation.ts diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/use_chart_themes.ts b/x-pack/solutions/observability/plugins/observability/public/hooks/use_chart_themes.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/use_chart_themes.ts rename to x-pack/solutions/observability/plugins/observability/public/hooks/use_chart_themes.ts diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/use_data_fetcher.ts b/x-pack/solutions/observability/plugins/observability/public/hooks/use_data_fetcher.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/use_data_fetcher.ts rename to x-pack/solutions/observability/plugins/observability/public/hooks/use_data_fetcher.ts diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/use_date_picker_context.ts b/x-pack/solutions/observability/plugins/observability/public/hooks/use_date_picker_context.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/use_date_picker_context.ts rename to x-pack/solutions/observability/plugins/observability/public/hooks/use_date_picker_context.ts diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/use_delete_rules.ts b/x-pack/solutions/observability/plugins/observability/public/hooks/use_delete_rules.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/use_delete_rules.ts rename to x-pack/solutions/observability/plugins/observability/public/hooks/use_delete_rules.ts diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/use_fetch_alert_data.test.ts b/x-pack/solutions/observability/plugins/observability/public/hooks/use_fetch_alert_data.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/use_fetch_alert_data.test.ts rename to x-pack/solutions/observability/plugins/observability/public/hooks/use_fetch_alert_data.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/use_fetch_alert_data.ts b/x-pack/solutions/observability/plugins/observability/public/hooks/use_fetch_alert_data.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/use_fetch_alert_data.ts rename to x-pack/solutions/observability/plugins/observability/public/hooks/use_fetch_alert_data.ts diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/use_fetch_alert_detail.test.ts b/x-pack/solutions/observability/plugins/observability/public/hooks/use_fetch_alert_detail.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/use_fetch_alert_detail.test.ts rename to x-pack/solutions/observability/plugins/observability/public/hooks/use_fetch_alert_detail.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/use_fetch_alert_detail.ts b/x-pack/solutions/observability/plugins/observability/public/hooks/use_fetch_alert_detail.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/use_fetch_alert_detail.ts rename to x-pack/solutions/observability/plugins/observability/public/hooks/use_fetch_alert_detail.ts diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/use_fetch_bulk_cases.test.ts b/x-pack/solutions/observability/plugins/observability/public/hooks/use_fetch_bulk_cases.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/use_fetch_bulk_cases.test.ts rename to x-pack/solutions/observability/plugins/observability/public/hooks/use_fetch_bulk_cases.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/use_fetch_bulk_cases.ts b/x-pack/solutions/observability/plugins/observability/public/hooks/use_fetch_bulk_cases.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/use_fetch_bulk_cases.ts rename to x-pack/solutions/observability/plugins/observability/public/hooks/use_fetch_bulk_cases.ts diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/use_fetch_data_views.ts b/x-pack/solutions/observability/plugins/observability/public/hooks/use_fetch_data_views.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/use_fetch_data_views.ts rename to x-pack/solutions/observability/plugins/observability/public/hooks/use_fetch_data_views.ts diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/use_fetch_rule.ts b/x-pack/solutions/observability/plugins/observability/public/hooks/use_fetch_rule.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/use_fetch_rule.ts rename to x-pack/solutions/observability/plugins/observability/public/hooks/use_fetch_rule.ts diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/use_fetch_rule_types.ts b/x-pack/solutions/observability/plugins/observability/public/hooks/use_fetch_rule_types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/use_fetch_rule_types.ts rename to x-pack/solutions/observability/plugins/observability/public/hooks/use_fetch_rule_types.ts diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/use_get_available_rules_with_descriptions.ts b/x-pack/solutions/observability/plugins/observability/public/hooks/use_get_available_rules_with_descriptions.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/use_get_available_rules_with_descriptions.ts rename to x-pack/solutions/observability/plugins/observability/public/hooks/use_get_available_rules_with_descriptions.ts diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/use_get_filtered_rule_types.ts b/x-pack/solutions/observability/plugins/observability/public/hooks/use_get_filtered_rule_types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/use_get_filtered_rule_types.ts rename to x-pack/solutions/observability/plugins/observability/public/hooks/use_get_filtered_rule_types.ts diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/use_guided_setup_progress.ts b/x-pack/solutions/observability/plugins/observability/public/hooks/use_guided_setup_progress.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/use_guided_setup_progress.ts rename to x-pack/solutions/observability/plugins/observability/public/hooks/use_guided_setup_progress.ts diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/use_has_data.ts b/x-pack/solutions/observability/plugins/observability/public/hooks/use_has_data.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/use_has_data.ts rename to x-pack/solutions/observability/plugins/observability/public/hooks/use_has_data.ts diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/use_kibana_ui_settings.tsx b/x-pack/solutions/observability/plugins/observability/public/hooks/use_kibana_ui_settings.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/use_kibana_ui_settings.tsx rename to x-pack/solutions/observability/plugins/observability/public/hooks/use_kibana_ui_settings.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/use_license.ts b/x-pack/solutions/observability/plugins/observability/public/hooks/use_license.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/use_license.ts rename to x-pack/solutions/observability/plugins/observability/public/hooks/use_license.ts diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/use_observability_onboarding.ts b/x-pack/solutions/observability/plugins/observability/public/hooks/use_observability_onboarding.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/use_observability_onboarding.ts rename to x-pack/solutions/observability/plugins/observability/public/hooks/use_observability_onboarding.ts diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/use_plugin_context.tsx b/x-pack/solutions/observability/plugins/observability/public/hooks/use_plugin_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/use_plugin_context.tsx rename to x-pack/solutions/observability/plugins/observability/public/hooks/use_plugin_context.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/use_summary_time_range.tsx b/x-pack/solutions/observability/plugins/observability/public/hooks/use_summary_time_range.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/use_summary_time_range.tsx rename to x-pack/solutions/observability/plugins/observability/public/hooks/use_summary_time_range.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/use_time_buckets.ts b/x-pack/solutions/observability/plugins/observability/public/hooks/use_time_buckets.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/use_time_buckets.ts rename to x-pack/solutions/observability/plugins/observability/public/hooks/use_time_buckets.ts diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/use_timefilter_service.ts b/x-pack/solutions/observability/plugins/observability/public/hooks/use_timefilter_service.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/use_timefilter_service.ts rename to x-pack/solutions/observability/plugins/observability/public/hooks/use_timefilter_service.ts diff --git a/x-pack/plugins/observability_solution/observability/public/hooks/use_toast.ts b/x-pack/solutions/observability/plugins/observability/public/hooks/use_toast.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/hooks/use_toast.ts rename to x-pack/solutions/observability/plugins/observability/public/hooks/use_toast.ts diff --git a/x-pack/plugins/observability_solution/observability/public/index.ts b/x-pack/solutions/observability/plugins/observability/public/index.ts similarity index 98% rename from x-pack/plugins/observability_solution/observability/public/index.ts rename to x-pack/solutions/observability/plugins/observability/public/index.ts index 6230f5411b543..fa0189dc1df14 100644 --- a/x-pack/plugins/observability_solution/observability/public/index.ts +++ b/x-pack/solutions/observability/plugins/observability/public/index.ts @@ -6,7 +6,6 @@ */ // TODO: https://github.com/elastic/kibana/issues/110905 -/* eslint-disable @kbn/eslint/no_export_all */ import { PluginInitializer, PluginInitializerContext } from '@kbn/core/public'; import { lazy } from 'react'; diff --git a/x-pack/plugins/observability_solution/observability/public/locators/rule_details.test.ts b/x-pack/solutions/observability/plugins/observability/public/locators/rule_details.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/locators/rule_details.test.ts rename to x-pack/solutions/observability/plugins/observability/public/locators/rule_details.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/locators/rule_details.ts b/x-pack/solutions/observability/plugins/observability/public/locators/rule_details.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/locators/rule_details.ts rename to x-pack/solutions/observability/plugins/observability/public/locators/rule_details.ts diff --git a/x-pack/plugins/observability_solution/observability/public/locators/rules.test.ts b/x-pack/solutions/observability/plugins/observability/public/locators/rules.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/locators/rules.test.ts rename to x-pack/solutions/observability/plugins/observability/public/locators/rules.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/locators/rules.ts b/x-pack/solutions/observability/plugins/observability/public/locators/rules.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/locators/rules.ts rename to x-pack/solutions/observability/plugins/observability/public/locators/rules.ts diff --git a/x-pack/plugins/observability_solution/observability/public/navigation_tree.ts b/x-pack/solutions/observability/plugins/observability/public/navigation_tree.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/navigation_tree.ts rename to x-pack/solutions/observability/plugins/observability/public/navigation_tree.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/404.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/404.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/404.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/404.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alert_details/alert_details.test.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/alert_details/alert_details.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alert_details/alert_details.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/alert_details/alert_details.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alert_details/alert_details.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/alert_details/alert_details.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alert_details/alert_details.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/alert_details/alert_details.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alert_details/alert_details_contextual_insights.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/alert_details/alert_details_contextual_insights.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alert_details/alert_details_contextual_insights.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/alert_details/alert_details_contextual_insights.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alert_details/components/alert_history.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/alert_details/components/alert_history.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alert_details/components/alert_history.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/alert_details/components/alert_history.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alert_details/components/assets/illustration_product_no_results_magnifying_glass.svg b/x-pack/solutions/observability/plugins/observability/public/pages/alert_details/components/assets/illustration_product_no_results_magnifying_glass.svg similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alert_details/components/assets/illustration_product_no_results_magnifying_glass.svg rename to x-pack/solutions/observability/plugins/observability/public/pages/alert_details/components/assets/illustration_product_no_results_magnifying_glass.svg diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alert_details/components/feedback_button.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/alert_details/components/feedback_button.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alert_details/components/feedback_button.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/alert_details/components/feedback_button.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alert_details/components/header_actions.test.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/alert_details/components/header_actions.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alert_details/components/header_actions.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/alert_details/components/header_actions.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alert_details/components/header_actions.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/alert_details/components/header_actions.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alert_details/components/header_actions.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/alert_details/components/header_actions.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alert_details/components/index.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/alert_details/components/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alert_details/components/index.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/alert_details/components/index.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alert_details/components/related_alerts.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/alert_details/components/related_alerts.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alert_details/components/related_alerts.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/alert_details/components/related_alerts.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alert_details/components/source_bar.test.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/alert_details/components/source_bar.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alert_details/components/source_bar.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/alert_details/components/source_bar.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alert_details/components/source_bar.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/alert_details/components/source_bar.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alert_details/components/source_bar.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/alert_details/components/source_bar.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alert_details/components/status_bar.stories.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/alert_details/components/status_bar.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alert_details/components/status_bar.stories.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/alert_details/components/status_bar.stories.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alert_details/components/status_bar.test.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/alert_details/components/status_bar.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alert_details/components/status_bar.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/alert_details/components/status_bar.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alert_details/components/status_bar.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/alert_details/components/status_bar.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alert_details/components/status_bar.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/alert_details/components/status_bar.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alert_details/hooks/use_add_investigation_item.ts b/x-pack/solutions/observability/plugins/observability/public/pages/alert_details/hooks/use_add_investigation_item.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alert_details/hooks/use_add_investigation_item.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/alert_details/hooks/use_add_investigation_item.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alert_details/hooks/use_bulk_untrack_alerts.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/alert_details/hooks/use_bulk_untrack_alerts.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alert_details/hooks/use_bulk_untrack_alerts.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/alert_details/hooks/use_bulk_untrack_alerts.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alert_details/hooks/use_create_investigation.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/alert_details/hooks/use_create_investigation.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alert_details/hooks/use_create_investigation.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/alert_details/hooks/use_create_investigation.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alert_details/hooks/use_fetch_investigations_by_alert.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/alert_details/hooks/use_fetch_investigations_by_alert.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alert_details/hooks/use_fetch_investigations_by_alert.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/alert_details/hooks/use_fetch_investigations_by_alert.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alert_details/mock/alert.ts b/x-pack/solutions/observability/plugins/observability/public/pages/alert_details/mock/alert.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alert_details/mock/alert.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/alert_details/mock/alert.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alert_details/types.ts b/x-pack/solutions/observability/plugins/observability/public/pages/alert_details/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alert_details/types.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/alert_details/types.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alerts/alerts.test.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/alerts/alerts.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alerts/alerts.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/alerts/alerts.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alerts/alerts.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/alerts/alerts.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alerts/alerts.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/alerts/alerts.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alerts/components/alert_actions.test.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/alerts/components/alert_actions.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alerts/components/alert_actions.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/alerts/components/alert_actions.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alerts/components/alert_actions.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/alerts/components/alert_actions.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alerts/components/alert_actions.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/alerts/components/alert_actions.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alerts/components/rule_stats.test.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/alerts/components/rule_stats.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alerts/components/rule_stats.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/alerts/components/rule_stats.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alerts/components/rule_stats.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/alerts/components/rule_stats.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alerts/components/rule_stats.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/alerts/components/rule_stats.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alerts/helpers/merge_bool_queries.ts b/x-pack/solutions/observability/plugins/observability/public/pages/alerts/helpers/merge_bool_queries.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alerts/helpers/merge_bool_queries.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/alerts/helpers/merge_bool_queries.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/alerts/helpers/parse_alert.ts b/x-pack/solutions/observability/plugins/observability/public/pages/alerts/helpers/parse_alert.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/alerts/helpers/parse_alert.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/alerts/helpers/parse_alert.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/annotations/annotation_apply_to.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/annotations/annotation_apply_to.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/annotations/annotation_apply_to.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/annotations/annotation_apply_to.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/annotations/annotations.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/annotations/annotations.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/annotations/annotations.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/annotations/annotations.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/annotations/annotations_list.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/annotations/annotations_list.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/annotations/annotations_list.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/annotations/annotations_list.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/annotations/annotations_list_chart.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/annotations/annotations_list_chart.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/annotations/annotations_list_chart.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/annotations/annotations_list_chart.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/annotations/annotations_privileges.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/annotations/annotations_privileges.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/annotations/annotations_privileges.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/annotations/annotations_privileges.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/annotations/create_annotation_btn.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/annotations/create_annotation_btn.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/annotations/create_annotation_btn.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/annotations/create_annotation_btn.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/annotations/date_picker.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/annotations/date_picker.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/annotations/date_picker.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/annotations/date_picker.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/cases/cases.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/cases/cases.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/cases/cases.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/cases/cases.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/cases/components/cases.stories.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/cases/components/cases.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/cases/components/cases.stories.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/cases/components/cases.stories.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/cases/components/cases.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/cases/components/cases.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/cases/components/cases.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/cases/components/cases.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/cases/components/empty_page.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/cases/components/empty_page.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/cases/components/empty_page.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/cases/components/empty_page.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/cases/components/feature_no_permissions.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/cases/components/feature_no_permissions.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/cases/components/feature_no_permissions.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/cases/components/feature_no_permissions.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/landing/landing.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/landing/landing.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/landing/landing.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/landing/landing.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/chart_container/chart_container.test.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/chart_container/chart_container.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/chart_container/chart_container.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/chart_container/chart_container.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/chart_container/chart_container.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/chart_container/chart_container.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/chart_container/chart_container.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/chart_container/chart_container.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/data_assistant_flyout.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/data_assistant_flyout.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/data_assistant_flyout.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/data_assistant_flyout.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/data_sections.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/data_sections.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/data_sections.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/data_sections.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/date_picker/date_picker.test.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/date_picker/date_picker.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/date_picker/date_picker.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/date_picker/date_picker.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/date_picker/date_picker.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/date_picker/date_picker.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/date_picker/date_picker.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/date_picker/date_picker.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/date_picker/index.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/date_picker/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/date_picker/index.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/date_picker/index.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/header_actions/header_actions.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/header_actions/header_actions.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/header_actions/header_actions.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/header_actions/header_actions.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/header_menu/header_menu.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/header_menu/header_menu.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/header_menu/header_menu.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/header_menu/header_menu.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/header_menu/header_menu_portal.test.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/header_menu/header_menu_portal.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/header_menu/header_menu_portal.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/header_menu/header_menu_portal.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/header_menu/header_menu_portal.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/header_menu/header_menu_portal.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/header_menu/header_menu_portal.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/header_menu/header_menu_portal.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/news_feed/helpers/get_news_feed.test.ts b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/news_feed/helpers/get_news_feed.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/news_feed/helpers/get_news_feed.test.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/news_feed/helpers/get_news_feed.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/news_feed/helpers/get_news_feed.ts b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/news_feed/helpers/get_news_feed.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/news_feed/helpers/get_news_feed.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/news_feed/helpers/get_news_feed.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/news_feed/news_feed.test.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/news_feed/news_feed.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/news_feed/news_feed.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/news_feed/news_feed.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/news_feed/news_feed.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/news_feed/news_feed.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/news_feed/news_feed.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/news_feed/news_feed.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/observability_onboarding_callout.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/observability_onboarding_callout.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/observability_onboarding_callout.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/observability_onboarding_callout.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/observability_status/content.ts b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/observability_status/content.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/observability_status/content.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/observability_status/content.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/observability_status/index.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/observability_status/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/observability_status/index.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/observability_status/index.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/observability_status/observability_status.stories.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/observability_status/observability_status.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/observability_status/observability_status.stories.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/observability_status/observability_status.stories.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/observability_status/observability_status_box.test.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/observability_status/observability_status_box.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/observability_status/observability_status_box.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/observability_status/observability_status_box.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/observability_status/observability_status_box.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/observability_status/observability_status_box.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/observability_status/observability_status_box.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/observability_status/observability_status_box.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/observability_status/observability_status_boxes.test.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/observability_status/observability_status_boxes.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/observability_status/observability_status_boxes.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/observability_status/observability_status_boxes.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/observability_status/observability_status_boxes.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/observability_status/observability_status_boxes.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/observability_status/observability_status_boxes.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/observability_status/observability_status_boxes.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/observability_status/observability_status_progress.test.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/observability_status/observability_status_progress.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/observability_status/observability_status_progress.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/observability_status/observability_status_progress.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/observability_status/observability_status_progress.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/observability_status/observability_status_progress.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/observability_status/observability_status_progress.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/observability_status/observability_status_progress.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/resources.test.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/resources.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/resources.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/resources.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/resources.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/resources.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/resources.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/resources.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/apm/apm_section.test.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/apm/apm_section.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/apm/apm_section.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/apm/apm_section.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/apm/apm_section.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/apm/apm_section.tsx similarity index 99% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/apm/apm_section.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/apm/apm_section.tsx index 2535dc07ef234..196e9cd6bd901 100644 --- a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/apm/apm_section.tsx +++ b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/apm/apm_section.tsx @@ -72,7 +72,7 @@ export function APMSection({ bucketSize }: Props) { } }, // `forceUpdate` and `lastUpdated` should trigger a reload - // eslint-disable-next-line react-hooks/exhaustive-deps + [bucketSize, relativeStart, relativeEnd, absoluteStart, absoluteEnd, forceUpdate, lastUpdated] ); diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/apm/mock_data/apm.mock.ts b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/apm/mock_data/apm.mock.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/apm/mock_data/apm.mock.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/apm/mock_data/apm.mock.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/empty/empty_section.test.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/empty/empty_section.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/empty/empty_section.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/empty/empty_section.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/empty/empty_section.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/empty/empty_section.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/empty/empty_section.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/empty/empty_section.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/empty/empty_sections.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/empty/empty_sections.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/empty/empty_sections.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/empty/empty_sections.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/error_panel/error_panel.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/error_panel/error_panel.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/error_panel/error_panel.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/error_panel/error_panel.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/logs/logs_section.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/logs/logs_section.tsx similarity index 99% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/logs/logs_section.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/logs/logs_section.tsx index cc13fd6d1e788..1182e0cbdcb1a 100644 --- a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/logs/logs_section.tsx +++ b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/logs/logs_section.tsx @@ -72,7 +72,7 @@ export function LogsSection({ bucketSize }: Props) { }, // `forceUpdate` and `lastUpdated` trigger a reload - // eslint-disable-next-line react-hooks/exhaustive-deps + [bucketSize, relativeStart, relativeEnd, absoluteStart, absoluteEnd, forceUpdate, lastUpdated] ); diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/host_link.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/host_link.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/host_link.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/host_link.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/lib/format_duration.test.ts b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/lib/format_duration.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/lib/format_duration.test.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/lib/format_duration.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/lib/format_duration.ts b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/lib/format_duration.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/lib/format_duration.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/lib/format_duration.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/logos/aix.svg b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/logos/aix.svg similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/logos/aix.svg rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/logos/aix.svg diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/logos/android.svg b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/logos/android.svg similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/logos/android.svg rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/logos/android.svg diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/logos/darwin.svg b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/logos/darwin.svg similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/logos/darwin.svg rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/logos/darwin.svg diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/logos/dragonfly.svg b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/logos/dragonfly.svg similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/logos/dragonfly.svg rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/logos/dragonfly.svg diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/logos/freebsd.svg b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/logos/freebsd.svg similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/logos/freebsd.svg rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/logos/freebsd.svg diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/logos/illumos.svg b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/logos/illumos.svg similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/logos/illumos.svg rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/logos/illumos.svg diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/logos/linux.svg b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/logos/linux.svg similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/logos/linux.svg rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/logos/linux.svg diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/logos/netbsd.svg b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/logos/netbsd.svg similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/logos/netbsd.svg rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/logos/netbsd.svg diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/logos/solaris.svg b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/logos/solaris.svg similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/logos/solaris.svg rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/logos/solaris.svg diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/metric_with_sparkline.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/metric_with_sparkline.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/metric_with_sparkline.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/metric_with_sparkline.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/metrics_section.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/metrics_section.tsx similarity index 99% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/metrics_section.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/metrics_section.tsx index 99d526a66facd..e943d99fbaa43 100644 --- a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/metrics/metrics_section.tsx +++ b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/metrics/metrics_section.tsx @@ -67,7 +67,6 @@ export function MetricsSection({ bucketSize }: Props) { }); } // `forceUpdate` and `lastUpdated` should trigger a reload - // eslint-disable-next-line react-hooks/exhaustive-deps }, [ bucketSize, relativeStart, diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/section_container.test.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/section_container.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/section_container.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/section_container.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/section_container.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/section_container.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/section_container.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/section_container.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/uptime/uptime_section.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/uptime/uptime_section.tsx similarity index 99% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/uptime/uptime_section.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/uptime/uptime_section.tsx index 673ee81c9b79c..b59a051e48d50 100644 --- a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/uptime/uptime_section.tsx +++ b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/uptime/uptime_section.tsx @@ -65,7 +65,7 @@ export function UptimeSection({ bucketSize }: Props) { } }, // `forceUpdate` and `lastUpdated` should trigger a reload - // eslint-disable-next-line react-hooks/exhaustive-deps + [ bucketSize, relativeStart, diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/core_web_vitals/__stories__/core_vitals.stories.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/core_web_vitals/__stories__/core_vitals.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/core_web_vitals/__stories__/core_vitals.stories.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/core_web_vitals/__stories__/core_vitals.stories.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/core_web_vitals/color_palette_flex_item.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/core_web_vitals/color_palette_flex_item.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/core_web_vitals/color_palette_flex_item.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/core_web_vitals/color_palette_flex_item.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/core_web_vitals/core_vital_item.test.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/core_web_vitals/core_vital_item.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/core_web_vitals/core_vital_item.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/core_web_vitals/core_vital_item.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/core_web_vitals/core_vital_item.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/core_web_vitals/core_vital_item.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/core_web_vitals/core_vital_item.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/core_web_vitals/core_vital_item.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/core_web_vitals/core_vitals.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/core_web_vitals/core_vitals.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/core_web_vitals/core_vitals.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/core_web_vitals/core_vitals.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/core_web_vitals/get_core_web_vitals_lazy.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/core_web_vitals/get_core_web_vitals_lazy.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/core_web_vitals/get_core_web_vitals_lazy.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/core_web_vitals/get_core_web_vitals_lazy.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/core_web_vitals/palette_legends.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/core_web_vitals/palette_legends.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/core_web_vitals/palette_legends.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/core_web_vitals/palette_legends.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/core_web_vitals/service_name.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/core_web_vitals/service_name.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/core_web_vitals/service_name.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/core_web_vitals/service_name.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/core_web_vitals/translations.ts b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/core_web_vitals/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/core_web_vitals/translations.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/core_web_vitals/translations.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/core_web_vitals/web_core_vitals_title.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/core_web_vitals/web_core_vitals_title.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/core_web_vitals/web_core_vitals_title.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/core_web_vitals/web_core_vitals_title.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/mock_data/ux.mock.ts b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/mock_data/ux.mock.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/mock_data/ux.mock.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/mock_data/ux.mock.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/ux_section.test.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/ux_section.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/ux_section.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/ux_section.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/ux_section.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/ux_section.tsx similarity index 98% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/ux_section.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/ux_section.tsx index ec6aa5a3a9024..4267d4ad9872c 100644 --- a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/sections/ux/ux_section.tsx +++ b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/sections/ux/ux_section.tsx @@ -64,7 +64,7 @@ export function UXSection({ bucketSize }: Props) { } }, // `forceUpdate` and `lastUpdated` should trigger a reload - // eslint-disable-next-line react-hooks/exhaustive-deps + [ bucketSize, relativeStart, diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/components/styled_stat/styled_stat.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/components/styled_stat/styled_stat.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/components/styled_stat/styled_stat.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/components/styled_stat/styled_stat.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/helpers/calculate_bucket_size.test.ts b/x-pack/solutions/observability/plugins/observability/public/pages/overview/helpers/calculate_bucket_size.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/helpers/calculate_bucket_size.test.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/helpers/calculate_bucket_size.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/helpers/calculate_bucket_size.ts b/x-pack/solutions/observability/plugins/observability/public/pages/overview/helpers/calculate_bucket_size.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/helpers/calculate_bucket_size.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/helpers/calculate_bucket_size.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/helpers/on_brush_end.test.ts b/x-pack/solutions/observability/plugins/observability/public/pages/overview/helpers/on_brush_end.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/helpers/on_brush_end.test.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/helpers/on_brush_end.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/helpers/on_brush_end.ts b/x-pack/solutions/observability/plugins/observability/public/pages/overview/helpers/on_brush_end.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/helpers/on_brush_end.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/helpers/on_brush_end.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/helpers/use_overview_metrics.ts b/x-pack/solutions/observability/plugins/observability/public/pages/overview/helpers/use_overview_metrics.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/helpers/use_overview_metrics.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/helpers/use_overview_metrics.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/mock/alerts.mock.ts b/x-pack/solutions/observability/plugins/observability/public/pages/overview/mock/alerts.mock.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/mock/alerts.mock.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/mock/alerts.mock.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/mock/apm.mock.ts b/x-pack/solutions/observability/plugins/observability/public/pages/overview/mock/apm.mock.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/mock/apm.mock.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/mock/apm.mock.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/mock/logs.mock.ts b/x-pack/solutions/observability/plugins/observability/public/pages/overview/mock/logs.mock.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/mock/logs.mock.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/mock/logs.mock.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/mock/metrics.mock.ts b/x-pack/solutions/observability/plugins/observability/public/pages/overview/mock/metrics.mock.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/mock/metrics.mock.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/mock/metrics.mock.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/mock/news_feed.mock.ts b/x-pack/solutions/observability/plugins/observability/public/pages/overview/mock/news_feed.mock.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/mock/news_feed.mock.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/mock/news_feed.mock.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/mock/uptime.mock.ts b/x-pack/solutions/observability/plugins/observability/public/pages/overview/mock/uptime.mock.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/mock/uptime.mock.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/mock/uptime.mock.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/overview.stories.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/overview.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/overview.stories.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/overview.stories.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/overview/overview.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/overview/overview.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/overview/overview.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/overview/overview.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/rule_details/components/delete_confirmation_modal.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/rule_details/components/delete_confirmation_modal.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/rule_details/components/delete_confirmation_modal.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/rule_details/components/delete_confirmation_modal.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/rule_details/components/header_actions.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/rule_details/components/header_actions.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/rule_details/components/header_actions.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/rule_details/components/header_actions.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/rule_details/components/no_rule_found_panel.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/rule_details/components/no_rule_found_panel.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/rule_details/components/no_rule_found_panel.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/rule_details/components/no_rule_found_panel.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/rule_details/components/page_title_content.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/rule_details/components/page_title_content.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/rule_details/components/page_title_content.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/rule_details/components/page_title_content.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/rule_details/components/rule_details_tabs.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/rule_details/components/rule_details_tabs.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/rule_details/components/rule_details_tabs.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/rule_details/components/rule_details_tabs.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/rule_details/constants.ts b/x-pack/solutions/observability/plugins/observability/public/pages/rule_details/constants.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/rule_details/constants.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/rule_details/constants.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/rule_details/helpers/get_health_color.ts b/x-pack/solutions/observability/plugins/observability/public/pages/rule_details/helpers/get_health_color.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/rule_details/helpers/get_health_color.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/rule_details/helpers/get_health_color.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/rule_details/helpers/is_rule_editable.ts b/x-pack/solutions/observability/plugins/observability/public/pages/rule_details/helpers/is_rule_editable.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/rule_details/helpers/is_rule_editable.ts rename to x-pack/solutions/observability/plugins/observability/public/pages/rule_details/helpers/is_rule_editable.ts diff --git a/x-pack/plugins/observability_solution/observability/public/pages/rule_details/rule_details.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/rule_details/rule_details.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/rule_details/rule_details.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/rule_details/rule_details.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/rules/global_logs_tab.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/rules/global_logs_tab.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/rules/global_logs_tab.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/rules/global_logs_tab.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/rules/rules.test.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/rules/rules.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/rules/rules.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/rules/rules.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/rules/rules.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/rules/rules.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/rules/rules.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/rules/rules.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/pages/rules/rules_tab.tsx b/x-pack/solutions/observability/plugins/observability/public/pages/rules/rules_tab.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/pages/rules/rules_tab.tsx rename to x-pack/solutions/observability/plugins/observability/public/pages/rules/rules_tab.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/plugin.mock.tsx b/x-pack/solutions/observability/plugins/observability/public/plugin.mock.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/plugin.mock.tsx rename to x-pack/solutions/observability/plugins/observability/public/plugin.mock.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/plugin.ts b/x-pack/solutions/observability/plugins/observability/public/plugin.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/plugin.ts rename to x-pack/solutions/observability/plugins/observability/public/plugin.ts diff --git a/x-pack/plugins/observability_solution/observability/public/routes/routes.tsx b/x-pack/solutions/observability/plugins/observability/public/routes/routes.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/routes/routes.tsx rename to x-pack/solutions/observability/plugins/observability/public/routes/routes.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/rules/create_observability_rule_type_registry.ts b/x-pack/solutions/observability/plugins/observability/public/rules/create_observability_rule_type_registry.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/rules/create_observability_rule_type_registry.ts rename to x-pack/solutions/observability/plugins/observability/public/rules/create_observability_rule_type_registry.ts diff --git a/x-pack/plugins/observability_solution/observability/public/rules/fixtures/example_alerts.ts b/x-pack/solutions/observability/plugins/observability/public/rules/fixtures/example_alerts.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/rules/fixtures/example_alerts.ts rename to x-pack/solutions/observability/plugins/observability/public/rules/fixtures/example_alerts.ts diff --git a/x-pack/plugins/observability_solution/observability/public/rules/observability_rule_type_registry_mock.ts b/x-pack/solutions/observability/plugins/observability/public/rules/observability_rule_type_registry_mock.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/rules/observability_rule_type_registry_mock.ts rename to x-pack/solutions/observability/plugins/observability/public/rules/observability_rule_type_registry_mock.ts diff --git a/x-pack/plugins/observability_solution/observability/public/rules/register_observability_rule_types.ts b/x-pack/solutions/observability/plugins/observability/public/rules/register_observability_rule_types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/rules/register_observability_rule_types.ts rename to x-pack/solutions/observability/plugins/observability/public/rules/register_observability_rule_types.ts diff --git a/x-pack/plugins/observability_solution/observability/public/test_utils/use_global_storybook_theme.tsx b/x-pack/solutions/observability/plugins/observability/public/test_utils/use_global_storybook_theme.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/test_utils/use_global_storybook_theme.tsx rename to x-pack/solutions/observability/plugins/observability/public/test_utils/use_global_storybook_theme.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/typings/alerts.ts b/x-pack/solutions/observability/plugins/observability/public/typings/alerts.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/typings/alerts.ts rename to x-pack/solutions/observability/plugins/observability/public/typings/alerts.ts diff --git a/x-pack/plugins/observability_solution/observability/public/typings/fetch_overview_data/index.ts b/x-pack/solutions/observability/plugins/observability/public/typings/fetch_overview_data/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/typings/fetch_overview_data/index.ts rename to x-pack/solutions/observability/plugins/observability/public/typings/fetch_overview_data/index.ts diff --git a/x-pack/plugins/observability_solution/observability/public/typings/index.ts b/x-pack/solutions/observability/plugins/observability/public/typings/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/typings/index.ts rename to x-pack/solutions/observability/plugins/observability/public/typings/index.ts diff --git a/x-pack/plugins/observability_solution/observability/public/typings/utils.ts b/x-pack/solutions/observability/plugins/observability/public/typings/utils.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/typings/utils.ts rename to x-pack/solutions/observability/plugins/observability/public/typings/utils.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/alert_summary_widget/constants.ts b/x-pack/solutions/observability/plugins/observability/public/utils/alert_summary_widget/constants.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/alert_summary_widget/constants.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/alert_summary_widget/constants.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/alert_summary_widget/get_alert_summary_time_range.test.tsx b/x-pack/solutions/observability/plugins/observability/public/utils/alert_summary_widget/get_alert_summary_time_range.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/alert_summary_widget/get_alert_summary_time_range.test.tsx rename to x-pack/solutions/observability/plugins/observability/public/utils/alert_summary_widget/get_alert_summary_time_range.test.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/utils/alert_summary_widget/get_alert_summary_time_range.tsx b/x-pack/solutions/observability/plugins/observability/public/utils/alert_summary_widget/get_alert_summary_time_range.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/alert_summary_widget/get_alert_summary_time_range.tsx rename to x-pack/solutions/observability/plugins/observability/public/utils/alert_summary_widget/get_alert_summary_time_range.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/utils/alert_summary_widget/index.ts b/x-pack/solutions/observability/plugins/observability/public/utils/alert_summary_widget/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/alert_summary_widget/index.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/alert_summary_widget/index.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/build_es_query/__snapshots__/build_es_query.test.ts.snap b/x-pack/solutions/observability/plugins/observability/public/utils/build_es_query/__snapshots__/build_es_query.test.ts.snap similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/build_es_query/__snapshots__/build_es_query.test.ts.snap rename to x-pack/solutions/observability/plugins/observability/public/utils/build_es_query/__snapshots__/build_es_query.test.ts.snap diff --git a/x-pack/plugins/observability_solution/observability/public/utils/build_es_query/build_es_query.test.ts b/x-pack/solutions/observability/plugins/observability/public/utils/build_es_query/build_es_query.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/build_es_query/build_es_query.test.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/build_es_query/build_es_query.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/build_es_query/build_es_query.ts b/x-pack/solutions/observability/plugins/observability/public/utils/build_es_query/build_es_query.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/build_es_query/build_es_query.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/build_es_query/build_es_query.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/build_es_query/index.ts b/x-pack/solutions/observability/plugins/observability/public/utils/build_es_query/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/build_es_query/index.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/build_es_query/index.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/date.ts b/x-pack/solutions/observability/plugins/observability/public/utils/date.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/date.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/date.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/datemath.test.ts b/x-pack/solutions/observability/plugins/observability/public/utils/datemath.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/datemath.test.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/datemath.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/datemath.ts b/x-pack/solutions/observability/plugins/observability/public/utils/datemath.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/datemath.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/datemath.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/format_alert_evaluation_value.test.ts b/x-pack/solutions/observability/plugins/observability/public/utils/format_alert_evaluation_value.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/format_alert_evaluation_value.test.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/format_alert_evaluation_value.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/format_alert_evaluation_value.ts b/x-pack/solutions/observability/plugins/observability/public/utils/format_alert_evaluation_value.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/format_alert_evaluation_value.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/format_alert_evaluation_value.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/format_stat_value.test.ts b/x-pack/solutions/observability/plugins/observability/public/utils/format_stat_value.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/format_stat_value.test.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/format_stat_value.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/format_stat_value.ts b/x-pack/solutions/observability/plugins/observability/public/utils/format_stat_value.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/format_stat_value.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/format_stat_value.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/get_alert_evaluation_unit_type_by_rule_type_id.ts b/x-pack/solutions/observability/plugins/observability/public/utils/get_alert_evaluation_unit_type_by_rule_type_id.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/get_alert_evaluation_unit_type_by_rule_type_id.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/get_alert_evaluation_unit_type_by_rule_type_id.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/get_apm_trace_url.test.ts b/x-pack/solutions/observability/plugins/observability/public/utils/get_apm_trace_url.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/get_apm_trace_url.test.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/get_apm_trace_url.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/get_apm_trace_url.ts b/x-pack/solutions/observability/plugins/observability/public/utils/get_apm_trace_url.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/get_apm_trace_url.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/get_apm_trace_url.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/get_bucket_size/calculate_auto.js b/x-pack/solutions/observability/plugins/observability/public/utils/get_bucket_size/calculate_auto.js similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/get_bucket_size/calculate_auto.js rename to x-pack/solutions/observability/plugins/observability/public/utils/get_bucket_size/calculate_auto.js diff --git a/x-pack/plugins/observability_solution/observability/public/utils/get_bucket_size/index.test.ts b/x-pack/solutions/observability/plugins/observability/public/utils/get_bucket_size/index.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/get_bucket_size/index.test.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/get_bucket_size/index.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/get_bucket_size/index.ts b/x-pack/solutions/observability/plugins/observability/public/utils/get_bucket_size/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/get_bucket_size/index.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/get_bucket_size/index.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/get_bucket_size/unit_to_seconds.ts b/x-pack/solutions/observability/plugins/observability/public/utils/get_bucket_size/unit_to_seconds.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/get_bucket_size/unit_to_seconds.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/get_bucket_size/unit_to_seconds.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/get_time_zone.ts b/x-pack/solutions/observability/plugins/observability/public/utils/get_time_zone.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/get_time_zone.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/get_time_zone.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/investigation_item_helper.ts b/x-pack/solutions/observability/plugins/observability/public/utils/investigation_item_helper.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/investigation_item_helper.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/investigation_item_helper.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/is_alert_details_enabled.test.ts b/x-pack/solutions/observability/plugins/observability/public/utils/is_alert_details_enabled.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/is_alert_details_enabled.test.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/is_alert_details_enabled.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/is_alert_details_enabled.ts b/x-pack/solutions/observability/plugins/observability/public/utils/is_alert_details_enabled.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/is_alert_details_enabled.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/is_alert_details_enabled.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/kibana_react.mock.ts b/x-pack/solutions/observability/plugins/observability/public/utils/kibana_react.mock.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/kibana_react.mock.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/kibana_react.mock.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/kibana_react.storybook_decorator.tsx b/x-pack/solutions/observability/plugins/observability/public/utils/kibana_react.storybook_decorator.tsx similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/kibana_react.storybook_decorator.tsx rename to x-pack/solutions/observability/plugins/observability/public/utils/kibana_react.storybook_decorator.tsx diff --git a/x-pack/plugins/observability_solution/observability/public/utils/kibana_react.ts b/x-pack/solutions/observability/plugins/observability/public/utils/kibana_react.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/kibana_react.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/kibana_react.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/no_data_config.ts b/x-pack/solutions/observability/plugins/observability/public/utils/no_data_config.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/no_data_config.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/no_data_config.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/test_helper.tsx b/x-pack/solutions/observability/plugins/observability/public/utils/test_helper.tsx similarity index 96% rename from x-pack/plugins/observability_solution/observability/public/utils/test_helper.tsx rename to x-pack/solutions/observability/plugins/observability/public/utils/test_helper.tsx index 16184c5621594..2612ae5567555 100644 --- a/x-pack/plugins/observability_solution/observability/public/utils/test_helper.tsx +++ b/x-pack/solutions/observability/plugins/observability/public/utils/test_helper.tsx @@ -59,7 +59,7 @@ export const render = (component: React.ReactNode, config: Subset exploratoryView: { createExploratoryViewUrl: jest.fn(), getAppDataView: jest.fn(), - // eslint-disable-next-line @kbn/i18n/strings_should_be_translated_with_i18n + ExploratoryViewEmbeddable: () =>
Embeddable exploratory view
, }, }} diff --git a/x-pack/plugins/observability_solution/observability/public/utils/url.test.ts b/x-pack/solutions/observability/plugins/observability/public/utils/url.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/url.test.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/url.test.ts diff --git a/x-pack/plugins/observability_solution/observability/public/utils/url.ts b/x-pack/solutions/observability/plugins/observability/public/utils/url.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/public/utils/url.ts rename to x-pack/solutions/observability/plugins/observability/public/utils/url.ts diff --git a/x-pack/plugins/observability_solution/observability/scripts/storybook.js b/x-pack/solutions/observability/plugins/observability/scripts/storybook.js similarity index 100% rename from x-pack/plugins/observability_solution/observability/scripts/storybook.js rename to x-pack/solutions/observability/plugins/observability/scripts/storybook.js diff --git a/x-pack/plugins/observability_solution/observability/server/common/constants.ts b/x-pack/solutions/observability/plugins/observability/server/common/constants.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/common/constants.ts rename to x-pack/solutions/observability/plugins/observability/server/common/constants.ts diff --git a/x-pack/plugins/observability_solution/observability/server/features/cases_v1.ts b/x-pack/solutions/observability/plugins/observability/server/features/cases_v1.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/features/cases_v1.ts rename to x-pack/solutions/observability/plugins/observability/server/features/cases_v1.ts diff --git a/x-pack/plugins/observability_solution/observability/server/features/cases_v2.ts b/x-pack/solutions/observability/plugins/observability/server/features/cases_v2.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/features/cases_v2.ts rename to x-pack/solutions/observability/plugins/observability/server/features/cases_v2.ts diff --git a/x-pack/plugins/observability_solution/observability/server/index.ts b/x-pack/solutions/observability/plugins/observability/server/index.ts similarity index 98% rename from x-pack/plugins/observability_solution/observability/server/index.ts rename to x-pack/solutions/observability/plugins/observability/server/index.ts index ace13ca5ed66a..913b52e7eb6fb 100644 --- a/x-pack/plugins/observability_solution/observability/server/index.ts +++ b/x-pack/solutions/observability/plugins/observability/server/index.ts @@ -6,7 +6,6 @@ */ // TODO: https://github.com/elastic/kibana/issues/110905 -/* eslint-disable @kbn/eslint/no_export_all */ import { offeringBasedSchema, schema, TypeOf } from '@kbn/config-schema'; import { PluginConfigDescriptor, PluginInitializerContext } from '@kbn/core/server'; diff --git a/x-pack/plugins/observability_solution/observability/server/lib/annotations/bootstrap_annotations.ts b/x-pack/solutions/observability/plugins/observability/server/lib/annotations/bootstrap_annotations.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/annotations/bootstrap_annotations.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/annotations/bootstrap_annotations.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/annotations/create_annotations_client.ts b/x-pack/solutions/observability/plugins/observability/server/lib/annotations/create_annotations_client.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/annotations/create_annotations_client.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/annotations/create_annotations_client.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/annotations/format_annotations.ts b/x-pack/solutions/observability/plugins/observability/server/lib/annotations/format_annotations.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/annotations/format_annotations.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/annotations/format_annotations.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/annotations/mappings/annotation_mappings.ts b/x-pack/solutions/observability/plugins/observability/server/lib/annotations/mappings/annotation_mappings.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/annotations/mappings/annotation_mappings.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/annotations/mappings/annotation_mappings.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/annotations/permissions.ts b/x-pack/solutions/observability/plugins/observability/server/lib/annotations/permissions.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/annotations/permissions.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/annotations/permissions.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/annotations/register_annotation_apis.ts b/x-pack/solutions/observability/plugins/observability/server/lib/annotations/register_annotation_apis.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/annotations/register_annotation_apis.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/annotations/register_annotation_apis.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/constants.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/constants.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/constants.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/constants.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/custom_threshold_executor.test.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/custom_threshold_executor.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/custom_threshold_executor.test.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/custom_threshold_executor.test.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/custom_threshold_executor.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/custom_threshold_executor.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/custom_threshold_executor.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/custom_threshold_executor.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/check_missing_group.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/check_missing_group.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/check_missing_group.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/check_missing_group.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/create_bucket_selector.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/create_bucket_selector.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/create_bucket_selector.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/create_bucket_selector.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/create_condition_script.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/create_condition_script.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/create_condition_script.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/create_condition_script.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/create_custom_metrics_aggregations.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/create_custom_metrics_aggregations.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/create_custom_metrics_aggregations.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/create_custom_metrics_aggregations.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/create_last_value_aggregation.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/create_last_value_aggregation.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/create_last_value_aggregation.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/create_last_value_aggregation.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/create_rate_aggregation.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/create_rate_aggregation.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/create_rate_aggregation.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/create_rate_aggregation.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/create_timerange.test.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/create_timerange.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/create_timerange.test.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/create_timerange.test.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/create_timerange.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/create_timerange.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/create_timerange.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/create_timerange.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/evaluate_rule.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/evaluate_rule.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/evaluate_rule.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/evaluate_rule.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/format_alert_result.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/format_alert_result.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/format_alert_result.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/format_alert_result.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/get_data.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/get_data.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/get_data.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/get_data.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/get_values.test.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/get_values.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/get_values.test.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/get_values.test.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/get_values.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/get_values.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/get_values.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/get_values.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/metric_query.test.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/metric_query.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/metric_query.test.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/metric_query.test.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/metric_query.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/metric_query.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/metric_query.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/metric_query.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/wrap_in_period.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/wrap_in_period.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/lib/wrap_in_period.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/lib/wrap_in_period.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/messages.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/messages.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/messages.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/messages.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/mocks/custom_threshold_alert_result.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/mocks/custom_threshold_alert_result.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/mocks/custom_threshold_alert_result.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/mocks/custom_threshold_alert_result.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/mocks/custom_threshold_metric_params.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/mocks/custom_threshold_metric_params.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/mocks/custom_threshold_metric_params.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/mocks/custom_threshold_metric_params.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/register_custom_threshold_rule_type.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/register_custom_threshold_rule_type.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/register_custom_threshold_rule_type.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/register_custom_threshold_rule_type.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/translations.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/translations.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/translations.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/types.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/types.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/types.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/utils.test.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/utils.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/utils.test.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/utils.test.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/utils.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/utils.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/custom_threshold/utils.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/custom_threshold/utils.ts diff --git a/x-pack/plugins/observability_solution/observability/server/lib/rules/register_rule_types.ts b/x-pack/solutions/observability/plugins/observability/server/lib/rules/register_rule_types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/lib/rules/register_rule_types.ts rename to x-pack/solutions/observability/plugins/observability/server/lib/rules/register_rule_types.ts diff --git a/x-pack/plugins/observability_solution/observability/server/plugin.ts b/x-pack/solutions/observability/plugins/observability/server/plugin.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/plugin.ts rename to x-pack/solutions/observability/plugins/observability/server/plugin.ts diff --git a/x-pack/plugins/observability_solution/observability/server/routes/assistant/route.ts b/x-pack/solutions/observability/plugins/observability/server/routes/assistant/route.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/routes/assistant/route.ts rename to x-pack/solutions/observability/plugins/observability/server/routes/assistant/route.ts diff --git a/x-pack/plugins/observability_solution/observability/server/routes/create_observability_server_route.ts b/x-pack/solutions/observability/plugins/observability/server/routes/create_observability_server_route.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/routes/create_observability_server_route.ts rename to x-pack/solutions/observability/plugins/observability/server/routes/create_observability_server_route.ts diff --git a/x-pack/plugins/observability_solution/observability/server/routes/get_global_observability_server_route_repository.ts b/x-pack/solutions/observability/plugins/observability/server/routes/get_global_observability_server_route_repository.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/routes/get_global_observability_server_route_repository.ts rename to x-pack/solutions/observability/plugins/observability/server/routes/get_global_observability_server_route_repository.ts diff --git a/x-pack/plugins/observability_solution/observability/server/routes/register_routes.ts b/x-pack/solutions/observability/plugins/observability/server/routes/register_routes.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/routes/register_routes.ts rename to x-pack/solutions/observability/plugins/observability/server/routes/register_routes.ts diff --git a/x-pack/plugins/observability_solution/observability/server/routes/rules/route.ts b/x-pack/solutions/observability/plugins/observability/server/routes/rules/route.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/routes/rules/route.ts rename to x-pack/solutions/observability/plugins/observability/server/routes/rules/route.ts diff --git a/x-pack/plugins/observability_solution/observability/server/routes/types.ts b/x-pack/solutions/observability/plugins/observability/server/routes/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/routes/types.ts rename to x-pack/solutions/observability/plugins/observability/server/routes/types.ts diff --git a/x-pack/plugins/observability_solution/observability/server/saved_objects/threshold.ts b/x-pack/solutions/observability/plugins/observability/server/saved_objects/threshold.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/saved_objects/threshold.ts rename to x-pack/solutions/observability/plugins/observability/server/saved_objects/threshold.ts diff --git a/x-pack/plugins/observability_solution/observability/server/services/index.test.ts b/x-pack/solutions/observability/plugins/observability/server/services/index.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/services/index.test.ts rename to x-pack/solutions/observability/plugins/observability/server/services/index.test.ts diff --git a/x-pack/plugins/observability_solution/observability/server/services/index.ts b/x-pack/solutions/observability/plugins/observability/server/services/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/services/index.ts rename to x-pack/solutions/observability/plugins/observability/server/services/index.ts diff --git a/x-pack/plugins/observability_solution/observability/server/types.ts b/x-pack/solutions/observability/plugins/observability/server/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/types.ts rename to x-pack/solutions/observability/plugins/observability/server/types.ts diff --git a/x-pack/plugins/observability_solution/observability/server/ui_settings.ts b/x-pack/solutions/observability/plugins/observability/server/ui_settings.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/ui_settings.ts rename to x-pack/solutions/observability/plugins/observability/server/ui_settings.ts diff --git a/x-pack/plugins/observability_solution/observability/server/utils/create_or_update_index.ts b/x-pack/solutions/observability/plugins/observability/server/utils/create_or_update_index.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/utils/create_or_update_index.ts rename to x-pack/solutions/observability/plugins/observability/server/utils/create_or_update_index.ts diff --git a/x-pack/plugins/observability_solution/observability/server/utils/create_or_update_index_template.ts b/x-pack/solutions/observability/plugins/observability/server/utils/create_or_update_index_template.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/utils/create_or_update_index_template.ts rename to x-pack/solutions/observability/plugins/observability/server/utils/create_or_update_index_template.ts diff --git a/x-pack/plugins/observability_solution/observability/server/utils/get_es_query_config.test.ts b/x-pack/solutions/observability/plugins/observability/server/utils/get_es_query_config.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/utils/get_es_query_config.test.ts rename to x-pack/solutions/observability/plugins/observability/server/utils/get_es_query_config.test.ts diff --git a/x-pack/plugins/observability_solution/observability/server/utils/get_es_query_config.ts b/x-pack/solutions/observability/plugins/observability/server/utils/get_es_query_config.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/utils/get_es_query_config.ts rename to x-pack/solutions/observability/plugins/observability/server/utils/get_es_query_config.ts diff --git a/x-pack/plugins/observability_solution/observability/server/utils/get_parsed_filtered_query.ts b/x-pack/solutions/observability/plugins/observability/server/utils/get_parsed_filtered_query.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/utils/get_parsed_filtered_query.ts rename to x-pack/solutions/observability/plugins/observability/server/utils/get_parsed_filtered_query.ts diff --git a/x-pack/plugins/observability_solution/observability/server/utils/number.ts b/x-pack/solutions/observability/plugins/observability/server/utils/number.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/utils/number.ts rename to x-pack/solutions/observability/plugins/observability/server/utils/number.ts diff --git a/x-pack/plugins/observability_solution/observability/server/utils/queries.test.ts b/x-pack/solutions/observability/plugins/observability/server/utils/queries.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/utils/queries.test.ts rename to x-pack/solutions/observability/plugins/observability/server/utils/queries.test.ts diff --git a/x-pack/plugins/observability_solution/observability/server/utils/queries.ts b/x-pack/solutions/observability/plugins/observability/server/utils/queries.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/utils/queries.ts rename to x-pack/solutions/observability/plugins/observability/server/utils/queries.ts diff --git a/x-pack/plugins/observability_solution/observability/server/utils/retry.test.ts b/x-pack/solutions/observability/plugins/observability/server/utils/retry.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/utils/retry.test.ts rename to x-pack/solutions/observability/plugins/observability/server/utils/retry.test.ts diff --git a/x-pack/plugins/observability_solution/observability/server/utils/retry.ts b/x-pack/solutions/observability/plugins/observability/server/utils/retry.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/server/utils/retry.ts rename to x-pack/solutions/observability/plugins/observability/server/utils/retry.ts diff --git a/x-pack/plugins/observability_solution/observability/tsconfig.json b/x-pack/solutions/observability/plugins/observability/tsconfig.json similarity index 97% rename from x-pack/plugins/observability_solution/observability/tsconfig.json rename to x-pack/solutions/observability/plugins/observability/tsconfig.json index 1d88901626da2..7ae72a4bf995b 100644 --- a/x-pack/plugins/observability_solution/observability/tsconfig.json +++ b/x-pack/solutions/observability/plugins/observability/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../../tsconfig.base.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types" }, @@ -9,7 +9,7 @@ "public/**/*.json", "server/**/*", "typings/**/*", - "../../../../typings/**/*" + "../../../../../typings/**/*" ], "kbn_references": [ "@kbn/rule-data-utils", diff --git a/x-pack/plugins/observability_solution/observability/typings/common.ts b/x-pack/solutions/observability/plugins/observability/typings/common.ts similarity index 100% rename from x-pack/plugins/observability_solution/observability/typings/common.ts rename to x-pack/solutions/observability/plugins/observability/typings/common.ts diff --git a/x-pack/plugins/serverless_observability/.gitignore b/x-pack/solutions/observability/plugins/serverless_observability/.gitignore similarity index 100% rename from x-pack/plugins/serverless_observability/.gitignore rename to x-pack/solutions/observability/plugins/serverless_observability/.gitignore diff --git a/x-pack/plugins/serverless_observability/README.mdx b/x-pack/solutions/observability/plugins/serverless_observability/README.mdx similarity index 100% rename from x-pack/plugins/serverless_observability/README.mdx rename to x-pack/solutions/observability/plugins/serverless_observability/README.mdx diff --git a/x-pack/plugins/serverless_observability/common/index.ts b/x-pack/solutions/observability/plugins/serverless_observability/common/index.ts similarity index 100% rename from x-pack/plugins/serverless_observability/common/index.ts rename to x-pack/solutions/observability/plugins/serverless_observability/common/index.ts diff --git a/x-pack/plugins/serverless_observability/kibana.jsonc b/x-pack/solutions/observability/plugins/serverless_observability/kibana.jsonc similarity index 100% rename from x-pack/plugins/serverless_observability/kibana.jsonc rename to x-pack/solutions/observability/plugins/serverless_observability/kibana.jsonc diff --git a/x-pack/plugins/serverless_observability/package.json b/x-pack/solutions/observability/plugins/serverless_observability/package.json similarity index 61% rename from x-pack/plugins/serverless_observability/package.json rename to x-pack/solutions/observability/plugins/serverless_observability/package.json index 64b310d7eabae..8097ad8f5b8bd 100644 --- a/x-pack/plugins/serverless_observability/package.json +++ b/x-pack/solutions/observability/plugins/serverless_observability/package.json @@ -5,7 +5,7 @@ "private": true, "scripts": { "build": "yarn plugin-helpers build", - "plugin-helpers": "node ../../../scripts/plugin_helpers", - "kbn": "node ../../../scripts/kbn" + "plugin-helpers": "node ../../../../../scripts/plugin_helpers", + "kbn": "node ../../../../../scripts/kbn" } } \ No newline at end of file diff --git a/x-pack/plugins/serverless_observability/public/index.ts b/x-pack/solutions/observability/plugins/serverless_observability/public/index.ts similarity index 100% rename from x-pack/plugins/serverless_observability/public/index.ts rename to x-pack/solutions/observability/plugins/serverless_observability/public/index.ts diff --git a/x-pack/plugins/serverless_observability/public/logs_signal/overview_registration.ts b/x-pack/solutions/observability/plugins/serverless_observability/public/logs_signal/overview_registration.ts similarity index 100% rename from x-pack/plugins/serverless_observability/public/logs_signal/overview_registration.ts rename to x-pack/solutions/observability/plugins/serverless_observability/public/logs_signal/overview_registration.ts diff --git a/x-pack/plugins/serverless_observability/public/navigation_tree.ts b/x-pack/solutions/observability/plugins/serverless_observability/public/navigation_tree.ts similarity index 100% rename from x-pack/plugins/serverless_observability/public/navigation_tree.ts rename to x-pack/solutions/observability/plugins/serverless_observability/public/navigation_tree.ts diff --git a/x-pack/plugins/serverless_observability/public/plugin.ts b/x-pack/solutions/observability/plugins/serverless_observability/public/plugin.ts similarity index 100% rename from x-pack/plugins/serverless_observability/public/plugin.ts rename to x-pack/solutions/observability/plugins/serverless_observability/public/plugin.ts diff --git a/x-pack/plugins/serverless_observability/public/types.ts b/x-pack/solutions/observability/plugins/serverless_observability/public/types.ts similarity index 100% rename from x-pack/plugins/serverless_observability/public/types.ts rename to x-pack/solutions/observability/plugins/serverless_observability/public/types.ts diff --git a/x-pack/plugins/serverless_observability/server/config.ts b/x-pack/solutions/observability/plugins/serverless_observability/server/config.ts similarity index 100% rename from x-pack/plugins/serverless_observability/server/config.ts rename to x-pack/solutions/observability/plugins/serverless_observability/server/config.ts diff --git a/x-pack/plugins/serverless_observability/server/index.ts b/x-pack/solutions/observability/plugins/serverless_observability/server/index.ts similarity index 100% rename from x-pack/plugins/serverless_observability/server/index.ts rename to x-pack/solutions/observability/plugins/serverless_observability/server/index.ts diff --git a/x-pack/plugins/serverless_observability/server/plugin.ts b/x-pack/solutions/observability/plugins/serverless_observability/server/plugin.ts similarity index 100% rename from x-pack/plugins/serverless_observability/server/plugin.ts rename to x-pack/solutions/observability/plugins/serverless_observability/server/plugin.ts diff --git a/x-pack/plugins/serverless_observability/server/types.ts b/x-pack/solutions/observability/plugins/serverless_observability/server/types.ts similarity index 100% rename from x-pack/plugins/serverless_observability/server/types.ts rename to x-pack/solutions/observability/plugins/serverless_observability/server/types.ts diff --git a/x-pack/plugins/serverless_observability/tsconfig.json b/x-pack/solutions/observability/plugins/serverless_observability/tsconfig.json similarity index 89% rename from x-pack/plugins/serverless_observability/tsconfig.json rename to x-pack/solutions/observability/plugins/serverless_observability/tsconfig.json index 5aa97143107ae..11bf6220cf12d 100644 --- a/x-pack/plugins/serverless_observability/tsconfig.json +++ b/x-pack/solutions/observability/plugins/serverless_observability/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../tsconfig.base.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types" }, @@ -9,7 +9,7 @@ "public/**/*.ts", "public/**/*.tsx", "server/**/*.ts", - "../../../typings/**/*" + "../../../../../typings/**/*" ], "exclude": [ "target/**/*" diff --git a/x-pack/plugins/observability_solution/synthetics/.buildkite/pipelines/flaky.js b/x-pack/solutions/observability/plugins/synthetics/.buildkite/pipelines/flaky.js similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/.buildkite/pipelines/flaky.js rename to x-pack/solutions/observability/plugins/synthetics/.buildkite/pipelines/flaky.js diff --git a/x-pack/solutions/observability/plugins/synthetics/.buildkite/pipelines/flaky.sh b/x-pack/solutions/observability/plugins/synthetics/.buildkite/pipelines/flaky.sh new file mode 100755 index 0000000000000..9763f45c1101c --- /dev/null +++ b/x-pack/solutions/observability/plugins/synthetics/.buildkite/pipelines/flaky.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +set -euo pipefail + +UUID="$(cat /proc/sys/kernel/random/uuid)" +export UUID + +node x-pack/solutions/observability/plugins/synthetics/.buildkite/pipelines/flaky.js | buildkite-agent pipeline upload diff --git a/x-pack/plugins/observability_solution/synthetics/README.md b/x-pack/solutions/observability/plugins/synthetics/README.md similarity index 98% rename from x-pack/plugins/observability_solution/synthetics/README.md rename to x-pack/solutions/observability/plugins/synthetics/README.md index d921fc2eb167a..cde8956844597 100644 --- a/x-pack/plugins/observability_solution/synthetics/README.md +++ b/x-pack/solutions/observability/plugins/synthetics/README.md @@ -45,7 +45,7 @@ There's also a `rest_api` folder that defines the structure of the RESTful API e Documentation: https://www.elastic.co/guide/en/kibana/current/development-tests.html#_unit_testing ``` -yarn test:jest x-pack/plugins/observability_solution/synthetics +yarn test:jest x-pack/solutions/observability/plugins/synthetics ``` ### Functional tests diff --git a/x-pack/plugins/observability_solution/synthetics/__mocks__/@kbn/code-editor/index.ts b/x-pack/solutions/observability/plugins/synthetics/__mocks__/@kbn/code-editor/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/__mocks__/@kbn/code-editor/index.ts rename to x-pack/solutions/observability/plugins/synthetics/__mocks__/@kbn/code-editor/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/constants/capabilities.ts b/x-pack/solutions/observability/plugins/synthetics/common/constants/capabilities.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/constants/capabilities.ts rename to x-pack/solutions/observability/plugins/synthetics/common/constants/capabilities.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/constants/client_defaults.ts b/x-pack/solutions/observability/plugins/synthetics/common/constants/client_defaults.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/constants/client_defaults.ts rename to x-pack/solutions/observability/plugins/synthetics/common/constants/client_defaults.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/constants/context_defaults.ts b/x-pack/solutions/observability/plugins/synthetics/common/constants/context_defaults.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/constants/context_defaults.ts rename to x-pack/solutions/observability/plugins/synthetics/common/constants/context_defaults.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/constants/data_filters.ts b/x-pack/solutions/observability/plugins/synthetics/common/constants/data_filters.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/constants/data_filters.ts rename to x-pack/solutions/observability/plugins/synthetics/common/constants/data_filters.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/constants/data_test_subjects.ts b/x-pack/solutions/observability/plugins/synthetics/common/constants/data_test_subjects.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/constants/data_test_subjects.ts rename to x-pack/solutions/observability/plugins/synthetics/common/constants/data_test_subjects.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/constants/index.ts b/x-pack/solutions/observability/plugins/synthetics/common/constants/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/constants/index.ts rename to x-pack/solutions/observability/plugins/synthetics/common/constants/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/constants/monitor_defaults.ts b/x-pack/solutions/observability/plugins/synthetics/common/constants/monitor_defaults.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/constants/monitor_defaults.ts rename to x-pack/solutions/observability/plugins/synthetics/common/constants/monitor_defaults.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/constants/monitor_management.ts b/x-pack/solutions/observability/plugins/synthetics/common/constants/monitor_management.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/constants/monitor_management.ts rename to x-pack/solutions/observability/plugins/synthetics/common/constants/monitor_management.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/constants/plugin.ts b/x-pack/solutions/observability/plugins/synthetics/common/constants/plugin.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/constants/plugin.ts rename to x-pack/solutions/observability/plugins/synthetics/common/constants/plugin.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/constants/settings_defaults.ts b/x-pack/solutions/observability/plugins/synthetics/common/constants/settings_defaults.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/constants/settings_defaults.ts rename to x-pack/solutions/observability/plugins/synthetics/common/constants/settings_defaults.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/constants/synthetics/client_defaults.ts b/x-pack/solutions/observability/plugins/synthetics/common/constants/synthetics/client_defaults.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/constants/synthetics/client_defaults.ts rename to x-pack/solutions/observability/plugins/synthetics/common/constants/synthetics/client_defaults.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/constants/synthetics/index.ts b/x-pack/solutions/observability/plugins/synthetics/common/constants/synthetics/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/constants/synthetics/index.ts rename to x-pack/solutions/observability/plugins/synthetics/common/constants/synthetics/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/constants/synthetics/rest_api.ts b/x-pack/solutions/observability/plugins/synthetics/common/constants/synthetics/rest_api.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/constants/synthetics/rest_api.ts rename to x-pack/solutions/observability/plugins/synthetics/common/constants/synthetics/rest_api.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/constants/synthetics_alerts.ts b/x-pack/solutions/observability/plugins/synthetics/common/constants/synthetics_alerts.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/constants/synthetics_alerts.ts rename to x-pack/solutions/observability/plugins/synthetics/common/constants/synthetics_alerts.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/constants/ui.ts b/x-pack/solutions/observability/plugins/synthetics/common/constants/ui.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/constants/ui.ts rename to x-pack/solutions/observability/plugins/synthetics/common/constants/ui.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/field_names.ts b/x-pack/solutions/observability/plugins/synthetics/common/field_names.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/field_names.ts rename to x-pack/solutions/observability/plugins/synthetics/common/field_names.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/formatters/format_space_name.ts b/x-pack/solutions/observability/plugins/synthetics/common/formatters/format_space_name.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/formatters/format_space_name.ts rename to x-pack/solutions/observability/plugins/synthetics/common/formatters/format_space_name.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/formatters/index.ts b/x-pack/solutions/observability/plugins/synthetics/common/formatters/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/formatters/index.ts rename to x-pack/solutions/observability/plugins/synthetics/common/formatters/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/lib/combine_filters_and_user_search.test.ts b/x-pack/solutions/observability/plugins/synthetics/common/lib/combine_filters_and_user_search.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/lib/combine_filters_and_user_search.test.ts rename to x-pack/solutions/observability/plugins/synthetics/common/lib/combine_filters_and_user_search.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/lib/combine_filters_and_user_search.ts b/x-pack/solutions/observability/plugins/synthetics/common/lib/combine_filters_and_user_search.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/lib/combine_filters_and_user_search.ts rename to x-pack/solutions/observability/plugins/synthetics/common/lib/combine_filters_and_user_search.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/lib/index.ts b/x-pack/solutions/observability/plugins/synthetics/common/lib/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/lib/index.ts rename to x-pack/solutions/observability/plugins/synthetics/common/lib/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/lib/schedule_to_time.test.ts b/x-pack/solutions/observability/plugins/synthetics/common/lib/schedule_to_time.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/lib/schedule_to_time.test.ts rename to x-pack/solutions/observability/plugins/synthetics/common/lib/schedule_to_time.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/lib/schedule_to_time.ts b/x-pack/solutions/observability/plugins/synthetics/common/lib/schedule_to_time.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/lib/schedule_to_time.ts rename to x-pack/solutions/observability/plugins/synthetics/common/lib/schedule_to_time.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/lib/stringify_kueries.test.ts b/x-pack/solutions/observability/plugins/synthetics/common/lib/stringify_kueries.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/lib/stringify_kueries.test.ts rename to x-pack/solutions/observability/plugins/synthetics/common/lib/stringify_kueries.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/lib/stringify_kueries.ts b/x-pack/solutions/observability/plugins/synthetics/common/lib/stringify_kueries.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/lib/stringify_kueries.ts rename to x-pack/solutions/observability/plugins/synthetics/common/lib/stringify_kueries.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/requests/get_certs_request_body.ts b/x-pack/solutions/observability/plugins/synthetics/common/requests/get_certs_request_body.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/requests/get_certs_request_body.ts rename to x-pack/solutions/observability/plugins/synthetics/common/requests/get_certs_request_body.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/rules/alert_actions.test.ts b/x-pack/solutions/observability/plugins/synthetics/common/rules/alert_actions.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/rules/alert_actions.test.ts rename to x-pack/solutions/observability/plugins/synthetics/common/rules/alert_actions.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/rules/alert_actions.ts b/x-pack/solutions/observability/plugins/synthetics/common/rules/alert_actions.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/rules/alert_actions.ts rename to x-pack/solutions/observability/plugins/synthetics/common/rules/alert_actions.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/rules/status_rule.test.ts b/x-pack/solutions/observability/plugins/synthetics/common/rules/status_rule.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/rules/status_rule.test.ts rename to x-pack/solutions/observability/plugins/synthetics/common/rules/status_rule.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/rules/status_rule.ts b/x-pack/solutions/observability/plugins/synthetics/common/rules/status_rule.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/rules/status_rule.ts rename to x-pack/solutions/observability/plugins/synthetics/common/rules/status_rule.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/rules/synthetics/translations.ts b/x-pack/solutions/observability/plugins/synthetics/common/rules/synthetics/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/rules/synthetics/translations.ts rename to x-pack/solutions/observability/plugins/synthetics/common/rules/synthetics/translations.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/rules/synthetics_rule_field_map.ts b/x-pack/solutions/observability/plugins/synthetics/common/rules/synthetics_rule_field_map.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/rules/synthetics_rule_field_map.ts rename to x-pack/solutions/observability/plugins/synthetics/common/rules/synthetics_rule_field_map.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/rules/types.ts b/x-pack/solutions/observability/plugins/synthetics/common/rules/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/rules/types.ts rename to x-pack/solutions/observability/plugins/synthetics/common/rules/types.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/alert_rules/common.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/alert_rules/common.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/alert_rules/common.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/alert_rules/common.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/alerts/index.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/alerts/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/alerts/index.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/alerts/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/alerts/status_check.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/alerts/status_check.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/alerts/status_check.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/alerts/status_check.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/alerts/tls.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/alerts/tls.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/alerts/tls.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/alerts/tls.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/certs.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/certs.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/certs.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/certs.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/common.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/common.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/common.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/common.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/dynamic_settings.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/dynamic_settings.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/dynamic_settings.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/dynamic_settings.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/index.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/index.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor/index.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor/index.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor/state.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor/state.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor/state.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor/state.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/alert_config.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/alert_config.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/alert_config.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/alert_config.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/alert_config_schema.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/alert_config_schema.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/alert_config_schema.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/alert_config_schema.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/config_key.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/config_key.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/config_key.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/config_key.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/filters.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/filters.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/filters.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/filters.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/index.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/index.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/locations.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/locations.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/locations.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/locations.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/monitor_configs.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/monitor_configs.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/monitor_configs.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/monitor_configs.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/monitor_meta_data.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/monitor_meta_data.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/monitor_meta_data.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/monitor_meta_data.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/monitor_types.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/monitor_types.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/monitor_types.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/monitor_types.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/monitor_types_project.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/monitor_types_project.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/monitor_types_project.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/monitor_types_project.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/sort_field.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/sort_field.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/sort_field.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/sort_field.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/state.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/state.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/state.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/state.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/synthetics_overview_status.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/synthetics_overview_status.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/synthetics_overview_status.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/synthetics_overview_status.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/synthetics_params.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/synthetics_params.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/synthetics_params.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/synthetics_params.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/synthetics_private_locations.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/synthetics_private_locations.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/monitor_management/synthetics_private_locations.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/monitor_management/synthetics_private_locations.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/network_events.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/network_events.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/network_events.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/network_events.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/ping/error_state.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/ping/error_state.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/ping/error_state.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/ping/error_state.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/ping/histogram.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/ping/histogram.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/ping/histogram.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/ping/histogram.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/ping/index.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/ping/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/ping/index.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/ping/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/ping/observer.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/ping/observer.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/ping/observer.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/ping/observer.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/ping/ping.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/ping/ping.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/ping/ping.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/ping/ping.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/ping/synthetics.test.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/ping/synthetics.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/ping/synthetics.test.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/ping/synthetics.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/ping/synthetics.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/ping/synthetics.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/ping/synthetics.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/ping/synthetics.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/snapshot/index.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/snapshot/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/snapshot/index.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/snapshot/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/snapshot/snapshot_count.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/snapshot/snapshot_count.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/snapshot/snapshot_count.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/snapshot/snapshot_count.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/runtime_types/synthetics_service_api_key.ts b/x-pack/solutions/observability/plugins/synthetics/common/runtime_types/synthetics_service_api_key.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/runtime_types/synthetics_service_api_key.ts rename to x-pack/solutions/observability/plugins/synthetics/common/runtime_types/synthetics_service_api_key.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/saved_objects/private_locations.ts b/x-pack/solutions/observability/plugins/synthetics/common/saved_objects/private_locations.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/saved_objects/private_locations.ts rename to x-pack/solutions/observability/plugins/synthetics/common/saved_objects/private_locations.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/translations/translations.ts b/x-pack/solutions/observability/plugins/synthetics/common/translations/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/translations/translations.ts rename to x-pack/solutions/observability/plugins/synthetics/common/translations/translations.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/types/default_alerts.ts b/x-pack/solutions/observability/plugins/synthetics/common/types/default_alerts.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/types/default_alerts.ts rename to x-pack/solutions/observability/plugins/synthetics/common/types/default_alerts.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/types/index.ts b/x-pack/solutions/observability/plugins/synthetics/common/types/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/types/index.ts rename to x-pack/solutions/observability/plugins/synthetics/common/types/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/types/monitor_validation.ts b/x-pack/solutions/observability/plugins/synthetics/common/types/monitor_validation.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/types/monitor_validation.ts rename to x-pack/solutions/observability/plugins/synthetics/common/types/monitor_validation.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/types/overview.ts b/x-pack/solutions/observability/plugins/synthetics/common/types/overview.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/types/overview.ts rename to x-pack/solutions/observability/plugins/synthetics/common/types/overview.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/types/saved_objects.ts b/x-pack/solutions/observability/plugins/synthetics/common/types/saved_objects.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/types/saved_objects.ts rename to x-pack/solutions/observability/plugins/synthetics/common/types/saved_objects.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/types/synthetics_monitor.ts b/x-pack/solutions/observability/plugins/synthetics/common/types/synthetics_monitor.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/types/synthetics_monitor.ts rename to x-pack/solutions/observability/plugins/synthetics/common/types/synthetics_monitor.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/utils/as_mutable_array.ts b/x-pack/solutions/observability/plugins/synthetics/common/utils/as_mutable_array.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/utils/as_mutable_array.ts rename to x-pack/solutions/observability/plugins/synthetics/common/utils/as_mutable_array.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/utils/es_search.ts b/x-pack/solutions/observability/plugins/synthetics/common/utils/es_search.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/utils/es_search.ts rename to x-pack/solutions/observability/plugins/synthetics/common/utils/es_search.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/utils/get_synthetics_monitor_url.ts b/x-pack/solutions/observability/plugins/synthetics/common/utils/get_synthetics_monitor_url.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/utils/get_synthetics_monitor_url.ts rename to x-pack/solutions/observability/plugins/synthetics/common/utils/get_synthetics_monitor_url.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/utils/location_formatter.ts b/x-pack/solutions/observability/plugins/synthetics/common/utils/location_formatter.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/utils/location_formatter.ts rename to x-pack/solutions/observability/plugins/synthetics/common/utils/location_formatter.ts diff --git a/x-pack/plugins/observability_solution/synthetics/common/utils/t_enum.ts b/x-pack/solutions/observability/plugins/synthetics/common/utils/t_enum.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/common/utils/t_enum.ts rename to x-pack/solutions/observability/plugins/synthetics/common/utils/t_enum.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/README.md b/x-pack/solutions/observability/plugins/synthetics/e2e/README.md similarity index 75% rename from x-pack/plugins/observability_solution/synthetics/e2e/README.md rename to x-pack/solutions/observability/plugins/synthetics/e2e/README.md index e8bf7414b70d3..e3be14c9aced8 100644 --- a/x-pack/plugins/observability_solution/synthetics/e2e/README.md +++ b/x-pack/solutions/observability/plugins/synthetics/e2e/README.md @@ -5,7 +5,7 @@ script for standing up the test server. ### Start the server -From `~/x-pack/plugins/observability_solution/synthetics/scripts`, run `node e2e.js --server`. Wait for the server to startup. It will provide you +From `~/x-pack/solutions/observability/plugins/synthetics/scripts`, run `node e2e.js --server`. Wait for the server to startup. It will provide you with an example run command when it finishes. ### Run the tests @@ -22,7 +22,7 @@ script for standing up the test server. ### Start the server -From `~/x-pack/plugins/observability_solution/synthetics/scripts`, run `node uptime_e2e.js --server`. Wait for the server to startup. It will provide you +From `~/x-pack/solutions/observability/plugins/synthetics/scripts`, run `node uptime_e2e.js --server`. Wait for the server to startup. It will provide you with an example run command when it finishes. ### Run the tests diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/config.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/config.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/config.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/config.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/fixtures/es_archiver/browser/data.json.gz b/x-pack/solutions/observability/plugins/synthetics/e2e/fixtures/es_archiver/browser/data.json.gz similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/fixtures/es_archiver/browser/data.json.gz rename to x-pack/solutions/observability/plugins/synthetics/e2e/fixtures/es_archiver/browser/data.json.gz diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/fixtures/es_archiver/browser/mappings.json b/x-pack/solutions/observability/plugins/synthetics/e2e/fixtures/es_archiver/browser/mappings.json similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/fixtures/es_archiver/browser/mappings.json rename to x-pack/solutions/observability/plugins/synthetics/e2e/fixtures/es_archiver/browser/mappings.json diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/fixtures/es_archiver/full_heartbeat/data.json.gz b/x-pack/solutions/observability/plugins/synthetics/e2e/fixtures/es_archiver/full_heartbeat/data.json.gz similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/fixtures/es_archiver/full_heartbeat/data.json.gz rename to x-pack/solutions/observability/plugins/synthetics/e2e/fixtures/es_archiver/full_heartbeat/data.json.gz diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/fixtures/es_archiver/full_heartbeat/mappings.json b/x-pack/solutions/observability/plugins/synthetics/e2e/fixtures/es_archiver/full_heartbeat/mappings.json similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/fixtures/es_archiver/full_heartbeat/mappings.json rename to x-pack/solutions/observability/plugins/synthetics/e2e/fixtures/es_archiver/full_heartbeat/mappings.json diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/fixtures/es_archiver/synthetics_data/data.json.gz b/x-pack/solutions/observability/plugins/synthetics/e2e/fixtures/es_archiver/synthetics_data/data.json.gz similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/fixtures/es_archiver/synthetics_data/data.json.gz rename to x-pack/solutions/observability/plugins/synthetics/e2e/fixtures/es_archiver/synthetics_data/data.json.gz diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/helpers/make_checks.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/helpers/make_checks.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/helpers/make_checks.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/helpers/make_checks.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/helpers/make_ping.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/helpers/make_ping.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/helpers/make_ping.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/helpers/make_ping.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/helpers/make_tls.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/helpers/make_tls.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/helpers/make_tls.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/helpers/make_tls.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/helpers/utils.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/helpers/utils.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/helpers/utils.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/helpers/utils.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/index.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/index.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/kibana.jsonc b/x-pack/solutions/observability/plugins/synthetics/e2e/kibana.jsonc similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/kibana.jsonc rename to x-pack/solutions/observability/plugins/synthetics/e2e/kibana.jsonc diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/page_objects/login.tsx b/x-pack/solutions/observability/plugins/synthetics/e2e/page_objects/login.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/page_objects/login.tsx rename to x-pack/solutions/observability/plugins/synthetics/e2e/page_objects/login.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/page_objects/utils.tsx b/x-pack/solutions/observability/plugins/synthetics/e2e/page_objects/utils.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/page_objects/utils.tsx rename to x-pack/solutions/observability/plugins/synthetics/e2e/page_objects/utils.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/add_monitor.journey.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/add_monitor.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/add_monitor.journey.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/add_monitor.journey.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/alert_rules/custom_status_alert.journey.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/alert_rules/custom_status_alert.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/alert_rules/custom_status_alert.journey.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/alert_rules/custom_status_alert.journey.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/alert_rules/default_status_alert.journey.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/alert_rules/default_status_alert.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/alert_rules/default_status_alert.journey.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/alert_rules/default_status_alert.journey.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/alert_rules/sample_docs/sample_docs.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/alert_rules/sample_docs/sample_docs.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/alert_rules/sample_docs/sample_docs.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/alert_rules/sample_docs/sample_docs.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/alerting_default.journey.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/alerting_default.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/alerting_default.journey.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/alerting_default.journey.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/data_retention.journey.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/data_retention.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/data_retention.journey.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/data_retention.journey.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/detail_flyout.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/detail_flyout.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/detail_flyout.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/detail_flyout.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/getting_started.journey.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/getting_started.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/getting_started.journey.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/getting_started.journey.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/global_parameters.journey.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/global_parameters.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/global_parameters.journey.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/global_parameters.journey.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/index.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/index.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/management_list.journey.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/management_list.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/management_list.journey.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/management_list.journey.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/monitor_details_page/monitor_summary.journey.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/monitor_details_page/monitor_summary.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/monitor_details_page/monitor_summary.journey.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/monitor_details_page/monitor_summary.journey.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/monitor_form_validation.journey.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/monitor_form_validation.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/monitor_form_validation.journey.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/monitor_form_validation.journey.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/monitor_selector.journey.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/monitor_selector.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/monitor_selector.journey.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/monitor_selector.journey.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/overview_scrolling.journey.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/overview_scrolling.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/overview_scrolling.journey.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/overview_scrolling.journey.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/overview_search.journey.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/overview_search.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/overview_search.journey.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/overview_search.journey.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/overview_sorting.journey.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/overview_sorting.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/overview_sorting.journey.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/overview_sorting.journey.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/private_locations.journey.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/private_locations.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/private_locations.journey.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/private_locations.journey.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/project_api_keys.journey.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/project_api_keys.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/project_api_keys.journey.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/project_api_keys.journey.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/project_monitor_read_only.journey.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/project_monitor_read_only.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/project_monitor_read_only.journey.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/project_monitor_read_only.journey.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/services/add_monitor.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/services/add_monitor.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/services/add_monitor.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/services/add_monitor.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/services/add_monitor_project.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/services/add_monitor_project.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/services/add_monitor_project.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/services/add_monitor_project.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/services/data/browser_docs.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/services/data/browser_docs.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/services/data/browser_docs.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/services/data/browser_docs.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/services/settings.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/services/settings.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/services/settings.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/services/settings.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/services/synthetics_services.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/services/synthetics_services.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/services/synthetics_services.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/services/synthetics_services.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/step_details.journey.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/step_details.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/step_details.journey.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/step_details.journey.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/test_now_mode.journey.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/test_now_mode.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/test_now_mode.journey.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/test_now_mode.journey.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/test_run_details.journey.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/test_run_details.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/journeys/test_run_details.journey.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/journeys/test_run_details.journey.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/page_objects/synthetics_app.tsx b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/page_objects/synthetics_app.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/page_objects/synthetics_app.tsx rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/page_objects/synthetics_app.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/page_objects/utils.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/page_objects/utils.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/page_objects/utils.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/page_objects/utils.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/synthetics/synthetics_run.ts b/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/synthetics_run.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/e2e/synthetics/synthetics_run.ts rename to x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/synthetics_run.ts diff --git a/x-pack/plugins/observability_solution/synthetics/e2e/tsconfig.json b/x-pack/solutions/observability/plugins/synthetics/e2e/tsconfig.json similarity index 89% rename from x-pack/plugins/observability_solution/synthetics/e2e/tsconfig.json rename to x-pack/solutions/observability/plugins/synthetics/e2e/tsconfig.json index 7a98afb3a6faf..e7607627a625d 100644 --- a/x-pack/plugins/observability_solution/synthetics/e2e/tsconfig.json +++ b/x-pack/solutions/observability/plugins/synthetics/e2e/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../../../tsconfig.base.json", + "extends": "../../../../../../tsconfig.base.json", "exclude": ["tmp", "target/**/*"], "include": ["**/*"], "compilerOptions": { diff --git a/x-pack/plugins/observability_solution/synthetics/jest.config.js b/x-pack/solutions/observability/plugins/synthetics/jest.config.js similarity index 56% rename from x-pack/plugins/observability_solution/synthetics/jest.config.js rename to x-pack/solutions/observability/plugins/synthetics/jest.config.js index 1ae53b847be24..39f032812a29f 100644 --- a/x-pack/plugins/observability_solution/synthetics/jest.config.js +++ b/x-pack/solutions/observability/plugins/synthetics/jest.config.js @@ -7,12 +7,12 @@ module.exports = { preset: '@kbn/test', - rootDir: '../../../..', - roots: ['/x-pack/plugins/observability_solution/synthetics'], + rootDir: '../../../../..', + roots: ['/x-pack/solutions/observability/plugins/synthetics'], coverageDirectory: - '/target/kibana-coverage/jest/x-pack/plugins/observability_solution/synthetics', + '/target/kibana-coverage/jest/x-pack/solutions/observability/plugins/synthetics', coverageReporters: ['text', 'html'], collectCoverageFrom: [ - '/x-pack/plugins/observability_solution/synthetics/{common,public,server}/**/*.{ts,tsx}', + '/x-pack/solutions/observability/plugins/synthetics/{common,public,server}/**/*.{ts,tsx}', ], }; diff --git a/x-pack/plugins/observability_solution/synthetics/kibana.jsonc b/x-pack/solutions/observability/plugins/synthetics/kibana.jsonc similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/kibana.jsonc rename to x-pack/solutions/observability/plugins/synthetics/kibana.jsonc diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/common/field_selector.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/common/field_selector.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/common/field_selector.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/common/field_selector.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/common/monitor_configuration.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/common/monitor_configuration.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/common/monitor_configuration.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/common/monitor_configuration.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/common/monitor_filters_form.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/common/monitor_filters_form.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/common/monitor_filters_form.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/common/monitor_filters_form.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/common/monitors_open_configuration.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/common/monitors_open_configuration.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/common/monitors_open_configuration.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/common/monitors_open_configuration.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/common/optional_text.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/common/optional_text.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/common/optional_text.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/common/optional_text.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/common/show_selected_filters.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/common/show_selected_filters.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/common/show_selected_filters.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/common/show_selected_filters.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/common/utils.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/common/utils.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/common/utils.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/common/utils.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/constants.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/constants.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/constants.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/constants.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/hooks/use_fetch_synthetics_suggestions.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/hooks/use_fetch_synthetics_suggestions.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/hooks/use_fetch_synthetics_suggestions.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/hooks/use_fetch_synthetics_suggestions.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/monitors_overview/monitors_embeddable_factory.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/monitors_overview/monitors_embeddable_factory.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/monitors_overview/monitors_embeddable_factory.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/monitors_overview/monitors_embeddable_factory.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/monitors_overview/monitors_grid_component.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/monitors_overview/monitors_grid_component.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/monitors_overview/monitors_grid_component.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/monitors_overview/monitors_grid_component.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/monitors_overview/redux_store.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/monitors_overview/redux_store.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/monitors_overview/redux_store.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/monitors_overview/redux_store.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/monitors_overview/types.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/monitors_overview/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/monitors_overview/types.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/monitors_overview/types.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/register_embeddables.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/register_embeddables.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/register_embeddables.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/register_embeddables.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/stats_overview/redux_store.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/stats_overview/redux_store.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/stats_overview/redux_store.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/stats_overview/redux_store.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/stats_overview/stats_overview_component.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/stats_overview/stats_overview_component.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/stats_overview/stats_overview_component.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/stats_overview/stats_overview_component.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/stats_overview/stats_overview_embeddable_factory.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/stats_overview/stats_overview_embeddable_factory.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/stats_overview/stats_overview_embeddable_factory.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/stats_overview/stats_overview_embeddable_factory.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/synthetics_embeddable_context.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/synthetics_embeddable_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/synthetics_embeddable_context.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/synthetics_embeddable_context.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/ui_actions/compatibility_check.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/ui_actions/compatibility_check.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/ui_actions/compatibility_check.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/ui_actions/compatibility_check.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/ui_actions/create_monitors_overview_panel_action.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/ui_actions/create_monitors_overview_panel_action.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/ui_actions/create_monitors_overview_panel_action.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/ui_actions/create_monitors_overview_panel_action.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/ui_actions/create_stats_overview_panel_action.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/ui_actions/create_stats_overview_panel_action.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/ui_actions/create_stats_overview_panel_action.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/ui_actions/create_stats_overview_panel_action.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/ui_actions/register_ui_actions.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/ui_actions/register_ui_actions.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/embeddables/ui_actions/register_ui_actions.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/embeddables/ui_actions/register_ui_actions.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/locators/edit_monitor.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/locators/edit_monitor.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/locators/edit_monitor.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/locators/edit_monitor.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/locators/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/locators/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/locators/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/locators/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/locators/monitor_detail.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/locators/monitor_detail.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/locators/monitor_detail.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/locators/monitor_detail.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/locators/settings.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/locators/settings.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/locators/settings.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/locators/settings.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/alert_tls.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/alert_tls.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/alert_tls.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/alert_tls.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/common/condition_locations_value.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/common/condition_locations_value.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/common/condition_locations_value.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/common/condition_locations_value.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/common/condition_window_value.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/common/condition_window_value.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/common/condition_window_value.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/common/condition_window_value.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/common/field_filters.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/common/field_filters.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/common/field_filters.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/common/field_filters.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/common/field_popover_expression.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/common/field_popover_expression.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/common/field_popover_expression.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/common/field_popover_expression.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/common/field_selector.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/common/field_selector.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/common/field_selector.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/common/field_selector.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/common/field_selector.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/common/field_selector.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/common/field_selector.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/common/field_selector.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/common/fields.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/common/fields.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/common/fields.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/common/fields.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/common/for_the_last_expression.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/common/for_the_last_expression.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/common/for_the_last_expression.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/common/for_the_last_expression.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/common/group_by_field.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/common/group_by_field.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/common/group_by_field.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/common/group_by_field.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/common/popover_expression.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/common/popover_expression.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/common/popover_expression.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/common/popover_expression.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/hooks/translations.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/hooks/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/hooks/translations.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/hooks/translations.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/hooks/use_fetch_synthetics_suggestions.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/hooks/use_fetch_synthetics_suggestions.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/hooks/use_fetch_synthetics_suggestions.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/hooks/use_fetch_synthetics_suggestions.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/hooks/use_synthetics_rules.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/hooks/use_synthetics_rules.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/hooks/use_synthetics_rules.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/hooks/use_synthetics_rules.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/query_bar.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/query_bar.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/query_bar.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/query_bar.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/rule_name_with_loading.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/rule_name_with_loading.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/rule_name_with_loading.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/rule_name_with_loading.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/status_rule_expression.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/status_rule_expression.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/status_rule_expression.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/status_rule_expression.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/status_rule_ui.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/status_rule_ui.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/status_rule_ui.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/status_rule_ui.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/tls_rule_ui.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/tls_rule_ui.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/tls_rule_ui.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/tls_rule_ui.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/toggle_alert_flyout_button.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/toggle_alert_flyout_button.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/toggle_alert_flyout_button.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/alerts/toggle_alert_flyout_button.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/cert_monitors.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/cert_monitors.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/cert_monitors.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/cert_monitors.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/cert_refresh_btn.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/cert_refresh_btn.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/cert_refresh_btn.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/cert_refresh_btn.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/cert_search.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/cert_search.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/cert_search.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/cert_search.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/cert_status.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/cert_status.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/cert_status.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/cert_status.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/certificate_title.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/certificate_title.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/certificate_title.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/certificate_title.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/certificates.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/certificates.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/certificates.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/certificates.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/certificates.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/certificates.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/certificates.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/certificates.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/certificates_list.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/certificates_list.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/certificates_list.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/certificates_list.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/certificates_list.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/certificates_list.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/certificates_list.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/certificates_list.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/fingerprint_col.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/fingerprint_col.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/fingerprint_col.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/fingerprint_col.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/fingerprint_col.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/fingerprint_col.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/fingerprint_col.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/fingerprint_col.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/monitor_page_link.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/monitor_page_link.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/monitor_page_link.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/monitor_page_link.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/translations.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/translations.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/translations.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/use_cert_search.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/use_cert_search.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/use_cert_search.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/use_cert_search.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/use_cert_status.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/use_cert_status.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/use_cert_status.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/certificates/use_cert_status.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/alerting_callout/alerting_callout.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/alerting_callout/alerting_callout.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/alerting_callout/alerting_callout.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/alerting_callout/alerting_callout.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/alerting_callout/alerting_callout.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/alerting_callout/alerting_callout.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/alerting_callout/alerting_callout.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/alerting_callout/alerting_callout.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/add_to_dashboard.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/add_to_dashboard.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/add_to_dashboard.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/add_to_dashboard.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/auto_refresh_button.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/auto_refresh_button.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/auto_refresh_button.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/auto_refresh_button.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/embeddable_panel_wrapper.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/embeddable_panel_wrapper.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/embeddable_panel_wrapper.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/embeddable_panel_wrapper.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/filter_status_button.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/filter_status_button.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/filter_status_button.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/filter_status_button.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/last_refreshed.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/last_refreshed.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/last_refreshed.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/last_refreshed.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/location_status_badges.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/location_status_badges.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/location_status_badges.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/location_status_badges.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/monitor_details_panel.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/monitor_details_panel.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/monitor_details_panel.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/monitor_details_panel.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/monitor_inspect.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/monitor_inspect.tsx similarity index 99% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/monitor_inspect.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/monitor_inspect.tsx index 90d30606b860d..b09d82ab03c5f 100644 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/monitor_inspect.tsx +++ b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/monitor_inspect.tsx @@ -72,7 +72,6 @@ const MonitorInspect = ({ isValid, monitorFields }: InspectorProps) => { } // FIXME: Dario couldn't find a solution for monitorFields // which is not memoized downstream - // eslint-disable-next-line react-hooks/exhaustive-deps }, [isInspecting, hideParams]); let flyout; diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/monitor_location_select.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/monitor_location_select.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/monitor_location_select.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/monitor_location_select.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/monitor_status.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/monitor_status.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/monitor_status.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/monitor_status.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/monitor_type_badge.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/monitor_type_badge.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/monitor_type_badge.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/monitor_type_badge.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/page_loader.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/page_loader.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/page_loader.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/page_loader.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/panel_with_title.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/panel_with_title.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/panel_with_title.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/panel_with_title.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/permissions.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/permissions.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/permissions.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/permissions.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/refresh_button.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/refresh_button.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/refresh_button.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/refresh_button.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/stderr_logs.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/stderr_logs.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/stderr_logs.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/stderr_logs.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/table_title.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/table_title.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/table_title.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/table_title.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/thershold_indicator.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/thershold_indicator.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/thershold_indicator.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/thershold_indicator.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/use_std_error_logs.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/use_std_error_logs.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/use_std_error_logs.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/use_std_error_logs.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/view_document.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/view_document.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/view_document.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/components/view_document.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/date_picker/synthetics_date_picker.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/date_picker/synthetics_date_picker.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/date_picker/synthetics_date_picker.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/date_picker/synthetics_date_picker.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/date_picker/synthetics_date_picker.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/date_picker/synthetics_date_picker.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/date_picker/synthetics_date_picker.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/date_picker/synthetics_date_picker.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/header/action_menu.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/header/action_menu.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/header/action_menu.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/header/action_menu.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/header/action_menu_content.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/header/action_menu_content.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/header/action_menu_content.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/header/action_menu_content.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/header/action_menu_content.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/header/action_menu_content.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/header/action_menu_content.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/header/action_menu_content.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/header/inspector_header_link.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/header/inspector_header_link.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/header/inspector_header_link.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/header/inspector_header_link.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/links/add_monitor.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/links/add_monitor.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/links/add_monitor.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/links/add_monitor.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/links/error_details_link.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/links/error_details_link.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/links/error_details_link.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/links/error_details_link.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/links/manage_rules_link.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/links/manage_rules_link.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/links/manage_rules_link.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/links/manage_rules_link.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/links/step_details_link.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/links/step_details_link.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/links/step_details_link.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/links/step_details_link.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/links/test_details_link.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/links/test_details_link.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/links/test_details_link.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/links/test_details_link.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/links/view_alerts.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/links/view_alerts.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/links/view_alerts.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/links/view_alerts.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/monitor_test_result/browser_steps_list.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/monitor_test_result/browser_steps_list.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/monitor_test_result/browser_steps_list.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/monitor_test_result/browser_steps_list.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/monitor_test_result/browser_steps_list.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/monitor_test_result/browser_steps_list.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/monitor_test_result/browser_steps_list.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/monitor_test_result/browser_steps_list.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/monitor_test_result/journey_screenshot_preview.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/monitor_test_result/journey_screenshot_preview.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/monitor_test_result/journey_screenshot_preview.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/monitor_test_result/journey_screenshot_preview.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/monitor_test_result/journey_screenshot_preview.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/monitor_test_result/journey_screenshot_preview.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/monitor_test_result/journey_screenshot_preview.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/monitor_test_result/journey_screenshot_preview.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/monitor_test_result/result_details.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/monitor_test_result/result_details.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/monitor_test_result/result_details.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/monitor_test_result/result_details.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/monitor_test_result/result_details_successful.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/monitor_test_result/result_details_successful.tsx similarity index 97% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/monitor_test_result/result_details_successful.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/monitor_test_result/result_details_successful.tsx index 25f0ed0843472..a0e6d2ca6d29f 100644 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/monitor_test_result/result_details_successful.tsx +++ b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/monitor_test_result/result_details_successful.tsx @@ -39,7 +39,6 @@ export const ResultDetailsSuccessful = ({ }); // FIXME: Dario is not sure what step._id is being used for, // so he'll leave it in place - // eslint-disable-next-line react-hooks/exhaustive-deps }, [timestamp, monitorId, stepIndex, location, step._id]); const { currentStep } = useJourneySteps( diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/monitor_test_result/single_ping_result.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/monitor_test_result/single_ping_result.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/monitor_test_result/single_ping_result.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/monitor_test_result/single_ping_result.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/monitor_test_result/status_badge.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/monitor_test_result/status_badge.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/monitor_test_result/status_badge.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/monitor_test_result/status_badge.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/monitor_test_result/step_duration_text.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/monitor_test_result/step_duration_text.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/monitor_test_result/step_duration_text.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/monitor_test_result/step_duration_text.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/monitor_test_result/use_retrieve_step_image.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/monitor_test_result/use_retrieve_step_image.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/monitor_test_result/use_retrieve_step_image.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/monitor_test_result/use_retrieve_step_image.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/page_template/synthetics_page_template.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/page_template/synthetics_page_template.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/page_template/synthetics_page_template.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/page_template/synthetics_page_template.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/react_router_helpers/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/react_router_helpers/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/react_router_helpers/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/react_router_helpers/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/react_router_helpers/link_events.test.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/react_router_helpers/link_events.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/react_router_helpers/link_events.test.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/react_router_helpers/link_events.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/react_router_helpers/link_events.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/react_router_helpers/link_events.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/react_router_helpers/link_events.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/react_router_helpers/link_events.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/react_router_helpers/link_for_eui.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/react_router_helpers/link_for_eui.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/react_router_helpers/link_for_eui.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/react_router_helpers/link_for_eui.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/react_router_helpers/link_for_eui.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/react_router_helpers/link_for_eui.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/react_router_helpers/link_for_eui.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/react_router_helpers/link_for_eui.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/screenshot/empty_thumbnail.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/screenshot/empty_thumbnail.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/screenshot/empty_thumbnail.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/screenshot/empty_thumbnail.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/screenshot/empty_thumbnail.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/screenshot/empty_thumbnail.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/screenshot/empty_thumbnail.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/screenshot/empty_thumbnail.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/screenshot/journey_last_screenshot.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/screenshot/journey_last_screenshot.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/screenshot/journey_last_screenshot.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/screenshot/journey_last_screenshot.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/screenshot/journey_screenshot_dialog.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/screenshot/journey_screenshot_dialog.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/screenshot/journey_screenshot_dialog.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/screenshot/journey_screenshot_dialog.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/screenshot/journey_screenshot_dialog.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/screenshot/journey_screenshot_dialog.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/screenshot/journey_screenshot_dialog.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/screenshot/journey_screenshot_dialog.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/screenshot/journey_step_screenshot_container.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/screenshot/journey_step_screenshot_container.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/screenshot/journey_step_screenshot_container.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/screenshot/journey_step_screenshot_container.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/screenshot/journey_step_screenshot_container.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/screenshot/journey_step_screenshot_container.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/screenshot/journey_step_screenshot_container.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/screenshot/journey_step_screenshot_container.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/screenshot/screenshot_image.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/screenshot/screenshot_image.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/screenshot/screenshot_image.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/screenshot/screenshot_image.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/screenshot/screenshot_size.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/screenshot/screenshot_size.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/screenshot/screenshot_size.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/screenshot/screenshot_size.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/step_field_trend/step_field_trend.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/step_field_trend/step_field_trend.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/step_field_trend/step_field_trend.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/step_field_trend/step_field_trend.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/step_field_trend/step_field_trend.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/step_field_trend/step_field_trend.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/step_field_trend/step_field_trend.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/common/step_field_trend/step_field_trend.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/error_details/components/error_duration.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/error_details/components/error_duration.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/error_details/components/error_duration.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/error_details/components/error_duration.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/error_details/components/error_started_at.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/error_details/components/error_started_at.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/error_details/components/error_started_at.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/error_details/components/error_started_at.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/error_details/components/error_timeline.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/error_details/components/error_timeline.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/error_details/components/error_timeline.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/error_details/components/error_timeline.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/error_details/components/failed_tests_list.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/error_details/components/failed_tests_list.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/error_details/components/failed_tests_list.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/error_details/components/failed_tests_list.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/error_details/components/resolved_at.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/error_details/components/resolved_at.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/error_details/components/resolved_at.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/error_details/components/resolved_at.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/error_details/error_details_page.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/error_details/error_details_page.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/error_details/error_details_page.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/error_details/error_details_page.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/error_details/hooks/use_error_details_breadcrumbs.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/error_details/hooks/use_error_details_breadcrumbs.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/error_details/hooks/use_error_details_breadcrumbs.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/error_details/hooks/use_error_details_breadcrumbs.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/error_details/hooks/use_error_failed_tests.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/error_details/hooks/use_error_failed_tests.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/error_details/hooks/use_error_failed_tests.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/error_details/hooks/use_error_failed_tests.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/error_details/hooks/use_find_my_killer_state.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/error_details/hooks/use_find_my_killer_state.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/error_details/hooks/use_find_my_killer_state.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/error_details/hooks/use_find_my_killer_state.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/error_details/hooks/use_step_details.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/error_details/hooks/use_step_details.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/error_details/hooks/use_step_details.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/error_details/hooks/use_step_details.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/error_details/route_config.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/error_details/route_config.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/error_details/route_config.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/error_details/route_config.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/getting_started/form_fields/service_locations.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/getting_started/form_fields/service_locations.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/getting_started/form_fields/service_locations.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/getting_started/form_fields/service_locations.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/getting_started/getting_started_page.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/getting_started/getting_started_page.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/getting_started/getting_started_page.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/getting_started/getting_started_page.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/getting_started/getting_started_page.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/getting_started/getting_started_page.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/getting_started/getting_started_page.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/getting_started/getting_started_page.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/getting_started/simple_monitor_form.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/getting_started/simple_monitor_form.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/getting_started/simple_monitor_form.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/getting_started/simple_monitor_form.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/getting_started/simple_monitor_form.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/getting_started/simple_monitor_form.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/getting_started/simple_monitor_form.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/getting_started/simple_monitor_form.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/getting_started/use_simple_monitor.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/getting_started/use_simple_monitor.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/getting_started/use_simple_monitor.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/getting_started/use_simple_monitor.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/advanced/index.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/advanced/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/advanced/index.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/advanced/index.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/constants.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/constants.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/constants.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/constants.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/edit_monitor_not_found.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/edit_monitor_not_found.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/edit_monitor_not_found.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/edit_monitor_not_found.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/code_editor.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/code_editor.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/code_editor.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/code_editor.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/combo_box.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/combo_box.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/combo_box.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/combo_box.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/combo_box.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/combo_box.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/combo_box.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/combo_box.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/header_field.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/header_field.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/header_field.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/header_field.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/header_field.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/header_field.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/header_field.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/header_field.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/index_response_body_field.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/index_response_body_field.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/index_response_body_field.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/index_response_body_field.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/index_response_body_field.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/index_response_body_field.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/index_response_body_field.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/index_response_body_field.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/key_value_field.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/key_value_field.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/key_value_field.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/key_value_field.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/key_value_field.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/key_value_field.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/key_value_field.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/key_value_field.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/monitor_type_radio_group.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/monitor_type_radio_group.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/monitor_type_radio_group.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/monitor_type_radio_group.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/optional_label.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/optional_label.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/optional_label.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/optional_label.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/request_body_field.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/request_body_field.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/request_body_field.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/request_body_field.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/request_body_field.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/request_body_field.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/request_body_field.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/request_body_field.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/script_recorder_fields.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/script_recorder_fields.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/script_recorder_fields.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/script_recorder_fields.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/script_recorder_fields.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/script_recorder_fields.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/script_recorder_fields.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/script_recorder_fields.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/source_field.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/source_field.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/source_field.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/source_field.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/source_field.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/source_field.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/source_field.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/source_field.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/connection_profile.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/connection_profile.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/connection_profile.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/connection_profile.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_config_field.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_config_field.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_config_field.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_config_field.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_config_field.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_config_field.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_config_field.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_config_field.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_disabled_callout.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_disabled_callout.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_disabled_callout.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_disabled_callout.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_download_field.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_download_field.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_download_field.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_download_field.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_exceeded_callout.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_exceeded_callout.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_exceeded_callout.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_exceeded_callout.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_fields.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_fields.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_fields.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_fields.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_fields.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_fields.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_fields.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_fields.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_latency_field.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_latency_field.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_latency_field.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_latency_field.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_upload_field.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_upload_field.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_upload_field.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/throttling_upload_field.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/use_connection_profiles.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/use_connection_profiles.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/use_connection_profiles.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/throttling/use_connection_profiles.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/uploader.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/uploader.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/uploader.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/fields/uploader.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/controlled_field.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/controlled_field.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/controlled_field.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/controlled_field.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/defaults.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/defaults.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/defaults.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/defaults.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/defaults.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/defaults.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/defaults.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/defaults.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/disclaimer.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/disclaimer.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/disclaimer.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/disclaimer.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/disclaimer.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/disclaimer.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/disclaimer.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/disclaimer.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/field.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/field.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/field.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/field.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/field_config.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/field_config.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/field_config.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/field_config.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/field_wrappers.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/field_wrappers.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/field_wrappers.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/field_wrappers.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/form_config.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/form_config.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/form_config.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/form_config.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/formatter.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/formatter.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/formatter.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/formatter.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/formatter.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/formatter.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/formatter.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/formatter.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/index.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/index.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/index.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/run_test_btn.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/run_test_btn.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/run_test_btn.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/run_test_btn.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/submit.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/submit.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/submit.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/submit.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/validation.test.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/validation.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/validation.test.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/validation.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/validation.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/validation.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/form/validation.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/validation.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_clone_monitor.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_clone_monitor.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_clone_monitor.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_clone_monitor.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_is_edit_flow.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_is_edit_flow.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_is_edit_flow.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_is_edit_flow.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_monitor_not_found.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_monitor_not_found.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_monitor_not_found.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_monitor_not_found.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_monitor_save.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_monitor_save.tsx similarity index 98% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_monitor_save.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_monitor_save.tsx index 4bd8b503a247c..b9359b0357844 100644 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_monitor_save.tsx +++ b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_monitor_save.tsx @@ -44,7 +44,6 @@ export const useMonitorSave = ({ monitorData }: { monitorData?: SyntheticsMonito } // FIXME: Dario thinks there is a better way to do this but // he's getting tired and maybe the Synthetics folks can fix it - // eslint-disable-next-line react-hooks/exhaustive-deps }, [monitorData]); useEffect(() => { diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_validate_field.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_validate_field.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_validate_field.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_validate_field.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/locations_loading_error.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/locations_loading_error.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/locations_loading_error.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/locations_loading_error.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_add_page.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_add_page.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_add_page.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_add_page.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_add_page.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_add_page.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_add_page.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_add_page.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_details_portal.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_details_portal.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_details_portal.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_details_portal.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_edit_page.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_edit_page.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_edit_page.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_edit_page.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_edit_page.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_edit_page.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_edit_page.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_edit_page.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/portals.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/portals.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/portals.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/portals.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/can_use_public_locations_callout.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/can_use_public_locations_callout.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/can_use_public_locations_callout.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/can_use_public_locations_callout.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/index.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/index.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/index.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/inspect_monitor_portal.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/inspect_monitor_portal.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/inspect_monitor_portal.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/inspect_monitor_portal.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/monitor_type.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/monitor_type.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/monitor_type.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/monitor_type.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/monitor_type_portal.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/monitor_type_portal.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/monitor_type_portal.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/monitor_type_portal.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/read_only_callout.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/read_only_callout.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/read_only_callout.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/read_only_callout.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/step.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/step.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/step.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/step.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/step_config.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/step_config.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/step_config.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/step_config.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/step_fields.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/step_fields.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/step_fields.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/step_fields.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/types.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/types.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/types.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/use_breadcrumbs.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/use_breadcrumbs.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/use_breadcrumbs.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/use_breadcrumbs.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_error_failed_step.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_error_failed_step.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_error_failed_step.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_error_failed_step.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_failed_tests_by_step.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_failed_tests_by_step.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_failed_tests_by_step.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_failed_tests_by_step.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_fetch_active_alerts.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_fetch_active_alerts.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_fetch_active_alerts.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_fetch_active_alerts.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_journey_steps.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_journey_steps.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_journey_steps.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_journey_steps.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_errors.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_errors.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_errors.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_errors.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_latest_ping.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_latest_ping.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_latest_ping.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_latest_ping.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_pings.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_pings.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_pings.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_pings.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_query_filters.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_query_filters.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_query_filters.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_query_filters.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_query_id.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_query_id.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_query_id.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_query_id.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_range_from.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_range_from.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_range_from.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_range_from.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_selected_location.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_selected_location.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_selected_location.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_selected_location.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_selected_monitor.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_selected_monitor.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_selected_monitor.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_selected_monitor.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_alerts/alerts_icon.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_alerts/alerts_icon.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_alerts/alerts_icon.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_alerts/alerts_icon.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_alerts/monitor_detail_alerts.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_alerts/monitor_detail_alerts.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_alerts/monitor_detail_alerts.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_alerts/monitor_detail_alerts.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_last_run.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_last_run.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_last_run.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_last_run.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_location.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_location.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_location.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_location.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_page_title.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_page_title.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_page_title.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_page_title.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_status.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_status.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_status.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_status.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/errors_icon.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/errors_icon.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/errors_icon.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/errors_icon.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/errors_list.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/errors_list.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/errors_list.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/errors_list.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/errors_tab_content.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/errors_tab_content.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/errors_tab_content.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/errors_tab_content.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/failed_tests.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/failed_tests.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/failed_tests.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/failed_tests.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/failed_tests_by_step.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/failed_tests_by_step.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/failed_tests_by_step.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/failed_tests_by_step.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/failed_tests_count.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/failed_tests_count.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/failed_tests_count.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/failed_tests_count.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/monitor_errors.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/monitor_errors.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/monitor_errors.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/monitor_errors.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_history/monitor_history.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_history/monitor_history.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_history/monitor_history.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_history/monitor_history.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_not_found_page.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_not_found_page.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_not_found_page.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_not_found_page.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_pending_wrapper.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_pending_wrapper.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_pending_wrapper.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_pending_wrapper.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_pending_wrapper.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_pending_wrapper.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_pending_wrapper.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_pending_wrapper.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_selector/monitor_searchable_list.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_selector/monitor_searchable_list.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_selector/monitor_searchable_list.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_selector/monitor_searchable_list.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_selector/monitor_selector.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_selector/monitor_selector.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_selector/monitor_selector.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_selector/monitor_selector.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_selector/use_recently_viewed_monitors.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_selector/use_recently_viewed_monitors.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_selector/use_recently_viewed_monitors.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_selector/use_recently_viewed_monitors.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_selector/use_recently_viewed_monitors.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_selector/use_recently_viewed_monitors.ts similarity index 98% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_selector/use_recently_viewed_monitors.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_selector/use_recently_viewed_monitors.ts index 0988e6c2aefc5..6e9e8decd7e6c 100644 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_selector/use_recently_viewed_monitors.ts +++ b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_selector/use_recently_viewed_monitors.ts @@ -94,7 +94,6 @@ export const useRecentlyViewedMonitors = () => { } // FIXME: Dario thinks there is a better way to do this but // he's getting tired and maybe the Synthetics folks can fix it - // eslint-disable-next-line react-hooks/exhaustive-deps }, [monitorQueryId]); return useMemo( diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/labels.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/labels.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/labels.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/labels.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_cell_tooltip.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_cell_tooltip.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_cell_tooltip.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_cell_tooltip.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_chart_theme.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_chart_theme.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_chart_theme.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_chart_theme.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_data.test.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_data.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_data.test.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_data.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_data.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_data.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_data.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_data.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_header.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_header.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_header.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_header.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_legend.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_legend.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_legend.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_legend.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_panel.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_panel.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_panel.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/monitor_status_panel.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/use_monitor_status_data.test.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/use_monitor_status_data.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/use_monitor_status_data.test.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/use_monitor_status_data.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/use_monitor_status_data.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/use_monitor_status_data.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/use_monitor_status_data.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_status/use_monitor_status_data.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/alert_actions.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/alert_actions.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/alert_actions.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/alert_actions.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/availability_panel.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/availability_panel.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/availability_panel.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/availability_panel.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/availability_sparklines.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/availability_sparklines.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/availability_sparklines.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/availability_sparklines.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/duration_panel.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/duration_panel.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/duration_panel.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/duration_panel.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/duration_sparklines.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/duration_sparklines.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/duration_sparklines.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/duration_sparklines.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/duration_trend.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/duration_trend.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/duration_trend.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/duration_trend.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/edit_monitor_link.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/edit_monitor_link.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/edit_monitor_link.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/edit_monitor_link.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/last_test_run.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/last_test_run.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/last_test_run.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/last_test_run.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/locations_status.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/locations_status.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/locations_status.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/locations_status.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_alerts.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_alerts.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_alerts.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_alerts.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_complete_count.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_complete_count.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_complete_count.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_complete_count.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_complete_sparklines.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_complete_sparklines.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_complete_sparklines.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_complete_sparklines.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_details_panel_container.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_details_panel_container.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_details_panel_container.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_details_panel_container.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_error_sparklines.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_error_sparklines.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_error_sparklines.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_error_sparklines.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_errors_count.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_errors_count.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_errors_count.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_errors_count.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_summary.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_summary.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_summary.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_summary.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_total_runs_count.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_total_runs_count.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_total_runs_count.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/monitor_total_runs_count.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/status_filter.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/status_filter.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/status_filter.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/status_filter.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/step_duration_panel.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/step_duration_panel.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/step_duration_panel.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/step_duration_panel.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/test_runs_table.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/test_runs_table.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/test_runs_table.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/test_runs_table.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/test_runs_table_header.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/test_runs_table_header.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/test_runs_table_header.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_summary/test_runs_table_header.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/route_config.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/route_config.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/route_config.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/route_config.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/run_test_manually.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/run_test_manually.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/run_test_manually.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/run_test_manually.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/use_monitor_details_page.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/use_monitor_details_page.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/use_monitor_details_page.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/use_monitor_details_page.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/filter_button.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/filter_button.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/filter_button.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/filter_button.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/filter_group.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/filter_group.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/filter_group.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/filter_group.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/list_filters.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/list_filters.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/list_filters.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/list_filters.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/use_filters.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/use_filters.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/use_filters.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/use_filters.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/use_filters.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/use_filters.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/use_filters.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/use_filters.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/common/no_monitors_found.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/no_monitors_found.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/common/no_monitors_found.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/no_monitors_found.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/common/no_monitors_found.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/no_monitors_found.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/common/no_monitors_found.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/no_monitors_found.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/common/search_field.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/search_field.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/common/search_field.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/search_field.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/common/search_field.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/search_field.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/common/search_field.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/search_field.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/common/show_all_spaces.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/show_all_spaces.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/common/show_all_spaces.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/show_all_spaces.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/create_monitor_button.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/create_monitor_button.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/create_monitor_button.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/create_monitor_button.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_breadcrumbs.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_breadcrumbs.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_breadcrumbs.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_breadcrumbs.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_can_use_public_loc_id.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_can_use_public_loc_id.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_can_use_public_loc_id.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_can_use_public_loc_id.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_create_slo.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_create_slo.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_create_slo.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_create_slo.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_inline_errors.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_inline_errors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_inline_errors.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_inline_errors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_inline_errors_count.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_inline_errors_count.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_inline_errors_count.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_inline_errors_count.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_monitor_filters.test.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_monitor_filters.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_monitor_filters.test.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_monitor_filters.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_monitor_filters.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_monitor_filters.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_monitor_filters.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_monitor_filters.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_monitor_list.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_monitor_list.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_monitor_list.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_monitor_list.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_monitor_list.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_monitor_list.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_monitor_list.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_monitor_list.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_monitor_query_filters.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_monitor_query_filters.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_monitor_query_filters.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_monitor_query_filters.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_overview_status.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_overview_status.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_overview_status.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_overview_status.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/disabled_callout.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/disabled_callout.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/disabled_callout.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/disabled_callout.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/labels.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/labels.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/labels.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/labels.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/loader/loader.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/loader/loader.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/loader/loader.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/loader/loader.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/loader/loader.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/loader/loader.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/loader/loader.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/loader/loader.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_errors/monitor_async_error.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_errors/monitor_async_error.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_errors/monitor_async_error.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_errors/monitor_async_error.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_errors/monitor_async_error.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_errors/monitor_async_error.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_errors/monitor_async_error.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_errors/monitor_async_error.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_container.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_container.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_container.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_container.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/bulk_operations.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/bulk_operations.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/bulk_operations.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/bulk_operations.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/columns.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/columns.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/columns.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/columns.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/delete_monitor.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/delete_monitor.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/delete_monitor.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/delete_monitor.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/labels.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/labels.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/labels.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/labels.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_details_link.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_details_link.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_details_link.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_details_link.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_enabled.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_enabled.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_enabled.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_enabled.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_list.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_list.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_list.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_list.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_list_header.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_list_header.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_list_header.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_list_header.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_locations.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_locations.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_locations.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_locations.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_stats/monitor_stats.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_stats/monitor_stats.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_stats/monitor_stats.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_stats/monitor_stats.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_stats/monitor_test_runs.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_stats/monitor_test_runs.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_stats/monitor_test_runs.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_stats/monitor_test_runs.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_stats/monitor_test_runs_sparkline.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_stats/monitor_test_runs_sparkline.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_stats/monitor_test_runs_sparkline.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_stats/monitor_test_runs_sparkline.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/page_header/monitors_page_header.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/page_header/monitors_page_header.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/page_header/monitors_page_header.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/page_header/monitors_page_header.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/show_sync_errors.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/show_sync_errors.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/show_sync_errors.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/show_sync_errors.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/synthetics_enablement/labels.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/synthetics_enablement/labels.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/synthetics_enablement/labels.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/synthetics_enablement/labels.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/synthetics_enablement/synthetics_enablement.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/synthetics_enablement/synthetics_enablement.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/synthetics_enablement/synthetics_enablement.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/synthetics_enablement/synthetics_enablement.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/monitors_page.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/monitors_page.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/monitors_page.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/monitors_page.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/actions_popover.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/actions_popover.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/actions_popover.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/actions_popover.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/actions_popover.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/actions_popover.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/actions_popover.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/actions_popover.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/grid_by_group/grid_group_item.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/grid_by_group/grid_group_item.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/grid_by_group/grid_group_item.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/grid_by_group/grid_group_item.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/grid_by_group/grid_items_by_group.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/grid_by_group/grid_items_by_group.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/grid_by_group/grid_items_by_group.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/grid_by_group/grid_items_by_group.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/grid_by_group/group_fields.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/grid_by_group/group_fields.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/grid_by_group/group_fields.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/grid_by_group/group_fields.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/grid_by_group/group_menu.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/grid_by_group/group_menu.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/grid_by_group/group_menu.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/grid_by_group/group_menu.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/grid_by_group/use_filtered_group_monitors.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/grid_by_group/use_filtered_group_monitors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/grid_by_group/use_filtered_group_monitors.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/grid_by_group/use_filtered_group_monitors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item/metric_item_body.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item/metric_item_body.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item/metric_item_body.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item/metric_item_body.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item/metric_item_extra.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item/metric_item_extra.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item/metric_item_extra.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item/metric_item_extra.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item/metric_item_extra.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item/metric_item_extra.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item/metric_item_extra.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item/metric_item_extra.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item_icon.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item_icon.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item_icon.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item_icon.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/monitor_detail_flyout.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/monitor_detail_flyout.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/monitor_detail_flyout.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/monitor_detail_flyout.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/monitor_detail_flyout.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/monitor_detail_flyout.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/monitor_detail_flyout.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/monitor_detail_flyout.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_alerts.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_alerts.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_alerts.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_alerts.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_errors/overview_errors.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_errors/overview_errors.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_errors/overview_errors.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_errors/overview_errors.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_errors/overview_errors_count.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_errors/overview_errors_count.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_errors/overview_errors_count.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_errors/overview_errors_count.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_errors/overview_errors_sparklines.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_errors/overview_errors_sparklines.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_errors/overview_errors_sparklines.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_errors/overview_errors_sparklines.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_grid.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_grid.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_grid.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_grid.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_grid_item_loader.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_grid_item_loader.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_grid_item_loader.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_grid_item_loader.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_loader.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_loader.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_loader.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_loader.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_pagination_info.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_pagination_info.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_pagination_info.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_pagination_info.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_status.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_status.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_status.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_status.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/quick_filters.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/quick_filters.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/quick_filters.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/quick_filters.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/quick_filters.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/quick_filters.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/quick_filters.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/quick_filters.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/sort_fields.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/sort_fields.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/sort_fields.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/sort_fields.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/sort_menu.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/sort_menu.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/sort_menu.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/sort_menu.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/types.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/types.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/types.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview_page.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview_page.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview_page.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview_page.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/types.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/types.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/types.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/use_breadcrumbs.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/use_breadcrumbs.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/use_breadcrumbs.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/use_breadcrumbs.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/route_config.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/route_config.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/route_config.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/route_config.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/alerting_defaults/add_connector_flyout.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/alerting_defaults/add_connector_flyout.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/alerting_defaults/add_connector_flyout.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/alerting_defaults/add_connector_flyout.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/alerting_defaults/alert_defaults_form.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/alerting_defaults/alert_defaults_form.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/alerting_defaults/alert_defaults_form.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/alerting_defaults/alert_defaults_form.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/alerting_defaults/connector_field.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/alerting_defaults/connector_field.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/alerting_defaults/connector_field.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/alerting_defaults/connector_field.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/alerting_defaults/default_email.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/alerting_defaults/default_email.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/alerting_defaults/default_email.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/alerting_defaults/default_email.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/alerting_defaults/hooks/use_alerting_defaults.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/alerting_defaults/hooks/use_alerting_defaults.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/alerting_defaults/hooks/use_alerting_defaults.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/alerting_defaults/hooks/use_alerting_defaults.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/alerting_defaults/translations.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/alerting_defaults/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/alerting_defaults/translations.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/alerting_defaults/translations.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/alerting_defaults/validation.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/alerting_defaults/validation.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/alerting_defaults/validation.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/alerting_defaults/validation.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/components/optional_text.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/components/optional_text.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/components/optional_text.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/components/optional_text.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/components/tags_field.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/components/tags_field.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/components/tags_field.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/components/tags_field.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/data_retention/common.test.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/data_retention/common.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/data_retention/common.test.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/data_retention/common.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/data_retention/common.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/data_retention/common.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/data_retention/common.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/data_retention/common.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/data_retention/dsl_retention_tab.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/data_retention/dsl_retention_tab.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/data_retention/dsl_retention_tab.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/data_retention/dsl_retention_tab.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/data_retention/ilm_retention_tab.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/data_retention/ilm_retention_tab.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/data_retention/ilm_retention_tab.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/data_retention/ilm_retention_tab.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/data_retention/index.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/data_retention/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/data_retention/index.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/data_retention/index.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/data_retention/policy_labels.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/data_retention/policy_labels.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/data_retention/policy_labels.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/data_retention/policy_labels.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/data_retention/unprivileged.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/data_retention/unprivileged.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/data_retention/unprivileged.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/data_retention/unprivileged.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/data_retention/use_management_locator.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/data_retention/use_management_locator.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/data_retention/use_management_locator.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/data_retention/use_management_locator.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/global_params/add_param_flyout.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/global_params/add_param_flyout.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/global_params/add_param_flyout.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/global_params/add_param_flyout.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/global_params/add_param_form.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/global_params/add_param_form.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/global_params/add_param_form.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/global_params/add_param_form.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/global_params/delete_param.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/global_params/delete_param.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/global_params/delete_param.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/global_params/delete_param.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/global_params/param_value_field.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/global_params/param_value_field.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/global_params/param_value_field.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/global_params/param_value_field.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/global_params/params_list.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/global_params/params_list.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/global_params/params_list.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/global_params/params_list.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/global_params/params_text.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/global_params/params_text.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/global_params/params_text.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/global_params/params_text.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/hooks/api.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/hooks/api.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/hooks/api.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/hooks/api.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/hooks/use_get_data_stream_statuses.test.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/hooks/use_get_data_stream_statuses.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/hooks/use_get_data_stream_statuses.test.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/hooks/use_get_data_stream_statuses.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/hooks/use_get_data_stream_statuses.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/hooks/use_get_data_stream_statuses.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/hooks/use_get_data_stream_statuses.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/hooks/use_get_data_stream_statuses.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/hooks/use_get_ilm_policies.test.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/hooks/use_get_ilm_policies.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/hooks/use_get_ilm_policies.test.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/hooks/use_get_ilm_policies.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/hooks/use_get_ilm_policies.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/hooks/use_get_ilm_policies.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/hooks/use_get_ilm_policies.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/hooks/use_get_ilm_policies.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/hooks/use_params_list.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/hooks/use_params_list.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/hooks/use_params_list.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/hooks/use_params_list.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/page_header.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/page_header.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/page_header.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/page_header.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/policy_link.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/policy_link.tsx similarity index 97% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/policy_link.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/policy_link.tsx index 3918e20bccabd..782c8ebd34f67 100644 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/policy_link.tsx +++ b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/policy_link.tsx @@ -26,7 +26,6 @@ export const PolicyLink = ({ name }: { name: string }) => { return ilmLocator?.getLocation({ page: 'policy_edit', policyName: name }); // FIXME: Dario thinks there is a better way to do this but // he's getting tired and maybe the Synthetics folks can fix it - // eslint-disable-next-line react-hooks/exhaustive-deps }, [name]); if (!data) { diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/add_location_flyout.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/add_location_flyout.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/add_location_flyout.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/add_location_flyout.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/agent_policy_needed.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/agent_policy_needed.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/agent_policy_needed.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/agent_policy_needed.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/copy_name.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/copy_name.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/copy_name.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/copy_name.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/delete_location.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/delete_location.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/delete_location.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/delete_location.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/empty_locations.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/empty_locations.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/empty_locations.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/empty_locations.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/hooks/use_location_monitors.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/hooks/use_location_monitors.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/hooks/use_location_monitors.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/hooks/use_location_monitors.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/hooks/use_location_monitors.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/hooks/use_location_monitors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/hooks/use_location_monitors.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/hooks/use_location_monitors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/hooks/use_locations_api.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/hooks/use_locations_api.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/hooks/use_locations_api.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/hooks/use_locations_api.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/hooks/use_locations_api.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/hooks/use_locations_api.ts similarity index 95% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/hooks/use_locations_api.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/hooks/use_locations_api.ts index 6b3899a5b44c8..4f3790edddec4 100644 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/hooks/use_locations_api.ts +++ b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/hooks/use_locations_api.ts @@ -46,7 +46,6 @@ export const usePrivateLocationsAPI = () => { } // FIXME: Dario thinks there is a better way to do this but // he's getting tired and maybe the Synthetics folks can fix it - // eslint-disable-next-line react-hooks/exhaustive-deps }, [formData]); const onSubmit = (data: NewLocation) => { @@ -67,7 +66,6 @@ export const usePrivateLocationsAPI = () => { } // FIXME: Dario thinks there is a better way to do this but // he's getting tired and maybe the Synthetics folks can fix it - // eslint-disable-next-line react-hooks/exhaustive-deps }, [deleteId]); return { diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/location_form.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/location_form.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/location_form.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/location_form.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/locations_table.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/locations_table.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/locations_table.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/locations_table.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/manage_empty_state.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/manage_empty_state.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/manage_empty_state.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/manage_empty_state.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/manage_private_locations.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/manage_private_locations.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/manage_private_locations.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/manage_private_locations.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/manage_private_locations.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/manage_private_locations.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/manage_private_locations.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/manage_private_locations.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/policy_hosts.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/policy_hosts.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/policy_hosts.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/policy_hosts.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/policy_name.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/policy_name.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/policy_name.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/policy_name.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/view_location_monitors.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/view_location_monitors.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/private_locations/view_location_monitors.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/view_location_monitors.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/project_api_keys/api_key_btn.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/project_api_keys/api_key_btn.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/project_api_keys/api_key_btn.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/project_api_keys/api_key_btn.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/project_api_keys/api_key_btn.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/project_api_keys/api_key_btn.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/project_api_keys/api_key_btn.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/project_api_keys/api_key_btn.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/project_api_keys/help_commands.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/project_api_keys/help_commands.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/project_api_keys/help_commands.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/project_api_keys/help_commands.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/project_api_keys/project_api_keys.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/project_api_keys/project_api_keys.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/project_api_keys/project_api_keys.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/project_api_keys/project_api_keys.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/project_api_keys/project_api_keys.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/project_api_keys/project_api_keys.tsx similarity index 99% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/project_api_keys/project_api_keys.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/project_api_keys/project_api_keys.tsx index 4a8752e8b9926..07d0b83c15e51 100644 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/project_api_keys/project_api_keys.tsx +++ b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/project_api_keys/project_api_keys.tsx @@ -40,7 +40,6 @@ export const ProjectAPIKeys = () => { return null; // FIXME: Dario thinks there is a better way to do this but // he's getting tired and maybe the Synthetics folks can fix it - // eslint-disable-next-line react-hooks/exhaustive-deps }, [loadAPIKey, canUsePublicLocations]); useEffect(() => { diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/route_config.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/route_config.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/route_config.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/route_config.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/settings_page.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/settings_page.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/settings_page.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/settings_page.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/use_settings_breadcrumbs.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/use_settings_breadcrumbs.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/use_settings_breadcrumbs.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/settings/use_settings_breadcrumbs.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/common/network_data/data_formatting.test.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/common/network_data/data_formatting.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/common/network_data/data_formatting.test.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/common/network_data/data_formatting.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/common/network_data/data_formatting.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/common/network_data/data_formatting.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/common/network_data/data_formatting.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/common/network_data/data_formatting.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/common/network_data/types.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/common/network_data/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/common/network_data/types.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/common/network_data/types.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/error_callout.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/error_callout.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/error_callout.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/error_callout.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_network_timings.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_network_timings.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_network_timings.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_network_timings.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_network_timings_prev.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_network_timings_prev.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_network_timings_prev.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_network_timings_prev.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_object_metrics.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_object_metrics.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_object_metrics.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_object_metrics.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_prev_object_metrics.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_prev_object_metrics.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_prev_object_metrics.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_prev_object_metrics.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_step_detail_page.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_step_detail_page.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_step_detail_page.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_step_detail_page.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_step_details_breadcrumbs.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_step_details_breadcrumbs.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_step_details_breadcrumbs.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_step_details_breadcrumbs.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_step_metrics.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_step_metrics.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_step_metrics.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_step_metrics.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_step_prev_metrics.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_step_prev_metrics.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_step_prev_metrics.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_step_prev_metrics.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/network_timings_breakdown.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/network_timings_breakdown.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/network_timings_breakdown.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/network_timings_breakdown.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/route_config.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/route_config.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/route_config.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/route_config.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_detail_page.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_detail_page.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_detail_page.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_detail_page.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_details_status.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_details_status.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_details_status.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_details_status.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_metrics/definitions_popover.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_metrics/definitions_popover.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_metrics/definitions_popover.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_metrics/definitions_popover.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_metrics/labels.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_metrics/labels.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_metrics/labels.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_metrics/labels.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_metrics/step_metrics.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_metrics/step_metrics.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_metrics/step_metrics.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_metrics/step_metrics.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_number_nav.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_number_nav.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_number_nav.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_number_nav.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_objects/color_palette.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_objects/color_palette.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_objects/color_palette.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_objects/color_palette.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_objects/object_count_list.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_objects/object_count_list.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_objects/object_count_list.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_objects/object_count_list.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_objects/object_weight_list.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_objects/object_weight_list.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_objects/object_weight_list.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_objects/object_weight_list.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_page_nav.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_page_nav.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_page_nav.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_page_nav.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_screenshot/last_successful_screenshot.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_screenshot/last_successful_screenshot.tsx similarity index 97% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_screenshot/last_successful_screenshot.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_screenshot/last_successful_screenshot.tsx index cde0cb93fed11..dfd7d3db11007 100644 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_screenshot/last_successful_screenshot.tsx +++ b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_screenshot/last_successful_screenshot.tsx @@ -37,7 +37,6 @@ export const LastSuccessfulScreenshot = ({ }); // FIXME: Dario thinks there is a better way to do this but // he's getting tired and maybe the Synthetics folks can fix it - // eslint-disable-next-line react-hooks/exhaustive-deps }, [step._id, step['@timestamp']]); return ( diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_screenshot/step_image.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_screenshot/step_image.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_screenshot/step_image.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_screenshot/step_image.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_timing_breakdown/breakdown_legend.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_timing_breakdown/breakdown_legend.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_timing_breakdown/breakdown_legend.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_timing_breakdown/breakdown_legend.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_timing_breakdown/network_timings_donut.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_timing_breakdown/network_timings_donut.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_timing_breakdown/network_timings_donut.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_timing_breakdown/network_timings_donut.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_title.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_title.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_title.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_title.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/use_step_waterfall_metrics.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/use_step_waterfall_metrics.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/use_step_waterfall_metrics.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/use_step_waterfall_metrics.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/use_step_waterfall_metrics.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/use_step_waterfall_metrics.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/use_step_waterfall_metrics.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/use_step_waterfall_metrics.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/README.md b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/README.md similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/README.md rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/README.md diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/constants.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/constants.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/constants.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/constants.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/context/waterfall_context.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/context/waterfall_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/context/waterfall_context.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/context/waterfall_context.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/middle_truncated_text.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/middle_truncated_text.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/middle_truncated_text.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/middle_truncated_text.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/middle_truncated_text.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/middle_truncated_text.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/middle_truncated_text.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/middle_truncated_text.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/sidebar.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/sidebar.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/sidebar.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/sidebar.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/styles.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/styles.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/styles.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/styles.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/translations.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/translations.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/translations.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/use_bar_charts.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/use_bar_charts.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/use_bar_charts.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/use_bar_charts.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/use_bar_charts.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/use_bar_charts.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/use_bar_charts.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/use_bar_charts.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_bar_chart.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_bar_chart.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_bar_chart.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_bar_chart.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart_container.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart_container.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart_container.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart_container.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart_container.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart_container.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart_container.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart_container.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart_fixed_axis.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart_fixed_axis.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart_fixed_axis.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart_fixed_axis.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart_wrapper.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart_wrapper.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart_wrapper.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart_wrapper.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart_wrapper.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart_wrapper.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart_wrapper.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_chart_wrapper.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_flyout/use_flyout.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_flyout/use_flyout.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_flyout/use_flyout.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_flyout/use_flyout.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_flyout/use_flyout.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_flyout/use_flyout.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_flyout/use_flyout.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_flyout/use_flyout.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_flyout/waterfall_flyout.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_flyout/waterfall_flyout.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_flyout/waterfall_flyout.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_flyout/waterfall_flyout.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_flyout/waterfall_flyout.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_flyout/waterfall_flyout.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_flyout/waterfall_flyout.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_flyout/waterfall_flyout.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_flyout/waterfall_flyout_table.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_flyout/waterfall_flyout_table.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_flyout/waterfall_flyout_table.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_flyout/waterfall_flyout_table.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/network_requests_total.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/network_requests_total.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/network_requests_total.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/network_requests_total.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/network_requests_total.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/network_requests_total.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/network_requests_total.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/network_requests_total.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_legend_item.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_legend_item.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_legend_item.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_legend_item.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_mime_legend.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_mime_legend.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_mime_legend.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_mime_legend.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_mime_legend.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_mime_legend.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_mime_legend.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_mime_legend.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_search.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_search.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_search.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_search.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_search.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_search.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_search.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_search.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_tick_axis.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_tick_axis.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_tick_axis.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_tick_axis.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_tick_axis.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_tick_axis.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_tick_axis.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_tick_axis.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_timing_legend.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_timing_legend.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_timing_legend.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_header/waterfall_timing_legend.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_marker_icon.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_marker_icon.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_marker_icon.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_marker_icon.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_marker_icon.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_marker_icon.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_marker_icon.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_marker_icon.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_marker_test_helper.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_marker_test_helper.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_marker_test_helper.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_marker_test_helper.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_marker_trend.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_marker_trend.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_marker_trend.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_marker_trend.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_marker_trend.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_marker_trend.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_marker_trend.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_marker_trend.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_markers.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_markers.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_markers.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_markers.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_sidebar_item.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_sidebar_item.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_sidebar_item.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_sidebar_item.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_sidebar_item.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_sidebar_item.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_sidebar_item.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_sidebar_item.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_tooltip_content.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_tooltip_content.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_tooltip_content.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_tooltip_content.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_tooltip_content.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_tooltip_content.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_tooltip_content.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_tooltip_content.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/browser/browser_test_results.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/browser/browser_test_results.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/browser/browser_test_results.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/browser/browser_test_results.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_browser_run_once_monitors.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_browser_run_once_monitors.ts similarity index 99% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_browser_run_once_monitors.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_browser_run_once_monitors.ts index c5b11dc272233..553278f180bdf 100644 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_browser_run_once_monitors.ts +++ b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_browser_run_once_monitors.ts @@ -189,7 +189,6 @@ export const useBrowserRunOnceMonitors = ({ return Promise.resolve(null); // FIXME: Dario thinks there is a better way to do this but // he's getting tired and maybe the Synthetics folks can fix it - // eslint-disable-next-line react-hooks/exhaustive-deps }, [checkGroupCheckSum, setCheckGroupResults, lastRefresh]); // Whenever a new found document is fetched, update lastUpdated diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_run_once_errors.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_run_once_errors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_run_once_errors.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_run_once_errors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_simple_run_once_monitors.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_simple_run_once_monitors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_simple_run_once_monitors.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_simple_run_once_monitors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_test_flyout_open.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_test_flyout_open.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_test_flyout_open.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_test_flyout_open.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_tick_tick.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_tick_tick.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_tick_tick.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/hooks/use_tick_tick.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/browser_test_results.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/browser_test_results.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/browser_test_results.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/browser_test_results.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/manual_test_run_mode.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/manual_test_run_mode.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/manual_test_run_mode.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/manual_test_run_mode.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/simple_test_results.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/simple_test_results.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/simple_test_results.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/simple_test_results.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/columns/expand_row.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/columns/expand_row.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/columns/expand_row.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/columns/expand_row.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/columns/ping_error.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/columns/ping_error.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/columns/ping_error.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/columns/ping_error.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/columns/ping_status.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/columns/ping_status.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/columns/ping_status.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/columns/ping_status.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/columns/response_code.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/columns/response_code.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/columns/response_code.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/columns/response_code.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/expanded_row.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/expanded_row.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/expanded_row.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/expanded_row.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/headers.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/headers.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/headers.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/headers.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/ping_list_table.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/ping_list_table.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/ping_list_table.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/ping_list_table.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/ping_redirects.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/ping_redirects.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/ping_redirects.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/ping_redirects.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/translations.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/translations.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/translations.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/use_ping_expanded.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/use_ping_expanded.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/use_ping_expanded.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/simple/ping_list/use_ping_expanded.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/simple/simple_test_results.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/simple/simple_test_results.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/simple/simple_test_results.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/simple/simple_test_results.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/test_now_mode.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/test_now_mode.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/test_now_mode.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/test_now_mode.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/test_now_mode_flyout.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/test_now_mode_flyout.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/test_now_mode_flyout.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/test_now_mode_flyout.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/test_now_mode_flyout_container.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/test_now_mode_flyout_container.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/test_now_mode_flyout_container.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/test_now_mode_flyout_container.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/test_result_header.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/test_result_header.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/test_result_header.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_now_mode/test_result_header.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_run_details/components/step_details.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_run_details/components/step_details.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_run_details/components/step_details.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_run_details/components/step_details.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_run_details/components/step_info.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_run_details/components/step_info.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_run_details/components/step_info.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_run_details/components/step_info.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_run_details/components/step_number_nav.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_run_details/components/step_number_nav.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_run_details/components/step_number_nav.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_run_details/components/step_number_nav.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_run_details/components/test_run_date.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_run_details/components/test_run_date.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_run_details/components/test_run_date.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_run_details/components/test_run_date.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_run_details/components/test_run_details_status.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_run_details/components/test_run_details_status.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_run_details/components/test_run_details_status.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_run_details/components/test_run_details_status.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_run_details/components/test_run_error_info.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_run_details/components/test_run_error_info.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_run_details/components/test_run_error_info.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_run_details/components/test_run_error_info.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_run_details/hooks/use_test_run_details_breadcrumbs.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_run_details/hooks/use_test_run_details_breadcrumbs.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_run_details/hooks/use_test_run_details_breadcrumbs.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_run_details/hooks/use_test_run_details_breadcrumbs.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_run_details/route_config.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_run_details/route_config.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_run_details/route_config.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_run_details/route_config.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_run_details/step_screenshot_details.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_run_details/step_screenshot_details.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_run_details/step_screenshot_details.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_run_details/step_screenshot_details.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_run_details/step_tabs.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_run_details/step_tabs.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_run_details/step_tabs.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_run_details/step_tabs.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_run_details/test_run_details.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_run_details/test_run_details.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_run_details/test_run_details.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_run_details/test_run_details.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_run_details/test_run_steps.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_run_details/test_run_steps.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_run_details/test_run_steps.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/test_run_details/test_run_steps.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/contexts/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/contexts/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/contexts/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/contexts/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/contexts/synthetics_data_view_context.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/contexts/synthetics_data_view_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/contexts/synthetics_data_view_context.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/contexts/synthetics_data_view_context.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/contexts/synthetics_embeddable_context.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/contexts/synthetics_embeddable_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/contexts/synthetics_embeddable_context.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/contexts/synthetics_embeddable_context.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/contexts/synthetics_refresh_context.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/contexts/synthetics_refresh_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/contexts/synthetics_refresh_context.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/contexts/synthetics_refresh_context.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/contexts/synthetics_settings_context.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/contexts/synthetics_settings_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/contexts/synthetics_settings_context.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/contexts/synthetics_settings_context.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/contexts/synthetics_shared_context.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/contexts/synthetics_shared_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/contexts/synthetics_shared_context.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/contexts/synthetics_shared_context.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_absolute_date.test.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_absolute_date.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_absolute_date.test.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_absolute_date.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_absolute_date.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_absolute_date.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_absolute_date.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_absolute_date.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_breadcrumbs.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_breadcrumbs.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_breadcrumbs.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_breadcrumbs.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_breadcrumbs.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_breadcrumbs.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_breadcrumbs.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_breadcrumbs.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_composite_image.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_composite_image.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_composite_image.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_composite_image.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_composite_image.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_composite_image.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_composite_image.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_composite_image.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_dimensions.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_dimensions.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_dimensions.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_dimensions.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_edit_monitor_locator.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_edit_monitor_locator.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_edit_monitor_locator.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_edit_monitor_locator.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_enablement.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_enablement.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_enablement.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_enablement.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_fleet_permissions.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_fleet_permissions.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_fleet_permissions.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_fleet_permissions.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_location_name.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_location_name.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_location_name.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_location_name.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_location_name.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_location_name.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_location_name.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_location_name.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_locations.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_locations.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_locations.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_locations.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_monitor_alert_enable.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_monitor_alert_enable.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_monitor_alert_enable.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_monitor_alert_enable.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_monitor_detail.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_monitor_detail.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_monitor_detail.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_monitor_detail.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_monitor_detail_locator.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_monitor_detail_locator.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_monitor_detail_locator.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_monitor_detail_locator.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_monitor_enable_handler.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_monitor_enable_handler.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_monitor_enable_handler.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_monitor_enable_handler.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_monitor_name.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_monitor_name.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_monitor_name.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_monitor_name.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_monitor_name.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_monitor_name.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_monitor_name.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_monitor_name.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_monitors_sorted_by_status.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_monitors_sorted_by_status.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_monitors_sorted_by_status.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_monitors_sorted_by_status.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_monitors_sorted_by_status.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_monitors_sorted_by_status.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_monitors_sorted_by_status.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_monitors_sorted_by_status.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_redux_es_search.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_redux_es_search.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_redux_es_search.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_redux_es_search.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_status_by_location.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_status_by_location.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_status_by_location.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_status_by_location.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_status_by_location_overview.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_status_by_location_overview.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_status_by_location_overview.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_status_by_location_overview.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_synthetics_priviliges.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_synthetics_priviliges.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_synthetics_priviliges.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_synthetics_priviliges.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_synthetics_priviliges.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_synthetics_priviliges.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_synthetics_priviliges.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_synthetics_priviliges.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_url_params.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_url_params.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_url_params.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_url_params.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_url_params.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_url_params.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/hooks/use_url_params.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/hooks/use_url_params.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/lib/alert_types/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/lib/alert_types/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/lib/alert_types/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/lib/alert_types/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/lib/alert_types/lazy_wrapper/monitor_status.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/lib/alert_types/lazy_wrapper/monitor_status.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/lib/alert_types/lazy_wrapper/monitor_status.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/lib/alert_types/lazy_wrapper/monitor_status.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/lib/alert_types/lazy_wrapper/tls_alert.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/lib/alert_types/lazy_wrapper/tls_alert.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/lib/alert_types/lazy_wrapper/tls_alert.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/lib/alert_types/lazy_wrapper/tls_alert.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/lib/alert_types/lazy_wrapper/validate_tls_alert.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/lib/alert_types/lazy_wrapper/validate_tls_alert.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/lib/alert_types/lazy_wrapper/validate_tls_alert.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/lib/alert_types/lazy_wrapper/validate_tls_alert.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/lib/alert_types/monitor_status.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/lib/alert_types/monitor_status.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/lib/alert_types/monitor_status.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/lib/alert_types/monitor_status.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/lib/alert_types/tls.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/lib/alert_types/tls.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/lib/alert_types/tls.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/lib/alert_types/tls.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/lib/alert_types/types.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/lib/alert_types/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/lib/alert_types/types.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/lib/alert_types/types.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/render_app.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/render_app.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/render_app.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/render_app.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/routes.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/routes.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/routes.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/routes.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/alert_rules/actions.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/alert_rules/actions.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/alert_rules/actions.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/alert_rules/actions.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/alert_rules/api.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/alert_rules/api.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/alert_rules/api.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/alert_rules/api.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/alert_rules/effects.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/alert_rules/effects.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/alert_rules/effects.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/alert_rules/effects.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/alert_rules/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/alert_rules/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/alert_rules/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/alert_rules/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/alert_rules/selectors.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/alert_rules/selectors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/alert_rules/selectors.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/alert_rules/selectors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/browser_journey/actions.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/browser_journey/actions.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/browser_journey/actions.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/browser_journey/actions.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/browser_journey/api.test.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/browser_journey/api.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/browser_journey/api.test.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/browser_journey/api.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/browser_journey/api.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/browser_journey/api.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/browser_journey/api.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/browser_journey/api.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/browser_journey/effects.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/browser_journey/effects.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/browser_journey/effects.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/browser_journey/effects.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/browser_journey/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/browser_journey/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/browser_journey/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/browser_journey/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/browser_journey/models.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/browser_journey/models.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/browser_journey/models.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/browser_journey/models.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/browser_journey/selectors.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/browser_journey/selectors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/browser_journey/selectors.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/browser_journey/selectors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/certificates/certificates.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/certificates/certificates.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/certificates/certificates.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/certificates/certificates.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/certs/actions.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/certs/actions.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/certs/actions.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/certs/actions.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/certs/api.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/certs/api.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/certs/api.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/certs/api.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/certs/effects.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/certs/effects.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/certs/effects.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/certs/effects.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/certs/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/certs/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/certs/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/certs/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/certs/selectors.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/certs/selectors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/certs/selectors.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/certs/selectors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/elasticsearch/actions.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/elasticsearch/actions.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/elasticsearch/actions.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/elasticsearch/actions.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/elasticsearch/api.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/elasticsearch/api.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/elasticsearch/api.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/elasticsearch/api.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/elasticsearch/effects.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/elasticsearch/effects.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/elasticsearch/effects.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/elasticsearch/effects.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/elasticsearch/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/elasticsearch/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/elasticsearch/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/elasticsearch/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/elasticsearch/selectors.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/elasticsearch/selectors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/elasticsearch/selectors.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/elasticsearch/selectors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/global_params/actions.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/global_params/actions.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/global_params/actions.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/global_params/actions.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/global_params/api.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/global_params/api.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/global_params/api.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/global_params/api.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/global_params/effects.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/global_params/effects.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/global_params/effects.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/global_params/effects.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/global_params/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/global_params/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/global_params/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/global_params/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/global_params/selectors.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/global_params/selectors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/global_params/selectors.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/global_params/selectors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/manual_test_runs/actions.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/manual_test_runs/actions.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/manual_test_runs/actions.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/manual_test_runs/actions.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/manual_test_runs/api.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/manual_test_runs/api.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/manual_test_runs/api.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/manual_test_runs/api.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/manual_test_runs/effects.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/manual_test_runs/effects.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/manual_test_runs/effects.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/manual_test_runs/effects.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/manual_test_runs/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/manual_test_runs/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/manual_test_runs/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/manual_test_runs/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/manual_test_runs/selectors.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/manual_test_runs/selectors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/manual_test_runs/selectors.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/manual_test_runs/selectors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_details/actions.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_details/actions.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_details/actions.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_details/actions.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_details/api.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_details/api.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_details/api.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_details/api.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_details/effects.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_details/effects.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_details/effects.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_details/effects.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_details/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_details/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_details/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_details/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_details/selectors.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_details/selectors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_details/selectors.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_details/selectors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_list/actions.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_list/actions.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_list/actions.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_list/actions.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_list/api.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_list/api.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_list/api.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_list/api.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_list/effects.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_list/effects.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_list/effects.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_list/effects.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_list/helpers.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_list/helpers.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_list/helpers.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_list/helpers.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_list/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_list/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_list/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_list/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_list/models.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_list/models.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_list/models.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_list/models.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_list/selectors.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_list/selectors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_list/selectors.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_list/selectors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_list/toast_title.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_list/toast_title.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_list/toast_title.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_list/toast_title.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_management/api.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_management/api.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_management/api.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/monitor_management/api.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/network_events/actions.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/network_events/actions.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/network_events/actions.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/network_events/actions.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/network_events/api.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/network_events/api.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/network_events/api.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/network_events/api.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/network_events/effects.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/network_events/effects.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/network_events/effects.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/network_events/effects.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/network_events/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/network_events/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/network_events/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/network_events/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/network_events/selectors.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/network_events/selectors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/network_events/selectors.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/network_events/selectors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/overview/actions.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/overview/actions.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/overview/actions.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/overview/actions.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/overview/api.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/overview/api.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/overview/api.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/overview/api.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/overview/effects.test.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/overview/effects.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/overview/effects.test.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/overview/effects.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/overview/effects.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/overview/effects.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/overview/effects.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/overview/effects.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/overview/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/overview/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/overview/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/overview/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/overview/models.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/overview/models.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/overview/models.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/overview/models.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/overview/selectors.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/overview/selectors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/overview/selectors.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/overview/selectors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/overview_status/actions.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/overview_status/actions.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/overview_status/actions.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/overview_status/actions.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/overview_status/api.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/overview_status/api.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/overview_status/api.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/overview_status/api.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/overview_status/effects.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/overview_status/effects.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/overview_status/effects.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/overview_status/effects.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/overview_status/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/overview_status/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/overview_status/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/overview_status/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/overview_status/selectors.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/overview_status/selectors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/overview_status/selectors.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/overview_status/selectors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/private_locations/actions.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/private_locations/actions.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/private_locations/actions.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/private_locations/actions.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/private_locations/api.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/private_locations/api.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/private_locations/api.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/private_locations/api.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/private_locations/effects.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/private_locations/effects.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/private_locations/effects.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/private_locations/effects.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/private_locations/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/private_locations/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/private_locations/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/private_locations/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/private_locations/selectors.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/private_locations/selectors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/private_locations/selectors.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/private_locations/selectors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/root_effect.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/root_effect.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/root_effect.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/root_effect.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/root_reducer.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/root_reducer.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/root_reducer.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/root_reducer.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/service_locations/actions.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/service_locations/actions.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/service_locations/actions.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/service_locations/actions.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/service_locations/api.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/service_locations/api.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/service_locations/api.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/service_locations/api.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/service_locations/effects.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/service_locations/effects.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/service_locations/effects.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/service_locations/effects.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/service_locations/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/service_locations/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/service_locations/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/service_locations/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/service_locations/selectors.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/service_locations/selectors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/service_locations/selectors.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/service_locations/selectors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/settings/actions.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/settings/actions.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/settings/actions.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/settings/actions.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/settings/api.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/settings/api.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/settings/api.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/settings/api.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/settings/effects.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/settings/effects.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/settings/effects.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/settings/effects.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/settings/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/settings/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/settings/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/settings/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/settings/selectors.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/settings/selectors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/settings/selectors.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/settings/selectors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/status_heatmap/actions.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/status_heatmap/actions.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/status_heatmap/actions.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/status_heatmap/actions.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/status_heatmap/api.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/status_heatmap/api.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/status_heatmap/api.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/status_heatmap/api.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/status_heatmap/effects.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/status_heatmap/effects.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/status_heatmap/effects.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/status_heatmap/effects.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/status_heatmap/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/status_heatmap/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/status_heatmap/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/status_heatmap/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/status_heatmap/models.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/status_heatmap/models.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/status_heatmap/models.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/status_heatmap/models.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/status_heatmap/selectors.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/status_heatmap/selectors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/status_heatmap/selectors.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/status_heatmap/selectors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/store.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/store.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/store.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/store.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/synthetics_enablement/actions.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/synthetics_enablement/actions.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/synthetics_enablement/actions.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/synthetics_enablement/actions.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/synthetics_enablement/api.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/synthetics_enablement/api.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/synthetics_enablement/api.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/synthetics_enablement/api.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/synthetics_enablement/effects.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/synthetics_enablement/effects.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/synthetics_enablement/effects.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/synthetics_enablement/effects.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/synthetics_enablement/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/synthetics_enablement/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/synthetics_enablement/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/synthetics_enablement/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/synthetics_enablement/selectors.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/synthetics_enablement/selectors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/synthetics_enablement/selectors.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/synthetics_enablement/selectors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/ui/actions.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/ui/actions.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/ui/actions.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/ui/actions.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/ui/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/ui/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/ui/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/ui/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/ui/selectors.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/ui/selectors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/ui/selectors.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/ui/selectors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/utils/actions.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/utils/actions.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/utils/actions.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/utils/actions.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/utils/fetch_effect.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/utils/fetch_effect.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/utils/fetch_effect.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/utils/fetch_effect.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/utils/http_error.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/utils/http_error.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/utils/http_error.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/state/utils/http_error.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/synthetics_app.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/synthetics_app.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/synthetics_app.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/synthetics_app.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/adapters/capabilities_adapter.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/adapters/capabilities_adapter.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/adapters/capabilities_adapter.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/adapters/capabilities_adapter.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/adapters/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/adapters/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/adapters/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/adapters/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/filters/filter_fields.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/filters/filter_fields.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/filters/filter_fields.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/filters/filter_fields.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/formatting/format.test.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/formatting/format.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/formatting/format.test.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/formatting/format.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/formatting/format.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/formatting/format.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/formatting/format.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/formatting/format.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/formatting/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/formatting/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/formatting/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/formatting/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/formatting/test_helpers.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/formatting/test_helpers.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/formatting/test_helpers.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/formatting/test_helpers.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/monitor_test_result/check_pings.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/monitor_test_result/check_pings.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/monitor_test_result/check_pings.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/monitor_test_result/check_pings.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/monitor_test_result/compose_screenshot_images.test.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/monitor_test_result/compose_screenshot_images.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/monitor_test_result/compose_screenshot_images.test.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/monitor_test_result/compose_screenshot_images.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/monitor_test_result/compose_screenshot_images.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/monitor_test_result/compose_screenshot_images.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/monitor_test_result/compose_screenshot_images.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/monitor_test_result/compose_screenshot_images.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/monitor_test_result/sort_pings.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/monitor_test_result/sort_pings.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/monitor_test_result/sort_pings.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/monitor_test_result/sort_pings.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/monitor_test_result/test_time_formats.test.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/monitor_test_result/test_time_formats.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/monitor_test_result/test_time_formats.test.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/monitor_test_result/test_time_formats.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/monitor_test_result/test_time_formats.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/monitor_test_result/test_time_formats.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/monitor_test_result/test_time_formats.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/monitor_test_result/test_time_formats.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/testing/__mocks__/synthetics_plugin_start_mock.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/testing/__mocks__/synthetics_plugin_start_mock.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/testing/__mocks__/synthetics_plugin_start_mock.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/testing/__mocks__/synthetics_plugin_start_mock.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/testing/__mocks__/synthetics_store.mock.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/testing/__mocks__/synthetics_store.mock.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/testing/__mocks__/synthetics_store.mock.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/testing/__mocks__/synthetics_store.mock.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/testing/__mocks__/ut_router_history.mock.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/testing/__mocks__/ut_router_history.mock.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/testing/__mocks__/ut_router_history.mock.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/testing/__mocks__/ut_router_history.mock.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/testing/helper_with_redux.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/testing/helper_with_redux.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/testing/helper_with_redux.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/testing/helper_with_redux.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/testing/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/testing/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/testing/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/testing/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/testing/rtl_helpers.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/testing/rtl_helpers.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/testing/rtl_helpers.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/testing/rtl_helpers.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/url_params/get_supported_url_params.test.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/url_params/get_supported_url_params.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/url_params/get_supported_url_params.test.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/url_params/get_supported_url_params.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/url_params/get_supported_url_params.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/url_params/get_supported_url_params.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/url_params/get_supported_url_params.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/url_params/get_supported_url_params.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/url_params/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/url_params/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/url_params/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/url_params/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/url_params/parse_absolute_date.test.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/url_params/parse_absolute_date.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/url_params/parse_absolute_date.test.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/url_params/parse_absolute_date.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/url_params/parse_absolute_date.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/url_params/parse_absolute_date.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/url_params/parse_absolute_date.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/url_params/parse_absolute_date.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/url_params/stringify_url_params.test.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/url_params/stringify_url_params.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/url_params/stringify_url_params.test.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/url_params/stringify_url_params.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/url_params/stringify_url_params.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/url_params/stringify_url_params.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/url_params/stringify_url_params.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/url_params/stringify_url_params.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/validators/is_url_valid.test.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/validators/is_url_valid.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/validators/is_url_valid.test.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/validators/is_url_valid.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/validators/is_url_valid.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/validators/is_url_valid.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/validators/is_url_valid.ts rename to x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/utils/validators/is_url_valid.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/hooks/use_base_chart_theme.ts b/x-pack/solutions/observability/plugins/synthetics/public/hooks/use_base_chart_theme.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/hooks/use_base_chart_theme.ts rename to x-pack/solutions/observability/plugins/synthetics/public/hooks/use_base_chart_theme.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/hooks/use_capabilities.ts b/x-pack/solutions/observability/plugins/synthetics/public/hooks/use_capabilities.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/hooks/use_capabilities.ts rename to x-pack/solutions/observability/plugins/synthetics/public/hooks/use_capabilities.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/hooks/use_date_format.test.tsx b/x-pack/solutions/observability/plugins/synthetics/public/hooks/use_date_format.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/hooks/use_date_format.test.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/hooks/use_date_format.test.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/hooks/use_date_format.ts b/x-pack/solutions/observability/plugins/synthetics/public/hooks/use_date_format.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/hooks/use_date_format.ts rename to x-pack/solutions/observability/plugins/synthetics/public/hooks/use_date_format.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/hooks/use_form_wrapped.tsx b/x-pack/solutions/observability/plugins/synthetics/public/hooks/use_form_wrapped.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/hooks/use_form_wrapped.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/hooks/use_form_wrapped.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/hooks/use_kibana_space.tsx b/x-pack/solutions/observability/plugins/synthetics/public/hooks/use_kibana_space.tsx similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/hooks/use_kibana_space.tsx rename to x-pack/solutions/observability/plugins/synthetics/public/hooks/use_kibana_space.tsx diff --git a/x-pack/plugins/observability_solution/synthetics/public/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/plugin.ts b/x-pack/solutions/observability/plugins/synthetics/public/plugin.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/plugin.ts rename to x-pack/solutions/observability/plugins/synthetics/public/plugin.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/utils/api_service/api_service.ts b/x-pack/solutions/observability/plugins/synthetics/public/utils/api_service/api_service.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/utils/api_service/api_service.ts rename to x-pack/solutions/observability/plugins/synthetics/public/utils/api_service/api_service.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/utils/api_service/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/utils/api_service/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/utils/api_service/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/utils/api_service/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/utils/kibana_service/index.ts b/x-pack/solutions/observability/plugins/synthetics/public/utils/kibana_service/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/utils/kibana_service/index.ts rename to x-pack/solutions/observability/plugins/synthetics/public/utils/kibana_service/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/public/utils/kibana_service/kibana_service.ts b/x-pack/solutions/observability/plugins/synthetics/public/utils/kibana_service/kibana_service.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/public/utils/kibana_service/kibana_service.ts rename to x-pack/solutions/observability/plugins/synthetics/public/utils/kibana_service/kibana_service.ts diff --git a/x-pack/plugins/observability_solution/synthetics/scripts/base_e2e.js b/x-pack/solutions/observability/plugins/synthetics/scripts/base_e2e.js similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/scripts/base_e2e.js rename to x-pack/solutions/observability/plugins/synthetics/scripts/base_e2e.js diff --git a/x-pack/plugins/observability_solution/synthetics/scripts/e2e.js b/x-pack/solutions/observability/plugins/synthetics/scripts/e2e.js similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/scripts/e2e.js rename to x-pack/solutions/observability/plugins/synthetics/scripts/e2e.js diff --git a/x-pack/plugins/observability_solution/synthetics/scripts/generate_monitors.js b/x-pack/solutions/observability/plugins/synthetics/scripts/generate_monitors.js similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/scripts/generate_monitors.js rename to x-pack/solutions/observability/plugins/synthetics/scripts/generate_monitors.js diff --git a/x-pack/plugins/observability_solution/synthetics/scripts/tasks/generate_monitors.ts b/x-pack/solutions/observability/plugins/synthetics/scripts/tasks/generate_monitors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/scripts/tasks/generate_monitors.ts rename to x-pack/solutions/observability/plugins/synthetics/scripts/tasks/generate_monitors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/alert_rules/action_variables.ts b/x-pack/solutions/observability/plugins/synthetics/server/alert_rules/action_variables.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/alert_rules/action_variables.ts rename to x-pack/solutions/observability/plugins/synthetics/server/alert_rules/action_variables.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/alert_rules/common.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/alert_rules/common.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/alert_rules/common.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/alert_rules/common.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/alert_rules/common.ts b/x-pack/solutions/observability/plugins/synthetics/server/alert_rules/common.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/alert_rules/common.ts rename to x-pack/solutions/observability/plugins/synthetics/server/alert_rules/common.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/alert_rules/status_rule/message_utils.ts b/x-pack/solutions/observability/plugins/synthetics/server/alert_rules/status_rule/message_utils.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/alert_rules/status_rule/message_utils.ts rename to x-pack/solutions/observability/plugins/synthetics/server/alert_rules/status_rule/message_utils.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/alert_rules/status_rule/monitor_status_rule.ts b/x-pack/solutions/observability/plugins/synthetics/server/alert_rules/status_rule/monitor_status_rule.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/alert_rules/status_rule/monitor_status_rule.ts rename to x-pack/solutions/observability/plugins/synthetics/server/alert_rules/status_rule/monitor_status_rule.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/alert_rules/status_rule/queries/filter_monitors.ts b/x-pack/solutions/observability/plugins/synthetics/server/alert_rules/status_rule/queries/filter_monitors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/alert_rules/status_rule/queries/filter_monitors.ts rename to x-pack/solutions/observability/plugins/synthetics/server/alert_rules/status_rule/queries/filter_monitors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/alert_rules/status_rule/queries/query_monitor_status_alert.ts b/x-pack/solutions/observability/plugins/synthetics/server/alert_rules/status_rule/queries/query_monitor_status_alert.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/alert_rules/status_rule/queries/query_monitor_status_alert.ts rename to x-pack/solutions/observability/plugins/synthetics/server/alert_rules/status_rule/queries/query_monitor_status_alert.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/alert_rules/status_rule/status_rule_executor.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/alert_rules/status_rule/status_rule_executor.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/alert_rules/status_rule/status_rule_executor.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/alert_rules/status_rule/status_rule_executor.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/alert_rules/status_rule/status_rule_executor.ts b/x-pack/solutions/observability/plugins/synthetics/server/alert_rules/status_rule/status_rule_executor.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/alert_rules/status_rule/status_rule_executor.ts rename to x-pack/solutions/observability/plugins/synthetics/server/alert_rules/status_rule/status_rule_executor.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/alert_rules/status_rule/types.ts b/x-pack/solutions/observability/plugins/synthetics/server/alert_rules/status_rule/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/alert_rules/status_rule/types.ts rename to x-pack/solutions/observability/plugins/synthetics/server/alert_rules/status_rule/types.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/alert_rules/status_rule/utils.ts b/x-pack/solutions/observability/plugins/synthetics/server/alert_rules/status_rule/utils.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/alert_rules/status_rule/utils.ts rename to x-pack/solutions/observability/plugins/synthetics/server/alert_rules/status_rule/utils.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/alert_rules/tls_rule/message_utils.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/alert_rules/tls_rule/message_utils.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/alert_rules/tls_rule/message_utils.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/alert_rules/tls_rule/message_utils.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/alert_rules/tls_rule/message_utils.ts b/x-pack/solutions/observability/plugins/synthetics/server/alert_rules/tls_rule/message_utils.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/alert_rules/tls_rule/message_utils.ts rename to x-pack/solutions/observability/plugins/synthetics/server/alert_rules/tls_rule/message_utils.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/alert_rules/tls_rule/tls_rule.ts b/x-pack/solutions/observability/plugins/synthetics/server/alert_rules/tls_rule/tls_rule.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/alert_rules/tls_rule/tls_rule.ts rename to x-pack/solutions/observability/plugins/synthetics/server/alert_rules/tls_rule/tls_rule.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/alert_rules/tls_rule/tls_rule_executor.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/alert_rules/tls_rule/tls_rule_executor.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/alert_rules/tls_rule/tls_rule_executor.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/alert_rules/tls_rule/tls_rule_executor.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/alert_rules/tls_rule/tls_rule_executor.ts b/x-pack/solutions/observability/plugins/synthetics/server/alert_rules/tls_rule/tls_rule_executor.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/alert_rules/tls_rule/tls_rule_executor.ts rename to x-pack/solutions/observability/plugins/synthetics/server/alert_rules/tls_rule/tls_rule_executor.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/alert_rules/translations.ts b/x-pack/solutions/observability/plugins/synthetics/server/alert_rules/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/alert_rules/translations.ts rename to x-pack/solutions/observability/plugins/synthetics/server/alert_rules/translations.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/common/pings/monitor_status_heatmap.ts b/x-pack/solutions/observability/plugins/synthetics/server/common/pings/monitor_status_heatmap.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/common/pings/monitor_status_heatmap.ts rename to x-pack/solutions/observability/plugins/synthetics/server/common/pings/monitor_status_heatmap.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/common/pings/query_pings.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/common/pings/query_pings.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/common/pings/query_pings.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/common/pings/query_pings.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/common/pings/query_pings.ts b/x-pack/solutions/observability/plugins/synthetics/server/common/pings/query_pings.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/common/pings/query_pings.ts rename to x-pack/solutions/observability/plugins/synthetics/server/common/pings/query_pings.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/common/unzip_project_code.ts b/x-pack/solutions/observability/plugins/synthetics/server/common/unzip_project_code.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/common/unzip_project_code.ts rename to x-pack/solutions/observability/plugins/synthetics/server/common/unzip_project_code.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/config.ts b/x-pack/solutions/observability/plugins/synthetics/server/config.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/config.ts rename to x-pack/solutions/observability/plugins/synthetics/server/config.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/constants/settings.ts b/x-pack/solutions/observability/plugins/synthetics/server/constants/settings.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/constants/settings.ts rename to x-pack/solutions/observability/plugins/synthetics/server/constants/settings.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/feature.ts b/x-pack/solutions/observability/plugins/synthetics/server/feature.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/feature.ts rename to x-pack/solutions/observability/plugins/synthetics/server/feature.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/index.ts b/x-pack/solutions/observability/plugins/synthetics/server/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/index.ts rename to x-pack/solutions/observability/plugins/synthetics/server/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/lib.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/lib.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/lib.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/lib.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/lib.ts b/x-pack/solutions/observability/plugins/synthetics/server/lib.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/lib.ts rename to x-pack/solutions/observability/plugins/synthetics/server/lib.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/plugin.ts b/x-pack/solutions/observability/plugins/synthetics/server/plugin.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/plugin.ts rename to x-pack/solutions/observability/plugins/synthetics/server/plugin.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/queries/get_certs.ts b/x-pack/solutions/observability/plugins/synthetics/server/queries/get_certs.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/queries/get_certs.ts rename to x-pack/solutions/observability/plugins/synthetics/server/queries/get_certs.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/queries/get_index_pattern.ts b/x-pack/solutions/observability/plugins/synthetics/server/queries/get_index_pattern.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/queries/get_index_pattern.ts rename to x-pack/solutions/observability/plugins/synthetics/server/queries/get_index_pattern.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/queries/get_journey_details.ts b/x-pack/solutions/observability/plugins/synthetics/server/queries/get_journey_details.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/queries/get_journey_details.ts rename to x-pack/solutions/observability/plugins/synthetics/server/queries/get_journey_details.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/queries/get_journey_failed_steps.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/queries/get_journey_failed_steps.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/queries/get_journey_failed_steps.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/queries/get_journey_failed_steps.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/queries/get_journey_failed_steps.ts b/x-pack/solutions/observability/plugins/synthetics/server/queries/get_journey_failed_steps.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/queries/get_journey_failed_steps.ts rename to x-pack/solutions/observability/plugins/synthetics/server/queries/get_journey_failed_steps.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/queries/get_journey_screenshot.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/queries/get_journey_screenshot.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/queries/get_journey_screenshot.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/queries/get_journey_screenshot.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/queries/get_journey_screenshot.ts b/x-pack/solutions/observability/plugins/synthetics/server/queries/get_journey_screenshot.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/queries/get_journey_screenshot.ts rename to x-pack/solutions/observability/plugins/synthetics/server/queries/get_journey_screenshot.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/queries/get_journey_screenshot_blocks.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/queries/get_journey_screenshot_blocks.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/queries/get_journey_screenshot_blocks.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/queries/get_journey_screenshot_blocks.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/queries/get_journey_screenshot_blocks.ts b/x-pack/solutions/observability/plugins/synthetics/server/queries/get_journey_screenshot_blocks.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/queries/get_journey_screenshot_blocks.ts rename to x-pack/solutions/observability/plugins/synthetics/server/queries/get_journey_screenshot_blocks.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/queries/get_journey_steps.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/queries/get_journey_steps.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/queries/get_journey_steps.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/queries/get_journey_steps.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/queries/get_journey_steps.ts b/x-pack/solutions/observability/plugins/synthetics/server/queries/get_journey_steps.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/queries/get_journey_steps.ts rename to x-pack/solutions/observability/plugins/synthetics/server/queries/get_journey_steps.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/queries/get_last_successful_check.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/queries/get_last_successful_check.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/queries/get_last_successful_check.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/queries/get_last_successful_check.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/queries/get_last_successful_check.ts b/x-pack/solutions/observability/plugins/synthetics/server/queries/get_last_successful_check.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/queries/get_last_successful_check.ts rename to x-pack/solutions/observability/plugins/synthetics/server/queries/get_last_successful_check.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/queries/get_monitor.ts b/x-pack/solutions/observability/plugins/synthetics/server/queries/get_monitor.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/queries/get_monitor.ts rename to x-pack/solutions/observability/plugins/synthetics/server/queries/get_monitor.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/queries/get_network_events.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/queries/get_network_events.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/queries/get_network_events.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/queries/get_network_events.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/queries/get_network_events.ts b/x-pack/solutions/observability/plugins/synthetics/server/queries/get_network_events.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/queries/get_network_events.ts rename to x-pack/solutions/observability/plugins/synthetics/server/queries/get_network_events.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/queries/journey_screenshots.ts b/x-pack/solutions/observability/plugins/synthetics/server/queries/journey_screenshots.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/queries/journey_screenshots.ts rename to x-pack/solutions/observability/plugins/synthetics/server/queries/journey_screenshots.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/queries/test_helpers.ts b/x-pack/solutions/observability/plugins/synthetics/server/queries/test_helpers.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/queries/test_helpers.ts rename to x-pack/solutions/observability/plugins/synthetics/server/queries/test_helpers.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/certs/get_certificates.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/certs/get_certificates.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/certs/get_certificates.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/certs/get_certificates.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/certs/get_certificates.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/certs/get_certificates.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/certs/get_certificates.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/certs/get_certificates.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/common.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/common.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/common.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/common.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/common.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/common.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/common.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/common.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/create_route_with_auth.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/create_route_with_auth.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/create_route_with_auth.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/create_route_with_auth.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/create_route_with_auth.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/create_route_with_auth.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/create_route_with_auth.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/create_route_with_auth.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/default_alerts/default_alert_service.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/default_alerts/default_alert_service.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/default_alerts/default_alert_service.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/default_alerts/default_alert_service.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/default_alerts/default_alert_service.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/default_alerts/default_alert_service.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/default_alerts/default_alert_service.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/default_alerts/default_alert_service.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/default_alerts/enable_default_alert.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/default_alerts/enable_default_alert.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/default_alerts/enable_default_alert.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/default_alerts/enable_default_alert.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/default_alerts/get_action_connectors.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/default_alerts/get_action_connectors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/default_alerts/get_action_connectors.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/default_alerts/get_action_connectors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/default_alerts/get_connector_types.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/default_alerts/get_connector_types.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/default_alerts/get_connector_types.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/default_alerts/get_connector_types.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/default_alerts/get_default_alert.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/default_alerts/get_default_alert.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/default_alerts/get_default_alert.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/default_alerts/get_default_alert.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/default_alerts/update_default_alert.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/default_alerts/update_default_alert.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/default_alerts/update_default_alert.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/default_alerts/update_default_alert.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/filters/filters.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/filters/filters.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/filters/filters.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/filters/filters.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/fleet/get_has_integration_monitors.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/fleet/get_has_integration_monitors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/fleet/get_has_integration_monitors.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/fleet/get_has_integration_monitors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/index.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/index.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/add_monitor.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/add_monitor.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/add_monitor.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/add_monitor.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/add_monitor/add_monitor_api.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/add_monitor/add_monitor_api.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/add_monitor/add_monitor_api.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/add_monitor/add_monitor_api.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/add_monitor/add_monitor_api.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/add_monitor/add_monitor_api.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/add_monitor/add_monitor_api.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/add_monitor/add_monitor_api.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/add_monitor/utils.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/add_monitor/utils.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/add_monitor/utils.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/add_monitor/utils.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/add_monitor/utils.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/add_monitor/utils.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/add_monitor/utils.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/add_monitor/utils.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/add_monitor_project.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/add_monitor_project.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/add_monitor_project.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/add_monitor_project.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/bulk_cruds/add_monitor_bulk.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/bulk_cruds/add_monitor_bulk.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/bulk_cruds/add_monitor_bulk.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/bulk_cruds/add_monitor_bulk.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/bulk_cruds/delete_monitor_bulk.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/bulk_cruds/delete_monitor_bulk.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/bulk_cruds/delete_monitor_bulk.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/bulk_cruds/delete_monitor_bulk.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/bulk_cruds/edit_monitor_bulk.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/bulk_cruds/edit_monitor_bulk.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/bulk_cruds/edit_monitor_bulk.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/bulk_cruds/edit_monitor_bulk.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/delete_integration.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/delete_integration.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/delete_integration.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/delete_integration.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/delete_monitor.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/delete_monitor.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/delete_monitor.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/delete_monitor.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/delete_monitor_project.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/delete_monitor_project.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/delete_monitor_project.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/delete_monitor_project.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/edit_monitor.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/edit_monitor.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/edit_monitor.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/edit_monitor.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/edit_monitor.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/edit_monitor.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/edit_monitor.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/edit_monitor.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/formatters/saved_object_to_monitor.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/formatters/saved_object_to_monitor.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/formatters/saved_object_to_monitor.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/formatters/saved_object_to_monitor.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/formatters/saved_object_to_monitor.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/formatters/saved_object_to_monitor.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/formatters/saved_object_to_monitor.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/formatters/saved_object_to_monitor.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/get_api_key.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/get_api_key.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/get_api_key.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/get_api_key.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/get_monitor.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/get_monitor.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/get_monitor.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/get_monitor.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/get_monitor.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/get_monitor.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/get_monitor.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/get_monitor.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/get_monitor_project.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/get_monitor_project.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/get_monitor_project.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/get_monitor_project.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/get_monitors_list.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/get_monitors_list.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/get_monitors_list.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/get_monitors_list.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/inspect_monitor.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/inspect_monitor.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/inspect_monitor.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/inspect_monitor.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/monitor_validation.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/monitor_validation.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/monitor_validation.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/monitor_validation.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/monitor_validation.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/monitor_validation.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/monitor_validation.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/monitor_validation.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/services/delete_monitor_api.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/services/delete_monitor_api.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/services/delete_monitor_api.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/services/delete_monitor_api.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/services/validate_space_id.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/services/validate_space_id.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/services/validate_space_id.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/monitor_cruds/services/validate_space_id.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/network_events/get_network_events.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/network_events/get_network_events.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/network_events/get_network_events.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/network_events/get_network_events.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/network_events/index.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/network_events/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/network_events/index.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/network_events/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/overview_status/overview_status.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/overview_status/overview_status.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/overview_status/overview_status.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/overview_status/overview_status.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/overview_status/overview_status_service.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/overview_status/overview_status_service.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/overview_status/overview_status_service.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/overview_status/overview_status_service.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/overview_status/overview_status_service.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/overview_status/overview_status_service.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/overview_status/overview_status_service.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/overview_status/overview_status_service.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/overview_status/utils.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/overview_status/utils.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/overview_status/utils.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/overview_status/utils.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/overview_status/utils.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/overview_status/utils.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/overview_status/utils.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/overview_status/utils.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/overview_trends/fetch_trends.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/overview_trends/fetch_trends.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/overview_trends/fetch_trends.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/overview_trends/fetch_trends.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/overview_trends/overview_trends.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/overview_trends/overview_trends.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/overview_trends/overview_trends.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/overview_trends/overview_trends.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/overview_trends/overview_trends.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/overview_trends/overview_trends.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/overview_trends/overview_trends.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/overview_trends/overview_trends.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/pings/get_pings.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/pings/get_pings.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/pings/get_pings.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/pings/get_pings.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/pings/index.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/pings/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/pings/index.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/pings/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/pings/journey_screenshot_blocks.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/pings/journey_screenshot_blocks.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/pings/journey_screenshot_blocks.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/pings/journey_screenshot_blocks.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/pings/journey_screenshots.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/pings/journey_screenshots.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/pings/journey_screenshots.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/pings/journey_screenshots.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/pings/journeys.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/pings/journeys.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/pings/journeys.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/pings/journeys.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/pings/last_successful_check.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/pings/last_successful_check.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/pings/last_successful_check.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/pings/last_successful_check.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/pings/ping_heatmap.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/pings/ping_heatmap.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/pings/ping_heatmap.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/pings/ping_heatmap.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/settings/dynamic_settings.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/settings/dynamic_settings.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/settings/dynamic_settings.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/settings/dynamic_settings.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/settings/params/add_param.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/settings/params/add_param.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/settings/params/add_param.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/settings/params/add_param.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/settings/params/delete_param.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/settings/params/delete_param.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/settings/params/delete_param.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/settings/params/delete_param.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/settings/params/delete_params_bulk.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/settings/params/delete_params_bulk.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/settings/params/delete_params_bulk.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/settings/params/delete_params_bulk.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/settings/params/edit_param.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/settings/params/edit_param.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/settings/params/edit_param.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/settings/params/edit_param.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/settings/params/params.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/settings/params/params.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/settings/params/params.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/settings/params/params.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/settings/private_locations/add_private_location.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/settings/private_locations/add_private_location.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/settings/private_locations/add_private_location.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/settings/private_locations/add_private_location.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/settings/private_locations/delete_private_location.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/settings/private_locations/delete_private_location.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/settings/private_locations/delete_private_location.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/settings/private_locations/delete_private_location.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/settings/private_locations/get_agent_policies.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/settings/private_locations/get_agent_policies.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/settings/private_locations/get_agent_policies.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/settings/private_locations/get_agent_policies.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/settings/private_locations/get_location_monitors.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/settings/private_locations/get_location_monitors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/settings/private_locations/get_location_monitors.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/settings/private_locations/get_location_monitors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/settings/private_locations/get_private_locations.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/settings/private_locations/get_private_locations.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/settings/private_locations/get_private_locations.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/settings/private_locations/get_private_locations.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/settings/private_locations/helpers.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/settings/private_locations/helpers.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/settings/private_locations/helpers.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/settings/private_locations/helpers.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/settings/private_locations/helpers.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/settings/private_locations/helpers.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/settings/private_locations/helpers.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/settings/private_locations/helpers.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/settings/private_locations/migrate_legacy_private_locations.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/settings/private_locations/migrate_legacy_private_locations.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/settings/private_locations/migrate_legacy_private_locations.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/settings/private_locations/migrate_legacy_private_locations.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/settings/private_locations/migrate_legacy_private_locations.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/settings/private_locations/migrate_legacy_private_locations.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/settings/private_locations/migrate_legacy_private_locations.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/settings/private_locations/migrate_legacy_private_locations.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/settings/settings.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/settings/settings.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/settings/settings.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/settings/settings.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/settings/sync_global_params.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/settings/sync_global_params.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/settings/sync_global_params.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/settings/sync_global_params.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/suggestions/route.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/suggestions/route.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/suggestions/route.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/suggestions/route.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/synthetics_service/enablement.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/synthetics_service/enablement.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/synthetics_service/enablement.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/synthetics_service/enablement.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/synthetics_service/get_service_allowed.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/synthetics_service/get_service_allowed.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/synthetics_service/get_service_allowed.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/synthetics_service/get_service_allowed.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/synthetics_service/get_service_locations.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/synthetics_service/get_service_locations.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/synthetics_service/get_service_locations.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/synthetics_service/get_service_locations.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/synthetics_service/install_index_templates.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/synthetics_service/install_index_templates.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/synthetics_service/install_index_templates.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/synthetics_service/install_index_templates.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/synthetics_service/run_once_monitor.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/synthetics_service/run_once_monitor.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/synthetics_service/run_once_monitor.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/synthetics_service/run_once_monitor.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/synthetics_service/service_errors.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/synthetics_service/service_errors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/synthetics_service/service_errors.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/synthetics_service/service_errors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/synthetics_service/test_now_monitor.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/synthetics_service/test_now_monitor.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/synthetics_service/test_now_monitor.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/synthetics_service/test_now_monitor.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/telemetry/monitor_upgrade_sender.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/telemetry/monitor_upgrade_sender.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/telemetry/monitor_upgrade_sender.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/telemetry/monitor_upgrade_sender.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/telemetry/monitor_upgrade_sender.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/telemetry/monitor_upgrade_sender.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/telemetry/monitor_upgrade_sender.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/telemetry/monitor_upgrade_sender.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/types.ts b/x-pack/solutions/observability/plugins/synthetics/server/routes/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/routes/types.ts rename to x-pack/solutions/observability/plugins/synthetics/server/routes/types.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/runtime_types/private_locations.ts b/x-pack/solutions/observability/plugins/synthetics/server/runtime_types/private_locations.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/runtime_types/private_locations.ts rename to x-pack/solutions/observability/plugins/synthetics/server/runtime_types/private_locations.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/runtime_types/settings.ts b/x-pack/solutions/observability/plugins/synthetics/server/runtime_types/settings.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/runtime_types/settings.ts rename to x-pack/solutions/observability/plugins/synthetics/server/runtime_types/settings.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/saved_objects/index.ts b/x-pack/solutions/observability/plugins/synthetics/server/saved_objects/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/saved_objects/index.ts rename to x-pack/solutions/observability/plugins/synthetics/server/saved_objects/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/saved_objects/migrations/monitors/8.6.0.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/saved_objects/migrations/monitors/8.6.0.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/saved_objects/migrations/monitors/8.6.0.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/saved_objects/migrations/monitors/8.6.0.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/saved_objects/migrations/monitors/8.6.0.ts b/x-pack/solutions/observability/plugins/synthetics/server/saved_objects/migrations/monitors/8.6.0.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/saved_objects/migrations/monitors/8.6.0.ts rename to x-pack/solutions/observability/plugins/synthetics/server/saved_objects/migrations/monitors/8.6.0.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/saved_objects/migrations/monitors/8.8.0.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/saved_objects/migrations/monitors/8.8.0.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/saved_objects/migrations/monitors/8.8.0.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/saved_objects/migrations/monitors/8.8.0.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/saved_objects/migrations/monitors/8.8.0.ts b/x-pack/solutions/observability/plugins/synthetics/server/saved_objects/migrations/monitors/8.8.0.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/saved_objects/migrations/monitors/8.8.0.ts rename to x-pack/solutions/observability/plugins/synthetics/server/saved_objects/migrations/monitors/8.8.0.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/saved_objects/migrations/monitors/8.9.0.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/saved_objects/migrations/monitors/8.9.0.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/saved_objects/migrations/monitors/8.9.0.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/saved_objects/migrations/monitors/8.9.0.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/saved_objects/migrations/monitors/8.9.0.ts b/x-pack/solutions/observability/plugins/synthetics/server/saved_objects/migrations/monitors/8.9.0.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/saved_objects/migrations/monitors/8.9.0.ts rename to x-pack/solutions/observability/plugins/synthetics/server/saved_objects/migrations/monitors/8.9.0.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/saved_objects/migrations/monitors/index.ts b/x-pack/solutions/observability/plugins/synthetics/server/saved_objects/migrations/monitors/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/saved_objects/migrations/monitors/index.ts rename to x-pack/solutions/observability/plugins/synthetics/server/saved_objects/migrations/monitors/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/saved_objects/migrations/monitors/test_fixtures/8.5.0.ts b/x-pack/solutions/observability/plugins/synthetics/server/saved_objects/migrations/monitors/test_fixtures/8.5.0.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/saved_objects/migrations/monitors/test_fixtures/8.5.0.ts rename to x-pack/solutions/observability/plugins/synthetics/server/saved_objects/migrations/monitors/test_fixtures/8.5.0.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/saved_objects/migrations/monitors/test_fixtures/8.7.0.ts b/x-pack/solutions/observability/plugins/synthetics/server/saved_objects/migrations/monitors/test_fixtures/8.7.0.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/saved_objects/migrations/monitors/test_fixtures/8.7.0.ts rename to x-pack/solutions/observability/plugins/synthetics/server/saved_objects/migrations/monitors/test_fixtures/8.7.0.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/saved_objects/migrations/private_locations/model_version_1.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/saved_objects/migrations/private_locations/model_version_1.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/saved_objects/migrations/private_locations/model_version_1.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/saved_objects/migrations/private_locations/model_version_1.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/saved_objects/migrations/private_locations/model_version_1.ts b/x-pack/solutions/observability/plugins/synthetics/server/saved_objects/migrations/private_locations/model_version_1.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/saved_objects/migrations/private_locations/model_version_1.ts rename to x-pack/solutions/observability/plugins/synthetics/server/saved_objects/migrations/private_locations/model_version_1.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/saved_objects/private_locations.ts b/x-pack/solutions/observability/plugins/synthetics/server/saved_objects/private_locations.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/saved_objects/private_locations.ts rename to x-pack/solutions/observability/plugins/synthetics/server/saved_objects/private_locations.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/saved_objects/saved_objects.ts b/x-pack/solutions/observability/plugins/synthetics/server/saved_objects/saved_objects.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/saved_objects/saved_objects.ts rename to x-pack/solutions/observability/plugins/synthetics/server/saved_objects/saved_objects.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/saved_objects/service_api_key.ts b/x-pack/solutions/observability/plugins/synthetics/server/saved_objects/service_api_key.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/saved_objects/service_api_key.ts rename to x-pack/solutions/observability/plugins/synthetics/server/saved_objects/service_api_key.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/saved_objects/synthetics_monitor.ts b/x-pack/solutions/observability/plugins/synthetics/server/saved_objects/synthetics_monitor.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/saved_objects/synthetics_monitor.ts rename to x-pack/solutions/observability/plugins/synthetics/server/saved_objects/synthetics_monitor.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/saved_objects/synthetics_monitor/get_all_monitors.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/saved_objects/synthetics_monitor/get_all_monitors.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/saved_objects/synthetics_monitor/get_all_monitors.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/saved_objects/synthetics_monitor/get_all_monitors.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/saved_objects/synthetics_monitor/get_all_monitors.ts b/x-pack/solutions/observability/plugins/synthetics/server/saved_objects/synthetics_monitor/get_all_monitors.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/saved_objects/synthetics_monitor/get_all_monitors.ts rename to x-pack/solutions/observability/plugins/synthetics/server/saved_objects/synthetics_monitor/get_all_monitors.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/saved_objects/synthetics_param.ts b/x-pack/solutions/observability/plugins/synthetics/server/saved_objects/synthetics_param.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/saved_objects/synthetics_param.ts rename to x-pack/solutions/observability/plugins/synthetics/server/saved_objects/synthetics_param.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/saved_objects/synthetics_settings.ts b/x-pack/solutions/observability/plugins/synthetics/server/saved_objects/synthetics_settings.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/saved_objects/synthetics_settings.ts rename to x-pack/solutions/observability/plugins/synthetics/server/saved_objects/synthetics_settings.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/server.ts b/x-pack/solutions/observability/plugins/synthetics/server/server.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/server.ts rename to x-pack/solutions/observability/plugins/synthetics/server/server.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_route_wrapper.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_route_wrapper.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_route_wrapper.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_route_wrapper.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/authentication/check_has_privilege.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/authentication/check_has_privilege.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/authentication/check_has_privilege.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/authentication/check_has_privilege.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/common.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/common.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/common.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/common.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/formatting_utils.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/formatting_utils.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/formatting_utils.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/formatting_utils.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/formatting_utils.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/formatting_utils.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/formatting_utils.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/formatting_utils.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/lightweight_param_formatter.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/lightweight_param_formatter.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/lightweight_param_formatter.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/lightweight_param_formatter.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/lightweight_param_formatter.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/lightweight_param_formatter.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/lightweight_param_formatter.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/lightweight_param_formatter.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/browser_formatters.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/browser_formatters.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/browser_formatters.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/browser_formatters.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/browser_formatters.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/browser_formatters.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/browser_formatters.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/browser_formatters.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/common_formatters.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/common_formatters.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/common_formatters.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/common_formatters.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/common_formatters.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/common_formatters.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/common_formatters.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/common_formatters.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/format_synthetics_policy.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/format_synthetics_policy.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/format_synthetics_policy.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/format_synthetics_policy.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/format_synthetics_policy.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/format_synthetics_policy.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/format_synthetics_policy.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/format_synthetics_policy.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/formatters.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/formatters.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/formatters.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/formatters.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/formatters.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/formatters.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/formatters.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/formatters.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/formatting_utils.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/formatting_utils.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/formatting_utils.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/formatting_utils.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/http_formatters.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/http_formatters.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/http_formatters.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/http_formatters.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/icmp_formatters.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/icmp_formatters.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/icmp_formatters.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/icmp_formatters.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/index.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/index.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/processors_formatter.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/processors_formatter.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/processors_formatter.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/processors_formatter.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/tcp_formatters.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/tcp_formatters.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/tcp_formatters.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/tcp_formatters.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/tls_formatters.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/tls_formatters.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/private_formatters/tls_formatters.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/private_formatters/tls_formatters.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/browser.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/browser.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/browser.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/browser.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/browser.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/browser.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/browser.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/browser.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/common.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/common.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/common.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/common.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/common.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/common.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/common.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/common.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/convert_to_data_stream.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/convert_to_data_stream.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/convert_to_data_stream.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/convert_to_data_stream.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/convert_to_data_stream.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/convert_to_data_stream.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/convert_to_data_stream.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/convert_to_data_stream.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/format_configs.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/format_configs.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/format_configs.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/format_configs.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/format_configs.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/format_configs.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/format_configs.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/format_configs.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/formatting_utils.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/formatting_utils.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/formatting_utils.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/formatting_utils.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/http.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/http.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/http.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/http.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/icmp.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/icmp.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/icmp.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/icmp.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/index.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/index.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/tcp.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/tcp.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/tcp.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/tcp.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/tls.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/tls.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/public_formatters/tls.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/public_formatters/tls.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/variable_parser.js b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/variable_parser.js similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/formatters/variable_parser.js rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/formatters/variable_parser.js diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/get_all_locations.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/get_all_locations.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/get_all_locations.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/get_all_locations.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/get_api_key.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/get_api_key.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/get_api_key.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/get_api_key.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/get_api_key.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/get_api_key.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/get_api_key.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/get_api_key.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/get_es_hosts.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/get_es_hosts.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/get_es_hosts.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/get_es_hosts.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/get_es_hosts.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/get_es_hosts.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/get_es_hosts.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/get_es_hosts.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/get_private_locations.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/get_private_locations.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/get_private_locations.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/get_private_locations.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/get_service_locations.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/get_service_locations.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/get_service_locations.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/get_service_locations.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/get_service_locations.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/get_service_locations.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/get_service_locations.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/get_service_locations.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/private_location/clean_up_task.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/private_location/clean_up_task.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/private_location/clean_up_task.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/private_location/clean_up_task.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/private_location/synthetics_private_location.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/private_location/synthetics_private_location.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/private_location/synthetics_private_location.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/private_location/synthetics_private_location.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/private_location/synthetics_private_location.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/private_location/synthetics_private_location.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/private_location/synthetics_private_location.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/private_location/synthetics_private_location.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/private_location/test_policy.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/private_location/test_policy.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/private_location/test_policy.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/private_location/test_policy.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/project_monitor/normalizers/browser_monitor.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/project_monitor/normalizers/browser_monitor.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/project_monitor/normalizers/browser_monitor.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/project_monitor/normalizers/browser_monitor.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/project_monitor/normalizers/browser_monitor.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/project_monitor/normalizers/browser_monitor.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/project_monitor/normalizers/browser_monitor.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/project_monitor/normalizers/browser_monitor.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/project_monitor/normalizers/common_fields.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/project_monitor/normalizers/common_fields.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/project_monitor/normalizers/common_fields.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/project_monitor/normalizers/common_fields.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/project_monitor/normalizers/common_fields.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/project_monitor/normalizers/common_fields.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/project_monitor/normalizers/common_fields.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/project_monitor/normalizers/common_fields.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/project_monitor/normalizers/http_monitor.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/project_monitor/normalizers/http_monitor.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/project_monitor/normalizers/http_monitor.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/project_monitor/normalizers/http_monitor.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/project_monitor/normalizers/http_monitor.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/project_monitor/normalizers/http_monitor.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/project_monitor/normalizers/http_monitor.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/project_monitor/normalizers/http_monitor.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/project_monitor/normalizers/icmp_monitor.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/project_monitor/normalizers/icmp_monitor.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/project_monitor/normalizers/icmp_monitor.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/project_monitor/normalizers/icmp_monitor.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/project_monitor/normalizers/icmp_monitor.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/project_monitor/normalizers/icmp_monitor.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/project_monitor/normalizers/icmp_monitor.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/project_monitor/normalizers/icmp_monitor.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/project_monitor/normalizers/index.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/project_monitor/normalizers/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/project_monitor/normalizers/index.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/project_monitor/normalizers/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/project_monitor/normalizers/tcp_monitor.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/project_monitor/normalizers/tcp_monitor.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/project_monitor/normalizers/tcp_monitor.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/project_monitor/normalizers/tcp_monitor.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/project_monitor/normalizers/tcp_monitor.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/project_monitor/normalizers/tcp_monitor.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/project_monitor/normalizers/tcp_monitor.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/project_monitor/normalizers/tcp_monitor.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/project_monitor/project_monitor_formatter.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/project_monitor/project_monitor_formatter.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/project_monitor/project_monitor_formatter.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/project_monitor/project_monitor_formatter.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/project_monitor/project_monitor_formatter.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/project_monitor/project_monitor_formatter.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/project_monitor/project_monitor_formatter.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/project_monitor/project_monitor_formatter.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/service_api_client.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/service_api_client.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/service_api_client.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/service_api_client.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/service_api_client.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/service_api_client.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/service_api_client.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/service_api_client.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/synthetics_monitor/synthetics_monitor_client.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/synthetics_monitor/synthetics_monitor_client.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/synthetics_monitor/synthetics_monitor_client.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/synthetics_monitor/synthetics_monitor_client.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/synthetics_monitor/synthetics_monitor_client.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/synthetics_monitor/synthetics_monitor_client.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/synthetics_monitor/synthetics_monitor_client.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/synthetics_monitor/synthetics_monitor_client.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/synthetics_service.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/synthetics_service.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/synthetics_service.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/synthetics_service.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/synthetics_service.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/synthetics_service.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/synthetics_service.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/synthetics_service.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/utils/fake_kibana_request.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/utils/fake_kibana_request.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/utils/fake_kibana_request.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/utils/fake_kibana_request.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/utils/index.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/utils/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/utils/index.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/utils/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/utils/mocks.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/utils/mocks.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/utils/mocks.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/utils/mocks.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/utils/secrets.ts b/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/utils/secrets.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/synthetics_service/utils/secrets.ts rename to x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/utils/secrets.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/telemetry/__mocks__/index.ts b/x-pack/solutions/observability/plugins/synthetics/server/telemetry/__mocks__/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/telemetry/__mocks__/index.ts rename to x-pack/solutions/observability/plugins/synthetics/server/telemetry/__mocks__/index.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/telemetry/constants.ts b/x-pack/solutions/observability/plugins/synthetics/server/telemetry/constants.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/telemetry/constants.ts rename to x-pack/solutions/observability/plugins/synthetics/server/telemetry/constants.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/telemetry/queue.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/telemetry/queue.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/telemetry/queue.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/telemetry/queue.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/telemetry/queue.ts b/x-pack/solutions/observability/plugins/synthetics/server/telemetry/queue.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/telemetry/queue.ts rename to x-pack/solutions/observability/plugins/synthetics/server/telemetry/queue.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/telemetry/sender.test.ts b/x-pack/solutions/observability/plugins/synthetics/server/telemetry/sender.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/telemetry/sender.test.ts rename to x-pack/solutions/observability/plugins/synthetics/server/telemetry/sender.test.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/telemetry/sender.ts b/x-pack/solutions/observability/plugins/synthetics/server/telemetry/sender.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/telemetry/sender.ts rename to x-pack/solutions/observability/plugins/synthetics/server/telemetry/sender.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/telemetry/types.ts b/x-pack/solutions/observability/plugins/synthetics/server/telemetry/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/telemetry/types.ts rename to x-pack/solutions/observability/plugins/synthetics/server/telemetry/types.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/types.ts b/x-pack/solutions/observability/plugins/synthetics/server/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/types.ts rename to x-pack/solutions/observability/plugins/synthetics/server/types.ts diff --git a/x-pack/plugins/observability_solution/synthetics/tsconfig.json b/x-pack/solutions/observability/plugins/synthetics/tsconfig.json similarity index 97% rename from x-pack/plugins/observability_solution/synthetics/tsconfig.json rename to x-pack/solutions/observability/plugins/synthetics/tsconfig.json index 8d2b26a72436d..ece2a3934e60c 100644 --- a/x-pack/plugins/observability_solution/synthetics/tsconfig.json +++ b/x-pack/solutions/observability/plugins/synthetics/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../../tsconfig.base.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types" }, @@ -9,7 +9,7 @@ "scripts/**/*", "public/**/*", "server/**/*", - "../../../../typings/**/*" + "../../../../../typings/**/*" ], "kbn_references": [ "@kbn/alerting-plugin", diff --git a/x-pack/plugins/observability_solution/uptime/.buildkite/pipelines/flaky.js b/x-pack/solutions/observability/plugins/uptime/.buildkite/pipelines/flaky.js similarity index 100% rename from x-pack/plugins/observability_solution/uptime/.buildkite/pipelines/flaky.js rename to x-pack/solutions/observability/plugins/uptime/.buildkite/pipelines/flaky.js diff --git a/x-pack/solutions/observability/plugins/uptime/.buildkite/pipelines/flaky.sh b/x-pack/solutions/observability/plugins/uptime/.buildkite/pipelines/flaky.sh new file mode 100755 index 0000000000000..9763f45c1101c --- /dev/null +++ b/x-pack/solutions/observability/plugins/uptime/.buildkite/pipelines/flaky.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +set -euo pipefail + +UUID="$(cat /proc/sys/kernel/random/uuid)" +export UUID + +node x-pack/solutions/observability/plugins/synthetics/.buildkite/pipelines/flaky.js | buildkite-agent pipeline upload diff --git a/x-pack/plugins/observability_solution/uptime/README.md b/x-pack/solutions/observability/plugins/uptime/README.md similarity index 98% rename from x-pack/plugins/observability_solution/uptime/README.md rename to x-pack/solutions/observability/plugins/uptime/README.md index bdc078e8607d7..18ba1830b2a53 100644 --- a/x-pack/plugins/observability_solution/uptime/README.md +++ b/x-pack/solutions/observability/plugins/uptime/README.md @@ -45,7 +45,7 @@ There's also a `rest_api` folder that defines the structure of the RESTful API e Documentation: https://www.elastic.co/guide/en/kibana/current/development-tests.html#_unit_testing ``` -yarn test:jest x-pack/plugins/observability_solution/synthetics +yarn test:jest x-pack/solutions/observability/plugins/synthetics ``` ### Functional tests diff --git a/x-pack/plugins/observability_solution/uptime/common/config.ts b/x-pack/solutions/observability/plugins/uptime/common/config.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/config.ts rename to x-pack/solutions/observability/plugins/uptime/common/config.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/constants/capabilities.ts b/x-pack/solutions/observability/plugins/uptime/common/constants/capabilities.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/constants/capabilities.ts rename to x-pack/solutions/observability/plugins/uptime/common/constants/capabilities.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/constants/chart_format_limits.ts b/x-pack/solutions/observability/plugins/uptime/common/constants/chart_format_limits.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/constants/chart_format_limits.ts rename to x-pack/solutions/observability/plugins/uptime/common/constants/chart_format_limits.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/constants/client_defaults.ts b/x-pack/solutions/observability/plugins/uptime/common/constants/client_defaults.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/constants/client_defaults.ts rename to x-pack/solutions/observability/plugins/uptime/common/constants/client_defaults.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/constants/context_defaults.ts b/x-pack/solutions/observability/plugins/uptime/common/constants/context_defaults.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/constants/context_defaults.ts rename to x-pack/solutions/observability/plugins/uptime/common/constants/context_defaults.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/constants/index.ts b/x-pack/solutions/observability/plugins/uptime/common/constants/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/constants/index.ts rename to x-pack/solutions/observability/plugins/uptime/common/constants/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/constants/plugin.ts b/x-pack/solutions/observability/plugins/uptime/common/constants/plugin.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/constants/plugin.ts rename to x-pack/solutions/observability/plugins/uptime/common/constants/plugin.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/constants/query.ts b/x-pack/solutions/observability/plugins/uptime/common/constants/query.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/constants/query.ts rename to x-pack/solutions/observability/plugins/uptime/common/constants/query.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/constants/rest_api.ts b/x-pack/solutions/observability/plugins/uptime/common/constants/rest_api.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/constants/rest_api.ts rename to x-pack/solutions/observability/plugins/uptime/common/constants/rest_api.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/constants/settings_defaults.ts b/x-pack/solutions/observability/plugins/uptime/common/constants/settings_defaults.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/constants/settings_defaults.ts rename to x-pack/solutions/observability/plugins/uptime/common/constants/settings_defaults.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/constants/synthetics_alerts.ts b/x-pack/solutions/observability/plugins/uptime/common/constants/synthetics_alerts.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/constants/synthetics_alerts.ts rename to x-pack/solutions/observability/plugins/uptime/common/constants/synthetics_alerts.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/constants/ui.ts b/x-pack/solutions/observability/plugins/uptime/common/constants/ui.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/constants/ui.ts rename to x-pack/solutions/observability/plugins/uptime/common/constants/ui.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/constants/uptime_alerts.ts b/x-pack/solutions/observability/plugins/uptime/common/constants/uptime_alerts.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/constants/uptime_alerts.ts rename to x-pack/solutions/observability/plugins/uptime/common/constants/uptime_alerts.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/index.ts b/x-pack/solutions/observability/plugins/uptime/common/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/index.ts rename to x-pack/solutions/observability/plugins/uptime/common/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/lib/__snapshots__/assert_close_to.test.ts.snap b/x-pack/solutions/observability/plugins/uptime/common/lib/__snapshots__/assert_close_to.test.ts.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/lib/__snapshots__/assert_close_to.test.ts.snap rename to x-pack/solutions/observability/plugins/uptime/common/lib/__snapshots__/assert_close_to.test.ts.snap diff --git a/x-pack/plugins/observability_solution/uptime/common/lib/assert_close_to.test.ts b/x-pack/solutions/observability/plugins/uptime/common/lib/assert_close_to.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/lib/assert_close_to.test.ts rename to x-pack/solutions/observability/plugins/uptime/common/lib/assert_close_to.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/lib/assert_close_to.ts b/x-pack/solutions/observability/plugins/uptime/common/lib/assert_close_to.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/lib/assert_close_to.ts rename to x-pack/solutions/observability/plugins/uptime/common/lib/assert_close_to.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/lib/combine_filters_and_user_search.test.ts b/x-pack/solutions/observability/plugins/uptime/common/lib/combine_filters_and_user_search.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/lib/combine_filters_and_user_search.test.ts rename to x-pack/solutions/observability/plugins/uptime/common/lib/combine_filters_and_user_search.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/lib/combine_filters_and_user_search.ts b/x-pack/solutions/observability/plugins/uptime/common/lib/combine_filters_and_user_search.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/lib/combine_filters_and_user_search.ts rename to x-pack/solutions/observability/plugins/uptime/common/lib/combine_filters_and_user_search.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/lib/get_histogram_interval.test.ts b/x-pack/solutions/observability/plugins/uptime/common/lib/get_histogram_interval.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/lib/get_histogram_interval.test.ts rename to x-pack/solutions/observability/plugins/uptime/common/lib/get_histogram_interval.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/lib/get_histogram_interval.ts b/x-pack/solutions/observability/plugins/uptime/common/lib/get_histogram_interval.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/lib/get_histogram_interval.ts rename to x-pack/solutions/observability/plugins/uptime/common/lib/get_histogram_interval.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/lib/index.ts b/x-pack/solutions/observability/plugins/uptime/common/lib/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/lib/index.ts rename to x-pack/solutions/observability/plugins/uptime/common/lib/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/lib/ml.test.ts b/x-pack/solutions/observability/plugins/uptime/common/lib/ml.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/lib/ml.test.ts rename to x-pack/solutions/observability/plugins/uptime/common/lib/ml.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/lib/ml.ts b/x-pack/solutions/observability/plugins/uptime/common/lib/ml.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/lib/ml.ts rename to x-pack/solutions/observability/plugins/uptime/common/lib/ml.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/lib/stringify_kueries.test.ts b/x-pack/solutions/observability/plugins/uptime/common/lib/stringify_kueries.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/lib/stringify_kueries.test.ts rename to x-pack/solutions/observability/plugins/uptime/common/lib/stringify_kueries.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/lib/stringify_kueries.ts b/x-pack/solutions/observability/plugins/uptime/common/lib/stringify_kueries.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/lib/stringify_kueries.ts rename to x-pack/solutions/observability/plugins/uptime/common/lib/stringify_kueries.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/requests/get_certs_request_body.ts b/x-pack/solutions/observability/plugins/uptime/common/requests/get_certs_request_body.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/requests/get_certs_request_body.ts rename to x-pack/solutions/observability/plugins/uptime/common/requests/get_certs_request_body.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/rules/alert_actions.test.ts b/x-pack/solutions/observability/plugins/uptime/common/rules/alert_actions.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/rules/alert_actions.test.ts rename to x-pack/solutions/observability/plugins/uptime/common/rules/alert_actions.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/rules/alert_actions.ts b/x-pack/solutions/observability/plugins/uptime/common/rules/alert_actions.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/rules/alert_actions.ts rename to x-pack/solutions/observability/plugins/uptime/common/rules/alert_actions.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/rules/legacy_uptime/translations.ts b/x-pack/solutions/observability/plugins/uptime/common/rules/legacy_uptime/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/rules/legacy_uptime/translations.ts rename to x-pack/solutions/observability/plugins/uptime/common/rules/legacy_uptime/translations.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/rules/types.ts b/x-pack/solutions/observability/plugins/uptime/common/rules/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/rules/types.ts rename to x-pack/solutions/observability/plugins/uptime/common/rules/types.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/rules/uptime_rule_field_map.ts b/x-pack/solutions/observability/plugins/uptime/common/rules/uptime_rule_field_map.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/rules/uptime_rule_field_map.ts rename to x-pack/solutions/observability/plugins/uptime/common/rules/uptime_rule_field_map.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/runtime_types/alerts/common.ts b/x-pack/solutions/observability/plugins/uptime/common/runtime_types/alerts/common.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/runtime_types/alerts/common.ts rename to x-pack/solutions/observability/plugins/uptime/common/runtime_types/alerts/common.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/runtime_types/alerts/index.ts b/x-pack/solutions/observability/plugins/uptime/common/runtime_types/alerts/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/runtime_types/alerts/index.ts rename to x-pack/solutions/observability/plugins/uptime/common/runtime_types/alerts/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/runtime_types/alerts/status_check.ts b/x-pack/solutions/observability/plugins/uptime/common/runtime_types/alerts/status_check.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/runtime_types/alerts/status_check.ts rename to x-pack/solutions/observability/plugins/uptime/common/runtime_types/alerts/status_check.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/runtime_types/alerts/tls.ts b/x-pack/solutions/observability/plugins/uptime/common/runtime_types/alerts/tls.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/runtime_types/alerts/tls.ts rename to x-pack/solutions/observability/plugins/uptime/common/runtime_types/alerts/tls.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/runtime_types/certs.ts b/x-pack/solutions/observability/plugins/uptime/common/runtime_types/certs.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/runtime_types/certs.ts rename to x-pack/solutions/observability/plugins/uptime/common/runtime_types/certs.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/runtime_types/common.ts b/x-pack/solutions/observability/plugins/uptime/common/runtime_types/common.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/runtime_types/common.ts rename to x-pack/solutions/observability/plugins/uptime/common/runtime_types/common.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/runtime_types/dynamic_settings.ts b/x-pack/solutions/observability/plugins/uptime/common/runtime_types/dynamic_settings.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/runtime_types/dynamic_settings.ts rename to x-pack/solutions/observability/plugins/uptime/common/runtime_types/dynamic_settings.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/runtime_types/index.ts b/x-pack/solutions/observability/plugins/uptime/common/runtime_types/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/runtime_types/index.ts rename to x-pack/solutions/observability/plugins/uptime/common/runtime_types/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/runtime_types/monitor/index.ts b/x-pack/solutions/observability/plugins/uptime/common/runtime_types/monitor/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/runtime_types/monitor/index.ts rename to x-pack/solutions/observability/plugins/uptime/common/runtime_types/monitor/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/runtime_types/monitor/locations.ts b/x-pack/solutions/observability/plugins/uptime/common/runtime_types/monitor/locations.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/runtime_types/monitor/locations.ts rename to x-pack/solutions/observability/plugins/uptime/common/runtime_types/monitor/locations.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/runtime_types/monitor/state.ts b/x-pack/solutions/observability/plugins/uptime/common/runtime_types/monitor/state.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/runtime_types/monitor/state.ts rename to x-pack/solutions/observability/plugins/uptime/common/runtime_types/monitor/state.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/runtime_types/network_events.ts b/x-pack/solutions/observability/plugins/uptime/common/runtime_types/network_events.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/runtime_types/network_events.ts rename to x-pack/solutions/observability/plugins/uptime/common/runtime_types/network_events.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/runtime_types/ping/error_state.ts b/x-pack/solutions/observability/plugins/uptime/common/runtime_types/ping/error_state.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/runtime_types/ping/error_state.ts rename to x-pack/solutions/observability/plugins/uptime/common/runtime_types/ping/error_state.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/runtime_types/ping/histogram.ts b/x-pack/solutions/observability/plugins/uptime/common/runtime_types/ping/histogram.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/runtime_types/ping/histogram.ts rename to x-pack/solutions/observability/plugins/uptime/common/runtime_types/ping/histogram.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/runtime_types/ping/index.ts b/x-pack/solutions/observability/plugins/uptime/common/runtime_types/ping/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/runtime_types/ping/index.ts rename to x-pack/solutions/observability/plugins/uptime/common/runtime_types/ping/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/runtime_types/ping/observer.ts b/x-pack/solutions/observability/plugins/uptime/common/runtime_types/ping/observer.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/runtime_types/ping/observer.ts rename to x-pack/solutions/observability/plugins/uptime/common/runtime_types/ping/observer.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/runtime_types/ping/ping.ts b/x-pack/solutions/observability/plugins/uptime/common/runtime_types/ping/ping.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/runtime_types/ping/ping.ts rename to x-pack/solutions/observability/plugins/uptime/common/runtime_types/ping/ping.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/runtime_types/ping/synthetics.test.ts b/x-pack/solutions/observability/plugins/uptime/common/runtime_types/ping/synthetics.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/runtime_types/ping/synthetics.test.ts rename to x-pack/solutions/observability/plugins/uptime/common/runtime_types/ping/synthetics.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/runtime_types/ping/synthetics.ts b/x-pack/solutions/observability/plugins/uptime/common/runtime_types/ping/synthetics.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/runtime_types/ping/synthetics.ts rename to x-pack/solutions/observability/plugins/uptime/common/runtime_types/ping/synthetics.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/runtime_types/snapshot/index.ts b/x-pack/solutions/observability/plugins/uptime/common/runtime_types/snapshot/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/runtime_types/snapshot/index.ts rename to x-pack/solutions/observability/plugins/uptime/common/runtime_types/snapshot/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/runtime_types/snapshot/snapshot_count.ts b/x-pack/solutions/observability/plugins/uptime/common/runtime_types/snapshot/snapshot_count.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/runtime_types/snapshot/snapshot_count.ts rename to x-pack/solutions/observability/plugins/uptime/common/runtime_types/snapshot/snapshot_count.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/translations.ts b/x-pack/solutions/observability/plugins/uptime/common/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/translations.ts rename to x-pack/solutions/observability/plugins/uptime/common/translations.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/translations/translations.ts b/x-pack/solutions/observability/plugins/uptime/common/translations/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/translations/translations.ts rename to x-pack/solutions/observability/plugins/uptime/common/translations/translations.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/types/index.ts b/x-pack/solutions/observability/plugins/uptime/common/types/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/types/index.ts rename to x-pack/solutions/observability/plugins/uptime/common/types/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/types/integration_deprecation.ts b/x-pack/solutions/observability/plugins/uptime/common/types/integration_deprecation.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/types/integration_deprecation.ts rename to x-pack/solutions/observability/plugins/uptime/common/types/integration_deprecation.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/types/monitor_duration.ts b/x-pack/solutions/observability/plugins/uptime/common/types/monitor_duration.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/types/monitor_duration.ts rename to x-pack/solutions/observability/plugins/uptime/common/types/monitor_duration.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/types/synthetics_monitor.ts b/x-pack/solutions/observability/plugins/uptime/common/types/synthetics_monitor.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/types/synthetics_monitor.ts rename to x-pack/solutions/observability/plugins/uptime/common/types/synthetics_monitor.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/utils/as_mutable_array.ts b/x-pack/solutions/observability/plugins/uptime/common/utils/as_mutable_array.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/utils/as_mutable_array.ts rename to x-pack/solutions/observability/plugins/uptime/common/utils/as_mutable_array.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/utils/es_search.ts b/x-pack/solutions/observability/plugins/uptime/common/utils/es_search.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/utils/es_search.ts rename to x-pack/solutions/observability/plugins/uptime/common/utils/es_search.ts diff --git a/x-pack/plugins/observability_solution/uptime/common/utils/get_monitor_url.ts b/x-pack/solutions/observability/plugins/uptime/common/utils/get_monitor_url.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/common/utils/get_monitor_url.ts rename to x-pack/solutions/observability/plugins/uptime/common/utils/get_monitor_url.ts diff --git a/x-pack/plugins/observability_solution/uptime/e2e/README.md b/x-pack/solutions/observability/plugins/uptime/e2e/README.md similarity index 75% rename from x-pack/plugins/observability_solution/uptime/e2e/README.md rename to x-pack/solutions/observability/plugins/uptime/e2e/README.md index eaca49c558375..35b3a05f639da 100644 --- a/x-pack/plugins/observability_solution/uptime/e2e/README.md +++ b/x-pack/solutions/observability/plugins/uptime/e2e/README.md @@ -5,7 +5,7 @@ script for standing up the test server. ### Start the server -From `~/x-pack/plugins/observability_solution/synthetics/scripts`, run `node e2e.js --server`. Wait for the server to startup. It will provide you +From `~/x-pack/solutions/observability/plugins/synthetics/scripts`, run `node e2e.js --server`. Wait for the server to startup. It will provide you with an example run command when it finishes. ### Run the tests @@ -22,7 +22,7 @@ script for standing up the test server. ### Start the server -From `~/x-pack/plugins/observability_solution/uptime/scripts`, run `node uptime_e2e.js --server`. Wait for the server to startup. It will provide you +From `~/x-pack/solutions/observability/plugins/uptime/scripts`, run `node uptime_e2e.js --server`. Wait for the server to startup. It will provide you with an example run command when it finishes. ### Run the tests diff --git a/x-pack/plugins/observability_solution/uptime/e2e/config.ts b/x-pack/solutions/observability/plugins/uptime/e2e/config.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/config.ts rename to x-pack/solutions/observability/plugins/uptime/e2e/config.ts diff --git a/x-pack/plugins/observability_solution/uptime/e2e/fixtures/es_archiver/browser/data.json.gz b/x-pack/solutions/observability/plugins/uptime/e2e/fixtures/es_archiver/browser/data.json.gz similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/fixtures/es_archiver/browser/data.json.gz rename to x-pack/solutions/observability/plugins/uptime/e2e/fixtures/es_archiver/browser/data.json.gz diff --git a/x-pack/plugins/observability_solution/uptime/e2e/fixtures/es_archiver/browser/mappings.json b/x-pack/solutions/observability/plugins/uptime/e2e/fixtures/es_archiver/browser/mappings.json similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/fixtures/es_archiver/browser/mappings.json rename to x-pack/solutions/observability/plugins/uptime/e2e/fixtures/es_archiver/browser/mappings.json diff --git a/x-pack/plugins/observability_solution/uptime/e2e/fixtures/es_archiver/full_heartbeat/data.json.gz b/x-pack/solutions/observability/plugins/uptime/e2e/fixtures/es_archiver/full_heartbeat/data.json.gz similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/fixtures/es_archiver/full_heartbeat/data.json.gz rename to x-pack/solutions/observability/plugins/uptime/e2e/fixtures/es_archiver/full_heartbeat/data.json.gz diff --git a/x-pack/plugins/observability_solution/uptime/e2e/fixtures/es_archiver/full_heartbeat/mappings.json b/x-pack/solutions/observability/plugins/uptime/e2e/fixtures/es_archiver/full_heartbeat/mappings.json similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/fixtures/es_archiver/full_heartbeat/mappings.json rename to x-pack/solutions/observability/plugins/uptime/e2e/fixtures/es_archiver/full_heartbeat/mappings.json diff --git a/x-pack/plugins/observability_solution/uptime/e2e/fixtures/es_archiver/synthetics_data/data.json.gz b/x-pack/solutions/observability/plugins/uptime/e2e/fixtures/es_archiver/synthetics_data/data.json.gz similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/fixtures/es_archiver/synthetics_data/data.json.gz rename to x-pack/solutions/observability/plugins/uptime/e2e/fixtures/es_archiver/synthetics_data/data.json.gz diff --git a/x-pack/plugins/observability_solution/uptime/e2e/helpers/make_checks.ts b/x-pack/solutions/observability/plugins/uptime/e2e/helpers/make_checks.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/helpers/make_checks.ts rename to x-pack/solutions/observability/plugins/uptime/e2e/helpers/make_checks.ts diff --git a/x-pack/plugins/observability_solution/uptime/e2e/helpers/make_ping.ts b/x-pack/solutions/observability/plugins/uptime/e2e/helpers/make_ping.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/helpers/make_ping.ts rename to x-pack/solutions/observability/plugins/uptime/e2e/helpers/make_ping.ts diff --git a/x-pack/plugins/observability_solution/uptime/e2e/helpers/make_tls.ts b/x-pack/solutions/observability/plugins/uptime/e2e/helpers/make_tls.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/helpers/make_tls.ts rename to x-pack/solutions/observability/plugins/uptime/e2e/helpers/make_tls.ts diff --git a/x-pack/plugins/observability_solution/uptime/e2e/helpers/utils.ts b/x-pack/solutions/observability/plugins/uptime/e2e/helpers/utils.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/helpers/utils.ts rename to x-pack/solutions/observability/plugins/uptime/e2e/helpers/utils.ts diff --git a/x-pack/plugins/observability_solution/uptime/e2e/page_objects/login.tsx b/x-pack/solutions/observability/plugins/uptime/e2e/page_objects/login.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/page_objects/login.tsx rename to x-pack/solutions/observability/plugins/uptime/e2e/page_objects/login.tsx diff --git a/x-pack/plugins/observability_solution/uptime/e2e/page_objects/utils.tsx b/x-pack/solutions/observability/plugins/uptime/e2e/page_objects/utils.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/page_objects/utils.tsx rename to x-pack/solutions/observability/plugins/uptime/e2e/page_objects/utils.tsx diff --git a/x-pack/plugins/observability_solution/uptime/e2e/tsconfig.json b/x-pack/solutions/observability/plugins/uptime/e2e/tsconfig.json similarity index 88% rename from x-pack/plugins/observability_solution/uptime/e2e/tsconfig.json rename to x-pack/solutions/observability/plugins/uptime/e2e/tsconfig.json index a88e6a0dbfb58..631b6f4194445 100644 --- a/x-pack/plugins/observability_solution/uptime/e2e/tsconfig.json +++ b/x-pack/solutions/observability/plugins/uptime/e2e/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../../../tsconfig.base.json", + "extends": "../../../../../../tsconfig.base.json", "exclude": ["tmp", "target/**/*"], "include": ["**/*"], "compilerOptions": { diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/alerts/default_email_settings.ts b/x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/alerts/default_email_settings.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/alerts/default_email_settings.ts rename to x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/alerts/default_email_settings.ts diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/alerts/index.ts b/x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/alerts/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/alerts/index.ts rename to x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/alerts/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/alerts/status_alert_flyouts_in_alerting_app.ts b/x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/alerts/status_alert_flyouts_in_alerting_app.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/alerts/status_alert_flyouts_in_alerting_app.ts rename to x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/alerts/status_alert_flyouts_in_alerting_app.ts diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/alerts/tls_alert_flyouts_in_alerting_app.ts b/x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/alerts/tls_alert_flyouts_in_alerting_app.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/alerts/tls_alert_flyouts_in_alerting_app.ts rename to x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/alerts/tls_alert_flyouts_in_alerting_app.ts diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/data_view_permissions.ts b/x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/data_view_permissions.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/data_view_permissions.ts rename to x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/data_view_permissions.ts diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/index.ts b/x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/index.ts rename to x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/locations/index.ts b/x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/locations/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/locations/index.ts rename to x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/locations/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/locations/locations.ts b/x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/locations/locations.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/locations/locations.ts rename to x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/locations/locations.ts diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/monitor_details/index.ts b/x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/monitor_details/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/monitor_details/index.ts rename to x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/monitor_details/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/monitor_details/monitor_alerts.journey.ts b/x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/monitor_details/monitor_alerts.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/monitor_details/monitor_alerts.journey.ts rename to x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/monitor_details/monitor_alerts.journey.ts diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/monitor_details/monitor_details.journey.ts b/x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/monitor_details/monitor_details.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/monitor_details/monitor_details.journey.ts rename to x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/monitor_details/monitor_details.journey.ts diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/monitor_details/ping_redirects.journey.ts b/x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/monitor_details/ping_redirects.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/monitor_details/ping_redirects.journey.ts rename to x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/monitor_details/ping_redirects.journey.ts diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/step_duration.journey.ts b/x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/step_duration.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/step_duration.journey.ts rename to x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/step_duration.journey.ts diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/uptime.journey.ts b/x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/uptime.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/uptime/journeys/uptime.journey.ts rename to x-pack/solutions/observability/plugins/uptime/e2e/uptime/journeys/uptime.journey.ts diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/page_objects/monitor_details.tsx b/x-pack/solutions/observability/plugins/uptime/e2e/uptime/page_objects/monitor_details.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/uptime/page_objects/monitor_details.tsx rename to x-pack/solutions/observability/plugins/uptime/e2e/uptime/page_objects/monitor_details.tsx diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/page_objects/settings.tsx b/x-pack/solutions/observability/plugins/uptime/e2e/uptime/page_objects/settings.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/uptime/page_objects/settings.tsx rename to x-pack/solutions/observability/plugins/uptime/e2e/uptime/page_objects/settings.tsx diff --git a/x-pack/plugins/observability_solution/uptime/e2e/uptime/synthetics_run.ts b/x-pack/solutions/observability/plugins/uptime/e2e/uptime/synthetics_run.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/e2e/uptime/synthetics_run.ts rename to x-pack/solutions/observability/plugins/uptime/e2e/uptime/synthetics_run.ts diff --git a/x-pack/plugins/observability_solution/uptime/jest.config.js b/x-pack/solutions/observability/plugins/uptime/jest.config.js similarity index 57% rename from x-pack/plugins/observability_solution/uptime/jest.config.js rename to x-pack/solutions/observability/plugins/uptime/jest.config.js index 639e286793557..25cbce3066e46 100644 --- a/x-pack/plugins/observability_solution/uptime/jest.config.js +++ b/x-pack/solutions/observability/plugins/uptime/jest.config.js @@ -7,12 +7,12 @@ module.exports = { preset: '@kbn/test', - rootDir: '../../../..', - roots: ['/x-pack/plugins/observability_solution/uptime'], + rootDir: '../../../../..', + roots: ['/x-pack/solutions/observability/plugins/uptime'], coverageDirectory: - '/target/kibana-coverage/jest/x-pack/plugins/observability_solution/uptime', + '/target/kibana-coverage/jest/x-pack/solutions/observability/plugins/uptime', coverageReporters: ['text', 'html'], collectCoverageFrom: [ - '/x-pack/plugins/observability_solution/uptime/{common,public,server}/**/*.{ts,tsx}', + '/x-pack/solutions/observability/plugins/uptime/{common,public,server}/**/*.{ts,tsx}', ], }; diff --git a/x-pack/plugins/observability_solution/uptime/kibana.jsonc b/x-pack/solutions/observability/plugins/uptime/kibana.jsonc similarity index 100% rename from x-pack/plugins/observability_solution/uptime/kibana.jsonc rename to x-pack/solutions/observability/plugins/uptime/kibana.jsonc diff --git a/x-pack/plugins/observability_solution/uptime/public/index.ts b/x-pack/solutions/observability/plugins/uptime/public/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/kibana_services.ts b/x-pack/solutions/observability/plugins/uptime/public/kibana_services.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/kibana_services.ts rename to x-pack/solutions/observability/plugins/uptime/public/kibana_services.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/app/render_app.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/app/render_app.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/app/render_app.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/app/render_app.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/app/uptime_app.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/app/uptime_app.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/app/uptime_app.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/app/uptime_app.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/app/uptime_overview_fetcher.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/app/uptime_overview_fetcher.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/app/uptime_overview_fetcher.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/app/uptime_overview_fetcher.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/app/uptime_page_template.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/app/uptime_page_template.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/app/uptime_page_template.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/app/uptime_page_template.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/app/use_no_data_config.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/app/use_no_data_config.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/app/use_no_data_config.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/app/use_no_data_config.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/__snapshots__/cert_monitors.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/__snapshots__/cert_monitors.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/__snapshots__/cert_monitors.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/__snapshots__/cert_monitors.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/__snapshots__/cert_search.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/__snapshots__/cert_search.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/__snapshots__/cert_search.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/__snapshots__/cert_search.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/__snapshots__/cert_status.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/__snapshots__/cert_status.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/__snapshots__/cert_status.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/__snapshots__/cert_status.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/cert_monitors.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/cert_monitors.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/cert_monitors.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/cert_monitors.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/cert_monitors.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/cert_monitors.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/cert_monitors.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/cert_monitors.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/cert_refresh_btn.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/cert_refresh_btn.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/cert_refresh_btn.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/cert_refresh_btn.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/cert_search.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/cert_search.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/cert_search.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/cert_search.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/cert_search.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/cert_search.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/cert_search.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/cert_search.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/cert_status.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/cert_status.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/cert_status.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/cert_status.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/cert_status.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/cert_status.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/cert_status.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/cert_status.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/certificate_title.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/certificate_title.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/certificate_title.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/certificate_title.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/certificates_list.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/certificates_list.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/certificates_list.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/certificates_list.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/certificates_list.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/certificates_list.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/certificates_list.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/certificates_list.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/fingerprint_col.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/fingerprint_col.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/fingerprint_col.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/fingerprint_col.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/fingerprint_col.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/fingerprint_col.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/fingerprint_col.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/fingerprint_col.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/translations.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/translations.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/translations.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/use_cert_search.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/use_cert_search.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/certificates/use_cert_search.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/certificates/use_cert_search.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/__snapshots__/location_link.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/__snapshots__/location_link.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/__snapshots__/location_link.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/__snapshots__/location_link.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/__snapshots__/monitor_page_link.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/__snapshots__/monitor_page_link.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/__snapshots__/monitor_page_link.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/__snapshots__/monitor_page_link.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/__snapshots__/monitor_tags.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/__snapshots__/monitor_tags.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/__snapshots__/monitor_tags.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/__snapshots__/monitor_tags.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/alerts/uptime_edit_alert_flyout.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/alerts/uptime_edit_alert_flyout.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/alerts/uptime_edit_alert_flyout.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/alerts/uptime_edit_alert_flyout.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/__snapshots__/chart_empty_state.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/__snapshots__/chart_empty_state.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/__snapshots__/chart_empty_state.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/__snapshots__/chart_empty_state.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/__snapshots__/chart_wrapper.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/__snapshots__/chart_wrapper.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/__snapshots__/chart_wrapper.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/__snapshots__/chart_wrapper.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/__snapshots__/donut_chart.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/__snapshots__/donut_chart.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/__snapshots__/donut_chart.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/__snapshots__/donut_chart.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/__snapshots__/donut_chart_legend_row.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/__snapshots__/donut_chart_legend_row.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/__snapshots__/donut_chart_legend_row.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/__snapshots__/donut_chart_legend_row.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/__snapshots__/monitor_bar_series.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/__snapshots__/monitor_bar_series.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/__snapshots__/monitor_bar_series.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/__snapshots__/monitor_bar_series.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/annotation_tooltip.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/annotation_tooltip.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/annotation_tooltip.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/annotation_tooltip.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/chart_empty_state.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/chart_empty_state.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/chart_empty_state.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/chart_empty_state.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/chart_empty_state.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/chart_empty_state.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/chart_empty_state.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/chart_empty_state.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/chart_wrapper.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/chart_wrapper.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/chart_wrapper.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/chart_wrapper.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/chart_wrapper/chart_wrapper.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/chart_wrapper/chart_wrapper.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/chart_wrapper/chart_wrapper.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/chart_wrapper/chart_wrapper.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/chart_wrapper/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/chart_wrapper/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/chart_wrapper/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/chart_wrapper/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/donut_chart.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/donut_chart.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/donut_chart.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/donut_chart.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/donut_chart.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/donut_chart.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/donut_chart.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/donut_chart.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/donut_chart_legend.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/donut_chart_legend.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/donut_chart_legend.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/donut_chart_legend.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/donut_chart_legend.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/donut_chart_legend.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/donut_chart_legend.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/donut_chart_legend.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/donut_chart_legend_row.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/donut_chart_legend_row.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/donut_chart_legend_row.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/donut_chart_legend_row.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/donut_chart_legend_row.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/donut_chart_legend_row.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/donut_chart_legend_row.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/donut_chart_legend_row.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/duration_chart.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/duration_chart.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/duration_chart.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/duration_chart.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/duration_charts.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/duration_charts.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/duration_charts.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/duration_charts.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/duration_line_bar_list.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/duration_line_bar_list.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/duration_line_bar_list.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/duration_line_bar_list.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/duration_line_series_list.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/duration_line_series_list.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/duration_line_series_list.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/duration_line_series_list.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/get_tick_format.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/get_tick_format.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/get_tick_format.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/get_tick_format.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/get_tick_format.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/get_tick_format.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/get_tick_format.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/get_tick_format.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/monitor_bar_series.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/monitor_bar_series.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/monitor_bar_series.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/monitor_bar_series.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/monitor_bar_series.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/monitor_bar_series.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/monitor_bar_series.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/monitor_bar_series.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/ping_histogram.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/ping_histogram.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/ping_histogram.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/ping_histogram.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/ping_histogram.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/ping_histogram.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/ping_histogram.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/ping_histogram.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/utils.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/utils.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/utils.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/utils.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/utils.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/utils.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/charts/utils.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/utils.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/header/action_menu.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/header/action_menu.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/header/action_menu.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/header/action_menu.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/header/action_menu_content.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/header/action_menu_content.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/header/action_menu_content.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/header/action_menu_content.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/header/action_menu_content.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/header/action_menu_content.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/header/action_menu_content.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/header/action_menu_content.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/header/inspector_header_link.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/header/inspector_header_link.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/header/inspector_header_link.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/header/inspector_header_link.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/header/manage_monitors_btn.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/header/manage_monitors_btn.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/header/manage_monitors_btn.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/header/manage_monitors_btn.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/higher_order/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/higher_order/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/higher_order/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/higher_order/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/higher_order/responsive_wrapper.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/higher_order/responsive_wrapper.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/higher_order/responsive_wrapper.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/higher_order/responsive_wrapper.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/higher_order/responsive_wrapper.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/higher_order/responsive_wrapper.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/higher_order/responsive_wrapper.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/higher_order/responsive_wrapper.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/location_link.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/location_link.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/location_link.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/location_link.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/location_link.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/location_link.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/location_link.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/location_link.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/monitor_page_link.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/monitor_page_link.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/monitor_page_link.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/monitor_page_link.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/monitor_page_link.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/monitor_page_link.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/monitor_page_link.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/monitor_page_link.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/monitor_tags.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/monitor_tags.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/monitor_tags.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/monitor_tags.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/monitor_tags.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/monitor_tags.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/monitor_tags.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/monitor_tags.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/react_router_helpers/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/react_router_helpers/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/react_router_helpers/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/react_router_helpers/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/react_router_helpers/link_events.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/react_router_helpers/link_events.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/react_router_helpers/link_events.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/react_router_helpers/link_events.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/react_router_helpers/link_events.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/react_router_helpers/link_events.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/react_router_helpers/link_events.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/react_router_helpers/link_events.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/react_router_helpers/link_for_eui.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/react_router_helpers/link_for_eui.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/react_router_helpers/link_for_eui.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/react_router_helpers/link_for_eui.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/react_router_helpers/link_for_eui.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/react_router_helpers/link_for_eui.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/react_router_helpers/link_for_eui.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/react_router_helpers/link_for_eui.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/step_detail_link.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/step_detail_link.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/step_detail_link.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/step_detail_link.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/uptime_date_picker.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/uptime_date_picker.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/uptime_date_picker.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/uptime_date_picker.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/uptime_date_picker.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/uptime_date_picker.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/common/uptime_date_picker.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/uptime_date_picker.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/fleet_package/deprecate_notice_modal.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/fleet_package/deprecate_notice_modal.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/fleet_package/deprecate_notice_modal.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/fleet_package/deprecate_notice_modal.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/fleet_package/index.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/fleet_package/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/fleet_package/index.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/fleet_package/index.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/fleet_package/lazy_synthetics_custom_assets_extension.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/fleet_package/lazy_synthetics_custom_assets_extension.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/fleet_package/lazy_synthetics_custom_assets_extension.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/fleet_package/lazy_synthetics_custom_assets_extension.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/fleet_package/lazy_synthetics_policy_create_extension.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/fleet_package/lazy_synthetics_policy_create_extension.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/fleet_package/lazy_synthetics_policy_create_extension.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/fleet_package/lazy_synthetics_policy_create_extension.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/fleet_package/lazy_synthetics_policy_edit_extension.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/fleet_package/lazy_synthetics_policy_edit_extension.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/fleet_package/lazy_synthetics_policy_edit_extension.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/fleet_package/lazy_synthetics_policy_edit_extension.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/fleet_package/synthetics_custom_assets_extension.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/fleet_package/synthetics_custom_assets_extension.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/fleet_package/synthetics_custom_assets_extension.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/fleet_package/synthetics_custom_assets_extension.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/fleet_package/synthetics_edit_policy_extension_wrapper.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/fleet_package/synthetics_edit_policy_extension_wrapper.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/fleet_package/synthetics_edit_policy_extension_wrapper.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/fleet_package/synthetics_edit_policy_extension_wrapper.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/fleet_package/synthetics_policy_create_extension.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/fleet_package/synthetics_policy_create_extension.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/fleet_package/synthetics_policy_create_extension.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/fleet_package/synthetics_policy_create_extension.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/fleet_package/synthetics_policy_create_extension_wrapper.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/fleet_package/synthetics_policy_create_extension_wrapper.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/fleet_package/synthetics_policy_create_extension_wrapper.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/fleet_package/synthetics_policy_create_extension_wrapper.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/fleet_package/synthetics_policy_edit_extension_wrapper.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/fleet_package/synthetics_policy_edit_extension_wrapper.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/fleet_package/synthetics_policy_edit_extension_wrapper.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/fleet_package/synthetics_policy_edit_extension_wrapper.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/fleet_package/use_edit_monitor_locator.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/fleet_package/use_edit_monitor_locator.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/fleet_package/use_edit_monitor_locator.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/fleet_package/use_edit_monitor_locator.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/__snapshots__/monitor_charts.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/__snapshots__/monitor_charts.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/__snapshots__/monitor_charts.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/__snapshots__/monitor_charts.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/__snapshots__/confirm_delete.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/__snapshots__/confirm_delete.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/__snapshots__/confirm_delete.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/__snapshots__/confirm_delete.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/__snapshots__/ml_integerations.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/__snapshots__/ml_integerations.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/__snapshots__/ml_integerations.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/__snapshots__/ml_integerations.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/confirm_alert_delete.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/confirm_alert_delete.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/confirm_alert_delete.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/confirm_alert_delete.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/confirm_delete.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/confirm_delete.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/confirm_delete.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/confirm_delete.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/confirm_delete.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/confirm_delete.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/confirm_delete.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/confirm_delete.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/license_info.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/license_info.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/license_info.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/license_info.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/license_info.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/license_info.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/license_info.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/license_info.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/manage_ml_job.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/manage_ml_job.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/manage_ml_job.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/manage_ml_job.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/ml_flyout.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/ml_flyout.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/ml_flyout.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/ml_flyout.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/ml_flyout.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/ml_flyout.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/ml_flyout.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/ml_flyout.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/ml_flyout_container.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/ml_flyout_container.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/ml_flyout_container.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/ml_flyout_container.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/ml_integeration.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/ml_integeration.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/ml_integeration.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/ml_integeration.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/ml_integerations.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/ml_integerations.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/ml_integerations.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/ml_integerations.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/ml_job_link.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/ml_job_link.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/ml_job_link.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/ml_job_link.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/ml_job_link.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/ml_job_link.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/ml_job_link.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/ml_job_link.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/ml_manage_job.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/ml_manage_job.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/ml_manage_job.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/ml_manage_job.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/translations.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/translations.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/translations.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/translations.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/use_anomaly_alert.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/use_anomaly_alert.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/use_anomaly_alert.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ml/use_anomaly_alert.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/monitor_charts.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/monitor_charts.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/monitor_charts.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/monitor_charts.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/monitor_charts.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/monitor_charts.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/monitor_charts.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/monitor_charts.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/monitor_duration/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/monitor_duration/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/monitor_duration/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/monitor_duration/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/monitor_duration/monitor_duration.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/monitor_duration/monitor_duration.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/monitor_duration/monitor_duration.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/monitor_duration/monitor_duration.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/monitor_duration/monitor_duration_container.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/monitor_duration/monitor_duration_container.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/monitor_duration/monitor_duration_container.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/monitor_duration/monitor_duration_container.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/monitor_title.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/monitor_title.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/monitor_title.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/monitor_title.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/monitor_title.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/monitor_title.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/monitor_title.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/monitor_title.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_histogram/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_histogram/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_histogram/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_histogram/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_histogram/ping_histogram_container.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_histogram/ping_histogram_container.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_histogram/ping_histogram_container.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_histogram/ping_histogram_container.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/__snapshots__/expanded_row.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/__snapshots__/expanded_row.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/__snapshots__/expanded_row.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/__snapshots__/expanded_row.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/__snapshots__/ping_headers.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/__snapshots__/ping_headers.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/__snapshots__/ping_headers.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/__snapshots__/ping_headers.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/expand_row.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/expand_row.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/expand_row.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/expand_row.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/expand_row.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/expand_row.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/expand_row.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/expand_row.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/failed_step.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/failed_step.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/failed_step.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/failed_step.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_error.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_error.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_error.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_error.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_status.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_status.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_status.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_status.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/no_image_available.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/no_image_available.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/no_image_available.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/no_image_available.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/no_image_available.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/no_image_available.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/no_image_available.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/no_image_available.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/no_image_display.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/no_image_display.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/no_image_display.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/no_image_display.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/no_image_display.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/no_image_display.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/no_image_display.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/no_image_display.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/ping_timestamp.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/ping_timestamp.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/ping_timestamp.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/ping_timestamp.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/ping_timestamp.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/ping_timestamp.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/ping_timestamp.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/ping_timestamp.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/step_image_caption.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/step_image_caption.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/step_image_caption.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/step_image_caption.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/step_image_caption.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/step_image_caption.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/step_image_caption.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/step_image_caption.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/step_image_popover.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/step_image_popover.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/step_image_popover.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/step_image_popover.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/step_image_popover.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/step_image_popover.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/step_image_popover.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/step_image_popover.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/translations.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/translations.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/translations.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/use_in_progress_image.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/use_in_progress_image.ts similarity index 97% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/use_in_progress_image.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/use_in_progress_image.ts index bc85b45857c23..9d3e14431f6bb 100644 --- a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/use_in_progress_image.ts +++ b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/ping_timestamp/use_in_progress_image.ts @@ -45,7 +45,6 @@ export const useInProgressImage = ({ if (hasIntersected && !hasImage) return getJourneyScreenshot(imgPath); // FIXME: Dario thinks there is a better way to do this but // he's getting tired and maybe the Uptime folks can fix it - // eslint-disable-next-line react-hooks/exhaustive-deps }, [hasIntersected, imgPath, skippedStep, retryLoading]); useEffect(() => { diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/response_code.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/response_code.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/columns/response_code.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/columns/response_code.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/doc_link_body.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/doc_link_body.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/doc_link_body.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/doc_link_body.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/doc_link_body.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/doc_link_body.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/doc_link_body.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/doc_link_body.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/expanded_row.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/expanded_row.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/expanded_row.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/expanded_row.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/expanded_row.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/expanded_row.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/expanded_row.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/expanded_row.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/headers.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/headers.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/headers.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/headers.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/index.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/index.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/index.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/location_name.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/location_name.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/location_name.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/location_name.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/ping_headers.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/ping_headers.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/ping_headers.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/ping_headers.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/ping_list.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/ping_list.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/ping_list.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/ping_list.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/ping_list.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/ping_list.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/ping_list.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/ping_list.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/ping_list_header.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/ping_list_header.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/ping_list_header.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/ping_list_header.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/ping_list_table.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/ping_list_table.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/ping_list_table.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/ping_list_table.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/ping_redirects.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/ping_redirects.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/ping_redirects.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/ping_redirects.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/response_code.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/response_code.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/response_code.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/response_code.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/translations.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/translations.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/translations.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/use_pings.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/use_pings.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ping_list/use_pings.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/ping_list/use_pings.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/__snapshots__/monitor_status.bar.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/__snapshots__/monitor_status.bar.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/__snapshots__/monitor_status.bar.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/__snapshots__/monitor_status.bar.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/__snapshots__/ssl_certificate.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/__snapshots__/ssl_certificate.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/__snapshots__/ssl_certificate.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/__snapshots__/ssl_certificate.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/__snapshots__/status_by_location.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/__snapshots__/status_by_location.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/__snapshots__/status_by_location.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/__snapshots__/status_by_location.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/__snapshots__/tag_label.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/__snapshots__/tag_label.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/__snapshots__/tag_label.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/__snapshots__/tag_label.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/availability_reporting.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/availability_reporting.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/availability_reporting.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/availability_reporting.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/availability_reporting.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/availability_reporting.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/availability_reporting.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/availability_reporting.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/location_status_tags.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/location_status_tags.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/location_status_tags.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/location_status_tags.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/location_status_tags.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/location_status_tags.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/location_status_tags.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/location_status_tags.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/tag_label.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/tag_label.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/tag_label.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/tag_label.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/tag_label.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/tag_label.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/tag_label.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/availability_reporting/tag_label.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/location_availability/location_availability.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/location_availability/location_availability.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/location_availability/location_availability.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/location_availability/location_availability.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/location_availability/location_availability.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/location_availability/location_availability.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/location_availability/location_availability.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/location_availability/location_availability.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/monitor_status.bar.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/monitor_status.bar.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/monitor_status.bar.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/monitor_status.bar.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/ssl_certificate.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/ssl_certificate.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/ssl_certificate.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/ssl_certificate.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/monitor_redirects.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/monitor_redirects.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/monitor_redirects.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/monitor_redirects.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/ssl_certificate.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/ssl_certificate.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/ssl_certificate.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/ssl_certificate.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/status_bar.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/status_bar.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/status_bar.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/status_bar.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/status_bar.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/status_bar.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/status_bar.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/status_bar.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/status_by_location.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/status_by_location.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/status_by_location.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/status_by_location.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/use_status_bar.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/use_status_bar.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/use_status_bar.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/use_status_bar.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/status_by_location.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_by_location.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/status_by_location.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_by_location.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/status_details.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_details.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/status_details.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_details.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/status_details_container.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_details_container.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/status_details_container.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_details_container.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/translations.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/status_details/translations.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/status_details/translations.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/step_detail_container.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/step_detail_container.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/step_detail_container.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/step_detail_container.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/step_page_nav.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/step_page_nav.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/step_page_nav.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/step_page_nav.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/step_page_title.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/step_page_title.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/step_page_title.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/step_page_title.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/use_monitor_breadcrumb.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/use_monitor_breadcrumb.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/use_monitor_breadcrumb.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/use_monitor_breadcrumb.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/use_monitor_breadcrumbs.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/use_monitor_breadcrumbs.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/use_monitor_breadcrumbs.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/use_monitor_breadcrumbs.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/use_step_waterfall_metrics.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/use_step_waterfall_metrics.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/use_step_waterfall_metrics.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/use_step_waterfall_metrics.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/use_step_waterfall_metrics.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/use_step_waterfall_metrics.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/use_step_waterfall_metrics.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/use_step_waterfall_metrics.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/data_formatting.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/data_formatting.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/data_formatting.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/data_formatting.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/data_formatting.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/data_formatting.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/data_formatting.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/data_formatting.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/types.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/types.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/types.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_chart_container.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_chart_container.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_chart_container.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_chart_container.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_chart_container.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_chart_container.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_chart_container.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_chart_container.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_chart_wrapper.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_chart_wrapper.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_chart_wrapper.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_chart_wrapper.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_chart_wrapper.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_chart_wrapper.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_chart_wrapper.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_chart_wrapper.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_filter.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_filter.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_filter.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_filter.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_filter.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_filter.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_filter.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_filter.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_flyout.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_flyout.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_flyout.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_flyout.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_flyout.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_flyout.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_flyout.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_flyout.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_sidebar_item.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_sidebar_item.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_sidebar_item.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_sidebar_item.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_sidebar_item.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_sidebar_item.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_sidebar_item.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/step_detail/waterfall/waterfall_sidebar_item.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/translations.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/translations.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/translations.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/README.md b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/README.md similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/README.md rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/README.md diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/constants.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/constants.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/constants.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/constants.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/legend.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/legend.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/legend.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/legend.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/middle_truncated_text.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/middle_truncated_text.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/middle_truncated_text.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/middle_truncated_text.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/middle_truncated_text.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/middle_truncated_text.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/middle_truncated_text.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/middle_truncated_text.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/network_requests_total.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/network_requests_total.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/network_requests_total.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/network_requests_total.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/network_requests_total.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/network_requests_total.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/network_requests_total.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/network_requests_total.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/sidebar.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/sidebar.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/sidebar.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/sidebar.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/styles.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/styles.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/styles.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/styles.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/translations.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/translations.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/translations.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/use_bar_charts.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/use_bar_charts.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/use_bar_charts.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/use_bar_charts.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/use_bar_charts.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/use_bar_charts.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/use_bar_charts.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/use_bar_charts.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/use_flyout.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/use_flyout.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/use_flyout.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/use_flyout.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/use_flyout.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/use_flyout.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/use_flyout.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/use_flyout.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_bar_chart.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_bar_chart.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_bar_chart.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_bar_chart.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_chart.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_chart.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_chart.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_chart.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_chart_fixed_axis.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_chart_fixed_axis.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_chart_fixed_axis.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_chart_fixed_axis.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_flyout_table.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_flyout_table.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_flyout_table.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_flyout_table.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_marker_icon.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_marker_icon.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_marker_icon.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_marker_icon.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_marker_icon.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_marker_icon.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_marker_icon.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_marker_icon.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_marker_test_helper.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_marker_test_helper.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_marker_test_helper.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_marker_test_helper.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_marker_trend.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_marker_trend.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_marker_trend.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_marker_trend.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_marker_trend.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_marker_trend.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_marker_trend.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_marker_trend.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_markers.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_markers.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_markers.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_markers.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_tooltip_content.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_tooltip_content.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_tooltip_content.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_tooltip_content.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_tooltip_content.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_tooltip_content.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_tooltip_content.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/components/waterfall_tooltip_content.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/context/waterfall_chart.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/context/waterfall_chart.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/context/waterfall_chart.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/context/waterfall_chart.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/index.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/index.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/index.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/types.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/types.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/monitor/synthetics/waterfall/types.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/__snapshots__/snapshot_heading.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/__snapshots__/snapshot_heading.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/__snapshots__/snapshot_heading.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/__snapshots__/snapshot_heading.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/alert_expression_popover.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/alert_expression_popover.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/alert_expression_popover.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/alert_expression_popover.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/alert_field_number.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/alert_field_number.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/alert_field_number.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/alert_field_number.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/alert_field_number.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/alert_field_number.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/alert_field_number.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/alert_field_number.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/alert_query_bar/query_bar.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/alert_query_bar/query_bar.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/alert_query_bar/query_bar.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/alert_query_bar/query_bar.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/alert_tls.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/alert_tls.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/alert_tls.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/alert_tls.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/alert_monitor_status.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/alert_monitor_status.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/alert_monitor_status.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/alert_monitor_status.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/alert_tls.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/alert_tls.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/alert_tls.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/alert_tls.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/toggle_alert_flyout_button.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/toggle_alert_flyout_button.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/toggle_alert_flyout_button.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/toggle_alert_flyout_button.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/uptime_alerts_flyout_wrapper.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/uptime_alerts_flyout_wrapper.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/uptime_alerts_flyout_wrapper.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/uptime_alerts_flyout_wrapper.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/use_snap_shot.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/use_snap_shot.ts similarity index 95% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/use_snap_shot.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/use_snap_shot.ts index b6d250a2cb70f..99f5aae823777 100644 --- a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/use_snap_shot.ts +++ b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/alerts_containers/use_snap_shot.ts @@ -26,7 +26,7 @@ export const useSnapShotCount = ({ query, filters }: { query: string; filters?: }), // FIXME: Dario thinks there is a better way to do this but // he's getting tired and maybe the Uptime folks can fix it - // eslint-disable-next-line react-hooks/exhaustive-deps + [esKuery, query] ); diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/anomaly_alert/anomaly_alert.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/anomaly_alert/anomaly_alert.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/anomaly_alert/anomaly_alert.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/anomaly_alert/anomaly_alert.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/anomaly_alert/select_severity.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/anomaly_alert/select_severity.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/anomaly_alert/select_severity.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/anomaly_alert/select_severity.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/anomaly_alert/translations.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/anomaly_alert/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/anomaly_alert/translations.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/anomaly_alert/translations.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/__snapshots__/down_number_select.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/__snapshots__/down_number_select.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/__snapshots__/down_number_select.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/__snapshots__/down_number_select.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/__snapshots__/time_expression_select.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/__snapshots__/time_expression_select.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/__snapshots__/time_expression_select.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/__snapshots__/time_expression_select.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/availability_expression_select.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/availability_expression_select.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/availability_expression_select.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/availability_expression_select.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/down_number_select.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/down_number_select.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/down_number_select.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/down_number_select.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/down_number_select.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/down_number_select.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/down_number_select.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/down_number_select.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/filters_expression_select.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/filters_expression_select.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/filters_expression_select.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/filters_expression_select.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/filters_expression_select.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/filters_expression_select.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/filters_expression_select.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/filters_expression_select.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/status_expression_select.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/status_expression_select.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/status_expression_select.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/status_expression_select.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/time_expression_select.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/time_expression_select.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/time_expression_select.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/time_expression_select.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/time_expression_select.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/time_expression_select.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/time_expression_select.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/time_expression_select.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/time_unit_selectable.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/time_unit_selectable.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/time_unit_selectable.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/time_unit_selectable.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/translations.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/translations.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/translations.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/add_filter_btn.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/add_filter_btn.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/add_filter_btn.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/add_filter_btn.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/add_filter_btn.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/add_filter_btn.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/add_filter_btn.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/add_filter_btn.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/alert_monitor_status.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/alert_monitor_status.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/alert_monitor_status.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/alert_monitor_status.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/alert_monitor_status.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/alert_monitor_status.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/alert_monitor_status.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/alert_monitor_status.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/old_alert_call_out.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/old_alert_call_out.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/old_alert_call_out.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/old_alert_call_out.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/old_alert_callout.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/old_alert_callout.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/old_alert_callout.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_status_alert/old_alert_callout.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/toggle_alert_flyout_button.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/toggle_alert_flyout_button.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/toggle_alert_flyout_button.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/toggle_alert_flyout_button.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/toggle_alert_flyout_button.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/toggle_alert_flyout_button.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/toggle_alert_flyout_button.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/toggle_alert_flyout_button.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/translations.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/translations.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/translations.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/uptime_alerts_flyout_wrapper.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/uptime_alerts_flyout_wrapper.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/alerts/uptime_alerts_flyout_wrapper.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/uptime_alerts_flyout_wrapper.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/empty_state/empty_state_error.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/empty_state/empty_state_error.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/empty_state/empty_state_error.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/empty_state/empty_state_error.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/empty_state/empty_state_loading.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/empty_state/empty_state_loading.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/empty_state/empty_state_loading.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/empty_state/empty_state_loading.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/empty_state/use_has_data.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/empty_state/use_has_data.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/empty_state/use_has_data.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/empty_state/use_has_data.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/filter_group/filter_group.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/filter_group/filter_group.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/filter_group/filter_group.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/filter_group/filter_group.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/filter_group/filter_group.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/filter_group/filter_group.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/filter_group/filter_group.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/filter_group/filter_group.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/filter_group/selected_filters.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/filter_group/selected_filters.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/filter_group/selected_filters.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/filter_group/selected_filters.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/filter_group/translations.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/filter_group/translations.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/filter_group/translations.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/filter_group/translations.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/integration_deprecation/index.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/integration_deprecation/index.tsx similarity index 97% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/integration_deprecation/index.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/integration_deprecation/index.tsx index ac7e20db41b17..629fa01a034a4 100644 --- a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/integration_deprecation/index.tsx +++ b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/integration_deprecation/index.tsx @@ -28,7 +28,6 @@ export const IntegrationDeprecation = () => { return undefined; // FIXME: Dario thinks there is a better way to do this but // he's getting tired and maybe the Uptime folks can fix it - // eslint-disable-next-line react-hooks/exhaustive-deps }, [monitorList.isLoaded]); const hasIntegrationMonitors = !loading && data && data.hasIntegrationMonitors; const [shouldShowNotice, setShouldShowNotice] = useState( diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/integration_deprecation/integration_deprecation.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/integration_deprecation/integration_deprecation.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/integration_deprecation/integration_deprecation.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/integration_deprecation/integration_deprecation.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/integration_deprecation/integration_deprecation_callout.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/integration_deprecation/integration_deprecation_callout.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/integration_deprecation/integration_deprecation_callout.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/integration_deprecation/integration_deprecation_callout.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/__snapshots__/filter_status_button.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/__snapshots__/filter_status_button.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/__snapshots__/filter_status_button.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/__snapshots__/filter_status_button.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/__snapshots__/status_filter.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/__snapshots__/status_filter.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/__snapshots__/status_filter.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/__snapshots__/status_filter.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/columns/cert_status_column.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/cert_status_column.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/columns/cert_status_column.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/cert_status_column.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/columns/define_connectors.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/define_connectors.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/columns/define_connectors.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/define_connectors.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/columns/define_connectors.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/define_connectors.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/columns/define_connectors.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/define_connectors.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/columns/enable_alert.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/enable_alert.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/columns/enable_alert.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/enable_alert.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/columns/enable_alert.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/enable_alert.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/columns/enable_alert.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/enable_alert.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/columns/monitor_name_col.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/monitor_name_col.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/columns/monitor_name_col.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/monitor_name_col.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/columns/monitor_status_column.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/monitor_status_column.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/columns/monitor_status_column.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/monitor_status_column.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/columns/monitor_status_column.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/monitor_status_column.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/columns/monitor_status_column.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/monitor_status_column.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/columns/status_badge.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/status_badge.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/columns/status_badge.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/status_badge.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/columns/status_badge.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/status_badge.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/columns/status_badge.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/status_badge.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/columns/translations.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/columns/translations.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/translations.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/filter_status_button.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/filter_status_button.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/filter_status_button.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/filter_status_button.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/filter_status_button.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/filter_status_button.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/filter_status_button.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/filter_status_button.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_container.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_container.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_container.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_container.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/__snapshots__/integration_group.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/__snapshots__/integration_group.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/__snapshots__/integration_group.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/__snapshots__/integration_group.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/__snapshots__/integration_link.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/__snapshots__/integration_link.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/__snapshots__/integration_link.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/__snapshots__/integration_link.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/__snapshots__/monitor_list_drawer.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/__snapshots__/monitor_list_drawer.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/__snapshots__/monitor_list_drawer.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/__snapshots__/monitor_list_drawer.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/__snapshots__/most_recent_error.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/__snapshots__/most_recent_error.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/__snapshots__/most_recent_error.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/__snapshots__/most_recent_error.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/actions_popover/actions_popover.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/actions_popover/actions_popover.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/actions_popover/actions_popover.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/actions_popover/actions_popover.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/actions_popover/actions_popover_container.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/actions_popover/actions_popover_container.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/actions_popover/actions_popover_container.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/actions_popover/actions_popover_container.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/actions_popover/integration_group.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/actions_popover/integration_group.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/actions_popover/integration_group.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/actions_popover/integration_group.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/actions_popover/integration_link.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/actions_popover/integration_link.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/actions_popover/integration_link.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/actions_popover/integration_link.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/data.json b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/data.json similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/data.json rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/data.json diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/enabled_alerts.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/enabled_alerts.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/enabled_alerts.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/enabled_alerts.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/integration_group.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/integration_group.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/integration_group.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/integration_group.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/integration_link.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/integration_link.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/integration_link.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/integration_link.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/list_drawer_container.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/list_drawer_container.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/list_drawer_container.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/list_drawer_container.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_list_drawer.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_list_drawer.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_list_drawer.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_list_drawer.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_list_drawer.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_list_drawer.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_list_drawer.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_list_drawer.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_status_list.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_status_list.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_status_list.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_status_list.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_status_list.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_status_list.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_status_list.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_status_list.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_status_row.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_status_row.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_status_row.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_status_row.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_status_row.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_status_row.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_status_row.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_status_row.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_url.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_url.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_url.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/monitor_url.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/most_recent_error.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/most_recent_error.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/most_recent_error.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/most_recent_error.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/most_recent_error.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/most_recent_error.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/most_recent_error.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/most_recent_error.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/most_recent_run.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/most_recent_run.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/most_recent_run.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_drawer/most_recent_run.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_header.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_header.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_header.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_header.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_page_size_select.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_page_size_select.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_page_size_select.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_page_size_select.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_page_size_select.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_page_size_select.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_page_size_select.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/monitor_list_page_size_select.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/no_items_meesage.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/no_items_meesage.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/no_items_meesage.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/no_items_meesage.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/no_items_message.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/no_items_message.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/no_items_message.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/no_items_message.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/overview_page_link.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/overview_page_link.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/overview_page_link.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/overview_page_link.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/parse_timestamp.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/parse_timestamp.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/parse_timestamp.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/parse_timestamp.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/parse_timestamp.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/parse_timestamp.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/parse_timestamp.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/parse_timestamp.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/status_filter.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/status_filter.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/status_filter.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/status_filter.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/status_filter.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/status_filter.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/status_filter.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/status_filter.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/translations.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/translations.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/translations.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/troubleshoot_popover.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/troubleshoot_popover.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/troubleshoot_popover.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/troubleshoot_popover.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/types.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/types.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/types.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/use_monitor_histogram.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/use_monitor_histogram.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/monitor_list/use_monitor_histogram.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/use_monitor_histogram.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/query_bar/query_bar.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/query_bar/query_bar.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/query_bar/query_bar.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/query_bar/query_bar.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/query_bar/translations.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/query_bar/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/query_bar/translations.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/query_bar/translations.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/query_bar/use_query_bar.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/query_bar/use_query_bar.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/query_bar/use_query_bar.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/query_bar/use_query_bar.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/query_bar/use_query_bar.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/query_bar/use_query_bar.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/query_bar/use_query_bar.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/query_bar/use_query_bar.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/snapshot/__snapshots__/snapshot.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/snapshot/__snapshots__/snapshot.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/snapshot/__snapshots__/snapshot.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/snapshot/__snapshots__/snapshot.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/snapshot/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/snapshot/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/snapshot/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/snapshot/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/snapshot/snapshot.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/snapshot/snapshot.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/snapshot/snapshot.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/snapshot/snapshot.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/snapshot/snapshot.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/snapshot/snapshot.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/snapshot/snapshot.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/snapshot/snapshot.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/snapshot/snapshot_heading.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/snapshot/snapshot_heading.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/snapshot/snapshot_heading.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/snapshot/snapshot_heading.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/snapshot/use_snap_shot.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/snapshot/use_snap_shot.ts similarity index 95% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/snapshot/use_snap_shot.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/snapshot/use_snap_shot.ts index 15ffd98c739c3..af14d8f78289d 100644 --- a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/snapshot/use_snap_shot.ts +++ b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/snapshot/use_snap_shot.ts @@ -24,7 +24,7 @@ export const useSnapShotCount = () => { () => fetchSnapshotCount({ query, dateRangeStart, dateRangeEnd, filters: esKuery }), // FIXME: Dario thinks there is a better way to do this but // he's getting tired and maybe the Uptime folks can fix it - // eslint-disable-next-line react-hooks/exhaustive-deps + [dateRangeStart, dateRangeEnd, esKuery, lastRefresh, query] ); diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/snapshot_heading.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/snapshot_heading.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/snapshot_heading.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/snapshot_heading.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/status_panel.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/status_panel.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/overview/status_panel.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/status_panel.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/settings/__snapshots__/certificate_form.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/settings/__snapshots__/certificate_form.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/settings/__snapshots__/certificate_form.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/settings/__snapshots__/certificate_form.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/settings/__snapshots__/indices_form.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/settings/__snapshots__/indices_form.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/settings/__snapshots__/indices_form.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/settings/__snapshots__/indices_form.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/settings/add_connector_flyout.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/settings/add_connector_flyout.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/settings/add_connector_flyout.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/settings/add_connector_flyout.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/settings/alert_defaults_form.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/settings/alert_defaults_form.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/settings/alert_defaults_form.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/settings/alert_defaults_form.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/settings/certificate_form.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/settings/certificate_form.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/settings/certificate_form.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/settings/certificate_form.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/settings/certificate_form.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/settings/certificate_form.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/settings/certificate_form.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/settings/certificate_form.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/settings/default_email.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/settings/default_email.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/settings/default_email.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/settings/default_email.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/settings/indices_form.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/settings/indices_form.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/settings/indices_form.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/settings/indices_form.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/settings/indices_form.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/settings/indices_form.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/settings/indices_form.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/settings/indices_form.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/settings/settings_actions.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/settings/settings_actions.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/settings/settings_actions.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/settings/settings_actions.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/settings/settings_bottom_bar.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/settings/settings_bottom_bar.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/settings/settings_bottom_bar.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/settings/settings_bottom_bar.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/settings/translations.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/settings/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/settings/translations.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/settings/translations.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/settings/use_settings_errors.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/settings/use_settings_errors.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/settings/use_settings_errors.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/settings/use_settings_errors.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/stderr_logs.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/stderr_logs.tsx similarity index 98% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/stderr_logs.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/stderr_logs.tsx index 7eab37d2b9afe..af4c1ed3915ac 100644 --- a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/stderr_logs.tsx +++ b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/stderr_logs.tsx @@ -92,7 +92,6 @@ export const StdErrorLogs = ({ return ''; // FIXME: Dario thinks there is a better way to do this but // he's getting tired and maybe the Uptime folks can fix it - // eslint-disable-next-line react-hooks/exhaustive-deps }, [checkGroup, timestamp]); const search = { diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/step_duration.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/step_duration.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/step_duration.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/step_duration.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/step_expanded_row/screenshot_link.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/step_expanded_row/screenshot_link.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/step_expanded_row/screenshot_link.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/step_expanded_row/screenshot_link.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/step_expanded_row/step_screenshots.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/step_expanded_row/step_screenshots.tsx similarity index 98% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/step_expanded_row/step_screenshots.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/step_expanded_row/step_screenshots.tsx index 606019c99429d..6af149efe453f 100644 --- a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/step_expanded_row/step_screenshots.tsx +++ b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/step_expanded_row/step_screenshots.tsx @@ -42,7 +42,6 @@ export const StepScreenshots = ({ step }: Props) => { } // FIXME: Dario thinks there is a better way to do this but // he's getting tired and maybe the Uptime folks can fix it - // eslint-disable-next-line react-hooks/exhaustive-deps }, [step._id, step['@timestamp']]); const lastSuccessfulCheck: Ping | undefined = data; diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/step_field_trend.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/step_field_trend.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/step_field_trend.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/step_field_trend.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/step_field_trend.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/step_field_trend.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/step_field_trend.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/step_field_trend.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/step_image.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/step_image.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/step_image.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/step_image.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/steps_list.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/steps_list.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/steps_list.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/steps_list.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/steps_list.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/steps_list.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/steps_list.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/steps_list.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/use_check_steps.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/use_check_steps.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/use_check_steps.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/use_check_steps.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/use_expanded_row.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/use_expanded_row.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/use_expanded_row.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/use_expanded_row.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/use_expanded_row.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/use_expanded_row.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/use_expanded_row.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/use_expanded_row.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/use_std_error_logs.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/use_std_error_logs.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/check_steps/use_std_error_logs.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/check_steps/use_std_error_logs.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/code_block_accordion.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/code_block_accordion.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/code_block_accordion.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/code_block_accordion.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/console_event.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/console_event.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/console_event.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/console_event.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/console_event.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/console_event.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/console_event.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/console_event.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/console_output_event_list.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/console_output_event_list.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/console_output_event_list.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/console_output_event_list.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/console_output_event_list.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/console_output_event_list.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/console_output_event_list.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/console_output_event_list.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/empty_journey.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/empty_journey.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/empty_journey.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/empty_journey.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/empty_journey.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/empty_journey.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/empty_journey.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/empty_journey.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/executed_step.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/executed_step.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/executed_step.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/executed_step.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/executed_step.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/executed_step.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/executed_step.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/executed_step.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/status_badge.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/status_badge.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/status_badge.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/status_badge.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/status_badge.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/status_badge.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/status_badge.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/status_badge.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/step_screenshot_display.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/step_screenshot_display.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/step_screenshot_display.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/step_screenshot_display.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/step_screenshot_display.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/step_screenshot_display.tsx similarity index 99% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/step_screenshot_display.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/step_screenshot_display.tsx index b7d2f6d85fe2b..2e5b8aac0d720 100644 --- a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/step_screenshot_display.tsx +++ b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/step_screenshot_display.tsx @@ -137,7 +137,6 @@ export const StepScreenshotDisplay: FC = ({ } // FIXME: Dario thinks there is a better way to do this but // he's getting tired and maybe the Uptime folks can fix it - // eslint-disable-next-line react-hooks/exhaustive-deps }, [basePath, checkGroup, imgSrc, stepIndex, isScreenshotRef, lastRefresh]); const refDimensions = useMemo(() => { diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/translations.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/synthetics/translations.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/synthetics/translations.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/contexts/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/contexts/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/contexts/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/contexts/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/contexts/uptime_data_view_context.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/contexts/uptime_data_view_context.tsx similarity index 96% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/contexts/uptime_data_view_context.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/contexts/uptime_data_view_context.tsx index 7abbdf3fde8c8..e3fb9f4b3bb3b 100644 --- a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/contexts/uptime_data_view_context.tsx +++ b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/contexts/uptime_data_view_context.tsx @@ -28,7 +28,6 @@ export const UptimeDataViewContextProvider: FC< } // FIXME: Dario thinks there is a better way to do this but // he's getting tired and maybe the Uptime folks can fix it - // eslint-disable-next-line react-hooks/exhaustive-deps }, [heartbeatIndices, indexStatus?.indexExists]); return ; diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/contexts/uptime_refresh_context.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/contexts/uptime_refresh_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/contexts/uptime_refresh_context.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/contexts/uptime_refresh_context.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/contexts/uptime_settings_context.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/contexts/uptime_settings_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/contexts/uptime_settings_context.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/contexts/uptime_settings_context.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/contexts/uptime_startup_plugins_context.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/contexts/uptime_startup_plugins_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/contexts/uptime_startup_plugins_context.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/contexts/uptime_startup_plugins_context.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/contexts/uptime_theme_context.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/contexts/uptime_theme_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/contexts/uptime_theme_context.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/contexts/uptime_theme_context.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/__snapshots__/use_url_params.test.tsx.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/__snapshots__/use_url_params.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/__snapshots__/use_url_params.test.tsx.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/__snapshots__/use_url_params.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_base_chart_theme.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_base_chart_theme.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_base_chart_theme.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_base_chart_theme.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_breadcrumbs.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_breadcrumbs.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_breadcrumbs.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_breadcrumbs.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_breadcrumbs.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_breadcrumbs.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_breadcrumbs.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_breadcrumbs.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_cert_status.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_cert_status.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_cert_status.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_cert_status.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_composite_image.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_composite_image.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_composite_image.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_composite_image.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_composite_image.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_composite_image.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_composite_image.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_composite_image.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_filter_update.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_filter_update.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_filter_update.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_filter_update.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_filter_update.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_filter_update.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_filter_update.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_filter_update.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_init_app.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_init_app.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_init_app.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_init_app.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_mapping_check.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_mapping_check.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_mapping_check.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_mapping_check.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_mapping_check.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_mapping_check.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_mapping_check.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_mapping_check.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_monitor.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_monitor.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_monitor.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_monitor.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_overview_filter_check.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_overview_filter_check.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_overview_filter_check.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_overview_filter_check.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_overview_filter_check.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_overview_filter_check.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_overview_filter_check.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_overview_filter_check.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_search_text.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_search_text.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_search_text.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_search_text.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_selected_filters.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_selected_filters.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_selected_filters.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_selected_filters.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_selected_filters.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_selected_filters.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_selected_filters.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_selected_filters.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_update_kuery_string.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_update_kuery_string.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_update_kuery_string.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_update_kuery_string.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_url_params.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_url_params.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_url_params.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_url_params.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_url_params.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_url_params.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/hooks/use_url_params.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/hooks/use_url_params.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/__mocks__/legacy_screenshot_ref.mock.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/__mocks__/legacy_screenshot_ref.mock.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/__mocks__/legacy_screenshot_ref.mock.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/__mocks__/legacy_screenshot_ref.mock.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/__mocks__/legacy_use_composite_image.mock.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/__mocks__/legacy_use_composite_image.mock.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/__mocks__/legacy_use_composite_image.mock.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/__mocks__/legacy_use_composite_image.mock.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/__mocks__/uptime_plugin_start_mock.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/__mocks__/uptime_plugin_start_mock.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/__mocks__/uptime_plugin_start_mock.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/__mocks__/uptime_plugin_start_mock.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/__mocks__/uptime_store.mock.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/__mocks__/uptime_store.mock.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/__mocks__/uptime_store.mock.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/__mocks__/uptime_store.mock.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/__mocks__/ut_router_history.mock.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/__mocks__/ut_router_history.mock.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/__mocks__/ut_router_history.mock.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/__mocks__/ut_router_history.mock.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/adapters/framework/capabilities_adapter.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/adapters/framework/capabilities_adapter.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/adapters/framework/capabilities_adapter.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/adapters/framework/capabilities_adapter.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/alert_messages.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/alert_types/alert_messages.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/alert_messages.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/alert_types/alert_messages.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/common.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/alert_types/common.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/common.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/alert_types/common.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/duration_anomaly.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/alert_types/duration_anomaly.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/duration_anomaly.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/alert_types/duration_anomaly.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/alert_types/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/alert_types/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/lazy_wrapper/duration_anomaly.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/alert_types/lazy_wrapper/duration_anomaly.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/lazy_wrapper/duration_anomaly.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/alert_types/lazy_wrapper/duration_anomaly.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/lazy_wrapper/monitor_status.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/alert_types/lazy_wrapper/monitor_status.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/lazy_wrapper/monitor_status.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/alert_types/lazy_wrapper/monitor_status.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/lazy_wrapper/tls_alert.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/alert_types/lazy_wrapper/tls_alert.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/lazy_wrapper/tls_alert.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/alert_types/lazy_wrapper/tls_alert.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/lazy_wrapper/validate_monitor_status.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/alert_types/lazy_wrapper/validate_monitor_status.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/lazy_wrapper/validate_monitor_status.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/alert_types/lazy_wrapper/validate_monitor_status.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/lazy_wrapper/validate_tls_alert.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/alert_types/lazy_wrapper/validate_tls_alert.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/lazy_wrapper/validate_tls_alert.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/alert_types/lazy_wrapper/validate_tls_alert.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/monitor_status.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/alert_types/monitor_status.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/monitor_status.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/alert_types/monitor_status.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/monitor_status.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/alert_types/monitor_status.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/monitor_status.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/alert_types/monitor_status.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/tls.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/alert_types/tls.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/tls.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/alert_types/tls.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/tls_legacy.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/alert_types/tls_legacy.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/tls_legacy.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/alert_types/tls_legacy.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/formatting.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/formatting.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/formatting.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/formatting.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/charts/get_chart_date_label.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/charts/get_chart_date_label.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/charts/get_chart_date_label.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/charts/get_chart_date_label.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/charts/get_label_format.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/charts/get_label_format.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/charts/get_label_format.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/charts/get_label_format.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/charts/get_label_format.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/charts/get_label_format.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/charts/get_label_format.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/charts/get_label_format.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/charts/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/charts/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/charts/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/charts/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/charts/is_within_current_date.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/charts/is_within_current_date.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/charts/is_within_current_date.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/charts/is_within_current_date.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/charts/is_within_current_date.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/charts/is_within_current_date.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/charts/is_within_current_date.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/charts/is_within_current_date.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/compose_screenshot_images.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/compose_screenshot_images.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/compose_screenshot_images.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/compose_screenshot_images.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/compose_screenshot_images.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/compose_screenshot_images.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/compose_screenshot_images.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/compose_screenshot_images.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/convert_measurements.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/convert_measurements.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/convert_measurements.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/convert_measurements.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/convert_measurements.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/convert_measurements.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/convert_measurements.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/convert_measurements.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/enzyme_helpers.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/enzyme_helpers.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/enzyme_helpers.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/enzyme_helpers.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/helper_with_redux.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/helper_with_redux.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/helper_with_redux.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/helper_with_redux.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/observability_integration/add_base_path.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/observability_integration/add_base_path.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/observability_integration/add_base_path.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/observability_integration/add_base_path.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/observability_integration/build_href.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/observability_integration/build_href.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/observability_integration/build_href.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/observability_integration/build_href.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/observability_integration/get_apm_href.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/observability_integration/get_apm_href.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/observability_integration/get_apm_href.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/observability_integration/get_apm_href.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/observability_integration/get_apm_href.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/observability_integration/get_apm_href.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/observability_integration/get_apm_href.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/observability_integration/get_apm_href.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/observability_integration/get_infra_href.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/observability_integration/get_infra_href.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/observability_integration/get_infra_href.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/observability_integration/get_infra_href.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/observability_integration/get_infra_href.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/observability_integration/get_infra_href.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/observability_integration/get_infra_href.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/observability_integration/get_infra_href.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/observability_integration/get_logging_href.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/observability_integration/get_logging_href.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/observability_integration/get_logging_href.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/observability_integration/get_logging_href.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/observability_integration/get_logging_href.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/observability_integration/get_logging_href.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/observability_integration/get_logging_href.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/observability_integration/get_logging_href.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/observability_integration/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/observability_integration/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/observability_integration/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/observability_integration/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/parse_search.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/parse_search.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/parse_search.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/parse_search.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/parse_search.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/parse_search.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/parse_search.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/parse_search.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/rtl_helpers.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/rtl_helpers.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/rtl_helpers.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/rtl_helpers.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/series_has_down_values.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/series_has_down_values.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/series_has_down_values.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/series_has_down_values.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/series_has_down_values.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/series_has_down_values.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/series_has_down_values.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/series_has_down_values.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/test_helpers.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/test_helpers.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/test_helpers.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/test_helpers.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/url_params/__snapshots__/get_supported_url_params.test.ts.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/url_params/__snapshots__/get_supported_url_params.test.ts.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/url_params/__snapshots__/get_supported_url_params.test.ts.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/url_params/__snapshots__/get_supported_url_params.test.ts.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/url_params/get_supported_url_params.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/url_params/get_supported_url_params.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/url_params/get_supported_url_params.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/url_params/get_supported_url_params.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/url_params/get_supported_url_params.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/url_params/get_supported_url_params.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/url_params/get_supported_url_params.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/url_params/get_supported_url_params.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/url_params/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/url_params/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/url_params/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/url_params/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/url_params/parse_absolute_date.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/url_params/parse_absolute_date.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/url_params/parse_absolute_date.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/url_params/parse_absolute_date.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/url_params/parse_absolute_date.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/url_params/parse_absolute_date.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/url_params/parse_absolute_date.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/url_params/parse_absolute_date.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/url_params/stringify_url_params.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/url_params/stringify_url_params.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/url_params/stringify_url_params.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/url_params/stringify_url_params.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/lib.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/lib.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/lib.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/lib.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/certificates.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/certificates.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/certificates.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/certificates.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/certificates.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/certificates.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/certificates.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/certificates.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/mapping_error.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/mapping_error.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/mapping_error.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/mapping_error.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/monitor.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/monitor.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/monitor.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/monitor.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/monitor.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/monitor.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/monitor.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/monitor.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/not_found.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/not_found.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/not_found.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/not_found.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/not_found.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/not_found.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/not_found.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/not_found.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/overview.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/overview.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/overview.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/overview.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/overview.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/overview.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/overview.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/overview.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/settings.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/settings.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/settings.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/settings.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/settings.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/settings.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/settings.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/settings.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/synthetics/checks_navigation.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/synthetics/checks_navigation.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/synthetics/checks_navigation.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/synthetics/checks_navigation.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/synthetics/step_detail_page.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/synthetics/step_detail_page.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/synthetics/step_detail_page.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/synthetics/step_detail_page.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/synthetics/synthetics_checks.test.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/synthetics/synthetics_checks.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/synthetics/synthetics_checks.test.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/synthetics/synthetics_checks.test.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/synthetics/synthetics_checks.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/synthetics/synthetics_checks.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/synthetics/synthetics_checks.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/synthetics/synthetics_checks.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/translations.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/pages/translations.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/pages/translations.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/routes.tsx b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/routes.tsx similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/routes.tsx rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/routes.tsx diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/dynamic_settings.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/dynamic_settings.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/dynamic_settings.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/dynamic_settings.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/index_status.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/index_status.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/index_status.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/index_status.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/journey.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/journey.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/journey.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/ml_anomaly.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/ml_anomaly.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/ml_anomaly.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/ml_anomaly.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/monitor.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/monitor.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/monitor.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/monitor.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/monitor_duration.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/monitor_duration.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/monitor_duration.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/monitor_duration.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/monitor_list.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/monitor_list.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/monitor_list.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/monitor_list.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/monitor_status.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/monitor_status.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/monitor_status.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/monitor_status.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/network_events.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/network_events.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/network_events.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/network_events.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/ping.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/ping.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/ping.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/ping.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/selected_filters.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/selected_filters.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/selected_filters.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/selected_filters.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/snapshot.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/snapshot.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/snapshot.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/snapshot.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/types.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/types.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/types.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/ui.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/ui.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/ui.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/ui.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/utils.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/utils.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/actions/utils.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/actions/utils.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/alerts/alerts.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/alerts/alerts.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/alerts/alerts.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/alerts/alerts.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/__snapshots__/snapshot.test.ts.snap b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/__snapshots__/snapshot.test.ts.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/__snapshots__/snapshot.test.ts.snap rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/__snapshots__/snapshot.test.ts.snap diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/alerts.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/alerts.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/alerts.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/alerts.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/dynamic_settings.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/dynamic_settings.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/dynamic_settings.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/dynamic_settings.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/has_integration_monitors.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/has_integration_monitors.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/has_integration_monitors.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/has_integration_monitors.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/index_status.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/index_status.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/index_status.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/index_status.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/journey.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/journey.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/journey.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/ml_anomaly.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/ml_anomaly.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/ml_anomaly.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/ml_anomaly.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/monitor.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/monitor.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/monitor.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/monitor.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/monitor_duration.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/monitor_duration.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/monitor_duration.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/monitor_duration.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/monitor_list.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/monitor_list.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/monitor_list.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/monitor_list.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/monitor_status.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/monitor_status.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/monitor_status.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/monitor_status.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/network_events.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/network_events.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/network_events.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/network_events.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/ping.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/ping.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/ping.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/ping.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/snapshot.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/snapshot.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/snapshot.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/snapshot.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/snapshot.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/snapshot.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/snapshot.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/snapshot.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/types.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/types.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/types.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/utils.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/utils.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/api/utils.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/api/utils.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/certificates/certificates.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/certificates/certificates.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/certificates/certificates.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/certificates/certificates.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/dynamic_settings.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/dynamic_settings.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/dynamic_settings.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/dynamic_settings.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/fetch_effect.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/fetch_effect.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/fetch_effect.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/fetch_effect.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/fetch_effect.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/fetch_effect.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/fetch_effect.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/fetch_effect.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/index_status.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/index_status.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/index_status.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/index_status.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/journey.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/journey.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/journey.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/journey.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/journey.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/journey.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/journey.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/ml_anomaly.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/ml_anomaly.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/ml_anomaly.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/ml_anomaly.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/monitor.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/monitor.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/monitor.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/monitor.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/monitor_duration.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/monitor_duration.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/monitor_duration.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/monitor_duration.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/monitor_list.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/monitor_list.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/monitor_list.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/monitor_list.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/monitor_status.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/monitor_status.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/monitor_status.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/monitor_status.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/network_events.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/network_events.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/network_events.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/network_events.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/ping.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/ping.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/ping.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/ping.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/synthetic_journey_blocks.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/synthetic_journey_blocks.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/effects/synthetic_journey_blocks.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/effects/synthetic_journey_blocks.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/kibana_service.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/kibana_service.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/kibana_service.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/kibana_service.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/dynamic_settings.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/dynamic_settings.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/dynamic_settings.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/dynamic_settings.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/index_status.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/index_status.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/index_status.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/index_status.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/journey.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/journey.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/journey.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/ml_anomaly.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/ml_anomaly.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/ml_anomaly.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/ml_anomaly.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/monitor.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/monitor.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/monitor.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/monitor.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/monitor_duration.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/monitor_duration.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/monitor_duration.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/monitor_duration.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/monitor_list.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/monitor_list.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/monitor_list.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/monitor_list.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/monitor_status.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/monitor_status.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/monitor_status.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/monitor_status.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/monitor_status.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/monitor_status.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/monitor_status.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/monitor_status.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/network_events.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/network_events.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/network_events.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/network_events.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/ping.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/ping.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/ping.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/ping.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/ping_list.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/ping_list.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/ping_list.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/ping_list.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/selected_filters.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/selected_filters.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/selected_filters.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/selected_filters.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/selected_filters.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/selected_filters.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/selected_filters.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/selected_filters.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/synthetics.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/synthetics.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/synthetics.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/synthetics.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/synthetics.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/synthetics.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/synthetics.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/synthetics.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/types.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/types.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/types.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/ui.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/ui.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/ui.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/ui.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/ui.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/ui.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/ui.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/ui.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/utils.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/utils.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/reducers/utils.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/reducers/utils.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/selectors/index.test.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/selectors/index.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/selectors/index.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/selectors/index.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/selectors/index.ts b/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/selectors/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/legacy_uptime/state/selectors/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/state/selectors/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/locators/overview.test.ts b/x-pack/solutions/observability/plugins/uptime/public/locators/overview.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/locators/overview.test.ts rename to x-pack/solutions/observability/plugins/uptime/public/locators/overview.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/locators/overview.ts b/x-pack/solutions/observability/plugins/uptime/public/locators/overview.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/locators/overview.ts rename to x-pack/solutions/observability/plugins/uptime/public/locators/overview.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/plugin.ts b/x-pack/solutions/observability/plugins/uptime/public/plugin.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/plugin.ts rename to x-pack/solutions/observability/plugins/uptime/public/plugin.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/utils/api_service/api_service.ts b/x-pack/solutions/observability/plugins/uptime/public/utils/api_service/api_service.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/utils/api_service/api_service.ts rename to x-pack/solutions/observability/plugins/uptime/public/utils/api_service/api_service.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/utils/api_service/index.ts b/x-pack/solutions/observability/plugins/uptime/public/utils/api_service/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/utils/api_service/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/utils/api_service/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/utils/kibana_service/index.ts b/x-pack/solutions/observability/plugins/uptime/public/utils/kibana_service/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/utils/kibana_service/index.ts rename to x-pack/solutions/observability/plugins/uptime/public/utils/kibana_service/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/public/utils/kibana_service/kibana_service.ts b/x-pack/solutions/observability/plugins/uptime/public/utils/kibana_service/kibana_service.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/public/utils/kibana_service/kibana_service.ts rename to x-pack/solutions/observability/plugins/uptime/public/utils/kibana_service/kibana_service.ts diff --git a/x-pack/plugins/observability_solution/uptime/scripts/base_e2e.js b/x-pack/solutions/observability/plugins/uptime/scripts/base_e2e.js similarity index 100% rename from x-pack/plugins/observability_solution/uptime/scripts/base_e2e.js rename to x-pack/solutions/observability/plugins/uptime/scripts/base_e2e.js diff --git a/x-pack/plugins/observability_solution/uptime/scripts/uptime_e2e.js b/x-pack/solutions/observability/plugins/uptime/scripts/uptime_e2e.js similarity index 100% rename from x-pack/plugins/observability_solution/uptime/scripts/uptime_e2e.js rename to x-pack/solutions/observability/plugins/uptime/scripts/uptime_e2e.js diff --git a/x-pack/plugins/observability_solution/uptime/server/constants/settings.ts b/x-pack/solutions/observability/plugins/uptime/server/constants/settings.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/constants/settings.ts rename to x-pack/solutions/observability/plugins/uptime/server/constants/settings.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/index.ts b/x-pack/solutions/observability/plugins/uptime/server/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/index.ts rename to x-pack/solutions/observability/plugins/uptime/server/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/adapters/framework/adapter_types.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/adapters/framework/adapter_types.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/adapters/framework/adapter_types.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/adapters/framework/adapter_types.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/adapters/framework/index.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/adapters/framework/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/adapters/framework/index.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/adapters/framework/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/adapters/index.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/adapters/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/adapters/index.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/adapters/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/action_variables.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/action_variables.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/action_variables.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/action_variables.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/common.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/common.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/common.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/common.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/common.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/common.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/common.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/common.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/docs/params_property_synthetics_monitor_status.yaml b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/docs/params_property_synthetics_monitor_status.yaml similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/docs/params_property_synthetics_monitor_status.yaml rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/docs/params_property_synthetics_monitor_status.yaml diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/docs/params_property_synthetics_uptime_tls.yaml b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/docs/params_property_synthetics_uptime_tls.yaml similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/docs/params_property_synthetics_uptime_tls.yaml rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/docs/params_property_synthetics_uptime_tls.yaml diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/duration_anomaly.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/duration_anomaly.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/duration_anomaly.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/duration_anomaly.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/duration_anomaly.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/duration_anomaly.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/duration_anomaly.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/duration_anomaly.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/status_check.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/status_check.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/status_check.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/status_check.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/status_check.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/status_check.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/status_check.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/status_check.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/test_utils/index.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/test_utils/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/test_utils/index.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/test_utils/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/tls.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/tls.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/tls.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/tls.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/tls.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/tls.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/tls.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/tls.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/tls_legacy.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/tls_legacy.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/tls_legacy.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/tls_legacy.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/tls_legacy.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/tls_legacy.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/tls_legacy.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/tls_legacy.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/translations.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/translations.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/translations.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/types.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/types.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/alerts/types.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/domains/__snapshots__/license.test.ts.snap b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/domains/__snapshots__/license.test.ts.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/domains/__snapshots__/license.test.ts.snap rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/domains/__snapshots__/license.test.ts.snap diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/domains/index.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/domains/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/domains/index.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/domains/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/domains/license.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/domains/license.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/domains/license.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/domains/license.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/domains/license.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/domains/license.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/domains/license.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/domains/license.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/helper/__snapshots__/get_filter_clause.test.ts.snap b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/helper/__snapshots__/get_filter_clause.test.ts.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/helper/__snapshots__/get_filter_clause.test.ts.snap rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/helper/__snapshots__/get_filter_clause.test.ts.snap diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/helper/get_filter_clause.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/helper/get_filter_clause.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/helper/get_filter_clause.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/helper/get_filter_clause.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/helper/get_filter_clause.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/helper/get_filter_clause.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/helper/get_filter_clause.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/helper/get_filter_clause.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/helper/index.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/helper/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/helper/index.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/helper/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/helper/make_date_rate_filter.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/helper/make_date_rate_filter.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/helper/make_date_rate_filter.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/helper/make_date_rate_filter.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/helper/object_to_array.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/helper/object_to_array.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/helper/object_to_array.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/helper/object_to_array.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/helper/parse_relative_date.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/helper/parse_relative_date.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/helper/parse_relative_date.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/helper/parse_relative_date.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/lib.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/lib.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/lib.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/lib.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/lib.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/lib.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/lib.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/lib.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/__fixtures__/monitor_charts_mock.json b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/__fixtures__/monitor_charts_mock.json similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/__fixtures__/monitor_charts_mock.json rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/__fixtures__/monitor_charts_mock.json diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/__snapshots__/generate_filter_aggs.test.ts.snap b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/__snapshots__/generate_filter_aggs.test.ts.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/__snapshots__/generate_filter_aggs.test.ts.snap rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/__snapshots__/generate_filter_aggs.test.ts.snap diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/__snapshots__/get_monitor_details.test.ts.snap b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/__snapshots__/get_monitor_details.test.ts.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/__snapshots__/get_monitor_details.test.ts.snap rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/__snapshots__/get_monitor_details.test.ts.snap diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/__snapshots__/get_monitor_duration.test.ts.snap b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/__snapshots__/get_monitor_duration.test.ts.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/__snapshots__/get_monitor_duration.test.ts.snap rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/__snapshots__/get_monitor_duration.test.ts.snap diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/__snapshots__/get_ping_histogram.test.ts.snap b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/__snapshots__/get_ping_histogram.test.ts.snap similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/__snapshots__/get_ping_histogram.test.ts.snap rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/__snapshots__/get_ping_histogram.test.ts.snap diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/generate_filter_aggs.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/generate_filter_aggs.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/generate_filter_aggs.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/generate_filter_aggs.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/generate_filter_aggs.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/generate_filter_aggs.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/generate_filter_aggs.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/generate_filter_aggs.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_certs.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_certs.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_certs.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_certs.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_certs.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_certs.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_certs.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_certs.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_index_pattern.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_index_pattern.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_index_pattern.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_index_pattern.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_index_status.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_index_status.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_index_status.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_index_status.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_journey_details.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_journey_details.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_journey_details.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_journey_details.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_journey_details.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_journey_details.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_journey_details.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_journey_details.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_journey_failed_steps.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_journey_failed_steps.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_journey_failed_steps.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_journey_failed_steps.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_journey_failed_steps.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_journey_failed_steps.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_journey_failed_steps.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_journey_failed_steps.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_journey_screenshot.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_journey_screenshot.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_journey_screenshot.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_journey_screenshot.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_journey_screenshot.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_journey_screenshot.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_journey_screenshot.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_journey_screenshot.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_journey_screenshot_blocks.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_journey_screenshot_blocks.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_journey_screenshot_blocks.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_journey_screenshot_blocks.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_journey_screenshot_blocks.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_journey_screenshot_blocks.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_journey_screenshot_blocks.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_journey_screenshot_blocks.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_journey_steps.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_journey_steps.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_journey_steps.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_journey_steps.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_journey_steps.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_journey_steps.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_journey_steps.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_journey_steps.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_last_successful_check.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_last_successful_check.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_last_successful_check.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_last_successful_check.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_last_successful_check.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_last_successful_check.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_last_successful_check.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_last_successful_check.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_latest_monitor.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_latest_monitor.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_latest_monitor.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_latest_monitor.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_latest_monitor.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_latest_monitor.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_latest_monitor.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_latest_monitor.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_monitor_availability.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_monitor_availability.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_monitor_availability.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_monitor_availability.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_monitor_availability.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_monitor_availability.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_monitor_availability.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_monitor_availability.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_monitor_details.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_monitor_details.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_monitor_details.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_monitor_details.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_monitor_details.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_monitor_details.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_monitor_details.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_monitor_details.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_monitor_duration.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_monitor_duration.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_monitor_duration.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_monitor_duration.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_monitor_duration.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_monitor_duration.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_monitor_duration.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_monitor_duration.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_monitor_locations.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_monitor_locations.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_monitor_locations.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_monitor_locations.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_monitor_states.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_monitor_states.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_monitor_states.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_monitor_states.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_monitor_status.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_monitor_status.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_monitor_status.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_monitor_status.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_monitor_status.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_monitor_status.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_monitor_status.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_monitor_status.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_network_events.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_network_events.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_network_events.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_network_events.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_network_events.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_network_events.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_network_events.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_network_events.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_ping_histogram.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_ping_histogram.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_ping_histogram.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_ping_histogram.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_ping_histogram.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_ping_histogram.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_ping_histogram.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_ping_histogram.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_pings.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_pings.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_pings.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_pings.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_pings.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_pings.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_pings.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_pings.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_snapshot_counts.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_snapshot_counts.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/get_snapshot_counts.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/get_snapshot_counts.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/index.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/index.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/search/fetch_chunk.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/search/fetch_chunk.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/search/fetch_chunk.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/search/fetch_chunk.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/search/find_potential_matches.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/search/find_potential_matches.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/search/find_potential_matches.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/search/find_potential_matches.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/search/get_query_string_filter.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/search/get_query_string_filter.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/search/get_query_string_filter.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/search/get_query_string_filter.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/search/get_query_string_filter.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/search/get_query_string_filter.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/search/get_query_string_filter.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/search/get_query_string_filter.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/search/index.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/search/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/search/index.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/search/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/search/monitor_summary_iterator.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/search/monitor_summary_iterator.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/search/monitor_summary_iterator.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/search/monitor_summary_iterator.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/search/monitor_summary_iterator.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/search/monitor_summary_iterator.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/search/monitor_summary_iterator.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/search/monitor_summary_iterator.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/search/query_context.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/search/query_context.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/search/query_context.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/search/query_context.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/search/refine_potential_matches.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/search/refine_potential_matches.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/search/refine_potential_matches.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/search/refine_potential_matches.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/search/test_helpers.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/search/test_helpers.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/search/test_helpers.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/search/test_helpers.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/search/types.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/search/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/search/types.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/search/types.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/test_helpers.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/test_helpers.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/requests/test_helpers.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/requests/test_helpers.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/saved_objects/index.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/saved_objects/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/saved_objects/index.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/saved_objects/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/saved_objects/migrations.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/saved_objects/migrations.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/saved_objects/migrations.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/saved_objects/migrations.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/saved_objects/migrations.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/saved_objects/migrations.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/saved_objects/migrations.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/saved_objects/migrations.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/saved_objects/saved_objects.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/saved_objects/saved_objects.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/saved_objects/saved_objects.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/saved_objects/saved_objects.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/saved_objects/uptime_settings.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/saved_objects/uptime_settings.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/saved_objects/uptime_settings.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/saved_objects/uptime_settings.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/create_route_with_auth.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/create_route_with_auth.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/create_route_with_auth.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/create_route_with_auth.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/dynamic_settings.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/dynamic_settings.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/dynamic_settings.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/dynamic_settings.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/index.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/index.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/index_state/get_index_status.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/index_state/get_index_status.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/index_state/get_index_status.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/index_state/get_index_status.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/index_state/index.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/index_state/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/index_state/index.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/index_state/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/monitors/index.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/monitors/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/monitors/index.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/monitors/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/monitors/monitor_list.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/monitors/monitor_list.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/monitors/monitor_list.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/monitors/monitor_list.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/monitors/monitor_locations.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/monitors/monitor_locations.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/monitors/monitor_locations.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/monitors/monitor_locations.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/monitors/monitor_status.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/monitors/monitor_status.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/monitors/monitor_status.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/monitors/monitor_status.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/monitors/monitors_details.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/monitors/monitors_details.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/monitors/monitors_details.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/monitors/monitors_details.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/monitors/monitors_durations.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/monitors/monitors_durations.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/monitors/monitors_durations.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/monitors/monitors_durations.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/network_events/get_network_events.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/network_events/get_network_events.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/network_events/get_network_events.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/network_events/get_network_events.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/network_events/index.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/network_events/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/network_events/index.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/network_events/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/pings/get_ping_histogram.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/pings/get_ping_histogram.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/pings/get_ping_histogram.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/pings/get_ping_histogram.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/pings/get_pings.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/pings/get_pings.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/pings/get_pings.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/pings/get_pings.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/pings/index.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/pings/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/pings/index.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/pings/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/pings/journey_screenshot_blocks.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/pings/journey_screenshot_blocks.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/pings/journey_screenshot_blocks.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/pings/journey_screenshot_blocks.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/pings/journey_screenshot_blocks.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/pings/journey_screenshot_blocks.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/pings/journey_screenshot_blocks.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/pings/journey_screenshot_blocks.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/pings/journey_screenshots.test.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/pings/journey_screenshots.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/pings/journey_screenshots.test.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/pings/journey_screenshots.test.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/pings/journey_screenshots.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/pings/journey_screenshots.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/pings/journey_screenshots.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/pings/journey_screenshots.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/pings/journeys.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/pings/journeys.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/pings/journeys.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/pings/journeys.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/snapshot/get_snapshot_count.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/snapshot/get_snapshot_count.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/snapshot/get_snapshot_count.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/snapshot/get_snapshot_count.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/snapshot/index.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/snapshot/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/snapshot/index.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/snapshot/index.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/synthetics/last_successful_check.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/synthetics/last_successful_check.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/synthetics/last_successful_check.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/synthetics/last_successful_check.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/types.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/types.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/types.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/uptime_route_wrapper.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/uptime_route_wrapper.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/routes/uptime_route_wrapper.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/routes/uptime_route_wrapper.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/uptime_server.ts b/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/uptime_server.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/legacy_uptime/uptime_server.ts rename to x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/uptime_server.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/plugin.ts b/x-pack/solutions/observability/plugins/uptime/server/plugin.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/plugin.ts rename to x-pack/solutions/observability/plugins/uptime/server/plugin.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/runtime_types/settings.ts b/x-pack/solutions/observability/plugins/uptime/server/runtime_types/settings.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/runtime_types/settings.ts rename to x-pack/solutions/observability/plugins/uptime/server/runtime_types/settings.ts diff --git a/x-pack/plugins/observability_solution/uptime/server/types.ts b/x-pack/solutions/observability/plugins/uptime/server/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/uptime/server/types.ts rename to x-pack/solutions/observability/plugins/uptime/server/types.ts diff --git a/x-pack/plugins/observability_solution/uptime/tsconfig.json b/x-pack/solutions/observability/plugins/uptime/tsconfig.json similarity index 96% rename from x-pack/plugins/observability_solution/uptime/tsconfig.json rename to x-pack/solutions/observability/plugins/uptime/tsconfig.json index 1d60bc456170e..5de407dc03b8c 100644 --- a/x-pack/plugins/observability_solution/uptime/tsconfig.json +++ b/x-pack/solutions/observability/plugins/uptime/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../../tsconfig.base.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types" }, @@ -10,7 +10,7 @@ "public/legacy_uptime/components/monitor/status_details/location_map/embeddables/low_poly_layer.json", "server/**/*", "server/legacy_uptime/lib/requests/__fixtures__/monitor_charts_mock.json", - "../../../../typings/**/*" + "../../../../../typings/**/*" ], "kbn_references": [ "@kbn/core", diff --git a/x-pack/plugins/observability_solution/ux/.buildkite/pipelines/flaky.js b/x-pack/solutions/observability/plugins/ux/.buildkite/pipelines/flaky.js similarity index 100% rename from x-pack/plugins/observability_solution/ux/.buildkite/pipelines/flaky.js rename to x-pack/solutions/observability/plugins/ux/.buildkite/pipelines/flaky.js diff --git a/x-pack/solutions/observability/plugins/ux/.buildkite/pipelines/flaky.sh b/x-pack/solutions/observability/plugins/ux/.buildkite/pipelines/flaky.sh new file mode 100644 index 0000000000000..f6a329e3b5f4a --- /dev/null +++ b/x-pack/solutions/observability/plugins/ux/.buildkite/pipelines/flaky.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +set -euo pipefail + +UUID="$(cat /proc/sys/kernel/random/uuid)" +export UUID + +node x-pack/solutions/observability/plugins/ux/.buildkite/pipelines/flaky.js | buildkite-agent pipeline upload diff --git a/x-pack/plugins/observability_solution/ux/.storybook/main.js b/x-pack/solutions/observability/plugins/ux/.storybook/main.js similarity index 100% rename from x-pack/plugins/observability_solution/ux/.storybook/main.js rename to x-pack/solutions/observability/plugins/ux/.storybook/main.js diff --git a/x-pack/plugins/observability_solution/ux/CONTRIBUTING.md b/x-pack/solutions/observability/plugins/ux/CONTRIBUTING.md similarity index 100% rename from x-pack/plugins/observability_solution/ux/CONTRIBUTING.md rename to x-pack/solutions/observability/plugins/ux/CONTRIBUTING.md diff --git a/x-pack/plugins/observability_solution/ux/common/agent_name.ts b/x-pack/solutions/observability/plugins/ux/common/agent_name.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/common/agent_name.ts rename to x-pack/solutions/observability/plugins/ux/common/agent_name.ts diff --git a/x-pack/plugins/observability_solution/ux/common/config.ts b/x-pack/solutions/observability/plugins/ux/common/config.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/common/config.ts rename to x-pack/solutions/observability/plugins/ux/common/config.ts diff --git a/x-pack/plugins/observability_solution/ux/common/elasticsearch_fieldnames.ts b/x-pack/solutions/observability/plugins/ux/common/elasticsearch_fieldnames.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/common/elasticsearch_fieldnames.ts rename to x-pack/solutions/observability/plugins/ux/common/elasticsearch_fieldnames.ts diff --git a/x-pack/plugins/observability_solution/ux/common/environment_filter_values.ts b/x-pack/solutions/observability/plugins/ux/common/environment_filter_values.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/common/environment_filter_values.ts rename to x-pack/solutions/observability/plugins/ux/common/environment_filter_values.ts diff --git a/x-pack/plugins/observability_solution/ux/common/environment_rt.ts b/x-pack/solutions/observability/plugins/ux/common/environment_rt.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/common/environment_rt.ts rename to x-pack/solutions/observability/plugins/ux/common/environment_rt.ts diff --git a/x-pack/plugins/observability_solution/ux/common/fetch_options.ts b/x-pack/solutions/observability/plugins/ux/common/fetch_options.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/common/fetch_options.ts rename to x-pack/solutions/observability/plugins/ux/common/fetch_options.ts diff --git a/x-pack/plugins/observability_solution/ux/common/transaction_types.ts b/x-pack/solutions/observability/plugins/ux/common/transaction_types.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/common/transaction_types.ts rename to x-pack/solutions/observability/plugins/ux/common/transaction_types.ts diff --git a/x-pack/plugins/observability_solution/ux/common/utils/merge_projection.ts b/x-pack/solutions/observability/plugins/ux/common/utils/merge_projection.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/common/utils/merge_projection.ts rename to x-pack/solutions/observability/plugins/ux/common/utils/merge_projection.ts diff --git a/x-pack/plugins/observability_solution/ux/common/utils/pick_keys.ts b/x-pack/solutions/observability/plugins/ux/common/utils/pick_keys.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/common/utils/pick_keys.ts rename to x-pack/solutions/observability/plugins/ux/common/utils/pick_keys.ts diff --git a/x-pack/plugins/observability_solution/ux/common/ux_ui_filter.ts b/x-pack/solutions/observability/plugins/ux/common/ux_ui_filter.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/common/ux_ui_filter.ts rename to x-pack/solutions/observability/plugins/ux/common/ux_ui_filter.ts diff --git a/x-pack/plugins/observability_solution/ux/e2e/README.md b/x-pack/solutions/observability/plugins/ux/e2e/README.md similarity index 56% rename from x-pack/plugins/observability_solution/ux/e2e/README.md rename to x-pack/solutions/observability/plugins/ux/e2e/README.md index 60c6d2f643b77..4aa66d4fa313a 100644 --- a/x-pack/plugins/observability_solution/ux/e2e/README.md +++ b/x-pack/solutions/observability/plugins/ux/e2e/README.md @@ -5,11 +5,11 @@ script for standing up the test server. ### Start the server -From `~/x-pack/plugins/observability_solution/ux/scripts`, run `node e2e.js --server`. Wait for the server to startup. It will provide you +From `~/x-pack/solutions/observability/plugins/ux/scripts`, run `node e2e.js --server`. Wait for the server to startup. It will provide you with an example run command when it finishes. ### Run the tests -From this directory, `~/x-pack/plugins/observability_solution/ux/e2e`, you can now run `node ../../../../../scripts/functional_test_runner --config synthetics_run.ts`. +From this directory, `~/x-pack/solutions/observability/plugins/ux/e2e`, you can now run `node ../../../../../../scripts/functional_test_runner --config synthetics_run.ts`. In addition to the usual flags like `--grep`, you can also specify `--no-headless` in order to view your tests as you debug/develop. diff --git a/x-pack/plugins/observability_solution/ux/e2e/fixtures/rum_8.0.0/data.json.gz b/x-pack/solutions/observability/plugins/ux/e2e/fixtures/rum_8.0.0/data.json.gz similarity index 100% rename from x-pack/plugins/observability_solution/ux/e2e/fixtures/rum_8.0.0/data.json.gz rename to x-pack/solutions/observability/plugins/ux/e2e/fixtures/rum_8.0.0/data.json.gz diff --git a/x-pack/plugins/observability_solution/ux/e2e/fixtures/rum_8.0.0/mappings.json b/x-pack/solutions/observability/plugins/ux/e2e/fixtures/rum_8.0.0/mappings.json similarity index 100% rename from x-pack/plugins/observability_solution/ux/e2e/fixtures/rum_8.0.0/mappings.json rename to x-pack/solutions/observability/plugins/ux/e2e/fixtures/rum_8.0.0/mappings.json diff --git a/x-pack/plugins/observability_solution/ux/e2e/fixtures/rum_test_data/data.json.gz b/x-pack/solutions/observability/plugins/ux/e2e/fixtures/rum_test_data/data.json.gz similarity index 100% rename from x-pack/plugins/observability_solution/ux/e2e/fixtures/rum_test_data/data.json.gz rename to x-pack/solutions/observability/plugins/ux/e2e/fixtures/rum_test_data/data.json.gz diff --git a/x-pack/plugins/observability_solution/ux/e2e/fixtures/rum_test_data/mappings.json b/x-pack/solutions/observability/plugins/ux/e2e/fixtures/rum_test_data/mappings.json similarity index 100% rename from x-pack/plugins/observability_solution/ux/e2e/fixtures/rum_test_data/mappings.json rename to x-pack/solutions/observability/plugins/ux/e2e/fixtures/rum_test_data/mappings.json diff --git a/x-pack/plugins/observability_solution/ux/e2e/journeys/core_web_vitals.ts b/x-pack/solutions/observability/plugins/ux/e2e/journeys/core_web_vitals.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/e2e/journeys/core_web_vitals.ts rename to x-pack/solutions/observability/plugins/ux/e2e/journeys/core_web_vitals.ts diff --git a/x-pack/plugins/observability_solution/ux/e2e/journeys/index.ts b/x-pack/solutions/observability/plugins/ux/e2e/journeys/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/e2e/journeys/index.ts rename to x-pack/solutions/observability/plugins/ux/e2e/journeys/index.ts diff --git a/x-pack/plugins/observability_solution/ux/e2e/journeys/inp.journey.ts b/x-pack/solutions/observability/plugins/ux/e2e/journeys/inp.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/e2e/journeys/inp.journey.ts rename to x-pack/solutions/observability/plugins/ux/e2e/journeys/inp.journey.ts diff --git a/x-pack/plugins/observability_solution/ux/e2e/journeys/page_views.ts b/x-pack/solutions/observability/plugins/ux/e2e/journeys/page_views.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/e2e/journeys/page_views.ts rename to x-pack/solutions/observability/plugins/ux/e2e/journeys/page_views.ts diff --git a/x-pack/plugins/observability_solution/ux/e2e/journeys/url_ux_query.journey.ts b/x-pack/solutions/observability/plugins/ux/e2e/journeys/url_ux_query.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/e2e/journeys/url_ux_query.journey.ts rename to x-pack/solutions/observability/plugins/ux/e2e/journeys/url_ux_query.journey.ts diff --git a/x-pack/plugins/observability_solution/ux/e2e/journeys/utils.ts b/x-pack/solutions/observability/plugins/ux/e2e/journeys/utils.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/e2e/journeys/utils.ts rename to x-pack/solutions/observability/plugins/ux/e2e/journeys/utils.ts diff --git a/x-pack/plugins/observability_solution/ux/e2e/journeys/ux_client_metrics.journey.ts b/x-pack/solutions/observability/plugins/ux/e2e/journeys/ux_client_metrics.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/e2e/journeys/ux_client_metrics.journey.ts rename to x-pack/solutions/observability/plugins/ux/e2e/journeys/ux_client_metrics.journey.ts diff --git a/x-pack/plugins/observability_solution/ux/e2e/journeys/ux_js_errors.journey.ts b/x-pack/solutions/observability/plugins/ux/e2e/journeys/ux_js_errors.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/e2e/journeys/ux_js_errors.journey.ts rename to x-pack/solutions/observability/plugins/ux/e2e/journeys/ux_js_errors.journey.ts diff --git a/x-pack/plugins/observability_solution/ux/e2e/journeys/ux_long_task_metric_journey.ts b/x-pack/solutions/observability/plugins/ux/e2e/journeys/ux_long_task_metric_journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/e2e/journeys/ux_long_task_metric_journey.ts rename to x-pack/solutions/observability/plugins/ux/e2e/journeys/ux_long_task_metric_journey.ts diff --git a/x-pack/plugins/observability_solution/ux/e2e/journeys/ux_visitor_breakdown.journey.ts b/x-pack/solutions/observability/plugins/ux/e2e/journeys/ux_visitor_breakdown.journey.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/e2e/journeys/ux_visitor_breakdown.journey.ts rename to x-pack/solutions/observability/plugins/ux/e2e/journeys/ux_visitor_breakdown.journey.ts diff --git a/x-pack/plugins/observability_solution/ux/e2e/page_objects/dashboard.ts b/x-pack/solutions/observability/plugins/ux/e2e/page_objects/dashboard.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/e2e/page_objects/dashboard.ts rename to x-pack/solutions/observability/plugins/ux/e2e/page_objects/dashboard.ts diff --git a/x-pack/plugins/observability_solution/ux/e2e/page_objects/date_picker.ts b/x-pack/solutions/observability/plugins/ux/e2e/page_objects/date_picker.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/e2e/page_objects/date_picker.ts rename to x-pack/solutions/observability/plugins/ux/e2e/page_objects/date_picker.ts diff --git a/x-pack/plugins/observability_solution/ux/e2e/page_objects/login.tsx b/x-pack/solutions/observability/plugins/ux/e2e/page_objects/login.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/e2e/page_objects/login.tsx rename to x-pack/solutions/observability/plugins/ux/e2e/page_objects/login.tsx diff --git a/x-pack/plugins/observability_solution/ux/e2e/page_objects/utils.tsx b/x-pack/solutions/observability/plugins/ux/e2e/page_objects/utils.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/e2e/page_objects/utils.tsx rename to x-pack/solutions/observability/plugins/ux/e2e/page_objects/utils.tsx diff --git a/x-pack/plugins/observability_solution/ux/e2e/synthetics_run.ts b/x-pack/solutions/observability/plugins/ux/e2e/synthetics_run.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/e2e/synthetics_run.ts rename to x-pack/solutions/observability/plugins/ux/e2e/synthetics_run.ts diff --git a/x-pack/plugins/observability_solution/ux/e2e/tsconfig.json b/x-pack/solutions/observability/plugins/ux/e2e/tsconfig.json similarity index 81% rename from x-pack/plugins/observability_solution/ux/e2e/tsconfig.json rename to x-pack/solutions/observability/plugins/ux/e2e/tsconfig.json index 93ddeb2fc4921..0ead299c18fcf 100644 --- a/x-pack/plugins/observability_solution/ux/e2e/tsconfig.json +++ b/x-pack/solutions/observability/plugins/ux/e2e/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../../../tsconfig.base.json", + "extends": "../../../../../../tsconfig.base.json", "exclude": ["tmp", "target/**/*"], "include": ["./**/*"], "compilerOptions": { diff --git a/x-pack/plugins/observability_solution/ux/jest.config.js b/x-pack/solutions/observability/plugins/ux/jest.config.js similarity index 73% rename from x-pack/plugins/observability_solution/ux/jest.config.js rename to x-pack/solutions/observability/plugins/ux/jest.config.js index b83d3a7ba5455..2ea37f49e3d53 100644 --- a/x-pack/plugins/observability_solution/ux/jest.config.js +++ b/x-pack/solutions/observability/plugins/ux/jest.config.js @@ -9,6 +9,6 @@ const path = require('path'); module.exports = { preset: '@kbn/test', - rootDir: path.resolve(__dirname, '../../../..'), - roots: ['/x-pack/plugins/observability_solution/ux'], + rootDir: path.resolve(__dirname, '../../../../..'), + roots: ['/x-pack/solutions/observability/plugins/ux'], }; diff --git a/x-pack/plugins/observability_solution/ux/kibana.jsonc b/x-pack/solutions/observability/plugins/ux/kibana.jsonc similarity index 100% rename from x-pack/plugins/observability_solution/ux/kibana.jsonc rename to x-pack/solutions/observability/plugins/ux/kibana.jsonc diff --git a/x-pack/plugins/observability_solution/ux/public/application/application.test.tsx b/x-pack/solutions/observability/plugins/ux/public/application/application.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/application/application.test.tsx rename to x-pack/solutions/observability/plugins/ux/public/application/application.test.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/application/ux_app.tsx b/x-pack/solutions/observability/plugins/ux/public/application/ux_app.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/application/ux_app.tsx rename to x-pack/solutions/observability/plugins/ux/public/application/ux_app.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/action_menu/index.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/action_menu/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/action_menu/index.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/action_menu/index.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/action_menu/inpector_link.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/action_menu/inpector_link.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/action_menu/inpector_link.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/action_menu/inpector_link.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/breakdowns/breakdown_filter.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/breakdowns/breakdown_filter.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/breakdowns/breakdown_filter.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/breakdowns/breakdown_filter.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/chart_wrapper/index.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/chart_wrapper/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/chart_wrapper/index.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/chart_wrapper/index.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/charts/__snapshots__/visitor_breakdown_chart.test.tsx.snap b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/charts/__snapshots__/visitor_breakdown_chart.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/charts/__snapshots__/visitor_breakdown_chart.test.tsx.snap rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/charts/__snapshots__/visitor_breakdown_chart.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/charts/page_load_dist_chart.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/charts/page_load_dist_chart.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/charts/page_load_dist_chart.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/charts/page_load_dist_chart.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/charts/page_views_chart.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/charts/page_views_chart.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/charts/page_views_chart.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/charts/page_views_chart.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/charts/use_exp_view_attrs.ts b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/charts/use_exp_view_attrs.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/charts/use_exp_view_attrs.ts rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/charts/use_exp_view_attrs.ts diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/charts/visitor_breakdown_chart.test.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/charts/visitor_breakdown_chart.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/charts/visitor_breakdown_chart.test.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/charts/visitor_breakdown_chart.test.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/charts/visitor_breakdown_chart.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/charts/visitor_breakdown_chart.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/charts/visitor_breakdown_chart.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/charts/visitor_breakdown_chart.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/client_metrics/index.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/client_metrics/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/client_metrics/index.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/client_metrics/index.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/client_metrics/metrics.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/client_metrics/metrics.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/client_metrics/metrics.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/client_metrics/metrics.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/csm_shared_context/index.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/csm_shared_context/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/csm_shared_context/index.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/csm_shared_context/index.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/empty_state_loading.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/empty_state_loading.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/empty_state_loading.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/empty_state_loading.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/environment_filter/index.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/environment_filter/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/environment_filter/index.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/environment_filter/index.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/hooks/use_has_rum_data.ts b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/hooks/use_has_rum_data.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/hooks/use_has_rum_data.ts rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/hooks/use_has_rum_data.ts diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/hooks/use_local_uifilters.ts b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/hooks/use_local_uifilters.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/hooks/use_local_uifilters.ts rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/hooks/use_local_uifilters.ts diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/hooks/use_ux_query.ts b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/hooks/use_ux_query.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/hooks/use_ux_query.ts rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/hooks/use_ux_query.ts diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/impactful_metrics/index.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/impactful_metrics/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/impactful_metrics/index.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/impactful_metrics/index.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/impactful_metrics/js_errors.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/impactful_metrics/js_errors.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/impactful_metrics/js_errors.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/impactful_metrics/js_errors.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/index.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/index.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/index.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/local_uifilters/index.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/local_uifilters/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/local_uifilters/index.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/local_uifilters/index.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/local_uifilters/queries.ts b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/local_uifilters/queries.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/local_uifilters/queries.ts rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/local_uifilters/queries.ts diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/local_uifilters/selected_filters.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/local_uifilters/selected_filters.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/local_uifilters/selected_filters.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/local_uifilters/selected_filters.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/local_uifilters/selected_wildcards.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/local_uifilters/selected_wildcards.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/local_uifilters/selected_wildcards.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/local_uifilters/selected_wildcards.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/local_uifilters/use_data_view.ts b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/local_uifilters/use_data_view.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/local_uifilters/use_data_view.ts rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/local_uifilters/use_data_view.ts diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/page_load_distribution/index.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/page_load_distribution/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/page_load_distribution/index.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/page_load_distribution/index.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/page_load_distribution/percentile_annotations.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/page_load_distribution/percentile_annotations.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/page_load_distribution/percentile_annotations.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/page_load_distribution/percentile_annotations.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/page_load_distribution/reset_percentile_zoom.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/page_load_distribution/reset_percentile_zoom.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/page_load_distribution/reset_percentile_zoom.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/page_load_distribution/reset_percentile_zoom.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/page_load_distribution/types.ts b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/page_load_distribution/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/page_load_distribution/types.ts rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/page_load_distribution/types.ts diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/page_views_trend/index.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/page_views_trend/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/page_views_trend/index.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/page_views_trend/index.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/panels/page_load_and_views.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/panels/page_load_and_views.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/panels/page_load_and_views.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/panels/page_load_and_views.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/panels/visitor_breakdowns.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/panels/visitor_breakdowns.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/panels/visitor_breakdowns.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/panels/visitor_breakdowns.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/panels/web_application_select.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/panels/web_application_select.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/panels/web_application_select.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/panels/web_application_select.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/rum_dashboard.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/rum_dashboard.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/rum_dashboard.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/rum_dashboard.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/rum_datepicker/index.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/rum_datepicker/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/rum_datepicker/index.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/rum_datepicker/index.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/rum_home.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/rum_home.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/rum_home.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/rum_home.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/translations.ts b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/translations.ts rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/translations.ts diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/url_filter/index.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/url_filter/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/url_filter/index.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/url_filter/index.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/url_filter/service_name_filter/index.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/url_filter/service_name_filter/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/url_filter/service_name_filter/index.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/url_filter/service_name_filter/index.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/url_filter/url_search/index.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/url_filter/url_search/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/url_filter/url_search/index.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/url_filter/url_search/index.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/url_filter/url_search/render_option.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/url_filter/url_search/render_option.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/url_filter/url_search/render_option.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/url_filter/url_search/render_option.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/url_filter/url_search/use_url_search.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/url_filter/url_search/use_url_search.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/url_filter/url_search/use_url_search.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/url_filter/url_search/use_url_search.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/user_percentile/index.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/user_percentile/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/user_percentile/index.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/user_percentile/index.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/utils/test_helper.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/utils/test_helper.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/utils/test_helper.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/utils/test_helper.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/ux_metrics/format_to_sec.test.ts b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/ux_metrics/format_to_sec.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/ux_metrics/format_to_sec.test.ts rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/ux_metrics/format_to_sec.test.ts diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/ux_metrics/index.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/ux_metrics/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/ux_metrics/index.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/ux_metrics/index.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/ux_metrics/key_ux_metrics.test.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/ux_metrics/key_ux_metrics.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/ux_metrics/key_ux_metrics.test.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/ux_metrics/key_ux_metrics.test.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/ux_metrics/key_ux_metrics.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/ux_metrics/key_ux_metrics.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/ux_metrics/key_ux_metrics.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/ux_metrics/key_ux_metrics.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/ux_metrics/translations.ts b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/ux_metrics/translations.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/ux_metrics/translations.ts rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/ux_metrics/translations.ts diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/ux_overview_fetchers.ts b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/ux_overview_fetchers.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/ux_overview_fetchers.ts rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/ux_overview_fetchers.ts diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/visitor_breakdown/index.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/visitor_breakdown/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/visitor_breakdown/index.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/visitor_breakdown/index.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/visitor_breakdown_map/__mocks__/regions_layer.mock.ts b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/visitor_breakdown_map/__mocks__/regions_layer.mock.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/visitor_breakdown_map/__mocks__/regions_layer.mock.ts rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/visitor_breakdown_map/__mocks__/regions_layer.mock.ts diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/visitor_breakdown_map/__snapshots__/embedded_map.test.tsx.snap b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/visitor_breakdown_map/__snapshots__/embedded_map.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/visitor_breakdown_map/__snapshots__/embedded_map.test.tsx.snap rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/visitor_breakdown_map/__snapshots__/embedded_map.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/visitor_breakdown_map/__snapshots__/map_tooltip.test.tsx.snap b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/visitor_breakdown_map/__snapshots__/map_tooltip.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/visitor_breakdown_map/__snapshots__/map_tooltip.test.tsx.snap rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/visitor_breakdown_map/__snapshots__/map_tooltip.test.tsx.snap diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/visitor_breakdown_map/__stories__/map_tooltip.stories.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/visitor_breakdown_map/__stories__/map_tooltip.stories.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/visitor_breakdown_map/__stories__/map_tooltip.stories.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/visitor_breakdown_map/__stories__/map_tooltip.stories.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/visitor_breakdown_map/embedded_map.test.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/visitor_breakdown_map/embedded_map.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/visitor_breakdown_map/embedded_map.test.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/visitor_breakdown_map/embedded_map.test.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/visitor_breakdown_map/embedded_map.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/visitor_breakdown_map/embedded_map.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/visitor_breakdown_map/embedded_map.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/visitor_breakdown_map/embedded_map.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/visitor_breakdown_map/index.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/visitor_breakdown_map/index.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/visitor_breakdown_map/index.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/visitor_breakdown_map/index.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/visitor_breakdown_map/map_tooltip.test.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/visitor_breakdown_map/map_tooltip.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/visitor_breakdown_map/map_tooltip.test.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/visitor_breakdown_map/map_tooltip.test.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/visitor_breakdown_map/map_tooltip.tsx b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/visitor_breakdown_map/map_tooltip.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/visitor_breakdown_map/map_tooltip.tsx rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/visitor_breakdown_map/map_tooltip.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/visitor_breakdown_map/use_layer_list.test.ts b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/visitor_breakdown_map/use_layer_list.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/visitor_breakdown_map/use_layer_list.test.ts rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/visitor_breakdown_map/use_layer_list.test.ts diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/visitor_breakdown_map/use_layer_list.ts b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/visitor_breakdown_map/use_layer_list.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/visitor_breakdown_map/use_layer_list.ts rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/visitor_breakdown_map/use_layer_list.ts diff --git a/x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/visitor_breakdown_map/use_map_filters.ts b/x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/visitor_breakdown_map/use_map_filters.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/components/app/rum_dashboard/visitor_breakdown_map/use_map_filters.ts rename to x-pack/solutions/observability/plugins/ux/public/components/app/rum_dashboard/visitor_breakdown_map/use_map_filters.ts diff --git a/x-pack/plugins/observability_solution/ux/public/context/plugin_context.ts b/x-pack/solutions/observability/plugins/ux/public/context/plugin_context.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/context/plugin_context.ts rename to x-pack/solutions/observability/plugins/ux/public/context/plugin_context.ts diff --git a/x-pack/plugins/observability_solution/ux/public/context/url_params_context/constants.ts b/x-pack/solutions/observability/plugins/ux/public/context/url_params_context/constants.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/context/url_params_context/constants.ts rename to x-pack/solutions/observability/plugins/ux/public/context/url_params_context/constants.ts diff --git a/x-pack/plugins/observability_solution/ux/public/context/url_params_context/helpers.test.ts b/x-pack/solutions/observability/plugins/ux/public/context/url_params_context/helpers.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/context/url_params_context/helpers.test.ts rename to x-pack/solutions/observability/plugins/ux/public/context/url_params_context/helpers.test.ts diff --git a/x-pack/plugins/observability_solution/ux/public/context/url_params_context/helpers.ts b/x-pack/solutions/observability/plugins/ux/public/context/url_params_context/helpers.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/context/url_params_context/helpers.ts rename to x-pack/solutions/observability/plugins/ux/public/context/url_params_context/helpers.ts diff --git a/x-pack/plugins/observability_solution/ux/public/context/url_params_context/mock_url_params_context_provider.tsx b/x-pack/solutions/observability/plugins/ux/public/context/url_params_context/mock_url_params_context_provider.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/context/url_params_context/mock_url_params_context_provider.tsx rename to x-pack/solutions/observability/plugins/ux/public/context/url_params_context/mock_url_params_context_provider.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/context/url_params_context/resolve_url_params.ts b/x-pack/solutions/observability/plugins/ux/public/context/url_params_context/resolve_url_params.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/context/url_params_context/resolve_url_params.ts rename to x-pack/solutions/observability/plugins/ux/public/context/url_params_context/resolve_url_params.ts diff --git a/x-pack/plugins/observability_solution/ux/public/context/url_params_context/types.ts b/x-pack/solutions/observability/plugins/ux/public/context/url_params_context/types.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/context/url_params_context/types.ts rename to x-pack/solutions/observability/plugins/ux/public/context/url_params_context/types.ts diff --git a/x-pack/plugins/observability_solution/ux/public/context/url_params_context/url_params_context.test.tsx b/x-pack/solutions/observability/plugins/ux/public/context/url_params_context/url_params_context.test.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/context/url_params_context/url_params_context.test.tsx rename to x-pack/solutions/observability/plugins/ux/public/context/url_params_context/url_params_context.test.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/context/url_params_context/url_params_context.tsx b/x-pack/solutions/observability/plugins/ux/public/context/url_params_context/url_params_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/context/url_params_context/url_params_context.tsx rename to x-pack/solutions/observability/plugins/ux/public/context/url_params_context/url_params_context.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/context/url_params_context/use_url_params.ts b/x-pack/solutions/observability/plugins/ux/public/context/url_params_context/use_url_params.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/context/url_params_context/use_url_params.ts rename to x-pack/solutions/observability/plugins/ux/public/context/url_params_context/use_url_params.ts diff --git a/x-pack/plugins/observability_solution/ux/public/context/url_params_context/use_ux_url_params.ts b/x-pack/solutions/observability/plugins/ux/public/context/url_params_context/use_ux_url_params.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/context/url_params_context/use_ux_url_params.ts rename to x-pack/solutions/observability/plugins/ux/public/context/url_params_context/use_ux_url_params.ts diff --git a/x-pack/plugins/observability_solution/ux/public/context/use_ux_plugin_context.tsx b/x-pack/solutions/observability/plugins/ux/public/context/use_ux_plugin_context.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/context/use_ux_plugin_context.tsx rename to x-pack/solutions/observability/plugins/ux/public/context/use_ux_plugin_context.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/hooks/use_breakpoints.ts b/x-pack/solutions/observability/plugins/ux/public/hooks/use_breakpoints.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/hooks/use_breakpoints.ts rename to x-pack/solutions/observability/plugins/ux/public/hooks/use_breakpoints.ts diff --git a/x-pack/plugins/observability_solution/ux/public/hooks/use_client_metrics_query.ts b/x-pack/solutions/observability/plugins/ux/public/hooks/use_client_metrics_query.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/hooks/use_client_metrics_query.ts rename to x-pack/solutions/observability/plugins/ux/public/hooks/use_client_metrics_query.ts diff --git a/x-pack/plugins/observability_solution/ux/public/hooks/use_core_web_vitals_query.ts b/x-pack/solutions/observability/plugins/ux/public/hooks/use_core_web_vitals_query.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/hooks/use_core_web_vitals_query.ts rename to x-pack/solutions/observability/plugins/ux/public/hooks/use_core_web_vitals_query.ts diff --git a/x-pack/plugins/observability_solution/ux/public/hooks/use_date_range_redirect.ts b/x-pack/solutions/observability/plugins/ux/public/hooks/use_date_range_redirect.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/hooks/use_date_range_redirect.ts rename to x-pack/solutions/observability/plugins/ux/public/hooks/use_date_range_redirect.ts diff --git a/x-pack/plugins/observability_solution/ux/public/hooks/use_deep_object_identity.ts b/x-pack/solutions/observability/plugins/ux/public/hooks/use_deep_object_identity.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/hooks/use_deep_object_identity.ts rename to x-pack/solutions/observability/plugins/ux/public/hooks/use_deep_object_identity.ts diff --git a/x-pack/plugins/observability_solution/ux/public/hooks/use_dynamic_data_view.ts b/x-pack/solutions/observability/plugins/ux/public/hooks/use_dynamic_data_view.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/hooks/use_dynamic_data_view.ts rename to x-pack/solutions/observability/plugins/ux/public/hooks/use_dynamic_data_view.ts diff --git a/x-pack/plugins/observability_solution/ux/public/hooks/use_environments_fetcher.tsx b/x-pack/solutions/observability/plugins/ux/public/hooks/use_environments_fetcher.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/hooks/use_environments_fetcher.tsx rename to x-pack/solutions/observability/plugins/ux/public/hooks/use_environments_fetcher.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/hooks/use_fetcher.tsx b/x-pack/solutions/observability/plugins/ux/public/hooks/use_fetcher.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/hooks/use_fetcher.tsx rename to x-pack/solutions/observability/plugins/ux/public/hooks/use_fetcher.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/hooks/use_inp_query.ts b/x-pack/solutions/observability/plugins/ux/public/hooks/use_inp_query.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/hooks/use_inp_query.ts rename to x-pack/solutions/observability/plugins/ux/public/hooks/use_inp_query.ts diff --git a/x-pack/plugins/observability_solution/ux/public/hooks/use_js_errors_query.tsx b/x-pack/solutions/observability/plugins/ux/public/hooks/use_js_errors_query.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/hooks/use_js_errors_query.tsx rename to x-pack/solutions/observability/plugins/ux/public/hooks/use_js_errors_query.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/hooks/use_kibana_services.tsx b/x-pack/solutions/observability/plugins/ux/public/hooks/use_kibana_services.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/hooks/use_kibana_services.tsx rename to x-pack/solutions/observability/plugins/ux/public/hooks/use_kibana_services.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/hooks/use_long_task_metrics_query.tsx b/x-pack/solutions/observability/plugins/ux/public/hooks/use_long_task_metrics_query.tsx similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/hooks/use_long_task_metrics_query.tsx rename to x-pack/solutions/observability/plugins/ux/public/hooks/use_long_task_metrics_query.tsx diff --git a/x-pack/plugins/observability_solution/ux/public/hooks/use_static_data_view.ts b/x-pack/solutions/observability/plugins/ux/public/hooks/use_static_data_view.ts similarity index 91% rename from x-pack/plugins/observability_solution/ux/public/hooks/use_static_data_view.ts rename to x-pack/solutions/observability/plugins/ux/public/hooks/use_static_data_view.ts index 51ebe9e4c28bf..be4a382b8ad56 100644 --- a/x-pack/plugins/observability_solution/ux/public/hooks/use_static_data_view.ts +++ b/x-pack/solutions/observability/plugins/ux/public/hooks/use_static_data_view.ts @@ -12,7 +12,6 @@ export function useStaticDataView() { const { exploratoryView } = useKibanaServices(); const { data, loading } = useFetcher(async () => { return exploratoryView.getAppDataView('ux'); - // eslint-disable-next-line react-hooks/exhaustive-deps }, []); return { diff --git a/x-pack/plugins/observability_solution/ux/public/index.ts b/x-pack/solutions/observability/plugins/ux/public/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/index.ts rename to x-pack/solutions/observability/plugins/ux/public/index.ts diff --git a/x-pack/plugins/observability_solution/ux/public/plugin.ts b/x-pack/solutions/observability/plugins/ux/public/plugin.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/plugin.ts rename to x-pack/solutions/observability/plugins/ux/public/plugin.ts diff --git a/x-pack/plugins/observability_solution/ux/public/services/data/__snapshots__/client_metrics_query.test.ts.snap b/x-pack/solutions/observability/plugins/ux/public/services/data/__snapshots__/client_metrics_query.test.ts.snap similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/data/__snapshots__/client_metrics_query.test.ts.snap rename to x-pack/solutions/observability/plugins/ux/public/services/data/__snapshots__/client_metrics_query.test.ts.snap diff --git a/x-pack/plugins/observability_solution/ux/public/services/data/__snapshots__/core_web_vitals_query.test.ts.snap b/x-pack/solutions/observability/plugins/ux/public/services/data/__snapshots__/core_web_vitals_query.test.ts.snap similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/data/__snapshots__/core_web_vitals_query.test.ts.snap rename to x-pack/solutions/observability/plugins/ux/public/services/data/__snapshots__/core_web_vitals_query.test.ts.snap diff --git a/x-pack/plugins/observability_solution/ux/public/services/data/__snapshots__/js_errors_query.test.ts.snap b/x-pack/solutions/observability/plugins/ux/public/services/data/__snapshots__/js_errors_query.test.ts.snap similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/data/__snapshots__/js_errors_query.test.ts.snap rename to x-pack/solutions/observability/plugins/ux/public/services/data/__snapshots__/js_errors_query.test.ts.snap diff --git a/x-pack/plugins/observability_solution/ux/public/services/data/__snapshots__/long_task_metrics_query.test.ts.snap b/x-pack/solutions/observability/plugins/ux/public/services/data/__snapshots__/long_task_metrics_query.test.ts.snap similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/data/__snapshots__/long_task_metrics_query.test.ts.snap rename to x-pack/solutions/observability/plugins/ux/public/services/data/__snapshots__/long_task_metrics_query.test.ts.snap diff --git a/x-pack/plugins/observability_solution/ux/public/services/data/__snapshots__/service_name_query.test.ts.snap b/x-pack/solutions/observability/plugins/ux/public/services/data/__snapshots__/service_name_query.test.ts.snap similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/data/__snapshots__/service_name_query.test.ts.snap rename to x-pack/solutions/observability/plugins/ux/public/services/data/__snapshots__/service_name_query.test.ts.snap diff --git a/x-pack/plugins/observability_solution/ux/public/services/data/call_date_math.ts b/x-pack/solutions/observability/plugins/ux/public/services/data/call_date_math.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/data/call_date_math.ts rename to x-pack/solutions/observability/plugins/ux/public/services/data/call_date_math.ts diff --git a/x-pack/plugins/observability_solution/ux/public/services/data/client_metrics_query.test.ts b/x-pack/solutions/observability/plugins/ux/public/services/data/client_metrics_query.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/data/client_metrics_query.test.ts rename to x-pack/solutions/observability/plugins/ux/public/services/data/client_metrics_query.test.ts diff --git a/x-pack/plugins/observability_solution/ux/public/services/data/client_metrics_query.ts b/x-pack/solutions/observability/plugins/ux/public/services/data/client_metrics_query.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/data/client_metrics_query.ts rename to x-pack/solutions/observability/plugins/ux/public/services/data/client_metrics_query.ts diff --git a/x-pack/plugins/observability_solution/ux/public/services/data/core_web_vitals_query.test.ts b/x-pack/solutions/observability/plugins/ux/public/services/data/core_web_vitals_query.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/data/core_web_vitals_query.test.ts rename to x-pack/solutions/observability/plugins/ux/public/services/data/core_web_vitals_query.test.ts diff --git a/x-pack/plugins/observability_solution/ux/public/services/data/core_web_vitals_query.ts b/x-pack/solutions/observability/plugins/ux/public/services/data/core_web_vitals_query.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/data/core_web_vitals_query.ts rename to x-pack/solutions/observability/plugins/ux/public/services/data/core_web_vitals_query.ts diff --git a/x-pack/plugins/observability_solution/ux/public/services/data/environments_query.ts b/x-pack/solutions/observability/plugins/ux/public/services/data/environments_query.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/data/environments_query.ts rename to x-pack/solutions/observability/plugins/ux/public/services/data/environments_query.ts diff --git a/x-pack/plugins/observability_solution/ux/public/services/data/get_es_filter.test.ts b/x-pack/solutions/observability/plugins/ux/public/services/data/get_es_filter.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/data/get_es_filter.test.ts rename to x-pack/solutions/observability/plugins/ux/public/services/data/get_es_filter.test.ts diff --git a/x-pack/plugins/observability_solution/ux/public/services/data/get_es_filter.ts b/x-pack/solutions/observability/plugins/ux/public/services/data/get_es_filter.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/data/get_es_filter.ts rename to x-pack/solutions/observability/plugins/ux/public/services/data/get_es_filter.ts diff --git a/x-pack/plugins/observability_solution/ux/public/services/data/get_exp_view_filter.test.ts b/x-pack/solutions/observability/plugins/ux/public/services/data/get_exp_view_filter.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/data/get_exp_view_filter.test.ts rename to x-pack/solutions/observability/plugins/ux/public/services/data/get_exp_view_filter.test.ts diff --git a/x-pack/plugins/observability_solution/ux/public/services/data/get_exp_view_filter.ts b/x-pack/solutions/observability/plugins/ux/public/services/data/get_exp_view_filter.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/data/get_exp_view_filter.ts rename to x-pack/solutions/observability/plugins/ux/public/services/data/get_exp_view_filter.ts diff --git a/x-pack/plugins/observability_solution/ux/public/services/data/has_rum_data_query.ts b/x-pack/solutions/observability/plugins/ux/public/services/data/has_rum_data_query.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/data/has_rum_data_query.ts rename to x-pack/solutions/observability/plugins/ux/public/services/data/has_rum_data_query.ts diff --git a/x-pack/plugins/observability_solution/ux/public/services/data/inp_query.ts b/x-pack/solutions/observability/plugins/ux/public/services/data/inp_query.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/data/inp_query.ts rename to x-pack/solutions/observability/plugins/ux/public/services/data/inp_query.ts diff --git a/x-pack/plugins/observability_solution/ux/public/services/data/js_errors_query.test.ts b/x-pack/solutions/observability/plugins/ux/public/services/data/js_errors_query.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/data/js_errors_query.test.ts rename to x-pack/solutions/observability/plugins/ux/public/services/data/js_errors_query.test.ts diff --git a/x-pack/plugins/observability_solution/ux/public/services/data/js_errors_query.ts b/x-pack/solutions/observability/plugins/ux/public/services/data/js_errors_query.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/data/js_errors_query.ts rename to x-pack/solutions/observability/plugins/ux/public/services/data/js_errors_query.ts diff --git a/x-pack/plugins/observability_solution/ux/public/services/data/long_task_metrics_query.test.ts b/x-pack/solutions/observability/plugins/ux/public/services/data/long_task_metrics_query.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/data/long_task_metrics_query.test.ts rename to x-pack/solutions/observability/plugins/ux/public/services/data/long_task_metrics_query.test.ts diff --git a/x-pack/plugins/observability_solution/ux/public/services/data/long_task_metrics_query.ts b/x-pack/solutions/observability/plugins/ux/public/services/data/long_task_metrics_query.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/data/long_task_metrics_query.ts rename to x-pack/solutions/observability/plugins/ux/public/services/data/long_task_metrics_query.ts diff --git a/x-pack/plugins/observability_solution/ux/public/services/data/projections.ts b/x-pack/solutions/observability/plugins/ux/public/services/data/projections.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/data/projections.ts rename to x-pack/solutions/observability/plugins/ux/public/services/data/projections.ts diff --git a/x-pack/plugins/observability_solution/ux/public/services/data/range_query.ts b/x-pack/solutions/observability/plugins/ux/public/services/data/range_query.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/data/range_query.ts rename to x-pack/solutions/observability/plugins/ux/public/services/data/range_query.ts diff --git a/x-pack/plugins/observability_solution/ux/public/services/data/service_name_query.test.ts b/x-pack/solutions/observability/plugins/ux/public/services/data/service_name_query.test.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/data/service_name_query.test.ts rename to x-pack/solutions/observability/plugins/ux/public/services/data/service_name_query.test.ts diff --git a/x-pack/plugins/observability_solution/ux/public/services/data/service_name_query.ts b/x-pack/solutions/observability/plugins/ux/public/services/data/service_name_query.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/data/service_name_query.ts rename to x-pack/solutions/observability/plugins/ux/public/services/data/service_name_query.ts diff --git a/x-pack/plugins/observability_solution/ux/public/services/data/url_search_query.ts b/x-pack/solutions/observability/plugins/ux/public/services/data/url_search_query.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/data/url_search_query.ts rename to x-pack/solutions/observability/plugins/ux/public/services/data/url_search_query.ts diff --git a/x-pack/plugins/observability_solution/ux/public/services/rest/call_api.ts b/x-pack/solutions/observability/plugins/ux/public/services/rest/call_api.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/rest/call_api.ts rename to x-pack/solutions/observability/plugins/ux/public/services/rest/call_api.ts diff --git a/x-pack/plugins/observability_solution/ux/public/services/rest/create_call_apm_api.ts b/x-pack/solutions/observability/plugins/ux/public/services/rest/create_call_apm_api.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/rest/create_call_apm_api.ts rename to x-pack/solutions/observability/plugins/ux/public/services/rest/create_call_apm_api.ts diff --git a/x-pack/plugins/observability_solution/ux/public/services/rest/data_view.ts b/x-pack/solutions/observability/plugins/ux/public/services/rest/data_view.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/public/services/rest/data_view.ts rename to x-pack/solutions/observability/plugins/ux/public/services/rest/data_view.ts diff --git a/x-pack/solutions/observability/plugins/ux/readme.md b/x-pack/solutions/observability/plugins/ux/readme.md new file mode 100644 index 0000000000000..0f39b686260aa --- /dev/null +++ b/x-pack/solutions/observability/plugins/ux/readme.md @@ -0,0 +1,14 @@ +# Documentation for UX UI developers + +https://docs.elastic.dev/kibana-dev-docs/welcome + +## Running E2E Tests + +The tests are managed via the `scripts/e2e.js` file. This script accepts numerous options. + +From the Kibana root you can run `node x-pack/solutions/observability/plugins/ux/scripts/e2e.js` to simply stand up the stack, load data, and run the tests. + +If you are developing a new test, it is better to stand up the stack in one shell and load data/run tests in a second session. You can do this by running: + +- `node ./x-pack/solutions/observability/plugins/ux/scripts/e2e.js --server` +- `node ./x-pack/solutions/observability/plugins/ux/scripts/e2e.js --runner`, you can also specify `--grep "{TEST_NAME}"` to run a specific series of tests diff --git a/x-pack/plugins/observability_solution/ux/scripts/e2e.js b/x-pack/solutions/observability/plugins/ux/scripts/e2e.js similarity index 100% rename from x-pack/plugins/observability_solution/ux/scripts/e2e.js rename to x-pack/solutions/observability/plugins/ux/scripts/e2e.js diff --git a/x-pack/plugins/observability_solution/ux/server/index.ts b/x-pack/solutions/observability/plugins/ux/server/index.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/server/index.ts rename to x-pack/solutions/observability/plugins/ux/server/index.ts diff --git a/x-pack/plugins/observability_solution/ux/server/plugin.ts b/x-pack/solutions/observability/plugins/ux/server/plugin.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/server/plugin.ts rename to x-pack/solutions/observability/plugins/ux/server/plugin.ts diff --git a/x-pack/plugins/observability_solution/ux/tsconfig.json b/x-pack/solutions/observability/plugins/ux/tsconfig.json similarity index 94% rename from x-pack/plugins/observability_solution/ux/tsconfig.json rename to x-pack/solutions/observability/plugins/ux/tsconfig.json index b27a700aa9b1f..3358b1a772821 100644 --- a/x-pack/plugins/observability_solution/ux/tsconfig.json +++ b/x-pack/solutions/observability/plugins/ux/tsconfig.json @@ -1,10 +1,10 @@ { - "extends": "../../../../tsconfig.base.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types" }, "include": [ - "../../../../typings/**/*", + "../../../../../typings/**/*", "common/**/*", "public/**/*", "server/**/*", diff --git a/x-pack/plugins/observability_solution/ux/typings/ui_filters.ts b/x-pack/solutions/observability/plugins/ux/typings/ui_filters.ts similarity index 100% rename from x-pack/plugins/observability_solution/ux/typings/ui_filters.ts rename to x-pack/solutions/observability/plugins/ux/typings/ui_filters.ts diff --git a/yarn.lock b/yarn.lock index 9acbb5a9da964..12bed2dadf4e2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5216,7 +5216,7 @@ version "0.0.0" uid "" -"@kbn/data-forge@link:x-pack/packages/kbn-data-forge": +"@kbn/data-forge@link:x-pack/platform/packages/shared/kbn-data-forge": version "0.0.0" uid "" @@ -5300,7 +5300,7 @@ version "0.0.0" uid "" -"@kbn/deeplinks-observability@link:packages/deeplinks/observability": +"@kbn/deeplinks-observability@link:src/platform/packages/shared/deeplinks/observability": version "0.0.0" uid "" @@ -5612,7 +5612,7 @@ version "0.0.0" uid "" -"@kbn/exploratory-view-plugin@link:x-pack/plugins/observability_solution/exploratory_view": +"@kbn/exploratory-view-plugin@link:x-pack/solutions/observability/plugins/exploratory_view": version "0.0.0" uid "" @@ -5948,7 +5948,7 @@ version "0.0.0" uid "" -"@kbn/infra-forge@link:x-pack/packages/kbn-infra-forge": +"@kbn/infra-forge@link:x-pack/platform/packages/private/kbn-infra-forge": version "0.0.0" uid "" @@ -5992,15 +5992,15 @@ version "0.0.0" uid "" -"@kbn/investigate-app-plugin@link:x-pack/plugins/observability_solution/investigate_app": +"@kbn/investigate-app-plugin@link:x-pack/solutions/observability/plugins/investigate_app": version "0.0.0" uid "" -"@kbn/investigate-plugin@link:x-pack/plugins/observability_solution/investigate": +"@kbn/investigate-plugin@link:x-pack/solutions/observability/plugins/investigate": version "0.0.0" uid "" -"@kbn/investigation-shared@link:packages/kbn-investigation-shared": +"@kbn/investigation-shared@link:x-pack/solutions/observability/packages/kbn-investigation-shared": version "0.0.0" uid "" @@ -6468,15 +6468,15 @@ version "0.0.0" uid "" -"@kbn/observability-alert-details@link:x-pack/packages/observability/alert_details": +"@kbn/observability-alert-details@link:x-pack/solutions/observability/packages/alert_details": version "0.0.0" uid "" -"@kbn/observability-alerting-rule-utils@link:x-pack/packages/observability/alerting_rule_utils": +"@kbn/observability-alerting-rule-utils@link:x-pack/platform/packages/shared/observability/alerting_rule_utils": version "0.0.0" uid "" -"@kbn/observability-alerting-test-data@link:x-pack/packages/observability/alerting_test_data": +"@kbn/observability-alerting-test-data@link:x-pack/solutions/observability/packages/alerting_test_data": version "0.0.0" uid "" @@ -6484,7 +6484,7 @@ version "0.0.0" uid "" -"@kbn/observability-get-padded-alert-time-range-util@link:x-pack/packages/observability/get_padded_alert_time_range_util": +"@kbn/observability-get-padded-alert-time-range-util@link:x-pack/solutions/observability/packages/get_padded_alert_time_range_util": version "0.0.0" uid "" @@ -6504,7 +6504,7 @@ version "0.0.0" uid "" -"@kbn/observability-plugin@link:x-pack/plugins/observability_solution/observability": +"@kbn/observability-plugin@link:x-pack/solutions/observability/plugins/observability": version "0.0.0" uid "" @@ -6512,7 +6512,7 @@ version "0.0.0" uid "" -"@kbn/observability-synthetics-test-data@link:x-pack/packages/observability/synthetics_test_data": +"@kbn/observability-synthetics-test-data@link:x-pack/solutions/observability/packages/synthetics_test_data": version "0.0.0" uid "" @@ -7228,7 +7228,7 @@ version "0.0.0" uid "" -"@kbn/serverless-observability@link:x-pack/plugins/serverless_observability": +"@kbn/serverless-observability@link:x-pack/solutions/observability/plugins/serverless_observability": version "0.0.0" uid "" @@ -7488,7 +7488,7 @@ version "0.0.0" uid "" -"@kbn/slo-schema@link:x-pack/packages/kbn-slo-schema": +"@kbn/slo-schema@link:x-pack/platform/packages/shared/kbn-slo-schema": version "0.0.0" uid "" @@ -7572,11 +7572,11 @@ version "0.0.0" uid "" -"@kbn/synthetics-e2e@link:x-pack/plugins/observability_solution/synthetics/e2e": +"@kbn/synthetics-e2e@link:x-pack/solutions/observability/plugins/synthetics/e2e": version "0.0.0" uid "" -"@kbn/synthetics-plugin@link:x-pack/plugins/observability_solution/synthetics": +"@kbn/synthetics-plugin@link:x-pack/solutions/observability/plugins/synthetics": version "0.0.0" uid "" @@ -7816,7 +7816,7 @@ version "0.0.0" uid "" -"@kbn/uptime-plugin@link:x-pack/plugins/observability_solution/uptime": +"@kbn/uptime-plugin@link:x-pack/solutions/observability/plugins/uptime": version "0.0.0" uid "" @@ -7864,7 +7864,7 @@ version "0.0.0" uid "" -"@kbn/ux-plugin@link:x-pack/plugins/observability_solution/ux": +"@kbn/ux-plugin@link:x-pack/solutions/observability/plugins/ux": version "0.0.0" uid "" From 80160cbf8fe21b904fe109470ae96e1dc5d42052 Mon Sep 17 00:00:00 2001 From: Tim Sullivan Date: Thu, 12 Dec 2024 13:34:44 -0700 Subject: [PATCH 49/52] Preparation for High Contrast Mode, ResponseOps domains (#202610) ## Summary **Reviewers: Please test the code paths affected by this PR. See the "Risks" section below.** Part of work for enabling "high contrast mode" in Kibana. See https://github.com/elastic/kibana/issues/176219. **Background:** Kibana will soon have a user profile setting to allow users to enable "high contrast mode." This setting will activate a flag with `` that causes EUI components to render with higher contrast visual elements. Consumer plugins and packages need to be updated selected places where `` is wrapped, to pass the `UserProfileService` service dependency from the CoreStart contract. **NOTE:** **EUI currently does not yet support the high-contrast mode flag**, but support for that is expected to come in around 2 weeks. These first PRs are simply preparing the code by wiring up the `UserProvideService`. ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - [X] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [X] The PR description includes the appropriate Release Notes section, and the correct `release_note:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) ### Risks Does this PR introduce any risks? For example, consider risks like hard to test bugs, performance regression, potential of data loss. Describe the risk, its severity, and mitigation for each identified risk. Invite stakeholders and evaluate how to proceed before merging. - [ ] [medium/high] The implementor of this change did not manually test the affected code paths and relied on type-checking and functional tests to drive the changes. Code owners for this PR need to manually test the affected code paths. - [ ] [medium] The `UserProfileService` dependency comes from the CoreStart contract. If acquiring the service causes synchronous code to become asynchronous, check for race conditions or errors in rendering React components. Code owners for this PR need to manually test the affected code paths. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- packages/kbn-alerts-ui-shared/tsconfig.json | 2 +- .../rule_form/src/create_rule_form.tsx | 4 +- .../rule_form/src/edit_rule_form.tsx | 4 +- .../response-ops/rule_form/src/rule_form.tsx | 56 ++++++++++++++++++- packages/response-ops/rule_form/src/types.ts | 2 + packages/response-ops/rule_form/tsconfig.json | 1 + .../public/application.tsx | 19 ++----- .../application/maintenance_windows.tsx | 3 +- .../public/common/lib/kibana/services.ts | 6 +- .../public/common/mock/test_providers.tsx | 4 +- .../cases/public/common/use_cases_toast.tsx | 8 +-- .../visualizations/actions/action_wrapper.tsx | 4 +- .../visualizations/actions/open_modal.tsx | 2 +- .../.storybook/decorator.tsx | 4 +- .../public/application/alerts_app.tsx | 4 +- .../public/application/connectors_app.tsx | 4 +- .../hooks/use_bulk_edit_response.tsx | 11 +++- .../hooks/use_bulk_operation_toast.tsx | 7 ++- .../public/application/rules_app.tsx | 4 +- .../connectors_selection.test.tsx | 4 +- .../toolbar/components/inspect/modal.test.tsx | 6 +- .../rule_details/components/rule_details.tsx | 4 +- .../sections/rule_form/rule_add.tsx | 5 +- .../sections/rule_form/rule_edit.tsx | 5 +- .../sections/rule_form/rule_form_route.tsx | 6 +- .../components/rule_status_dropdown.tsx | 5 +- .../rules_list/components/rules_list.tsx | 5 +- .../plugins/triggers_actions_ui/tsconfig.json | 3 +- 28 files changed, 124 insertions(+), 68 deletions(-) diff --git a/packages/kbn-alerts-ui-shared/tsconfig.json b/packages/kbn-alerts-ui-shared/tsconfig.json index 07a52c9d9c1b9..30be2e17af3ea 100644 --- a/packages/kbn-alerts-ui-shared/tsconfig.json +++ b/packages/kbn-alerts-ui-shared/tsconfig.json @@ -34,6 +34,6 @@ "@kbn/alerts-as-data-utils", "@kbn/core-http-browser-mocks", "@kbn/core-notifications-browser-mocks", - "@kbn/shared-ux-table-persist" + "@kbn/shared-ux-table-persist", ] } diff --git a/packages/response-ops/rule_form/src/create_rule_form.tsx b/packages/response-ops/rule_form/src/create_rule_form.tsx index d7ba545935495..2f5e0472dcd50 100644 --- a/packages/response-ops/rule_form/src/create_rule_form.tsx +++ b/packages/response-ops/rule_form/src/create_rule_form.tsx @@ -64,7 +64,7 @@ export const CreateRuleForm = (props: CreateRuleFormProps) => { onSubmit, } = props; - const { http, docLinks, notifications, ruleTypeRegistry, i18n, theme } = plugins; + const { http, docLinks, notifications, ruleTypeRegistry, ...deps } = plugins; const { toasts } = notifications; const { mutate, isLoading: isSaving } = useCreateRule({ @@ -82,7 +82,7 @@ export const CreateRuleForm = (props: CreateRuleFormProps) => { ...(message.details && { text: toMountPoint( {message.details}, - { i18n, theme } + deps ), }), }); diff --git a/packages/response-ops/rule_form/src/edit_rule_form.tsx b/packages/response-ops/rule_form/src/edit_rule_form.tsx index 7350a42475b69..392447114edd4 100644 --- a/packages/response-ops/rule_form/src/edit_rule_form.tsx +++ b/packages/response-ops/rule_form/src/edit_rule_form.tsx @@ -45,7 +45,7 @@ export const EditRuleForm = (props: EditRuleFormProps) => { onCancel, onSubmit, } = props; - const { http, notifications, docLinks, ruleTypeRegistry, i18n, theme, application } = plugins; + const { http, notifications, docLinks, ruleTypeRegistry, application, ...deps } = plugins; const { toasts } = notifications; const { mutate, isLoading: isSaving } = useUpdateRule({ @@ -63,7 +63,7 @@ export const EditRuleForm = (props: EditRuleFormProps) => { ...(message.details && { text: toMountPoint( {message.details}, - { i18n, theme } + deps ), }), }); diff --git a/packages/response-ops/rule_form/src/rule_form.tsx b/packages/response-ops/rule_form/src/rule_form.tsx index c09add5ae1c06..f34f811a7b488 100644 --- a/packages/response-ops/rule_form/src/rule_form.tsx +++ b/packages/response-ops/rule_form/src/rule_form.tsx @@ -28,13 +28,46 @@ export interface RuleFormProps { } export const RuleForm = (props: RuleFormProps) => { - const { plugins, onCancel, onSubmit } = props; + const { plugins: _plugins, onCancel, onSubmit } = props; const { id, ruleTypeId } = useParams<{ id?: string; ruleTypeId?: string; }>(); + const { + http, + i18n, + theme, + userProfile, + application, + notifications, + charts, + settings, + data, + dataViews, + unifiedSearch, + docLinks, + ruleTypeRegistry, + actionTypeRegistry, + } = _plugins; + const ruleFormComponent = useMemo(() => { + const plugins = { + http, + i18n, + theme, + userProfile, + application, + notifications, + charts, + settings, + data, + dataViews, + unifiedSearch, + docLinks, + ruleTypeRegistry, + actionTypeRegistry, + }; if (id) { return ; } @@ -60,7 +93,26 @@ export const RuleForm = (props: RuleFormProps) => { } /> ); - }, [id, ruleTypeId, plugins, onCancel, onSubmit]); + }, [ + http, + i18n, + theme, + userProfile, + application, + notifications, + charts, + settings, + data, + dataViews, + unifiedSearch, + docLinks, + ruleTypeRegistry, + actionTypeRegistry, + id, + ruleTypeId, + onCancel, + onSubmit, + ]); return {ruleFormComponent}; }; diff --git a/packages/response-ops/rule_form/src/types.ts b/packages/response-ops/rule_form/src/types.ts index 48ba6952b47f8..07f34e4c59026 100644 --- a/packages/response-ops/rule_form/src/types.ts +++ b/packages/response-ops/rule_form/src/types.ts @@ -16,6 +16,7 @@ import type { HttpStart } from '@kbn/core-http-browser'; import type { I18nStart } from '@kbn/core-i18n-browser'; import type { NotificationsStart } from '@kbn/core-notifications-browser'; import type { ThemeServiceStart } from '@kbn/core-theme-browser'; +import type { UserProfileService } from '@kbn/core-user-profile-browser'; import type { SettingsStart } from '@kbn/core-ui-settings-browser'; import type { DataPublicPluginStart } from '@kbn/data-plugin/public'; import type { DataViewsPublicPluginStart } from '@kbn/data-views-plugin/public'; @@ -54,6 +55,7 @@ export interface RuleFormPlugins { http: HttpStart; i18n: I18nStart; theme: ThemeServiceStart; + userProfile: UserProfileService; application: ApplicationStart; notifications: NotificationsStart; charts: ChartsPluginSetup; diff --git a/packages/response-ops/rule_form/tsconfig.json b/packages/response-ops/rule_form/tsconfig.json index 3f39fc766bd10..cea1478df1ef8 100644 --- a/packages/response-ops/rule_form/tsconfig.json +++ b/packages/response-ops/rule_form/tsconfig.json @@ -39,5 +39,6 @@ "@kbn/kibana-react-plugin", "@kbn/core-i18n-browser", "@kbn/core-theme-browser", + "@kbn/core-user-profile-browser", ] } diff --git a/x-pack/examples/triggers_actions_ui_example/public/application.tsx b/x-pack/examples/triggers_actions_ui_example/public/application.tsx index 74b99fc2dece3..638233dd47a88 100644 --- a/x-pack/examples/triggers_actions_ui_example/public/application.tsx +++ b/x-pack/examples/triggers_actions_ui_example/public/application.tsx @@ -45,6 +45,7 @@ export interface TriggersActionsUiExampleComponentParams { docLinks: CoreStart['docLinks']; i18n: CoreStart['i18n']; theme: CoreStart['theme']; + userProfile: CoreStart['userProfile']; settings: CoreStart['settings']; history: ScopedHistory; triggersActionsUi: TriggersAndActionsUIPublicPluginStart; @@ -63,12 +64,11 @@ const TriggersActionsUiExampleApp = ({ notifications, settings, docLinks, - i18n, - theme, data, charts, dataViews, unifiedSearch, + ...startServices }: TriggersActionsUiExampleComponentParams) => { return ( @@ -193,8 +193,6 @@ const TriggersActionsUiExampleApp = ({ application, notifications, docLinks, - i18n, - theme, charts, data, dataViews, @@ -202,6 +200,7 @@ const TriggersActionsUiExampleApp = ({ settings, ruleTypeRegistry: triggersActionsUi.ruleTypeRegistry, actionTypeRegistry: triggersActionsUi.actionTypeRegistry, + ...startServices, }} /> @@ -218,8 +217,6 @@ const TriggersActionsUiExampleApp = ({ application, notifications, docLinks, - theme, - i18n, charts, data, dataViews, @@ -227,6 +224,7 @@ const TriggersActionsUiExampleApp = ({ settings, ruleTypeRegistry: triggersActionsUi.ruleTypeRegistry, actionTypeRegistry: triggersActionsUi.actionTypeRegistry, + ...startServices, }} /> @@ -245,7 +243,6 @@ export const renderApp = ( deps: TriggersActionsUiExamplePublicStartDeps, { appBasePath, element, history }: AppMountParameters ) => { - const { http, notifications, docLinks, application, i18n, theme, settings } = core; const { triggersActionsUi } = deps; const { ruleTypeRegistry, actionTypeRegistry } = triggersActionsUi; @@ -263,19 +260,13 @@ export const renderApp = ( diff --git a/x-pack/plugins/alerting/public/application/maintenance_windows.tsx b/x-pack/plugins/alerting/public/application/maintenance_windows.tsx index 5f4b81bb716f7..9ac8245cd8288 100644 --- a/x-pack/plugins/alerting/public/application/maintenance_windows.tsx +++ b/x-pack/plugins/alerting/public/application/maintenance_windows.tsx @@ -78,12 +78,11 @@ export const renderApp = ({ kibanaVersion: string; }) => { const { element, history } = mountParams; - const { i18n, theme } = core; const queryClient = new QueryClient(); ReactDOM.render( - + & +type GlobalServices = Pick & Pick; export class KibanaServices { @@ -23,12 +23,12 @@ export class KibanaServices { http, serverless, kibanaVersion, - theme, + ...startServices }: GlobalServices & { kibanaVersion: string; config: CasesUiConfigType; }) { - this.services = { application, http, theme, serverless }; + this.services = { application, http, serverless, ...startServices }; this.kibanaVersion = kibanaVersion; this.config = config; } diff --git a/x-pack/plugins/cases/public/common/mock/test_providers.tsx b/x-pack/plugins/cases/public/common/mock/test_providers.tsx index 257ac4b1f8293..2e96f1e3633cb 100644 --- a/x-pack/plugins/cases/public/common/mock/test_providers.tsx +++ b/x-pack/plugins/cases/public/common/mock/test_providers.tsx @@ -99,7 +99,7 @@ const TestProvidersComponent: React.FC = ({ }; return ( - + @@ -178,7 +178,7 @@ export const createAppMockRenderer = ({ getFilesClient, }; const AppWrapper: React.FC<{ children: React.ReactNode }> = ({ children }) => ( - + diff --git a/x-pack/plugins/cases/public/common/use_cases_toast.tsx b/x-pack/plugins/cases/public/common/use_cases_toast.tsx index 71a9e3add1ae4..05c8e2f186a8b 100644 --- a/x-pack/plugins/cases/public/common/use_cases_toast.tsx +++ b/x-pack/plugins/cases/public/common/use_cases_toast.tsx @@ -106,7 +106,7 @@ const getErrorMessage = (error: Error | ServerError): string => { export const useCasesToast = () => { const { appId } = useApplication(); - const { application, i18n, theme } = useKibana().services; + const { application, i18n, theme, userProfile } = useKibana().services; const { getUrlForApp, navigateToUrl } = application; const toasts = useToasts(); @@ -148,13 +148,13 @@ export const useCasesToast = () => { return toasts.addSuccess({ color: 'success', iconType: 'check', - title: toMountPoint(, { i18n, theme }), + title: toMountPoint(, { i18n, theme, userProfile }), text: toMountPoint( , - { i18n, theme } + { i18n, theme, userProfile } ), }); }, @@ -177,7 +177,7 @@ export const useCasesToast = () => { }); }, }), - [i18n, theme, appId, getUrlForApp, navigateToUrl, toasts] + [i18n, theme, userProfile, appId, getUrlForApp, navigateToUrl, toasts] ); }; diff --git a/x-pack/plugins/cases/public/components/visualizations/actions/action_wrapper.tsx b/x-pack/plugins/cases/public/components/visualizations/actions/action_wrapper.tsx index add06a7badb22..e5f931492dabd 100644 --- a/x-pack/plugins/cases/public/components/visualizations/actions/action_wrapper.tsx +++ b/x-pack/plugins/cases/public/components/visualizations/actions/action_wrapper.tsx @@ -29,7 +29,7 @@ const ActionWrapperWithContext: React.FC> = ({ casesActionContextProps, currentAppId, }) => { - const { application, i18n, theme } = useKibana().services; + const { application, ...startServices } = useKibana().services; const owner = getCaseOwnerByAppId(currentAppId); const casePermissions = canUseCases(application.capabilities)(owner ? [owner] : undefined); @@ -37,7 +37,7 @@ const ActionWrapperWithContext: React.FC> = ({ const syncAlerts = owner === SECURITY_SOLUTION_OWNER; return ( - + , - { i18n: services.core.i18n, theme: services.core.theme } + services.core ); mount(targetDomElement); diff --git a/x-pack/plugins/triggers_actions_ui/.storybook/decorator.tsx b/x-pack/plugins/triggers_actions_ui/.storybook/decorator.tsx index 233b673353929..8947cf9f6bbe8 100644 --- a/x-pack/plugins/triggers_actions_ui/.storybook/decorator.tsx +++ b/x-pack/plugins/triggers_actions_ui/.storybook/decorator.tsx @@ -50,6 +50,8 @@ const notifications: NotificationsStart = { showErrorDialog: () => {}, }; +const userProfile = { getUserProfile$: () => of(null) }; + export const StorybookContextDecorator: FC> = ( props ) => { @@ -75,7 +77,7 @@ export const StorybookContextDecorator: FC - + { }; export const App = ({ deps }: { deps: TriggersAndActionsUiServices }) => { - const { dataViews, i18n, theme } = deps; + const { dataViews } = deps; setDataViewsService(dataViews); return ( - + diff --git a/x-pack/plugins/triggers_actions_ui/public/application/connectors_app.tsx b/x-pack/plugins/triggers_actions_ui/public/application/connectors_app.tsx index 8fe0d9745d1c2..f00db5879120b 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/connectors_app.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/connectors_app.tsx @@ -73,13 +73,13 @@ export const renderApp = (deps: TriggersAndActionsUiServices) => { }; export const App = ({ deps }: { deps: TriggersAndActionsUiServices }) => { - const { dataViews, i18n, theme } = deps; + const { dataViews } = deps; const sections: Section[] = ['connectors', 'logs']; const sectionsRegex = sections.join('|'); setDataViewsService(dataViews); return ( - + diff --git a/x-pack/plugins/triggers_actions_ui/public/application/hooks/use_bulk_edit_response.tsx b/x-pack/plugins/triggers_actions_ui/public/application/hooks/use_bulk_edit_response.tsx index b1d69c89094e9..c07cc9ac770d2 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/hooks/use_bulk_edit_response.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/hooks/use_bulk_edit_response.tsx @@ -65,6 +65,7 @@ export function useBulkEditResponse(props: UseBulkEditResponseProps) { const { i18n: i18nStart, theme, + userProfile, notifications: { toasts }, } = useKibana().services; @@ -124,7 +125,11 @@ export function useBulkEditResponse(props: UseBulkEditResponseProps) { if (numberOfErrors === total) { toasts.addDanger({ title: failureMessage(numberOfErrors, translationMap[property]), - text: toMountPoint(renderToastErrorBody(response), { i18n: i18nStart, theme }), + text: toMountPoint(renderToastErrorBody(response), { + i18n: i18nStart, + theme, + userProfile, + }), }); return; } @@ -132,10 +137,10 @@ export function useBulkEditResponse(props: UseBulkEditResponseProps) { // Some failure toasts.addWarning({ title: someSuccessMessage(numberOfSuccess, numberOfErrors, translationMap[property]), - text: toMountPoint(renderToastErrorBody(response), { i18n: i18nStart, theme }), + text: toMountPoint(renderToastErrorBody(response), { i18n: i18nStart, theme, userProfile }), }); }, - [i18nStart, theme, toasts, renderToastErrorBody] + [i18nStart, theme, userProfile, toasts, renderToastErrorBody] ); return useMemo(() => { diff --git a/x-pack/plugins/triggers_actions_ui/public/application/hooks/use_bulk_operation_toast.tsx b/x-pack/plugins/triggers_actions_ui/public/application/hooks/use_bulk_operation_toast.tsx index 88ad5c8f52958..8d2d8d98b1155 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/hooks/use_bulk_operation_toast.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/hooks/use_bulk_operation_toast.tsx @@ -50,6 +50,7 @@ export const useBulkOperationToast = ({ const { i18n, theme, + userProfile, notifications: { toasts }, } = useKibana().services; @@ -122,7 +123,7 @@ export const useBulkOperationToast = ({ SINGLE_RULE_TITLE, MULTIPLE_RULE_TITLE ), - text: toMountPoint(renderToastErrorBody(errors, 'danger'), { i18n, theme }), + text: toMountPoint(renderToastErrorBody(errors, 'danger'), { i18n, theme, userProfile }), }); return; } @@ -135,10 +136,10 @@ export const useBulkOperationToast = ({ SINGLE_RULE_TITLE, MULTIPLE_RULE_TITLE ), - text: toMountPoint(renderToastErrorBody(errors, 'warning'), { i18n, theme }), + text: toMountPoint(renderToastErrorBody(errors, 'warning'), { i18n, theme, userProfile }), }); }, - [i18n, theme, toasts, renderToastErrorBody] + [i18n, theme, userProfile, toasts, renderToastErrorBody] ); return useMemo(() => { diff --git a/x-pack/plugins/triggers_actions_ui/public/application/rules_app.tsx b/x-pack/plugins/triggers_actions_ui/public/application/rules_app.tsx index 8550518edb457..2477d9d95c4b4 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/rules_app.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/rules_app.tsx @@ -101,13 +101,13 @@ export const renderApp = (deps: TriggersAndActionsUiServices) => { }; export const App = ({ deps }: { deps: TriggersAndActionsUiServices }) => { - const { dataViews, i18n, theme } = deps; + const { dataViews } = deps; const sections: Section[] = ['rules', 'logs']; const sectionsRegex = sections.join('|'); setDataViewsService(dataViews); return ( - + diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/action_connector_form/connectors_selection.test.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/action_connector_form/connectors_selection.test.tsx index afb483b70f007..5fdd96611d718 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/action_connector_form/connectors_selection.test.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/action_connector_form/connectors_selection.test.tsx @@ -94,7 +94,7 @@ describe('connectors_selection', () => { it('renders a selector', () => { const wrapper = mountWithIntl( - + { it('renders the title of the connector', () => { render( - + { const renderModalInspectQuery = () => { const theme = { theme$: of({ darkMode: false, name: 'amsterdam' }) }; + const userProfile = userProfileServiceMock.createStart(); return render(, { wrapper: ({ children }) => ( - {children} + + {children} + ), }); }; diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_details/components/rule_details.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_details/components/rule_details.tsx index da1bd753af9b2..767b7cf70b9bb 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_details/components/rule_details.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_details/components/rule_details.tsx @@ -108,6 +108,7 @@ export const RuleDetails: React.FunctionComponent = ({ http, i18n: i18nStart, theme, + userProfile, notifications: { toasts }, } = useKibana().services; @@ -223,7 +224,7 @@ export const RuleDetails: React.FunctionComponent = ({ )} , - { i18n: i18nStart, theme } + { i18n: i18nStart, theme, userProfile } ), }); } @@ -232,6 +233,7 @@ export const RuleDetails: React.FunctionComponent = ({ }, [ i18nStart, theme, + userProfile, rule.schedule.interval, config.minimumScheduleInterval, toasts, diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_add.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_add.tsx index 99a9e0761eb9e..419f4c7696379 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_add.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_add.tsx @@ -132,9 +132,8 @@ const RuleAdd = < http, notifications: { toasts }, application: { capabilities }, - i18n: i18nStart, - theme, isServerless, + ...startServices } = useKibana().services; const canShowActions = hasShowActionsCapability(capabilities); @@ -284,7 +283,7 @@ const RuleAdd = < ...(message.details && { text: toMountPoint( {message.details}, - { i18n: i18nStart, theme } + startServices ), }), }); diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_edit.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_edit.tsx index 3400f8c5270f6..5d1337063948d 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_edit.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_edit.tsx @@ -140,9 +140,8 @@ export const RuleEdit = < const { http, notifications: { toasts }, - i18n: i18nStart, - theme, isServerless, + ...startServices } = useKibana().services; const setRule = (value: Rule) => { @@ -238,7 +237,7 @@ export const RuleEdit = < ...(message.details && { text: toMountPoint( {message.details}, - { i18n: i18nStart, theme } + startServices ), }), }); diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_form_route.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_form_route.tsx index f0ecb56d0bc87..bfa4bccd49405 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_form_route.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_form_route.tsx @@ -17,8 +17,6 @@ import { getCurrentDocTitle } from '../../lib/doc_title'; export const RuleFormRoute = () => { const { http, - i18n, - theme, application, notifications, charts, @@ -31,6 +29,7 @@ export const RuleFormRoute = () => { actionTypeRegistry, chrome, setBreadcrumbs, + ...startServices } = useKibana().services; const location = useLocation<{ returnApp?: string; returnPath?: string }>(); @@ -64,8 +63,6 @@ export const RuleFormRoute = () => { { docLinks, ruleTypeRegistry, actionTypeRegistry, + ...startServices, }} onCancel={() => { if (returnApp && returnPath) { diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/rule_status_dropdown.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/rule_status_dropdown.tsx index 6ad7d525c3507..27f05487fb6e6 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/rule_status_dropdown.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/rule_status_dropdown.tsx @@ -63,6 +63,7 @@ export const RuleStatusDropdown: React.FunctionComponent = ({ notifications: { toasts }, i18n: i18nStart, theme, + userProfile, } = useKibana().services; const [isUpdating, setIsUpdating] = useState(false); @@ -86,12 +87,12 @@ export const RuleStatusDropdown: React.FunctionComponent = ({ ...(message.details && { text: toMountPoint( {message.details}, - { i18n: i18nStart, theme } + { i18n: i18nStart, theme, userProfile } ), }), }); throw new Error(); - }, [i18nStart, theme, enableRule, toasts]); + }, [i18nStart, theme, userProfile, enableRule, toasts]); const onEnable = useCallback(async () => { setIsUpdating(true); diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/rules_list.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/rules_list.tsx index d1d1ce4fe6a3b..b827307cecdf6 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/rules_list.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/rules_list.tsx @@ -196,8 +196,7 @@ export const RulesList = ({ kibanaFeatures, notifications: { toasts }, ruleTypeRegistry, - i18n: i18nStart, - theme, + ...startServices } = kibanaServices; const canExecuteActions = hasExecuteActionsCapability(capabilities); @@ -715,7 +714,7 @@ export const RulesList = ({ title: parsedError.summary, text: toMountPoint( {parsedError.details}, - { theme, i18n: i18nStart } + startServices ), }); } else { diff --git a/x-pack/plugins/triggers_actions_ui/tsconfig.json b/x-pack/plugins/triggers_actions_ui/tsconfig.json index 7b947f560db85..7004ad1b1b08c 100644 --- a/x-pack/plugins/triggers_actions_ui/tsconfig.json +++ b/x-pack/plugins/triggers_actions_ui/tsconfig.json @@ -73,7 +73,8 @@ "@kbn/observability-alerting-rule-utils", "@kbn/core-application-browser", "@kbn/cloud-plugin", - "@kbn/response-ops-rule-form" + "@kbn/response-ops-rule-form", + "@kbn/core-user-profile-browser-mocks" ], "exclude": ["target/**/*"] } From 55b5baae644f3aa6fca00311cc6ea48b0d90b2ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Fern=C3=A1ndez=20Haro?= Date: Thu, 12 Dec 2024 21:52:10 +0100 Subject: [PATCH 50/52] [l10n] Fix codeowners again (#203998) --- .github/CODEOWNERS | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index b5feeb1008049..d145d17f531a1 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -3246,7 +3246,6 @@ x-pack/platform/plugins/private/saved_objects_tagging @elastic/appex-sharedux x-pack/platform/plugins/private/snapshot_restore @elastic/kibana-management x-pack/platform/plugins/private/telemetry_collection_xpack @elastic/kibana-core x-pack/platform/plugins/private/transform @elastic/ml-ui -x-pack/platform/plugins/private/translations @elastic/kibana-localization x-pack/platform/plugins/private/upgrade_assistant @elastic/kibana-core x-pack/platform/plugins/private/watcher @elastic/kibana-management x-pack/platform/plugins/shared/actions @elastic/response-ops From 780316832b5452110a8b8fa72eb4014afa79aeb3 Mon Sep 17 00:00:00 2001 From: Krzysztof Kowalczyk Date: Thu, 12 Dec 2024 22:02:27 +0100 Subject: [PATCH 51/52] [User Profile] Update edit profile header layout (#202902) ## Summary This PR updates layout of `User Profile` header according to [this design](https://github.com/elastic/kibana/issues/200059#issuecomment-2512452474). Since those changes break the layout pattern suggested by EUI, I had to move the content to be `children` of the header [as the EUI docs suggest.](https://eui.elastic.co/#/layout/page-header#customizing-the-page-header) Closes: #200059 --------- Co-authored-by: Ryan Keairns --- .../user_profile/user_profile.test.tsx | 6 +- .../user_profile/user_profile.tsx | 150 +++++++++++------- .../user_profiles/user_profiles.ts | 4 +- 3 files changed, 98 insertions(+), 62 deletions(-) diff --git a/x-pack/plugins/security/public/account_management/user_profile/user_profile.test.tsx b/x-pack/plugins/security/public/account_management/user_profile/user_profile.test.tsx index ec0c12aa3bc16..7a20eaf3eff1c 100644 --- a/x-pack/plugins/security/public/account_management/user_profile/user_profile.test.tsx +++ b/x-pack/plugins/security/public/account_management/user_profile/user_profile.test.tsx @@ -414,14 +414,14 @@ describe('useUserProfileForm', () => { expect(testWrapper.exists('EuiBadgeGroup[data-test-subj="remainingRoles"]')).toBeFalsy(); }); - it('should display a popover for users with more than one role', () => { + it('should display a popover for users with more than three roles', () => { const data: UserProfileData = {}; const nonCloudUser = mockAuthenticatedUser({ elastic_cloud_user: false }); coreStart.settings.client.get.mockReturnValue(false); coreStart.settings.client.isOverridden.mockReturnValue(true); - nonCloudUser.roles = [...nonCloudUser.roles, 'user-role-1', 'user-role-2']; + nonCloudUser.roles = [...nonCloudUser.roles, 'user-role-1', 'user-role-2', 'user-role-3']; const testWrapper = mount( { ); - const extraRoles = nonCloudUser.roles.splice(1); + const extraRoles = nonCloudUser.roles.splice(3); const userRolesExpandButton = testWrapper.find( 'EuiButtonEmpty[data-test-subj="userRolesExpand"]' diff --git a/x-pack/plugins/security/public/account_management/user_profile/user_profile.tsx b/x-pack/plugins/security/public/account_management/user_profile/user_profile.tsx index 3cfd01f5d8089..6d2fd7344850d 100644 --- a/x-pack/plugins/security/public/account_management/user_profile/user_profile.tsx +++ b/x-pack/plugins/security/public/account_management/user_profile/user_profile.tsx @@ -22,9 +22,12 @@ import { EuiIconTip, EuiKeyPadMenu, EuiKeyPadMenuItem, + EuiPageHeaderSection, EuiPopover, EuiSpacer, EuiText, + EuiTextTruncate, + EuiTitle, EuiToolTip, useEuiTheme, useGeneratedHtmlId, @@ -72,6 +75,28 @@ const formRowCSS = css` } `; +const pageHeaderCSS = css` + max-width: 1248px; + margin: auto; + border-bottom: none; +`; + +const pageTitleCSS = css` + min-width: 120px; +`; + +const rightSideItemsCSS = css` + justify-content: flex-start; + + @include euiBreakpoint('m') { + justify-content: flex-end; + } +`; + +const rightSideItemCSS = css` + min-width: 160px; +`; + export interface UserProfileProps { user: AuthenticatedUser; data?: UserProfileData; @@ -607,14 +632,13 @@ function UserPasswordEditor({ } const UserRoles: FunctionComponent = ({ user }) => { - const { euiTheme } = useEuiTheme(); const [isPopoverOpen, setIsPopoverOpen] = useState(false); const onButtonClick = () => setIsPopoverOpen((isOpen) => !isOpen); const closePopover = () => setIsPopoverOpen(false); - const [firstRole] = user.roles; - const remainingRoles = user.roles.slice(1); + const firstThreeRoles = user.roles.slice(0, 3); + const remainingRoles = user.roles.slice(3); const renderMoreRoles = () => { const button = ( @@ -653,16 +677,13 @@ const UserRoles: FunctionComponent = ({ user }) => { return ( <> -
- - {firstRole} - -
+ + {firstThreeRoles.map((role) => ( + + {role} + + ))} + {remainingRoles.length ? renderMoreRoles() : null} ); @@ -693,7 +714,9 @@ export const UserProfile: FunctionComponent = ({ user, data }) defaultMessage="Username" /> ), - description: user.username as string | undefined | JSX.Element, + description: + user.username && + (() as string | undefined | JSX.Element), helpText: ( = ({ user, data }) defaultMessage="Full name" /> ), - description: user.full_name, + description: user.full_name && , helpText: ( = ({ user, data }) defaultMessage="Email address" /> ), - description: user.email, + description: user.email && , helpText: ( = ({ user, data }) /> ) : null} - - - } - id={titleId} - rightSideItems={rightSideItems.reverse().map((item) => ( - - - {item.title} - - - - - - ), - description: ( - - {item.description || ( - - + + + + +

+ +

+
+
+ + + {rightSideItems.map((item) => ( + + + {item.title} + + + +
- )} -
- ), - }, - ]} - compressed - /> - ))} - /> + ), + description: ( + + {item.description || ( + + + + )} + + ), + }, + ]} + compressed + /> + ))} + + +
diff --git a/x-pack/test_serverless/functional/test_suites/common/platform_security/user_profiles/user_profiles.ts b/x-pack/test_serverless/functional/test_suites/common/platform_security/user_profiles/user_profiles.ts index 71e278e59075e..f6039a5c7050c 100644 --- a/x-pack/test_serverless/functional/test_suites/common/platform_security/user_profiles/user_profiles.ts +++ b/x-pack/test_serverless/functional/test_suites/common/platform_security/user_profiles/user_profiles.ts @@ -29,8 +29,8 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { const actualFullname = await pageObjects.userProfiles.getProfileFullname(); const actualEmail = await pageObjects.userProfiles.getProfileEmail(); - expect(actualFullname).to.be(userData.full_name); - expect(actualEmail).to.be(userData.email); + expect(actualFullname).to.contain(userData.full_name); + expect(actualEmail).to.contain(userData.email); }); it('should not have edit actions', async () => { From b4331195d68a68774a5f85b3d1dbfdf703c49d34 Mon Sep 17 00:00:00 2001 From: Ash <1849116+ashokaditya@users.noreply.github.com> Date: Thu, 12 Dec 2024 22:24:42 +0100 Subject: [PATCH 52/52] [Serverless][DataUsage] Data usage UX/API updates (#203465) --- .../common/rest_types/usage_metrics.ts | 4 +- .../private/data_usage/common/utils.test.ts | 5 +- .../private/data_usage/common/utils.ts | 3 +- .../components/data_usage_metrics.test.tsx | 70 +------ .../app/components/data_usage_metrics.tsx | 29 +-- .../components/filters/charts_filter.test.tsx | 124 ++++++++++++ .../app/components/filters/charts_filter.tsx | 39 +++- .../filters/charts_filters.test.tsx | 180 ++++++++++++++++++ .../app/components/filters/charts_filters.tsx | 44 +++-- .../app/components/filters/date_picker.tsx | 2 +- .../components/filters/toggle_all_button.tsx | 1 - .../public/app/components/page.test.tsx | 50 +++++ .../data_usage/public/app/components/page.tsx | 28 ++- .../app/data_usage_metrics_page.test.tsx | 111 +++++++++++ .../public/app/data_usage_metrics_page.tsx | 32 ++-- .../public/app/hooks/use_charts_filter.tsx | 106 +++++++---- .../public/app/hooks/use_date_picker.tsx | 15 +- .../private/data_usage/public/app/mocks.ts | 65 +++++++ .../public/hooks/use_get_data_streams.ts | 68 +++---- .../data_usage/public/translations.tsx | 18 +- .../routes/internal/data_streams.test.ts | 65 ++++++- .../routes/internal/data_streams_handler.ts | 45 +++-- .../functional/page_objects/svl_data_usage.ts | 2 +- .../common/data_usage/privileges.ts | 4 +- 24 files changed, 878 insertions(+), 232 deletions(-) create mode 100644 x-pack/platform/plugins/private/data_usage/public/app/components/filters/charts_filter.test.tsx create mode 100644 x-pack/platform/plugins/private/data_usage/public/app/components/filters/charts_filters.test.tsx create mode 100644 x-pack/platform/plugins/private/data_usage/public/app/components/page.test.tsx create mode 100644 x-pack/platform/plugins/private/data_usage/public/app/data_usage_metrics_page.test.tsx create mode 100644 x-pack/platform/plugins/private/data_usage/public/app/mocks.ts diff --git a/x-pack/platform/plugins/private/data_usage/common/rest_types/usage_metrics.ts b/x-pack/platform/plugins/private/data_usage/common/rest_types/usage_metrics.ts index 07130c84b6fdf..3a53a141caf9d 100644 --- a/x-pack/platform/plugins/private/data_usage/common/rest_types/usage_metrics.ts +++ b/x-pack/platform/plugins/private/data_usage/common/rest_types/usage_metrics.ts @@ -28,8 +28,8 @@ export const isDefaultMetricType = (metricType: string) => DEFAULT_METRIC_TYPES.includes(metricType); export const METRIC_TYPE_API_VALUES_TO_UI_OPTIONS_MAP = Object.freeze>({ - storage_retained: 'Data Retained in Storage', ingest_rate: 'Data Ingested', + storage_retained: 'Data Retained in Storage', search_vcu: 'Search VCU', ingest_vcu: 'Ingest VCU', ml_vcu: 'ML VCU', @@ -40,8 +40,8 @@ export const METRIC_TYPE_API_VALUES_TO_UI_OPTIONS_MAP = Object.freeze>({ - 'Data Retained in Storage': 'storage_retained', 'Data Ingested': 'ingest_rate', + 'Data Retained in Storage': 'storage_retained', 'Search VCU': 'search_vcu', 'Ingest VCU': 'ingest_vcu', 'ML VCU': 'ml_vcu', diff --git a/x-pack/platform/plugins/private/data_usage/common/utils.test.ts b/x-pack/platform/plugins/private/data_usage/common/utils.test.ts index fc6b158c1caa0..c7ff57069e44e 100644 --- a/x-pack/platform/plugins/private/data_usage/common/utils.test.ts +++ b/x-pack/platform/plugins/private/data_usage/common/utils.test.ts @@ -10,7 +10,6 @@ import { isDateRangeValid } from './utils'; describe('isDateRangeValid', () => { describe('Valid ranges', () => { it.each([ - ['both start and end date is `now`', { start: 'now', end: 'now' }], ['start date is `now-10s` and end date is `now`', { start: 'now-10s', end: 'now' }], ['bounded within the min and max date range', { start: 'now-8d', end: 'now-4s' }], ])('should return true if %s', (_, { start, end }) => { @@ -20,8 +19,10 @@ describe('isDateRangeValid', () => { describe('Invalid ranges', () => { it.each([ + ['both start and end date is `now`', { start: 'now', end: 'now' }], ['starts before the min date', { start: 'now-11d', end: 'now-5s' }], - ['ends after the max date', { start: 'now-9d', end: 'now+2s' }], + ['ends after the max date in seconds', { start: 'now-9d', end: 'now+2s' }], + ['ends after the max date in days', { start: 'now-6d', end: 'now+6d' }], [ 'end date is before the start date even when both are within min and max date range', { start: 'now-3s', end: 'now-10s' }, diff --git a/x-pack/platform/plugins/private/data_usage/common/utils.ts b/x-pack/platform/plugins/private/data_usage/common/utils.ts index 3fd7240153d4d..2fe683dc8310d 100644 --- a/x-pack/platform/plugins/private/data_usage/common/utils.ts +++ b/x-pack/platform/plugins/private/data_usage/common/utils.ts @@ -19,6 +19,7 @@ export const DEFAULT_DATE_RANGE_OPTIONS = Object.freeze({ recentlyUsedDateRanges: [], }); +export type ParsedDate = ReturnType; export const momentDateParser = (date: string) => dateMath.parse(date); export const transformToUTCtime = ({ start, @@ -50,6 +51,6 @@ export const isDateRangeValid = ({ start, end }: { start: string; end: string }) return ( startDate.isSameOrAfter(minDate, 's') && endDate.isSameOrBefore(maxDate, 's') && - startDate <= endDate + startDate.isBefore(endDate, 's') ); }; diff --git a/x-pack/platform/plugins/private/data_usage/public/app/components/data_usage_metrics.test.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/data_usage_metrics.test.tsx index befae95393e1c..90257e08ead01 100644 --- a/x-pack/platform/plugins/private/data_usage/public/app/components/data_usage_metrics.test.tsx +++ b/x-pack/platform/plugins/private/data_usage/public/app/components/data_usage_metrics.test.tsx @@ -12,6 +12,7 @@ import { DataUsageMetrics } from './data_usage_metrics'; import { useGetDataUsageMetrics } from '../../hooks/use_get_usage_metrics'; import { useGetDataUsageDataStreams } from '../../hooks/use_get_data_streams'; import { coreMock as mockCore } from '@kbn/core/public/mocks'; +import { mockUseKibana, generateDataStreams } from '../mocks'; jest.mock('../../utils/use_breadcrumbs', () => { return { @@ -60,60 +61,10 @@ jest.mock('@kbn/kibana-react-plugin/public', () => { const original = jest.requireActual('@kbn/kibana-react-plugin/public'); return { ...original, - useKibana: () => ({ - services: { - uiSettings: { - get: jest.fn().mockImplementation((key) => { - const get = (k: 'dateFormat' | 'timepicker:quickRanges') => { - const x = { - dateFormat: 'MMM D, YYYY @ HH:mm:ss.SSS', - 'timepicker:quickRanges': [ - { - from: 'now/d', - to: 'now/d', - display: 'Today', - }, - { - from: 'now/w', - to: 'now/w', - display: 'This week', - }, - { - from: 'now-15m', - to: 'now', - display: 'Last 15 minutes', - }, - { - from: 'now-30m', - to: 'now', - display: 'Last 30 minutes', - }, - { - from: 'now-1h', - to: 'now', - display: 'Last 1 hour', - }, - { - from: 'now-24h', - to: 'now', - display: 'Last 24 hours', - }, - { - from: 'now-7d', - to: 'now', - display: 'Last 7 days', - }, - ], - }; - return x[k]; - }; - return get(key); - }), - }, - }, - }), + useKibana: () => mockUseKibana, }; }); + const mockUseGetDataUsageMetrics = useGetDataUsageMetrics as jest.Mock; const mockUseGetDataUsageDataStreams = useGetDataUsageDataStreams as jest.Mock; const mockServices = mockCore.createStart(); @@ -131,13 +82,6 @@ const getBaseMockedDataUsageMetrics = () => ({ refetch: jest.fn(), }); -const generateDataStreams = (count: number) => { - return Array.from({ length: count }, (_, i) => ({ - name: `.ds-${i}`, - storageSizeBytes: 1024 ** 2 * (22 / 7), - })); -}; - describe('DataUsageMetrics', () => { let user: UserEvent; const testId = 'test'; @@ -228,14 +172,14 @@ describe('DataUsageMetrics', () => { expect(toggleFilterButton).toHaveTextContent('Data streams10'); await user.click(toggleFilterButton); const allFilterOptions = getAllByTestId('dataStreams-filter-option'); - // deselect 9 options - for (let i = 0; i < allFilterOptions.length; i++) { + // deselect 3 options + for (let i = 0; i < 3; i++) { await user.click(allFilterOptions[i]); } - expect(toggleFilterButton).toHaveTextContent('Data streams1'); + expect(toggleFilterButton).toHaveTextContent('Data streams7'); expect(within(toggleFilterButton).getByRole('marquee').getAttribute('aria-label')).toEqual( - '1 active filters' + '7 active filters' ); }); diff --git a/x-pack/platform/plugins/private/data_usage/public/app/components/data_usage_metrics.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/data_usage_metrics.tsx index efaa779dfe3c9..829b198e59ab3 100644 --- a/x-pack/platform/plugins/private/data_usage/public/app/components/data_usage_metrics.tsx +++ b/x-pack/platform/plugins/private/data_usage/public/app/components/data_usage_metrics.tsx @@ -17,13 +17,9 @@ import { PLUGIN_NAME } from '../../translations'; import { useGetDataUsageMetrics } from '../../hooks/use_get_usage_metrics'; import { useGetDataUsageDataStreams } from '../../hooks/use_get_data_streams'; import { useDataUsageMetricsUrlParams } from '../hooks/use_charts_url_params'; -import { - DEFAULT_DATE_RANGE_OPTIONS, - transformToUTCtime, - isDateRangeValid, -} from '../../../common/utils'; +import { DEFAULT_DATE_RANGE_OPTIONS, transformToUTCtime } from '../../../common/utils'; import { useDateRangePicker } from '../hooks/use_date_picker'; -import { ChartFilters, ChartFiltersProps } from './filters/charts_filters'; +import { ChartsFilters, ChartsFiltersProps } from './filters/charts_filters'; import { ChartsLoading } from './charts_loading'; import { NoDataCallout } from './no_data_callout'; import { useTestIdGenerator } from '../../hooks/use_test_id_generator'; @@ -114,16 +110,8 @@ export const DataUsageMetrics = memo( })); }, [metricTypesFromUrl, dataStreamsFromUrl, startDateFromUrl, endDateFromUrl]); - const { dateRangePickerState, onRefreshChange, onTimeChange } = useDateRangePicker(); - - const isValidDateRange = useMemo( - () => - isDateRangeValid({ - start: dateRangePickerState.startDate, - end: dateRangePickerState.endDate, - }), - [dateRangePickerState.endDate, dateRangePickerState.startDate] - ); + const { dateRangePickerState, isValidDateRange, onRefreshChange, onTimeChange } = + useDateRangePicker(); const enableFetchUsageMetricsData = useMemo( () => @@ -187,8 +175,10 @@ export const DataUsageMetrics = memo( [setMetricsFilters] ); - const filterOptions: ChartFiltersProps['filterOptions'] = useMemo(() => { - const dataStreamsOptions = dataStreams?.reduce>((acc, ds) => { + const filterOptions: ChartsFiltersProps['filterOptions'] = useMemo(() => { + const dataStreamsOptions = dataStreams?.reduce< + Required['appendOptions'] + >((acc, ds) => { acc[ds.name] = ds.storageSizeBytes; return acc; }, {}); @@ -239,10 +229,11 @@ export const DataUsageMetrics = memo( return ( - ({ pathname: '/' })); +jest.mock('react-router-dom', () => ({ + ...jest.requireActual('react-router-dom'), + useLocation: () => mockUseLocation(), + useHistory: jest.fn().mockReturnValue({ + push: jest.fn(), + listen: jest.fn(), + location: { + search: '', + }, + }), +})); + +jest.mock('@kbn/kibana-react-plugin/public', () => { + const original = jest.requireActual('@kbn/kibana-react-plugin/public'); + return { + ...original, + useKibana: () => mockUseKibana, + }; +}); + +describe('Charts Filters', () => { + let user: UserEvent; + const testId = 'test'; + const testIdFilter = `${testId}-filter`; + + const defaultProps = { + filterOptions: { + filterName: 'dataStreams' as FilterName, + isFilterLoading: false, + appendOptions: {}, + selectedOptions: [], + options: generateDataStreams(8).map((ds) => ds.name), + onChangeFilterOptions: jest.fn(), + }, + }; + + let renderComponent: (props: ChartsFilterProps) => RenderResult; + + beforeAll(() => { + jest.useFakeTimers(); + }); + + afterAll(() => { + jest.useRealTimers(); + }); + + beforeEach(() => { + jest.clearAllMocks(); + renderComponent = (props: ChartsFilterProps) => + render( + + + + ); + user = userEvent.setup({ advanceTimers: jest.advanceTimersByTime, pointerEventsCheck: 0 }); + }); + + it('renders data streams filter with all options selected', async () => { + const { getByTestId, getAllByTestId } = renderComponent(defaultProps); + expect(getByTestId(`${testIdFilter}-dataStreams-popoverButton`)).toBeTruthy(); + + const filterButton = getByTestId(`${testIdFilter}-dataStreams-popoverButton`); + expect(filterButton).toBeTruthy(); + await user.click(filterButton); + const allFilterOptions = getAllByTestId('dataStreams-filter-option'); + + // checked options + const checkedOptions = allFilterOptions.filter( + (option) => option.getAttribute('aria-checked') === 'true' + ); + expect(checkedOptions).toHaveLength(8); + }); + + it('renders data streams filter with 50 options selected when more than 50 items in the filter', async () => { + const { getByTestId } = renderComponent({ + ...defaultProps, + filterOptions: { + ...defaultProps.filterOptions, + options: generateDataStreams(55).map((ds) => ds.name), + }, + }); + expect(getByTestId(`${testIdFilter}-dataStreams-popoverButton`)).toBeTruthy(); + + const toggleFilterButton = getByTestId(`${testIdFilter}-dataStreams-popoverButton`); + expect(toggleFilterButton).toBeTruthy(); + expect(toggleFilterButton).toHaveTextContent('Data streams50'); + expect( + toggleFilterButton.querySelector('.euiNotificationBadge')?.getAttribute('aria-label') + ).toBe('50 active filters'); + }); + + it('renders data streams filter with no options selected and select all is disabled', async () => { + const { getByTestId, queryByTestId } = renderComponent({ + ...defaultProps, + filterOptions: { + ...defaultProps.filterOptions, + options: [], + }, + }); + expect(getByTestId(`${testIdFilter}-dataStreams-popoverButton`)).toBeTruthy(); + + const filterButton = getByTestId(`${testIdFilter}-dataStreams-popoverButton`); + expect(filterButton).toBeTruthy(); + await user.click(filterButton); + expect(queryByTestId('dataStreams-filter-option')).toBeFalsy(); + expect(getByTestId('dataStreams-group-label')).toBeTruthy(); + expect(getByTestId(`${testIdFilter}-dataStreams-selectAllButton`)).toBeDisabled(); + }); +}); diff --git a/x-pack/platform/plugins/private/data_usage/public/app/components/filters/charts_filter.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/filters/charts_filter.tsx index 2e60561f3ed29..e041b262a7f44 100644 --- a/x-pack/platform/plugins/private/data_usage/public/app/components/filters/charts_filter.tsx +++ b/x-pack/platform/plugins/private/data_usage/public/app/components/filters/charts_filter.tsx @@ -81,6 +81,11 @@ export const ChartsFilter = memo( }, }); + const isSelectAllDisabled = useMemo( + () => options.length === 0 || (hasActiveFilters && numFilters === 0), + [hasActiveFilters, numFilters, options.length] + ); + const addHeightToPopover = useMemo( () => isDataStreamsFilter && numFilters + numActiveFilters > 15, [isDataStreamsFilter, numFilters, numActiveFilters] @@ -107,7 +112,12 @@ export const ChartsFilter = memo( const sortedDataStreamsFilterOptions = useMemo(() => { if (shouldPinSelectedDataStreams() || areDataStreamsSelectedOnMount) { // pin checked items to the top - return orderBy('checked', 'asc', items); + const sorted = orderBy( + 'checked', + 'asc', + items.filter((item) => !item.isGroupLabel) + ); + return [...items.filter((item) => item.isGroupLabel), ...sorted]; } // return options as are for other filters return items; @@ -155,14 +165,25 @@ export const ChartsFilter = memo( ); const onSelectAll = useCallback(() => { - const allItems: FilterItems = items.map((item) => { - return { - ...item, - checked: 'on', - }; - }); + const allItems: FilterItems = items.reduce((acc, item) => { + if (!item.isGroupLabel) { + acc.push({ + ...item, + checked: 'on', + }); + } else { + acc.push(item); + } + return acc; + }, []); + setItems(allItems); - const optionsToSelect = allItems.map((i) => i.label); + const optionsToSelect = allItems.reduce((acc, i) => { + if (i.checked) { + acc.push(i.label); + } + return acc; + }, []); onChangeFilterOptions(optionsToSelect); if (isDataStreamsFilter) { @@ -260,7 +281,7 @@ export const ChartsFilter = memo( data-test-subj={getTestId(`${filterName}-selectAllButton`)} icon="check" label={UX_LABELS.filterSelectAll} - isDisabled={hasActiveFilters && numFilters === 0} + isDisabled={isSelectAllDisabled} onClick={onSelectAll} /> diff --git a/x-pack/platform/plugins/private/data_usage/public/app/components/filters/charts_filters.test.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/filters/charts_filters.test.tsx new file mode 100644 index 0000000000000..d4196abeaa268 --- /dev/null +++ b/x-pack/platform/plugins/private/data_usage/public/app/components/filters/charts_filters.test.tsx @@ -0,0 +1,180 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import React from 'react'; +import { TestProvider } from '../../../../common/test_utils'; +import { render, type RenderResult } from '@testing-library/react'; +import userEvent, { type UserEvent } from '@testing-library/user-event'; +import { ChartsFilters, type ChartsFiltersProps } from './charts_filters'; +import { FilterName } from '../../hooks'; +import { mockUseKibana } from '../../mocks'; +import { + METRIC_TYPE_VALUES, + METRIC_TYPE_UI_OPTIONS_VALUES_TO_API_MAP, +} from '../../../../common/rest_types/usage_metrics'; + +const mockUseLocation = jest.fn(() => ({ pathname: '/' })); +jest.mock('react-router-dom', () => ({ + ...jest.requireActual('react-router-dom'), + useLocation: () => mockUseLocation(), + useHistory: jest.fn().mockReturnValue({ + push: jest.fn(), + listen: jest.fn(), + location: { + search: '', + }, + }), +})); + +jest.mock('@kbn/kibana-react-plugin/public', () => { + const original = jest.requireActual('@kbn/kibana-react-plugin/public'); + return { + ...original, + useKibana: () => mockUseKibana, + }; +}); + +describe('Charts Filters', () => { + let user: UserEvent; + const testId = 'test'; + const testIdFilter = `${testId}-filter`; + const onClick = jest.fn(); + const dateRangePickerState = { + startDate: 'now-15m', + endDate: 'now', + recentlyUsedDateRanges: [], + autoRefreshOptions: { + enabled: false, + duration: 0, + }, + }; + const defaultProps = { + dateRangePickerState, + isDataLoading: false, + isUpdateDisabled: false, + isValidDateRange: true, + filterOptions: { + dataStreams: { + filterName: 'dataStreams' as FilterName, + isFilterLoading: false, + options: ['.ds-1', '.ds-2'], + onChangeFilterOptions: jest.fn(), + }, + metricTypes: { + filterName: 'metricTypes' as FilterName, + isFilterLoading: false, + options: METRIC_TYPE_VALUES.slice(), + onChangeFilterOptions: jest.fn(), + }, + }, + onClick, + onRefresh: jest.fn(), + onRefreshChange: jest.fn(), + onTimeChange: jest.fn(), + }; + + let renderComponent: (props: ChartsFiltersProps) => RenderResult; + + beforeAll(() => { + jest.useFakeTimers(); + }); + + afterAll(() => { + jest.useRealTimers(); + }); + + beforeEach(() => { + jest.clearAllMocks(); + renderComponent = (props: ChartsFiltersProps) => + render( + + + + ); + user = userEvent.setup({ advanceTimers: jest.advanceTimersByTime, pointerEventsCheck: 0 }); + }); + + it('renders data streams filter, date range filter and refresh button', () => { + const { getByTestId } = renderComponent(defaultProps); + expect(getByTestId(`${testIdFilter}-dataStreams-popoverButton`)).toBeTruthy(); + expect(getByTestId(`${testIdFilter}-date-range`)).toBeTruthy(); + expect(getByTestId(`${testIdFilter}-super-refresh-button`)).toBeTruthy(); + }); + + it('renders metric filter', () => { + const { getByTestId } = renderComponent({ ...defaultProps, showMetricsTypesFilter: true }); + expect(getByTestId(`${testIdFilter}-metricTypes-popoverButton`)).toBeTruthy(); + expect(getByTestId(`${testIdFilter}-dataStreams-popoverButton`)).toBeTruthy(); + expect(getByTestId(`${testIdFilter}-date-range`)).toBeTruthy(); + expect(getByTestId(`${testIdFilter}-super-refresh-button`)).toBeTruthy(); + }); + + it('has default metrics selected if showing metrics filter', async () => { + const { getByTestId, getAllByTestId } = renderComponent({ + ...defaultProps, + showMetricsTypesFilter: true, + }); + const metricsFilterButton = getByTestId(`${testIdFilter}-metricTypes-popoverButton`); + expect(metricsFilterButton).toBeTruthy(); + await user.click(metricsFilterButton); + const allFilterOptions = getAllByTestId('metricTypes-filter-option'); + + // checked options + const checkedOptions = allFilterOptions.filter( + (option) => option.getAttribute('aria-checked') === 'true' + ); + expect(checkedOptions).toHaveLength(2); + expect(checkedOptions.map((option) => option.title)).toEqual( + Object.keys(METRIC_TYPE_UI_OPTIONS_VALUES_TO_API_MAP).slice(0, 2) + ); + + // unchecked options + const unCheckedOptions = allFilterOptions.filter( + (option) => option.getAttribute('aria-checked') === 'false' + ); + expect(unCheckedOptions).toHaveLength(7); + expect(unCheckedOptions.map((option) => option.title)).toEqual( + Object.keys(METRIC_TYPE_UI_OPTIONS_VALUES_TO_API_MAP).slice(2) + ); + }); + + it('should show invalid date range info', () => { + const { getByTestId } = renderComponent({ + ...defaultProps, + // using this prop to set invalid date range + isValidDateRange: false, + }); + expect(getByTestId(`${testIdFilter}-invalid-date-range`)).toBeTruthy(); + }); + + it('should not show invalid date range info', () => { + const { queryByTestId } = renderComponent(defaultProps); + expect(queryByTestId(`${testIdFilter}-invalid-date-range`)).toBeNull(); + }); + + it('should disable refresh button', () => { + const { getByTestId } = renderComponent({ + ...defaultProps, + isUpdateDisabled: true, + }); + expect(getByTestId(`${testIdFilter}-super-refresh-button`)).toBeDisabled(); + }); + + it('should show `updating` on refresh button', () => { + const { getByTestId } = renderComponent({ + ...defaultProps, + isDataLoading: true, + }); + expect(getByTestId(`${testIdFilter}-super-refresh-button`)).toBeDisabled(); + expect(getByTestId(`${testIdFilter}-super-refresh-button`).textContent).toEqual('Updating'); + }); + + it('should call onClick on refresh button click', () => { + const { getByTestId } = renderComponent(defaultProps); + getByTestId(`${testIdFilter}-super-refresh-button`).click(); + expect(onClick).toHaveBeenCalled(); + }); +}); diff --git a/x-pack/platform/plugins/private/data_usage/public/app/components/filters/charts_filters.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/filters/charts_filters.tsx index 52561aa9f26f0..8b8b3f864cd7d 100644 --- a/x-pack/platform/plugins/private/data_usage/public/app/components/filters/charts_filters.tsx +++ b/x-pack/platform/plugins/private/data_usage/public/app/components/filters/charts_filters.tsx @@ -6,35 +6,36 @@ */ import React, { memo, useCallback, useMemo } from 'react'; -import { EuiFilterGroup, EuiFlexGroup, EuiFlexItem, EuiSuperUpdateButton } from '@elastic/eui'; -import type { - DurationRange, - OnRefreshChangeProps, -} from '@elastic/eui/src/components/date_picker/types'; +import { + EuiFilterGroup, + EuiFlexGroup, + EuiFlexItem, + EuiSuperUpdateButton, + EuiText, + EuiTextAlign, +} from '@elastic/eui'; + +import { UX_LABELS } from '../../../translations'; import { useTestIdGenerator } from '../../../hooks/use_test_id_generator'; import { useGetDataUsageMetrics } from '../../../hooks/use_get_usage_metrics'; -import { DateRangePickerValues, UsageMetricsDateRangePicker } from './date_picker'; +import { type UsageMetricsDateRangePickerProps, UsageMetricsDateRangePicker } from './date_picker'; import { ChartsFilter, ChartsFilterProps } from './charts_filter'; import { FilterName } from '../../hooks'; -export interface ChartFiltersProps { - dateRangePickerState: DateRangePickerValues; - isDataLoading: boolean; +export interface ChartsFiltersProps extends UsageMetricsDateRangePickerProps { isUpdateDisabled: boolean; + isValidDateRange: boolean; filterOptions: Record; - onRefresh: () => void; - onRefreshChange: (evt: OnRefreshChangeProps) => void; - onTimeChange: ({ start, end }: DurationRange) => void; onClick: ReturnType['refetch']; showMetricsTypesFilter?: boolean; - 'data-test-subj'?: string; } -export const ChartFilters = memo( +export const ChartsFilters = memo( ({ dateRangePickerState, isDataLoading, isUpdateDisabled, + isValidDateRange, filterOptions, onClick, onRefresh, @@ -61,12 +62,11 @@ export const ChartFilters = memo( const onClickRefreshButton = useCallback(() => onClick(), [onClick]); return ( - - + {filters} - + ( onTimeChange={onTimeChange} data-test-subj={dataTestSubj} /> + {!isValidDateRange && ( + + +

{UX_LABELS.filters.invalidDateRange}

+
+
+ )}
( onClick={onClickRefreshButton} /> +
); } ); -ChartFilters.displayName = 'ChartFilters'; +ChartsFilters.displayName = 'ChartsFilters'; diff --git a/x-pack/platform/plugins/private/data_usage/public/app/components/filters/date_picker.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/filters/date_picker.tsx index 1b04587b4245d..10fbb2ab399ce 100644 --- a/x-pack/platform/plugins/private/data_usage/public/app/components/filters/date_picker.tsx +++ b/x-pack/platform/plugins/private/data_usage/public/app/components/filters/date_picker.tsx @@ -28,7 +28,7 @@ export interface DateRangePickerValues { recentlyUsedDateRanges: EuiSuperDatePickerRecentRange[]; } -interface UsageMetricsDateRangePickerProps { +export interface UsageMetricsDateRangePickerProps { dateRangePickerState: DateRangePickerValues; isDataLoading: boolean; onRefresh: () => void; diff --git a/x-pack/platform/plugins/private/data_usage/public/app/components/filters/toggle_all_button.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/filters/toggle_all_button.tsx index 3d1c4080fcc9c..e6d4f6cd3c721 100644 --- a/x-pack/platform/plugins/private/data_usage/public/app/components/filters/toggle_all_button.tsx +++ b/x-pack/platform/plugins/private/data_usage/public/app/components/filters/toggle_all_button.tsx @@ -26,7 +26,6 @@ interface ToggleAllButtonProps { export const ToggleAllButton = memo( ({ color, 'data-test-subj': dataTestSubj, icon, isDisabled, label, onClick }) => { - // const getTestId = useTestIdGenerator(dataTestSubj); return ( { + const testId = 'test'; + let renderComponent: (props: DataUsagePageProps) => RenderResult; + + beforeAll(() => { + jest.useFakeTimers(); + }); + + afterAll(() => { + jest.useRealTimers(); + }); + + beforeEach(() => { + jest.clearAllMocks(); + renderComponent = (props: DataUsagePageProps) => + render( + + + + ); + }); + + it('renders', () => { + const { getByTestId } = renderComponent({ title: 'test' }); + expect(getByTestId(`${testId}-header`)).toBeTruthy(); + }); + + it('should show page title', () => { + const { getByTestId } = renderComponent({ title: 'test header' }); + expect(getByTestId(`${testId}-title`)).toBeTruthy(); + expect(getByTestId(`${testId}-title`)).toHaveTextContent('test header'); + }); + + it('should show page description', () => { + const { getByTestId } = renderComponent({ title: 'test', subtitle: 'test description' }); + expect(getByTestId(`${testId}-description`)).toBeTruthy(); + expect(getByTestId(`${testId}-description`)).toHaveTextContent('test description'); + }); +}); diff --git a/x-pack/platform/plugins/private/data_usage/public/app/components/page.tsx b/x-pack/platform/plugins/private/data_usage/public/app/components/page.tsx index d7ff20f5e933f..0a8f363b0a25f 100644 --- a/x-pack/platform/plugins/private/data_usage/public/app/components/page.tsx +++ b/x-pack/platform/plugins/private/data_usage/public/app/components/page.tsx @@ -16,45 +16,57 @@ import { EuiTitle, EuiSpacer, } from '@elastic/eui'; +import { useTestIdGenerator } from '../../hooks/use_test_id_generator'; -interface DataUsagePageProps { +export interface DataUsagePageProps { title: React.ReactNode; subtitle?: React.ReactNode; actions?: React.ReactNode; restrictWidth?: boolean | number; hasBottomBorder?: boolean; hideHeader?: boolean; + 'data-test-subj'?: string; } export const DataUsagePage = memo>( - ({ title, subtitle, children, restrictWidth = false, hasBottomBorder = true, ...otherProps }) => { + ({ + title, + subtitle, + children, + restrictWidth = false, + hasBottomBorder = true, + 'data-test-subj': dataTestSubj, + ...otherProps + }) => { + const getTestId = useTestIdGenerator(dataTestSubj); + const header = useMemo(() => { return ( - {title} + {title} ); - }, [, title]); + }, [getTestId, title]); const description = useMemo(() => { return subtitle ? ( - {subtitle} + {subtitle} ) : undefined; - }, [subtitle]); + }, [getTestId, subtitle]); return ( -
+
<> diff --git a/x-pack/platform/plugins/private/data_usage/public/app/data_usage_metrics_page.test.tsx b/x-pack/platform/plugins/private/data_usage/public/app/data_usage_metrics_page.test.tsx new file mode 100644 index 0000000000000..18f49d8042e71 --- /dev/null +++ b/x-pack/platform/plugins/private/data_usage/public/app/data_usage_metrics_page.test.tsx @@ -0,0 +1,111 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import React from 'react'; +import { TestProvider } from '../../common/test_utils'; +import { render, type RenderResult } from '@testing-library/react'; +import { DataUsageMetricsPage } from './data_usage_metrics_page'; +import { coreMock as mockCore } from '@kbn/core/public/mocks'; +import { useGetDataUsageMetrics } from '../hooks/use_get_usage_metrics'; +import { useGetDataUsageDataStreams } from '../hooks/use_get_data_streams'; +import { mockUseKibana } from './mocks'; + +jest.mock('../hooks/use_get_usage_metrics'); +jest.mock('../hooks/use_get_data_streams'); +const mockServices = mockCore.createStart(); +jest.mock('../utils/use_breadcrumbs', () => { + return { + useBreadcrumbs: jest.fn(), + }; +}); +jest.mock('../utils/use_kibana', () => { + return { + useKibanaContextForPlugin: () => ({ + services: mockServices, + }), + }; +}); + +const mockUseLocation = jest.fn(() => ({ pathname: '/' })); +jest.mock('react-router-dom', () => ({ + ...jest.requireActual('react-router-dom'), + useLocation: () => mockUseLocation(), + useHistory: jest.fn().mockReturnValue({ + push: jest.fn(), + listen: jest.fn(), + location: { + search: '', + }, + }), +})); + +jest.mock('@kbn/kibana-react-plugin/public', () => { + const original = jest.requireActual('@kbn/kibana-react-plugin/public'); + return { + ...original, + useKibana: () => mockUseKibana, + }; +}); + +const mockUseGetDataUsageMetrics = useGetDataUsageMetrics as jest.Mock; +const mockUseGetDataUsageDataStreams = useGetDataUsageDataStreams as jest.Mock; + +const getBaseMockedDataStreams = () => ({ + error: undefined, + data: undefined, + isFetching: false, + refetch: jest.fn(), +}); +const getBaseMockedDataUsageMetrics = () => ({ + error: undefined, + data: undefined, + isFetching: false, + refetch: jest.fn(), +}); + +describe('DataUsageMetrics Page', () => { + const testId = 'test'; + let renderComponent: () => RenderResult; + + beforeAll(() => { + jest.useFakeTimers(); + }); + + afterAll(() => { + jest.useRealTimers(); + }); + + beforeEach(() => { + jest.clearAllMocks(); + renderComponent = () => + render( + + + + ); + mockUseGetDataUsageMetrics.mockReturnValue(getBaseMockedDataUsageMetrics); + mockUseGetDataUsageDataStreams.mockReturnValue(getBaseMockedDataStreams); + }); + + it('renders', () => { + const { getByTestId } = renderComponent(); + expect(getByTestId(`${testId}-page-header`)).toBeTruthy(); + }); + + it('should show page title', () => { + const { getByTestId } = renderComponent(); + expect(getByTestId(`${testId}-page-title`)).toBeTruthy(); + expect(getByTestId(`${testId}-page-title`)).toHaveTextContent('Data Usage'); + }); + + it('should show page description', () => { + const { getByTestId } = renderComponent(); + expect(getByTestId(`${testId}-page-description`)).toBeTruthy(); + expect(getByTestId(`${testId}-page-description`)).toHaveTextContent( + 'Monitor data ingested and retained by data streams over the past 10 days.' + ); + }); +}); diff --git a/x-pack/platform/plugins/private/data_usage/public/app/data_usage_metrics_page.tsx b/x-pack/platform/plugins/private/data_usage/public/app/data_usage_metrics_page.tsx index adc53e12b5749..7edc2b57e360c 100644 --- a/x-pack/platform/plugins/private/data_usage/public/app/data_usage_metrics_page.tsx +++ b/x-pack/platform/plugins/private/data_usage/public/app/data_usage_metrics_page.tsx @@ -5,21 +5,29 @@ * 2.0. */ -import React from 'react'; +import React, { memo } from 'react'; import { DataUsagePage } from './components/page'; import { DATA_USAGE_PAGE } from '../translations'; import { DataUsageMetrics } from './components/data_usage_metrics'; +import { useTestIdGenerator } from '../hooks/use_test_id_generator'; -export const DataUsageMetricsPage = () => { - return ( - - - - ); -}; +export interface DataUsageMetricsPageProps { + 'data-test-subj'?: string; +} +export const DataUsageMetricsPage = memo( + ({ 'data-test-subj': dataTestSubj = 'data-usage' }) => { + const getTestId = useTestIdGenerator(dataTestSubj); + + return ( + + + + ); + } +); DataUsageMetricsPage.displayName = 'DataUsageMetricsPage'; diff --git a/x-pack/platform/plugins/private/data_usage/public/app/hooks/use_charts_filter.tsx b/x-pack/platform/plugins/private/data_usage/public/app/hooks/use_charts_filter.tsx index 012a6027aadb2..429ffab06637a 100644 --- a/x-pack/platform/plugins/private/data_usage/public/app/hooks/use_charts_filter.tsx +++ b/x-pack/platform/plugins/private/data_usage/public/app/hooks/use_charts_filter.tsx @@ -5,14 +5,15 @@ * 2.0. */ -import { useState, useEffect, useMemo } from 'react'; +import React, { useState, useEffect, useMemo } from 'react'; +import { EuiIconTip } from '@elastic/eui'; import { DEFAULT_SELECTED_OPTIONS } from '../../../common'; import { METRIC_TYPE_VALUES, METRIC_TYPE_API_VALUES_TO_UI_OPTIONS_MAP, isDefaultMetricType, } from '../../../common/rest_types'; -import { FILTER_NAMES } from '../../translations'; +import { FILTER_NAMES, UX_LABELS } from '../../translations'; import { useDataUsageMetricsUrlParams } from './use_charts_url_params'; import { formatBytes } from '../../utils/format_bytes'; import { ChartsFilterProps } from '../components/filters/charts_filter'; @@ -68,41 +69,80 @@ export const useChartsFilter = ({ // eslint-disable-next-line react-hooks/exhaustive-deps }, []); - // filter options - const [items, setItems] = useState( - isMetricTypesFilter - ? METRIC_TYPE_VALUES.map((metricType) => ({ - key: metricType, - label: METRIC_TYPE_API_VALUES_TO_UI_OPTIONS_MAP[metricType], - checked: selectedMetricTypesFromUrl - ? selectedMetricTypesFromUrl.includes(metricType) - ? 'on' - : undefined - : isDefaultMetricType(metricType) // default metrics are selected by default + const initialSelectedOptions = useMemo(() => { + if (isMetricTypesFilter) { + return METRIC_TYPE_VALUES.map((metricType) => ({ + key: metricType, + label: METRIC_TYPE_API_VALUES_TO_UI_OPTIONS_MAP[metricType], + checked: selectedMetricTypesFromUrl + ? selectedMetricTypesFromUrl.includes(metricType) ? 'on' - : undefined, - 'data-test-subj': `${filterOptions.filterName}-filter-option`, - })) - : isDataStreamsFilter && !!filterOptions.options.length - ? filterOptions.options?.map((filterOption, i) => ({ - key: filterOption, - label: filterOption, - append: formatBytes(filterOptions.appendOptions?.[filterOption] ?? 0), - checked: selectedDataStreamsFromUrl - ? selectedDataStreamsFromUrl.includes(filterOption) - ? 'on' - : undefined - : i < DEFAULT_SELECTED_OPTIONS + : undefined + : isDefaultMetricType(metricType) // default metrics are selected by default + ? 'on' + : undefined, + 'data-test-subj': `${filterOptions.filterName}-filter-option`, + })) as FilterItems; + } + let dataStreamOptions: FilterItems = []; + + if (isDataStreamsFilter && !!filterOptions.options.length) { + dataStreamOptions = filterOptions.options?.map((filterOption, i) => ({ + key: filterOption, + label: filterOption, + append: formatBytes(filterOptions.appendOptions?.[filterOption] ?? 0), + checked: selectedDataStreamsFromUrl + ? selectedDataStreamsFromUrl.includes(filterOption) ? 'on' - : undefined, - 'data-test-subj': `${filterOptions.filterName}-filter-option`, - })) - : [] - ); + : undefined + : i < DEFAULT_SELECTED_OPTIONS + ? 'on' + : undefined, + 'data-test-subj': `${filterOptions.filterName}-filter-option`, + truncationProps: { + truncation: 'start', + truncationOffset: 15, + }, + })); + } - const hasActiveFilters = useMemo(() => !!items.find((item) => item.checked === 'on'), [items]); + return [ + { + label: UX_LABELS.filters.dataStreams.label, + append: ( + + {UX_LABELS.filters.dataStreams.append} + + + ), + isGroupLabel: true, + 'data-test-subj': `${filterOptions.filterName}-group-label`, + }, + ...dataStreamOptions, + ]; + }, [ + filterOptions.appendOptions, + filterOptions.filterName, + filterOptions.options, + isDataStreamsFilter, + isMetricTypesFilter, + selectedDataStreamsFromUrl, + selectedMetricTypesFromUrl, + ]); + // filter options + const [items, setItems] = useState(initialSelectedOptions); + + const hasActiveFilters = useMemo( + () => !!items.find((item) => !item.isGroupLabel && item.checked === 'on'), + [items] + ); const numActiveFilters = useMemo( - () => items.filter((item) => item.checked === 'on').length, + () => items.filter((item) => !item.isGroupLabel && item.checked === 'on').length, [items] ); const numFilters = useMemo( diff --git a/x-pack/platform/plugins/private/data_usage/public/app/hooks/use_date_picker.tsx b/x-pack/platform/plugins/private/data_usage/public/app/hooks/use_date_picker.tsx index 6b7e6f792b69b..ce5c70584946d 100644 --- a/x-pack/platform/plugins/private/data_usage/public/app/hooks/use_date_picker.tsx +++ b/x-pack/platform/plugins/private/data_usage/public/app/hooks/use_date_picker.tsx @@ -5,14 +5,14 @@ * 2.0. */ -import { useCallback, useState } from 'react'; +import { useCallback, useMemo, useState } from 'react'; import type { DurationRange, OnRefreshChangeProps, } from '@elastic/eui/src/components/date_picker/types'; import { useDataUsageMetricsUrlParams } from './use_charts_url_params'; import { DateRangePickerValues } from '../components/filters/date_picker'; -import { DEFAULT_DATE_RANGE_OPTIONS } from '../../../common/utils'; +import { DEFAULT_DATE_RANGE_OPTIONS, isDateRangeValid } from '../../../common/utils'; export const useDateRangePicker = () => { const { @@ -85,5 +85,14 @@ export const useDateRangePicker = () => { ] ); - return { dateRangePickerState, onRefreshChange, onTimeChange }; + const isValidDateRange = useMemo( + () => + isDateRangeValid({ + start: dateRangePickerState.startDate, + end: dateRangePickerState.endDate, + }), + [dateRangePickerState.endDate, dateRangePickerState.startDate] + ); + + return { dateRangePickerState, isValidDateRange, onRefreshChange, onTimeChange }; }; diff --git a/x-pack/platform/plugins/private/data_usage/public/app/mocks.ts b/x-pack/platform/plugins/private/data_usage/public/app/mocks.ts new file mode 100644 index 0000000000000..eed86c4bc6dc2 --- /dev/null +++ b/x-pack/platform/plugins/private/data_usage/public/app/mocks.ts @@ -0,0 +1,65 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +export const mockUseKibana = { + services: { + uiSettings: { + get: jest.fn().mockImplementation((key) => { + const get = (k: 'dateFormat' | 'timepicker:quickRanges') => { + const x = { + dateFormat: 'MMM D, YYYY @ HH:mm:ss.SSS', + 'timepicker:quickRanges': [ + { + from: 'now/d', + to: 'now/d', + display: 'Today', + }, + { + from: 'now/w', + to: 'now/w', + display: 'This week', + }, + { + from: 'now-15m', + to: 'now', + display: 'Last 15 minutes', + }, + { + from: 'now-30m', + to: 'now', + display: 'Last 30 minutes', + }, + { + from: 'now-1h', + to: 'now', + display: 'Last 1 hour', + }, + { + from: 'now-24h', + to: 'now', + display: 'Last 24 hours', + }, + { + from: 'now-7d', + to: 'now', + display: 'Last 7 days', + }, + ], + }; + return x[k]; + }; + return get(key); + }), + }, + }, +}; + +export const generateDataStreams = (count: number) => { + return Array.from({ length: count }, (_, i) => ({ + name: `.ds-${i}`, + storageSizeBytes: 1024 ** 2 * (22 / 7), + })); +}; diff --git a/x-pack/platform/plugins/private/data_usage/public/hooks/use_get_data_streams.ts b/x-pack/platform/plugins/private/data_usage/public/hooks/use_get_data_streams.ts index d43c3fff139fb..0dc9d7d535eb1 100644 --- a/x-pack/platform/plugins/private/data_usage/public/hooks/use_get_data_streams.ts +++ b/x-pack/platform/plugins/private/data_usage/public/hooks/use_get_data_streams.ts @@ -8,14 +8,15 @@ import type { UseQueryOptions, UseQueryResult } from '@tanstack/react-query'; import { useQuery } from '@tanstack/react-query'; import type { IHttpFetchError } from '@kbn/core-http-browser'; +import { DataStreamsResponseBodySchemaBody } from '../../common/rest_types'; import { DATA_USAGE_DATA_STREAMS_API_ROUTE, DEFAULT_SELECTED_OPTIONS } from '../../common'; import { useKibanaContextForPlugin } from '../utils/use_kibana'; -type GetDataUsageDataStreamsResponse = Array<{ - name: string; - storageSizeBytes: number; - selected: boolean; -}>; +type GetDataUsageDataStreamsResponse = Array< + DataStreamsResponseBodySchemaBody[number] & { + selected: boolean; + } +>; export const useGetDataUsageDataStreams = ({ selectedDataStreams, @@ -33,41 +34,42 @@ export const useGetDataUsageDataStreams = ({ ...options, keepPreviousData: true, queryFn: async ({ signal }) => { - const dataStreamsResponse = await http + return http .get(DATA_USAGE_DATA_STREAMS_API_ROUTE, { signal, version: '1', }) - .catch((error) => { - throw error.body; - }); - - const augmentedDataStreamsBasedOnSelectedItems = dataStreamsResponse.reduce<{ - selected: GetDataUsageDataStreamsResponse; - rest: GetDataUsageDataStreamsResponse; - }>( - (acc, ds, i) => { - const item = { - name: ds.name, - storageSizeBytes: ds.storageSizeBytes, - selected: ds.selected, - }; + .then((response) => { + const augmentedDataStreamsBasedOnSelectedItems = response.reduce<{ + selected: GetDataUsageDataStreamsResponse; + rest: GetDataUsageDataStreamsResponse; + }>( + (acc, ds, i) => { + const item = { + name: ds.name, + storageSizeBytes: ds.storageSizeBytes, + selected: ds.selected, + }; - if (selectedDataStreams?.includes(ds.name) && i < DEFAULT_SELECTED_OPTIONS) { - acc.selected.push({ ...item, selected: true }); - } else { - acc.rest.push({ ...item, selected: false }); - } + if (selectedDataStreams?.includes(ds.name) && i < DEFAULT_SELECTED_OPTIONS) { + acc.selected.push({ ...item, selected: true }); + } else { + acc.rest.push({ ...item, selected: false }); + } - return acc; - }, - { selected: [], rest: [] } - ); + return acc; + }, + { selected: [], rest: [] } + ); - return [ - ...augmentedDataStreamsBasedOnSelectedItems.selected, - ...augmentedDataStreamsBasedOnSelectedItems.rest, - ]; + return [ + ...augmentedDataStreamsBasedOnSelectedItems.selected, + ...augmentedDataStreamsBasedOnSelectedItems.rest, + ]; + }) + .catch((error) => { + throw error.body; + }); }, }); }; diff --git a/x-pack/platform/plugins/private/data_usage/public/translations.tsx b/x-pack/platform/plugins/private/data_usage/public/translations.tsx index 0996ec2bb6d50..ba70f0cdc1787 100644 --- a/x-pack/platform/plugins/private/data_usage/public/translations.tsx +++ b/x-pack/platform/plugins/private/data_usage/public/translations.tsx @@ -34,11 +34,27 @@ export const DATA_USAGE_PAGE = Object.freeze({ defaultMessage: 'Data Usage', }), subTitle: i18n.translate('xpack.dataUsage.pageSubtitle', { - defaultMessage: 'Monitor data ingested and retained by data streams.', + defaultMessage: 'Monitor data ingested and retained by data streams over the past 10 days.', }), }); export const UX_LABELS = Object.freeze({ + filters: { + invalidDateRange: i18n.translate('xpack.dataUsage.metrics.filter.invalidDateRange', { + defaultMessage: 'The date range should be within 10 days from now.', + }), + dataStreams: { + label: i18n.translate('xpack.dataUsage.metrics.filter.dataStreams.label', { + defaultMessage: 'Name', + }), + append: i18n.translate('xpack.dataUsage.metrics.filter.dataStreams.append', { + defaultMessage: 'Size', + }), + appendTooltip: i18n.translate('xpack.dataUsage.metrics.filter.dataStreams.appendTooltip', { + defaultMessage: 'Storage size is not updated based on the selected date range.', + }), + }, + }, filterSelectAll: i18n.translate('xpack.dataUsage.metrics.filter.selectAll', { defaultMessage: 'Select all', }), diff --git a/x-pack/platform/plugins/private/data_usage/server/routes/internal/data_streams.test.ts b/x-pack/platform/plugins/private/data_usage/server/routes/internal/data_streams.test.ts index 9efe61bd75118..9316a64328c9b 100644 --- a/x-pack/platform/plugins/private/data_usage/server/routes/internal/data_streams.test.ts +++ b/x-pack/platform/plugins/private/data_usage/server/routes/internal/data_streams.test.ts @@ -127,6 +127,48 @@ describe('registerDataStreamsRoute', () => { }); }); + it('should not include `dot` indices/data streams that start with a `.`', async () => { + mockGetMeteringStats.mockResolvedValue({ + datastreams: [ + { + name: 'ds-1', + size_in_bytes: 100, + }, + { + name: '.ds-2', + size_in_bytes: 200, + }, + { + name: 'ds-3', + size_in_bytes: 500, + }, + { + name: '.ds-4', + size_in_bytes: 0, + }, + ], + }); + const mockRequest = httpServerMock.createKibanaRequest({ body: {} }); + const mockResponse = httpServerMock.createResponseFactory(); + const mockRouter = mockCore.http.createRouter.mock.results[0].value; + const [[, handler]] = mockRouter.versioned.get.mock.results[0].value.addVersion.mock.calls; + await handler(context, mockRequest, mockResponse); + + expect(mockResponse.ok).toHaveBeenCalledTimes(1); + expect(mockResponse.ok.mock.calls[0][0]).toEqual({ + body: [ + { + name: 'ds-3', + storageSizeBytes: 500, + }, + { + name: 'ds-1', + storageSizeBytes: 100, + }, + ], + }); + }); + it('should return correct error if metering stats request fails with an unknown error', async () => { // using custom error for test here to avoid having to import the actual error class mockGetMeteringStats.mockRejectedValue( @@ -178,9 +220,9 @@ describe('registerDataStreamsRoute', () => { }); it.each([ - ['no datastreams', {}, []], - ['empty array', { datastreams: [] }, []], - ['an empty element', { datastreams: [{}] }, []], + ['no datastreams key in response', { indices: [] }, []], + ['empty datastreams array', { indices: [], datastreams: [] }, []], + ['an empty element', { indices: [], datastreams: [{}] }, []], ])('should return empty array when no stats data with %s', async (_, stats, res) => { mockGetMeteringStats.mockResolvedValue(stats); const mockRequest = httpServerMock.createKibanaRequest({ body: {} }); @@ -189,9 +231,18 @@ describe('registerDataStreamsRoute', () => { const [[, handler]] = mockRouter.versioned.get.mock.results[0].value.addVersion.mock.calls; await handler(context, mockRequest, mockResponse); - expect(mockResponse.ok).toHaveBeenCalledTimes(1); - expect(mockResponse.ok.mock.calls[0][0]).toEqual({ - body: res, - }); + // @ts-expect-error + if (stats && stats.datastreams && stats.datastreams.length) { + expect(mockResponse.ok).toHaveBeenCalledTimes(1); + expect(mockResponse.ok.mock.calls[0][0]).toEqual({ + body: res, + }); + } else { + expect(mockResponse.customError).toHaveBeenCalledTimes(1); + expect(mockResponse.customError).toHaveBeenCalledWith({ + body: new CustomHttpRequestError('No user defined data streams found', 404), + statusCode: 404, + }); + } }); }); diff --git a/x-pack/platform/plugins/private/data_usage/server/routes/internal/data_streams_handler.ts b/x-pack/platform/plugins/private/data_usage/server/routes/internal/data_streams_handler.ts index 28967b9a0ee4a..0f472ca98065e 100644 --- a/x-pack/platform/plugins/private/data_usage/server/routes/internal/data_streams_handler.ts +++ b/x-pack/platform/plugins/private/data_usage/server/routes/internal/data_streams_handler.ts @@ -9,8 +9,12 @@ import { RequestHandler } from '@kbn/core/server'; import { DataUsageContext, DataUsageRequestHandlerContext } from '../../types'; import { errorHandler } from '../error_handler'; import { getMeteringStats } from '../../utils/get_metering_stats'; -import { DataStreamsRequestQuery } from '../../../common/rest_types/data_streams'; +import type { + DataStreamsRequestQuery, + DataStreamsResponseBodySchemaBody, +} from '../../../common/rest_types/data_streams'; import { NoIndicesMeteringError, NoPrivilegeMeteringError } from '../../errors'; +import { CustomHttpRequestError } from '../../utils'; export const getDataStreamsHandler = ( dataUsageContext: DataUsageContext @@ -23,24 +27,33 @@ export const getDataStreamsHandler = ( try { const core = await context.core; - const { datastreams: meteringStats } = await getMeteringStats( + const { datastreams: meteringStatsDataStreams } = await getMeteringStats( core.elasticsearch.client.asSecondaryAuthUser ); - const body = - meteringStats && !!meteringStats.length - ? meteringStats - .sort((a, b) => b.size_in_bytes - a.size_in_bytes) - .reduce>((acc, stat) => { - if (includeZeroStorage || stat.size_in_bytes > 0) { - acc.push({ - name: stat.name, - storageSizeBytes: stat.size_in_bytes ?? 0, - }); - } - return acc; - }, []) - : []; + const nonSystemDataStreams = meteringStatsDataStreams?.filter((dataStream) => { + return !dataStream.name?.startsWith('.'); + }); + + if (!nonSystemDataStreams || !nonSystemDataStreams.length) { + return errorHandler( + logger, + response, + new CustomHttpRequestError('No user defined data streams found', 404) + ); + } + + const body = nonSystemDataStreams + .reduce((acc, stat) => { + if (includeZeroStorage || stat.size_in_bytes > 0) { + acc.push({ + name: stat.name, + storageSizeBytes: stat.size_in_bytes, + }); + } + return acc; + }, []) + .sort((a, b) => b.storageSizeBytes - a.storageSizeBytes); return response.ok({ body, diff --git a/x-pack/test_serverless/functional/page_objects/svl_data_usage.ts b/x-pack/test_serverless/functional/page_objects/svl_data_usage.ts index 0f684c24fcae0..ccece1e10e113 100644 --- a/x-pack/test_serverless/functional/page_objects/svl_data_usage.ts +++ b/x-pack/test_serverless/functional/page_objects/svl_data_usage.ts @@ -13,7 +13,7 @@ export function SvlDataUsagePageProvider({ getService }: FtrProviderContext) { return { async assertDataUsagePageExists(): Promise { - return await testSubjects.exists('DataUsagePage'); + return await testSubjects.exists('data-usage-page'); }, async clickDatastreamsDropdown() { await testSubjects.click('data-usage-metrics-filter-dataStreams-popoverButton'); diff --git a/x-pack/test_serverless/functional/test_suites/common/data_usage/privileges.ts b/x-pack/test_serverless/functional/test_suites/common/data_usage/privileges.ts index 4efcdd2586a85..dab301dff34ea 100644 --- a/x-pack/test_serverless/functional/test_suites/common/data_usage/privileges.ts +++ b/x-pack/test_serverless/functional/test_suites/common/data_usage/privileges.ts @@ -30,11 +30,11 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { if (expectedVisible) { await pageObjects.svlManagementPage.assertDataUsageManagementCardExists(); await pageObjects.common.navigateToApp(dataUsageAppUrl); - await testSubjects.exists('DataUsagePage'); + await testSubjects.exists('data-usage-page'); } else { await pageObjects.svlManagementPage.assertDataUsageManagementCardDoesNotExist(); await pageObjects.common.navigateToApp(dataUsageAppUrl); - await testSubjects.missingOrFail('DataUsagePage'); + await testSubjects.missingOrFail('data-usage-page'); } };