[APM] Fix spaces issue for static index patterns (#95799)

This commit is contained in:
Søren Louv-Jansen 2021-04-01 00:43:20 +02:00 committed by GitHub
parent 0cdf445718
commit e0a1fe18be
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 35 additions and 11 deletions

View file

@ -12,6 +12,7 @@
"infra"
],
"optionalPlugins": [
"spaces",
"cloud",
"usageCollection",
"taskManager",

View file

@ -36,7 +36,12 @@ describe('createStaticIndexPattern', () => {
'xpack.apm.autocreateApmIndexPattern': false,
});
const savedObjectsClient = getMockSavedObjectsClient();
await createStaticIndexPattern(setup, context, savedObjectsClient);
await createStaticIndexPattern(
setup,
context,
savedObjectsClient,
'default'
);
expect(savedObjectsClient.create).not.toHaveBeenCalled();
});
@ -53,7 +58,12 @@ describe('createStaticIndexPattern', () => {
const savedObjectsClient = getMockSavedObjectsClient();
await createStaticIndexPattern(setup, context, savedObjectsClient);
await createStaticIndexPattern(
setup,
context,
savedObjectsClient,
'default'
);
expect(savedObjectsClient.create).not.toHaveBeenCalled();
});
@ -70,7 +80,12 @@ describe('createStaticIndexPattern', () => {
const savedObjectsClient = getMockSavedObjectsClient();
await createStaticIndexPattern(setup, context, savedObjectsClient);
await createStaticIndexPattern(
setup,
context,
savedObjectsClient,
'default'
);
expect(savedObjectsClient.create).toHaveBeenCalled();
});

View file

@ -20,7 +20,8 @@ import { getApmIndexPatternTitle } from './get_apm_index_pattern_title';
export async function createStaticIndexPattern(
setup: Setup,
context: APMRequestHandlerContext,
savedObjectsClient: InternalSavedObjectsClient
savedObjectsClient: InternalSavedObjectsClient,
spaceId: string | undefined
): Promise<boolean> {
return withApmSpan('create_static_index_pattern', async () => {
const { config } = context;
@ -46,7 +47,11 @@ export async function createStaticIndexPattern(
...apmIndexPattern.attributes,
title: apmIndexPatternTitle,
},
{ id: APM_STATIC_INDEX_PATTERN_ID, overwrite: false }
{
id: APM_STATIC_INDEX_PATTERN_ID,
overwrite: false,
namespace: spaceId,
}
)
);
return true;

View file

@ -16,6 +16,7 @@ import {
Plugin,
PluginInitializerContext,
} from 'src/core/server';
import { SpacesPluginSetup } from '../../spaces/server';
import { APMConfig, APMXPackConfig } from '.';
import { mergeConfigs } from './index';
import { APMOSSPluginSetup } from '../../../../src/plugins/apm_oss/server';
@ -65,6 +66,7 @@ export class APMPlugin implements Plugin<APMPluginSetup> {
public setup(
core: CoreSetup,
plugins: {
spaces?: SpacesPluginSetup;
apmOss: APMOSSPluginSetup;
home: HomeServerPluginSetup;
licensing: LicensingPluginSetup;
@ -148,11 +150,7 @@ export class APMPlugin implements Plugin<APMPluginSetup> {
createApmApi().init(core, {
config$: mergedConfig$,
logger: this.logger!,
plugins: {
observability: plugins.observability,
security: plugins.security,
ml: plugins.ml,
},
plugins,
});
const boundGetApmIndices = async () =>

View file

@ -21,10 +21,13 @@ export const staticIndexPatternRoute = createRoute((core) => ({
getInternalSavedObjectsClient(core),
]);
const spaceId = context.plugins.spaces?.spacesService.getSpaceId(request);
const didCreateIndexPattern = await createStaticIndexPattern(
setup,
context,
savedObjectsClient
savedObjectsClient,
spaceId
);
return { created: didCreateIndexPattern };

View file

@ -14,6 +14,7 @@ import {
} from 'src/core/server';
import { Observable } from 'rxjs';
import { RequiredKeys, DeepPartial } from 'utility-types';
import { SpacesPluginStart } from '../../../spaces/server';
import { ObservabilityPluginSetup } from '../../../observability/server';
import { LicensingApiRequestHandlerContext } from '../../../licensing/server';
import { SecurityPluginSetup } from '../../../security/server';
@ -93,6 +94,7 @@ export type APMRequestHandlerContext<
config: APMConfig;
logger: Logger;
plugins: {
spaces?: SpacesPluginStart;
observability?: ObservabilityPluginSetup;
security?: SecurityPluginSetup;
ml?: MlPluginSetup;