Skip to content
15 changes: 15 additions & 0 deletions config/serverless.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,17 @@
newsfeed.enabled: false
xpack.fleet.enableExperimental: ['fleetServerStandalone']
xpack.fleet.internal.disableILMPolicies: true

# Management team plugins
xpack.upgrade_assistant.enabled: false
xpack.rollup.enabled: false
xpack.watcher.enabled: false
xpack.ccr.enabled: false
xpack.ilm.enabled: false
xpack.remote_clusters.enabled: false
xpack.snapshot_restore.enabled: false
xpack.license_management.enabled: false

# Other disabled plugins
xpack.canvas.enabled: false
xpack.reporting.enabled: false
1 change: 1 addition & 0 deletions x-pack/plugins/apm/server/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ const configSchema = schema.object({
latestAgentVersionsUrl: schema.string({
defaultValue: 'https://apm-agent-versions.elastic.co/versions.json',
}),
enabled: schema.boolean({ defaultValue: true }),
});

// plugin config
Expand Down
5 changes: 5 additions & 0 deletions x-pack/plugins/cross_cluster_replication/server/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ const schemaLatest = schema.object(
ui: schema.object({
enabled: schema.boolean({ defaultValue: true }),
}),
/**
* Disables the plugin.
* Added back in 8.8.
*/
enabled: schema.boolean({ defaultValue: true }),
},
{ defaultValue: undefined }
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,13 @@ export const mockKibanaValues = {
),
} as unknown as ApplicationStart,
capabilities: {} as Capabilities,
config: { host: 'http://localhost:3002' },
charts: chartPluginMock.createStartContract(),
cloud: {
...cloudMock.createSetup(),
isCloudEnabled: false,
deployment_url: 'https://cloud.elastic.co/deployments/some-id',
isCloudEnabled: false,
},
config: { host: 'http://localhost:3002' },
data: dataPluginMock.createStartContract(),
guidedOnboarding: {},
history: mockHistory,
Expand All @@ -50,12 +50,12 @@ export const mockKibanaValues = {
hasNativeConnectors: true,
hasWebCrawler: true,
},
uiSettings: uiSettingsServiceMock.createStartContract(),
renderHeaderActions: jest.fn(),
security: securityMock.createStart(),
setBreadcrumbs: jest.fn(),
setChromeIsVisible: jest.fn(),
setDocTitle: jest.fn(),
renderHeaderActions: jest.fn(),
uiSettings: uiSettingsServiceMock.createStartContract(),
};

jest.mock('../../shared/kibana', () => ({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,9 @@ export const KibanaLogic = kea<MakeLogicType<KibanaValues>>({
reducers: ({ props }) => ({
application: [props.application || {}, {}],
capabilities: [props.capabilities || {}, {}],
config: [props.config || {}, {}],
charts: [props.charts, {}],
cloud: [props.cloud || {}, {}],
config: [props.config || {}, {}],
data: [props.data, {}],
guidedOnboarding: [props.guidedOnboarding, {}],
history: [props.history, {}],
Expand Down
1 change: 1 addition & 0 deletions x-pack/plugins/enterprise_search/server/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ export const configSchema = schema.object({
accessCheckTimeoutWarning: schema.number({ defaultValue: 300 }),
canDeployEntSearch: schema.boolean({ defaultValue: true }),
customHeaders: schema.maybe(schema.object({}, { unknowns: 'allow' })),
enabled: schema.boolean({ defaultValue: true }),
hasConnectors: schema.boolean({ defaultValue: true }),
hasDefaultIngestPipeline: schema.boolean({ defaultValue: true }),
hasNativeConnectors: schema.boolean({ defaultValue: true }),
Expand Down
2 changes: 1 addition & 1 deletion x-pack/plugins/fleet/common/authz.ts
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ export function calculatePackagePrivilegesFromCapabilities(
return {
...acc,
[privilege]: {
executePackageAction: capabilities.siem[privilegeName] || false,
executePackageAction: (capabilities.siem && capabilities.siem[privilegeName]) || false,
},
};
},
Expand Down
1 change: 1 addition & 0 deletions x-pack/plugins/fleet/server/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,7 @@ export const config: PluginConfigDescriptor = {
}),
})
),
enabled: schema.boolean({ defaultValue: true }),
}),
};

Expand Down
5 changes: 5 additions & 0 deletions x-pack/plugins/index_lifecycle_management/server/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@ const schemaLatest = schema.object(
}),
// Cloud requires the ability to hide internal node attributes from users.
filteredNodeAttributes: schema.arrayOf(schema.string(), { defaultValue: [] }),
/**
* Disables the plugin.
* Added back in 8.8.
*/
enabled: schema.boolean({ defaultValue: true }),
},
{ defaultValue: undefined }
);
Expand Down
5 changes: 5 additions & 0 deletions x-pack/plugins/license_management/server/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ const schemaLatest = schema.object(
ui: schema.object({
enabled: schema.boolean({ defaultValue: true }),
}),
/**
* Disables the plugin.
* Added back in 8.8.
*/
enabled: schema.boolean({ defaultValue: true }),
},
{ defaultValue: undefined }
);
Expand Down
1 change: 1 addition & 0 deletions x-pack/plugins/observability/server/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ const configSchema = schema.object({
}),
}),
}),
enabled: schema.boolean({ defaultValue: true }),
});

