From fb1d9cc1485864d54fbddd0bd8e945ccae00f501 Mon Sep 17 00:00:00 2001 From: Devin Hurley Date: Thu, 1 Jul 2021 18:15:23 -0400 Subject: [PATCH] resolve merge conflicts after rebase with master --- x-pack/plugins/apm/server/plugin.ts | 4 ++-- x-pack/plugins/observability/server/plugin.ts | 1 + .../server/rule_data_plugin_service/index.ts | 18 +++++++++++++----- .../rule_data_plugin_service.mock.ts | 1 + .../plugins/security_solution/server/plugin.ts | 1 + 5 files changed, 18 insertions(+), 7 deletions(-) diff --git a/x-pack/plugins/apm/server/plugin.ts b/x-pack/plugins/apm/server/plugin.ts index 24d6fd80c15fb..8a89e07c83711 100644 --- a/x-pack/plugins/apm/server/plugin.ts +++ b/x-pack/plugins/apm/server/plugin.ts @@ -18,7 +18,6 @@ import { import { mapValues, once } from 'lodash'; import { TECHNICAL_COMPONENT_TEMPLATE_NAME } from '../../rule_registry/common/assets'; import { mappingFromFieldMap } from '../../rule_registry/common/mapping_from_field_map'; -import { RuleDataClient } from '../../rule_registry/server'; import { APMConfig, APMXPackConfig, APM_SERVER_FEATURE_ID } from '.'; import { mergeConfigs } from './index'; import { UI_SETTINGS } from '../../../../src/plugins/data/common'; @@ -184,6 +183,7 @@ export class APMPlugin ); const ruleDataClient = ruleDataService.getRuleDataClient( + APM_SERVER_FEATURE_ID, ruleDataService.getFullAssetName('observability-apm'), () => initializeRuleDataTemplatesPromise ); @@ -202,7 +202,7 @@ export class APMPlugin }) as APMRouteHandlerResources['plugins']; const telemetryUsageCounter = resourcePlugins.usageCollection?.setup.createUsageCounter( - 'apm' + APM_SERVER_FEATURE_ID ); registerRoutes({ diff --git a/x-pack/plugins/observability/server/plugin.ts b/x-pack/plugins/observability/server/plugin.ts index d820a6c0a6f76..3e8f511eb1153 100644 --- a/x-pack/plugins/observability/server/plugin.ts +++ b/x-pack/plugins/observability/server/plugin.ts @@ -99,6 +99,7 @@ export class ObservabilityPlugin implements Plugin { const start = () => core.getStartServices().then(([coreStart]) => coreStart); const ruleDataClient = plugins.ruleRegistry.ruleDataService.getRuleDataClient( + 'observability', plugins.ruleRegistry.ruleDataService.getFullAssetName(), () => Promise.resolve() ); diff --git a/x-pack/plugins/rule_registry/server/rule_data_plugin_service/index.ts b/x-pack/plugins/rule_registry/server/rule_data_plugin_service/index.ts index d21f0be6da45e..05da0696a794c 100644 --- a/x-pack/plugins/rule_registry/server/rule_data_plugin_service/index.ts +++ b/x-pack/plugins/rule_registry/server/rule_data_plugin_service/index.ts @@ -18,6 +18,7 @@ import { defaultLifecyclePolicy } from '../../common/assets/lifecycle_policies/d import { ClusterPutComponentTemplateBody, PutIndexTemplateRequest } from '../../common/types'; import { RuleDataClient } from '../rule_data_client'; import { RuleDataWriteDisabledError } from './errors'; +import { ValidFeatureId } from '../utils/rbac'; const BOOTSTRAP_TIMEOUT = 60000; @@ -52,11 +53,8 @@ function createSignal() { export class RuleDataPluginService { signal = createSignal(); - private readonly fullAssetName; - constructor(private readonly options: RuleDataPluginServiceConstructorOptions) { - this.fullAssetName = options.index; - } + constructor(private readonly options: RuleDataPluginServiceConstructorOptions) {} private assertWriteEnabled() { if (!this.isWriteEnabled()) { @@ -158,6 +156,16 @@ export class RuleDataPluginService { } getFullAssetName(assetName?: string) { - return [this.fullAssetName, assetName].filter(Boolean).join('-'); + return [this.options.index, assetName].filter(Boolean).join('-'); + } + + getRuleDataClient(feature: ValidFeatureId, alias: string, initialize: () => Promise) { + return new RuleDataClient({ + alias, + feature, + getClusterClient: () => this.getClusterClient(), + isWriteEnabled: this.isWriteEnabled(), + ready: initialize, + }); } } diff --git a/x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.mock.ts b/x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.mock.ts index d5f89ad8b7889..e3a9872b877ae 100644 --- a/x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.mock.ts +++ b/x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.mock.ts @@ -20,6 +20,7 @@ const createRuleDataPluginServiceMock = (_: RuleDataPluginServiceConstructorOpti createOrUpdateComponentTemplate: jest.fn(), createOrUpdateIndexTemplate: jest.fn(), createOrUpdateLifecyclePolicy: jest.fn(), + getRuleDataClient: jest.fn(), }; return mocked; }; diff --git a/x-pack/plugins/security_solution/server/plugin.ts b/x-pack/plugins/security_solution/server/plugin.ts index 2f3850ff49f4c..290957bed7199 100644 --- a/x-pack/plugins/security_solution/server/plugin.ts +++ b/x-pack/plugins/security_solution/server/plugin.ts @@ -237,6 +237,7 @@ export class Plugin implements IPlugin initializeRuleDataTemplatesPromise );