[Search][Configuration] Remove Enterprise Search node values (#208856)

## Summary

This removes the config values associated with the enterprise search
node.

### Checklist

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
This commit is contained in:
Rodney Norris 2025-01-30 13:28:26 -06:00 committed by GitHub
parent 758768136d
commit 26fac70c9b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 30 additions and 98 deletions

View file

@ -1,26 +0,0 @@
[role="xpack"]
[[enterprise-search-settings-kb]]
=== Enterprise Search settings in {kib}
++++
<titleabbrev>Enterprise Search settings</titleabbrev>
++++
On Elastic Cloud, you do not need to configure any settings to use Enterprise Search in {kib}. It is enabled by default. On self-managed installations, you must configure `enterpriseSearch.host`.
`enterpriseSearch.host`::
The http(s) URL of your Enterprise Search instance. For example, in a local self-managed setup,
set this to `http://localhost:3002`. Authentication between {kib} and the Enterprise Search host URL,
such as via OAuth, is not supported. You can also
{enterprise-search-ref}/configure-ssl-tls.html#configure-ssl-tls-in-kibana[configure {kib} to trust
your Enterprise Search TLS certificate authority].
`enterpriseSearch.accessCheckTimeout`::
When launching the Enterprise Search UI, the maximum number of milliseconds for {kib} to wait
for a response from Enterprise Search
before considering the attempt failed and logging a warning.
Default: 5000.
`enterpriseSearch.accessCheckTimeoutWarning`::
When launching the Enterprise Search UI, the maximum number of milliseconds for {kib} to wait for a response from
Enterprise Search before logging a warning. Default: 300.

View file

@ -691,7 +691,6 @@ include::{kibana-root}/docs/settings/alert-action-settings.asciidoc[]
include::{kibana-root}/docs/settings/apm-settings.asciidoc[]
include::{kibana-root}/docs/settings/banners-settings.asciidoc[]
include::{kibana-root}/docs/settings/cases-settings.asciidoc[leveloffset=+1]
include::{kibana-root}/docs/settings/enterprise-search-settings.asciidoc[]
include::{kibana-root}/docs/settings/fleet-settings.asciidoc[]
include::{kibana-root}/docs/settings/i18n-settings.asciidoc[]
include::{kibana-root}/docs/settings/logging-settings.asciidoc[]

View file

