Revert "Custom path for data directory configuration is ignored (#157… (#158325)

Revert PR #157659 due to blocking serverless image promotion.
This commit is contained in:
Brad White 2023-05-23 14:22:35 -07:00 committed by GitHub
parent fb9e3c9ec8
commit 59c2ff5f20
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 10 additions and 82 deletions

View file

@ -1 +0,0 @@
path.data: /path/from/yml

View file

@ -6,9 +6,8 @@
* Side Public License, v 1.
*/
import { join } from 'path';
import { accessSync, constants } from 'fs';
import { getConfigPath, getDataPath, getLogsPath, getConfigDirectory, buildDataPaths } from '.';
import { getConfigPath, getDataPath, getLogsPath, getConfigDirectory } from '.';
import { REPO_ROOT } from '@kbn/repo-info';
expect.addSnapshotSerializer(
@ -47,52 +46,3 @@ describe('Default path finder', () => {
expect(() => accessSync(configPath, constants.R_OK)).not.toThrow();
});
});
describe('Custom data path finder', () => {
const originalArgv = process.argv;
beforeEach(() => {
process.argv = originalArgv;
});
it('overrides path.data when provided as command line argument', () => {
process.argv = ['--foo', 'bar', '--path.data', '/some/data/path', '--baz', 'xyz'];
/*
* Test buildDataPaths since getDataPath returns the first valid directory and
* custom paths do not exist in environment. Custom directories are built during env init.
*/
expect(buildDataPaths()).toMatchInlineSnapshot(`
Array [
<absolute path>/some/data/path,
<absolute path>/data,
"/var/lib/kibana",
]
`);
});
it('ignores the path.data flag when no value is provided', () => {
process.argv = ['--foo', 'bar', '--path.data', '--baz', 'xyz'];
expect(buildDataPaths()).toMatchInlineSnapshot(`
Array [
<absolute path>/data,
"/var/lib/kibana",
]
`);
});
it('overrides path.when when provided by kibana.yml', () => {
process.env.KBN_PATH_CONF = join(__dirname, '__fixtures__');
expect(buildDataPaths()).toMatchInlineSnapshot(`
Array [
<absolute path>/path/from/yml,
<absolute path>/data,
"/var/lib/kibana",
]
`);
delete process.env.KBN_PATH_CONF;
});
});

View file

@ -10,18 +10,14 @@ import { join } from 'path';
import { accessSync, constants } from 'fs';
import { TypeOf, schema } from '@kbn/config-schema';
import { REPO_ROOT } from '@kbn/repo-info';
import { getConfigFromFiles } from '@kbn/config';
import getopts from 'getopts';
const isString = (v: any): v is string => typeof v === 'string';
const buildConfigPaths = () => {
return [
process.env.KBN_PATH_CONF && join(process.env.KBN_PATH_CONF, 'kibana.yml'),
join(REPO_ROOT, 'config/kibana.yml'),
'/etc/kibana/kibana.yml',
].filter(isString);
};
const CONFIG_PATHS = [
process.env.KBN_PATH_CONF && join(process.env.KBN_PATH_CONF, 'kibana.yml'),
join(REPO_ROOT, 'config/kibana.yml'),
'/etc/kibana/kibana.yml',
].filter(isString);
const CONFIG_DIRECTORIES = [
process.env.KBN_PATH_CONF,
@ -29,6 +25,8 @@ const CONFIG_DIRECTORIES = [
'/etc/kibana',
].filter(isString);
const DATA_PATHS = [join(REPO_ROOT, 'data'), '/var/lib/kibana'].filter(isString);
const LOGS_PATHS = [join(REPO_ROOT, 'logs'), '/var/log/kibana'].filter(isString);
function findFile(paths: string[]) {
@ -43,29 +41,11 @@ function findFile(paths: string[]) {
return availablePath || paths[0];
}
export const buildDataPaths = (): string[] => {
const configDataPath = getConfigFromFiles([getConfigPath()]).path?.data;
const argv = process.argv.slice(2);
const options = getopts(argv, {
string: ['pathData'],
alias: {
pathData: 'path.data',
},
});
return [
!!options.pathData && join(REPO_ROOT, options.pathData),
configDataPath && join(REPO_ROOT, configDataPath),
join(REPO_ROOT, 'data'),
'/var/lib/kibana',
].filter(isString);
};
/**
* Get the path of kibana.yml
* @internal
*/
export const getConfigPath = () => findFile(buildConfigPaths());
export const getConfigPath = () => findFile(CONFIG_PATHS);
/**
* Get the directory containing configuration files
@ -77,7 +57,7 @@ export const getConfigDirectory = () => findFile(CONFIG_DIRECTORIES);
* Get the directory containing runtime data
* @internal
*/
export const getDataPath = () => findFile(buildDataPaths());
export const getDataPath = () => findFile(DATA_PATHS);
/**
* Get the directory containing logs

View file

@ -13,7 +13,6 @@
"kbn_references": [
"@kbn/config-schema",
"@kbn/repo-info",
"@kbn/config",
],
"exclude": [
"target/**/*",