export const config: PluginConfigDescriptor = {
Expand Down
5 changes: 5 additions & 0 deletions x-pack/plugins/remote_clusters/server/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ const schemaLatest = schema.object(
ui: schema.object({
enabled: schema.boolean({ defaultValue: true }),
}),
/**
* Disables the plugin.
* Added back in 8.8.
*/
enabled: schema.boolean({ defaultValue: true }),
},
{ defaultValue: undefined }
);
Expand Down
5 changes: 5 additions & 0 deletions x-pack/plugins/rollup/server/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ const schemaLatest = schema.object(
ui: schema.object({
enabled: schema.boolean({ defaultValue: true }),
}),
/**
* Disables the plugin.
* Added back in 8.8.
*/
enabled: schema.boolean({ defaultValue: true }),
},
{ defaultValue: undefined }
);
Expand Down
1 change: 1 addition & 0 deletions x-pack/plugins/security_solution/server/config.mock.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ export const createMockConfig = (): ConfigType => {
alertIgnoreFields: [],

experimentalFeatures: parseExperimentalConfigValue(enableExperimental),
enabled: true,
};
};

Expand Down
1 change: 1 addition & 0 deletions x-pack/plugins/security_solution/server/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,7 @@ export const configSchema = schema.object({
* the package is not already installed.
*/
prebuiltRulesPackageVersion: schema.maybe(schema.string()),
enabled: schema.boolean({ defaultValue: true }),
});

export type ConfigSchema = TypeOf<typeof configSchema>;
Expand Down
5 changes: 5 additions & 0 deletions x-pack/plugins/snapshot_restore/server/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,11 @@ const schemaLatest = schema.object(
slm_ui: schema.object({
enabled: schema.boolean({ defaultValue: true }),
}),
/**
* Disables the plugin.
* Added back in 8.8.
*/
enabled: schema.boolean({ defaultValue: true }),
},
{ defaultValue: undefined }
);
Expand Down
1 change: 1 addition & 0 deletions x-pack/plugins/synthetics/common/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ const serviceConfig = schema.object({
const uptimeConfig = schema.object({
index: schema.maybe(schema.string()),
service: schema.maybe(serviceConfig),
enabled: schema.boolean({ defaultValue: true }),
});

export const config: PluginConfigDescriptor = {
Expand Down
4 changes: 3 additions & 1 deletion x-pack/plugins/synthetics/kibana.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
"actions",
"alerting",
"cases",
"data",
"fleet",
"embeddable",
"discover",
"dataViews",
Expand Down Expand Up @@ -44,4 +46,4 @@
"indexLifecycleManagement"
]
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ describe('getServiceLocations', function () {
manifestUrl: 'http://local.dev',
showExperimentalLocations: false,
},
enabled: true,
},
// @ts-ignore
logger: {
Expand Down Expand Up @@ -101,6 +102,7 @@ describe('getServiceLocations', function () {
manifestUrl: 'http://local.dev',
showExperimentalLocations: false,
},
enabled: true,
},
// @ts-ignore
logger: {
Expand Down Expand Up @@ -138,6 +140,7 @@ describe('getServiceLocations', function () {
manifestUrl: 'http://local.dev',
showExperimentalLocations: true,
},
enabled: true,
},
// @ts-ignore
logger: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ describe('SyntheticsService', () => {
password: '12345',
manifestUrl: 'http://localhost:8080/api/manifest',
},
enabled: true,
},
coreStart: mockCoreStart,
encryptedSavedObjects: mockEncryptedSO(),
Expand All @@ -101,7 +102,11 @@ describe('SyntheticsService', () => {
};
});
serverMock.config = {
service: { devUrl: 'http://localhost', manifestUrl: 'https://test-manifest.com' },
service: {
devUrl: 'http://localhost',
manifestUrl: 'https://test-manifest.com',
},
enabled: true,
};
if (serverMock.savedObjectsClient) {
serverMock.savedObjectsClient.find = jest.fn().mockResolvedValue({
Expand Down Expand Up @@ -165,6 +170,7 @@ describe('SyntheticsService', () => {
username: 'dev',
password: '12345',
},
enabled: true,
};
const service = new SyntheticsService(serverMock);

Expand Down
8 changes: 8 additions & 0 deletions x-pack/plugins/upgrade_assistant/server/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@ import { PluginConfigDescriptor } from '@kbn/core/server';
// even for minor releases.
// -------------------------------
const configSchema = schema.object({
/**
* Disables the plugin.
*/
enabled: schema.boolean({ defaultValue: true }),

featureSet: schema.object({
/**
* Ml Snapshot should only be enabled for major version upgrades. Currently this
Expand Down Expand Up @@ -39,6 +44,9 @@ const configSchema = schema.object({
*/
reindexCorrectiveActions: schema.boolean({ defaultValue: false }),
}),
/**
* This config allows to hide the UI without disabling the plugin.
*/
ui: schema.object({
enabled: schema.boolean({ defaultValue: true }),
}),
Expand Down
8 changes: 8 additions & 0 deletions x-pack/plugins/watcher/server/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@
*/

import { PluginInitializerContext } from '@kbn/core/server';
import { schema } from '@kbn/config-schema';

import { WatcherServerPlugin } from './plugin';

export const plugin = (ctx: PluginInitializerContext) => new WatcherServerPlugin(ctx);

export const config = {
schema: schema.object({
enabled: schema.boolean({ defaultValue: true }),
}),
};