@ -83,9 +83,6 @@ kibana_vars=(
elasticsearch.ssl.truststore.path
elasticsearch.ssl.verificationMode
elasticsearch.username
enterpriseSearch.accessCheckTimeout
enterpriseSearch.accessCheckTimeoutWarning
enterpriseSearch.host
externalUrl.policy
i18n.locale
interactiveSetup.enabled

View file

@ -128,8 +128,6 @@ export default function ({ getService }: PluginFunctionalProviderContext) {
'data_visualizer.resultLinks.fileBeat.enabled (boolean)',
'dev_tools.deeplinks.navLinkStatus (string?)',
'discover.experimental.enabledProfiles (array?)',
'enterpriseSearch.host (string?)',
'enterpriseSearch.ui.enabled (boolean?)',
'home.disableWelcomeScreen (boolean?)',
'management.deeplinks.navLinkStatus (string?)',
'map.emsFileApiUrl (string?)',

View file

@ -35,12 +35,8 @@ export interface Meta {
page: MetaPage;
}
export interface ClientConfigType {
host?: string;
ui: {
enabled: boolean;
};
}
// eslint-disable-next-line @typescript-eslint/no-empty-interface
export interface ClientConfigType {}
export type { ConnectorStats } from './connector_stats';
export type { ElasticsearchIndexWithPrivileges } from './indices';

View file

@ -45,7 +45,6 @@ export const mockKibanaProps: KibanaLogicProps = {
isCloudEnabled: false,
},
config: {
host: 'http://localhost:3002',
ui: {
enabled: true,
},

View file

@ -209,10 +209,6 @@ export class EnterpriseSearchPlugin implements Plugin {
private isSidebarEnabled = true;
public setup(core: CoreSetup, plugins: PluginsSetup) {
const { config } = this;
if (!config.ui?.enabled) {
return;
}
const { cloud, share } = plugins;
core.application.register({
@ -481,9 +477,6 @@ export class EnterpriseSearchPlugin implements Plugin {
private readonly sideNavDynamicItems$ = new BehaviorSubject<DynamicSideNavItems>({});
public start(core: CoreStart, plugins: PluginsStart) {
if (!this.config.ui?.enabled) {
return;
}
// This must be called here in start() and not in `applications/index.tsx` to prevent loading
// race conditions with our apps' `routes.ts` being initialized before `renderApp()`
docLinks.setDocLinks(core.docLinks);

View file

@ -18,22 +18,12 @@ export const mockMl = mlPluginServerMock.createSetupContract();
export const mockConfig: ConfigType = {
enabled: true,
host: 'http://localhost:3002',
accessCheckTimeout: 5000,
accessCheckTimeoutWarning: 300,
ssl: {
verificationMode: 'none',
},
hasConnectors: true,
hasDefaultIngestPipeline: true,
hasDocumentLevelSecurityEnabled: true,
hasIncrementalSyncEnabled: true,
hasNativeConnectors: true,
hasWebCrawler: true,
isCloud: false,
ui: {
enabled: true,
},
};
/**

View file

@ -0,0 +1,25 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
import { schema, TypeOf } from '@kbn/config-schema';
import { PluginConfigDescriptor } from '@kbn/core/server';
export const configSchema = schema.object({
enabled: schema.boolean({ defaultValue: true }),
hasConnectors: schema.boolean({ defaultValue: true }),
hasDefaultIngestPipeline: schema.boolean({ defaultValue: true }),
hasDocumentLevelSecurityEnabled: schema.boolean({ defaultValue: true }),
hasIncrementalSyncEnabled: schema.boolean({ defaultValue: true }),
hasNativeConnectors: schema.boolean({ defaultValue: true }),
hasWebCrawler: schema.boolean({ defaultValue: false }),
});
export type ConfigType = TypeOf<typeof configSchema>;
export const config: PluginConfigDescriptor<ConfigType> = {
schema: configSchema,
};

View file

@ -5,50 +5,11 @@
* 2.0.
*/
import { schema, TypeOf } from '@kbn/config-schema';
import { PluginInitializerContext, PluginConfigDescriptor } from '@kbn/core/server';
import { PluginInitializerContext } from '@kbn/core/server';
export { config, configSchema, type ConfigType } from './config';
export const plugin = async (initializerContext: PluginInitializerContext) => {
const { EnterpriseSearchPlugin } = await import('./plugin');
return new EnterpriseSearchPlugin(initializerContext);
};
export const configSchema = schema.object({
accessCheckTimeout: schema.number({ defaultValue: 5000 }),
accessCheckTimeoutWarning: schema.number({ defaultValue: 300 }),
customHeaders: schema.maybe(schema.object({}, { unknowns: 'allow' })),
enabled: schema.boolean({ defaultValue: true }),
hasConnectors: schema.boolean({ defaultValue: true }),
hasDefaultIngestPipeline: schema.boolean({ defaultValue: true }),
hasDocumentLevelSecurityEnabled: schema.boolean({ defaultValue: true }),
hasIncrementalSyncEnabled: schema.boolean({ defaultValue: true }),
hasNativeConnectors: schema.boolean({ defaultValue: true }),
hasWebCrawler: schema.boolean({ defaultValue: false }),
host: schema.maybe(schema.string()),
isCloud: schema.boolean({ defaultValue: false }),
ssl: schema.object({
certificateAuthorities: schema.maybe(
schema.oneOf([schema.arrayOf(schema.string(), { minSize: 1 }), schema.string()])
),
verificationMode: schema.oneOf(
[schema.literal('none'), schema.literal('certificate'), schema.literal('full')],
{ defaultValue: 'full' }
),
}),
ui: schema.object({
enabled: schema.boolean({ defaultValue: true }),
}),
});
export type ConfigType = TypeOf<typeof configSchema>;
export const config: PluginConfigDescriptor<ConfigType> = {
deprecations: ({ unused }) => [unused('canDeployEntSearch', { level: 'warning' })],
exposeToBrowser: {
host: true,
ui: true,
},
schema: configSchema,
};
export const CRAWLERS_INDEX = '.ent-search-actastic-crawler2_configurations_v2';