mirror of
https://github.com/elastic/kibana.git
synced 2025-06-27 18:51:07 -04:00
[Fleet] Allow to enable global logs and metrics dataview creation with config enableManagedLogsAndMetricsDataviews (#205268)
This commit is contained in:
parent
7865d0951c
commit
dd31e406be
5 changed files with 28 additions and 7 deletions
|
@ -318,3 +318,6 @@ The features in this section are experimental and may be changed or removed comp
|
||||||
Elastic will make a best effort to fix any issues, but experimental features are not supported to the same level as generally available (GA) features.
|
Elastic will make a best effort to fix any issues, but experimental features are not supported to the same level as generally available (GA) features.
|
||||||
====
|
====
|
||||||
|
|
||||||
|
`xpack.fleet.enableManagedLogsAndMetricsDataviews`::
|
||||||
|
Set to `true` (default), to enable the automatic creation of global `logs-*` and `metrics-*` data views.
|
||||||
|
|
||||||
|
|
|
@ -51,6 +51,7 @@ export interface FleetConfigType {
|
||||||
agentIdVerificationEnabled?: boolean;
|
agentIdVerificationEnabled?: boolean;
|
||||||
eventIngestedEnabled?: boolean;
|
eventIngestedEnabled?: boolean;
|
||||||
enableExperimental?: string[];
|
enableExperimental?: string[];
|
||||||
|
enableManagedLogsAndMetricsDataviews?: boolean;
|
||||||
packageVerification?: {
|
packageVerification?: {
|
||||||
gpgKeyPath?: string;
|
gpgKeyPath?: string;
|
||||||
};
|
};
|
||||||
|
|
|
@ -131,6 +131,7 @@ export const config: PluginConfigDescriptor = {
|
||||||
{
|
{
|
||||||
isAirGapped: schema.maybe(schema.boolean({ defaultValue: false })),
|
isAirGapped: schema.maybe(schema.boolean({ defaultValue: false })),
|
||||||
enableDeleteUnenrolledAgents: schema.maybe(schema.boolean({ defaultValue: false })),
|
enableDeleteUnenrolledAgents: schema.maybe(schema.boolean({ defaultValue: false })),
|
||||||
|
enableManagedLogsAndMetricsDataviews: schema.boolean({ defaultValue: true }),
|
||||||
registryUrl: schema.maybe(schema.uri({ scheme: ['http', 'https'] })),
|
registryUrl: schema.maybe(schema.uri({ scheme: ['http', 'https'] })),
|
||||||
registryProxyUrl: schema.maybe(schema.uri({ scheme: ['http', 'https'] })),
|
registryProxyUrl: schema.maybe(schema.uri({ scheme: ['http', 'https'] })),
|
||||||
agents: schema.object({
|
agents: schema.object({
|
||||||
|
|
|
@ -35,6 +35,7 @@ import { withPackageSpan } from '../../packages/utils';
|
||||||
|
|
||||||
import { tagKibanaAssets } from './tag_assets';
|
import { tagKibanaAssets } from './tag_assets';
|
||||||
import { getSpaceAwareSaveobjectsClients } from './saved_objects';
|
import { getSpaceAwareSaveobjectsClients } from './saved_objects';
|
||||||
|
import { appContextService } from '../../..';
|
||||||
|
|
||||||
const MAX_ASSETS_TO_INSTALL_IN_PARALLEL = 1000;
|
const MAX_ASSETS_TO_INSTALL_IN_PARALLEL = 1000;
|
||||||
|
|
||||||
|
@ -133,8 +134,10 @@ export async function installKibanaAssets(options: {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
await createDefaultIndexPatterns(savedObjectsImporter);
|
await installManagedIndexPattern({
|
||||||
await makeManagedIndexPatternsGlobal(savedObjectsClient);
|
savedObjectsClient,
|
||||||
|
savedObjectsImporter,
|
||||||
|
});
|
||||||
|
|
||||||
return await installKibanaSavedObjects({
|
return await installKibanaSavedObjects({
|
||||||
logger,
|
logger,
|
||||||
|
@ -144,6 +147,19 @@ export async function installKibanaAssets(options: {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function installManagedIndexPattern({
|
||||||
|
savedObjectsClient,
|
||||||
|
savedObjectsImporter,
|
||||||
|
}: {
|
||||||
|
savedObjectsClient: SavedObjectsClientContract;
|
||||||
|
savedObjectsImporter: SavedObjectsImporterContract;
|
||||||
|
}) {
|
||||||
|
if (appContextService.getConfig()?.enableManagedLogsAndMetricsDataviews === true) {
|
||||||
|
await createDefaultIndexPatterns(savedObjectsImporter);
|
||||||
|
await makeManagedIndexPatternsGlobal(savedObjectsClient);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export async function createDefaultIndexPatterns(
|
export async function createDefaultIndexPatterns(
|
||||||
savedObjectsImporter: SavedObjectsImporterContract
|
savedObjectsImporter: SavedObjectsImporterContract
|
||||||
) {
|
) {
|
||||||
|
|
|
@ -13,13 +13,11 @@ import { getPathParts } from '../../archive';
|
||||||
|
|
||||||
import { saveKibanaAssetsRefs } from '../../packages/install';
|
import { saveKibanaAssetsRefs } from '../../packages/install';
|
||||||
|
|
||||||
import { makeManagedIndexPatternsGlobal } from '../index_pattern/install';
|
|
||||||
|
|
||||||
import type { ArchiveAsset } from './install';
|
import type { ArchiveAsset } from './install';
|
||||||
import {
|
import {
|
||||||
KibanaSavedObjectTypeMapping,
|
KibanaSavedObjectTypeMapping,
|
||||||
createDefaultIndexPatterns,
|
|
||||||
createSavedObjectKibanaAsset,
|
createSavedObjectKibanaAsset,
|
||||||
|
installManagedIndexPattern,
|
||||||
isKibanaAssetType,
|
isKibanaAssetType,
|
||||||
toAssetReference,
|
toAssetReference,
|
||||||
} from './install';
|
} from './install';
|
||||||
|
@ -45,8 +43,10 @@ export async function installKibanaAssetsWithStreaming({
|
||||||
const { savedObjectClientWithSpace, savedObjectsImporter } =
|
const { savedObjectClientWithSpace, savedObjectsImporter } =
|
||||||
getSpaceAwareSaveobjectsClients(spaceId);
|
getSpaceAwareSaveobjectsClients(spaceId);
|
||||||
|
|
||||||
await createDefaultIndexPatterns(savedObjectsImporter);
|
await installManagedIndexPattern({
|
||||||
await makeManagedIndexPatternsGlobal(savedObjectsClient);
|
savedObjectsImporter,
|
||||||
|
savedObjectsClient,
|
||||||
|
});
|
||||||
|
|
||||||
const assetRefs: KibanaAssetReference[] = [];
|
const assetRefs: KibanaAssetReference[] = [];
|
||||||
let batch: ArchiveAsset[] = [];
|
let batch: ArchiveAsset[] = [];
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue