Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -392,7 +392,6 @@ src/platform/packages/private/kbn-transpose-utils @elastic/kibana-visualizations
src/platform/packages/private/kbn-ui-shared-deps-npm @elastic/kibana-operations
src/platform/packages/private/kbn-ui-shared-deps-src @elastic/kibana-operations
src/platform/packages/private/kbn-unsaved-changes-badge @elastic/kibana-data-discovery
src/platform/packages/private/serverless/project_switcher @elastic/appex-sharedux
src/platform/packages/private/serverless/settings/common @elastic/appex-sharedux @elastic/kibana-management
src/platform/packages/private/serverless/types @elastic/appex-sharedux
src/platform/packages/private/shared-ux/page/analytics_no_data/impl @elastic/appex-sharedux
Expand Down
3 changes: 0 additions & 3 deletions config/serverless.es.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,9 +76,6 @@ xpack.serverless.search.enabled: true
## Set the home route
uiSettings.overrides.defaultRoute: /app/elasticsearch

## Set the dev project switcher current type
xpack.serverless.plugin.developer.projectSwitcher.currentType: 'search'

# Specify in telemetry the project type
telemetry.labels.serverless: search

Expand Down
3 changes: 0 additions & 3 deletions config/serverless.oblt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -138,9 +138,6 @@ uiSettings.overrides.defaultRoute: /app/observability/landing
# Customize empty page state for analytics apps
no_data_page.analyticsNoDataPageFlavor: 'serverless_observability'

## Set the dev project switch current type
xpack.serverless.plugin.developer.projectSwitcher.currentType: 'observability'

## Disable adding the component template `.fleet_agent_id_verification-1` to every index template for each datastream for each integration
xpack.fleet.agentIdVerificationEnabled: false

Expand Down
3 changes: 0 additions & 3 deletions config/serverless.security.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,9 +108,6 @@ newsfeed.enabled: true
## Set the home route
uiSettings.overrides.defaultRoute: /app/security/get_started

## Set the dev project switcher current type
xpack.serverless.plugin.developer.projectSwitcher.currentType: 'security'

# Specify in telemetry the project type
telemetry.labels.serverless: security

Expand Down
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -868,7 +868,6 @@
"@kbn/serverless-common-settings": "link:src/platform/packages/private/serverless/settings/common",
"@kbn/serverless-observability": "link:x-pack/solutions/observability/plugins/serverless_observability",
"@kbn/serverless-observability-settings": "link:src/platform/packages/shared/serverless/settings/observability_project",
"@kbn/serverless-project-switcher": "link:src/platform/packages/private/serverless/project_switcher",
"@kbn/serverless-search": "link:x-pack/solutions/search/plugins/serverless_search",
"@kbn/serverless-search-settings": "link:src/platform/packages/shared/serverless/settings/search_project",
"@kbn/serverless-security-settings": "link:src/platform/packages/shared/serverless/settings/security_project",
Expand Down
29 changes: 1 addition & 28 deletions src/cli/serve/compile_config_stack.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

import _ from 'lodash';

import { readFileSync, writeFileSync, statSync, existsSync } from 'fs';
import { statSync } from 'fs';
import { resolve } from 'path';
import { getConfigPath, getConfigDirectory } from '@kbn/utils';
import { getConfigFromFiles } from '@kbn/config';
Expand Down Expand Up @@ -37,11 +37,6 @@ export function compileConfigStack({ configOverrides, devConfig, dev, serverless
configs.push(resolveConfig('kibana.dev.yml'));
}

if (dev && serverless) {
writeProjectSwitcherConfig('serverless.recent.dev.yml', serverless);
configs.push(resolveConfig('serverless.recent.dev.yml'));
}

// Filter out all config paths that didn't exist
configs = configs.filter(isNotNull);

Expand Down Expand Up @@ -82,27 +77,6 @@ function resolveConfig(fileName) {
}
}

/**
* @param {string} fileName
* @param {object} opts
*/
function writeProjectSwitcherConfig(fileName, serverlessOption) {
const path = resolve(getConfigDirectory(), fileName);
const configAlreadyExists = existsSync(path);

const preserveExistingConfig = serverlessOption === true;
const serverlessMode = validateServerlessMode(serverlessOption) || 'es';

if (configAlreadyExists && preserveExistingConfig) {
return;
} else {
const content = `xpack.serverless.plugin.developer.projectSwitcher.enabled: true\nserverless: ${serverlessMode}\n`;
if (!configAlreadyExists || readFileSync(path).toString() !== content) {
writeFileSync(path, content);
}
}
}

/**
* @param {string} filePath Path to the config file
* @returns {boolean} Whether the file exists
Expand Down Expand Up @@ -143,7 +117,6 @@ function validateServerlessMode(serverlessMode) {
}

if (serverlessMode === true) {
// Defaulting to read the project-switcher's settings in `serverless.recent.dev.yml`
return null;
}

Expand Down
50 changes: 1 addition & 49 deletions src/cli/serve/compile_config_stack.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jest.mock('@kbn/repo-info', () => ({
}));
jest.mock('@kbn/config');

import { statSync, existsSync, writeFileSync } from 'fs';
import { statSync } from 'fs';
import { getConfigFromFiles } from '@kbn/config';

import { compileConfigStack } from './compile_config_stack';
Expand Down Expand Up @@ -69,20 +69,12 @@ describe('compileConfigStack', () => {
'serverless.security.yml',
'kibana.yml',
'kibana.dev.yml',
'serverless.recent.dev.yml',
'serverless.dev.yml',
'serverless.security.dev.yml',
]);
});

it('defaults to "es" if --serverless and --dev are there', async () => {
existsSync.mockImplementationOnce((filename) => {
if (Path.basename(filename) === 'serverless.recent.dev.yml') {
return false;
} else {
return true;
}
});
getConfigFromFiles.mockImplementationOnce(() => {
return {
serverless: 'es',
Expand All @@ -94,55 +86,15 @@ describe('compileConfigStack', () => {
serverless: true,
}).map(toFileNames);

expect(existsSync).toHaveBeenCalledWith(
'/some/imaginary/path/config/serverless.recent.dev.yml'
);
expect(writeFileSync).toHaveBeenCalledWith(
'/some/imaginary/path/config/serverless.recent.dev.yml',
expect.stringContaining('serverless: es')
);
expect(configList).toEqual([
'serverless.yml',
'serverless.es.yml',
'kibana.yml',
'kibana.dev.yml',
'serverless.recent.dev.yml',
'serverless.dev.yml',
'serverless.es.dev.yml',
]);
});

it('respects persisted project-switcher decision when --serverless && --dev true', async () => {
existsSync.mockImplementationOnce((filename) => {
if (Path.basename(filename) === 'serverless.recent.dev.yml') {
return true;
}
});
getConfigFromFiles.mockImplementationOnce(() => {
return {
serverless: 'oblt',
};
});

const configList = compileConfigStack({
dev: true,
serverless: true,
}).map(toFileNames);

expect(existsSync).toHaveBeenCalledWith(
'/some/imaginary/path/config/serverless.recent.dev.yml'
);
expect(writeFileSync).not.toHaveBeenCalled();
expect(configList).toEqual([
'serverless.yml',
'serverless.oblt.yml',
'kibana.yml',
'kibana.dev.yml',
'serverless.recent.dev.yml',
'serverless.dev.yml',
'serverless.oblt.dev.yml',
]);
});
});

function toFileNames(path) {
Expand Down
21 changes: 0 additions & 21 deletions src/cli/serve/integration_tests/serverless_config_flag.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,9 @@

import { spawn, spawnSync, ChildProcessWithoutNullStreams } from 'child_process';
import type { Readable } from 'stream';
import { readFileSync } from 'fs';
import { resolve } from 'path';
import { filter, firstValueFrom, from, concatMap } from 'rxjs';

import { REPO_ROOT } from '@kbn/repo-info';
import { getConfigDirectory } from '@kbn/utils';

// Failing: See https://github.com/elastic/kibana/issues/163257
// Failing: See https://github.com/elastic/kibana/issues/163258
Expand Down Expand Up @@ -63,24 +60,6 @@ describe.skip('cli serverless project type', () => {
20 * 1000
);

it.each(['es', 'oblt', 'security'])(
'writes the serverless project type %s in config/serverless.recent.dev.yml',
async (mode) => {
// Making sure `--serverless` translates into the `serverless` config entry, and validates against the accepted values
child = spawn(process.execPath, ['scripts/kibana', '--dev', `--serverless=${mode}`], {
cwd: REPO_ROOT,
});

// Wait until Kibana starts bootstrapping (at that point the file should be present)
const found = await waitForMessage(child.stdout, 'Kibana process configured with roles');
expect(found).not.toContain('FATAL');

expect(
readFileSync(resolve(getConfigDirectory(), 'serverless.recent.dev.yml'), 'utf-8')
).toContain(`serverless: ${mode}\n`);
}
);

it.each(['es', 'oblt', 'security'])(
'Kibana does not crash when running project type %s',
async (mode) => {
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading