diff --git a/src/cli_plugin/install/settings.js b/src/cli_plugin/install/settings.js index 2b0c34bfcd37..1d8fa2763f53 100644 --- a/src/cli_plugin/install/settings.js +++ b/src/cli_plugin/install/settings.js @@ -36,9 +36,12 @@ import { fromRoot } from '../../core/server/utils'; const LATEST_PLUGIN_BASE_URL = 'https://ci.opensearch.org/ci/dbc/distribution-build-opensearch-dashboards'; +const LATEST_WAZUH_PLUGIN_BASE_URL = 'https://packages-dev.wazuh.com/pre-release/ui/dashboard'; -function generateUrls({ version, plugin }) { - return [plugin, generatePluginUrl(version, plugin)]; +function generateUrls({ version, plugin, wazuhVersion }) { + return plugin.includes('wazuh') + ? [plugin, generateWazuhPluginUrl(wazuhVersion, plugin)] + : [plugin, generatePluginUrl(version, plugin)]; } function generatePluginUrl(version, plugin) { @@ -48,6 +51,10 @@ function generatePluginUrl(version, plugin) { return `${LATEST_PLUGIN_BASE_URL}/${version}/latest/${platform}/${arch}/tar/builds/opensearch-dashboards/plugins/${plugin}-${version}.zip`; } +function generateWazuhPluginUrl(version, plugin) { + return `${LATEST_WAZUH_PLUGIN_BASE_URL}/${plugin}-${version}-1.zip`; +} + export function parseMilliseconds(val) { let result; @@ -69,6 +76,7 @@ export function parse(command, options, osdPackage) { config: options.config || '', plugin: command, version: osdPackage.version, + wazuhVersion: osdPackage.wazuh.version, pluginDir: fromRoot('plugins'), }; @@ -76,5 +84,8 @@ export function parse(command, options, osdPackage) { settings.workingPath = resolve(settings.pluginDir, '.plugin.installing'); settings.tempArchiveFile = resolve(settings.workingPath, 'archive.part'); + // Clean up. + delete settings.wazuhVersion; + return settings; } diff --git a/src/cli_plugin/install/settings.test.js b/src/cli_plugin/install/settings.test.js index ac7cf94e6761..d958f06ec882 100644 --- a/src/cli_plugin/install/settings.test.js +++ b/src/cli_plugin/install/settings.test.js @@ -61,7 +61,12 @@ describe('parseMilliseconds function', function () { describe('parse function', function () { const command = 'plugin name'; const defaultOptions = { pluginDir: fromRoot('plugins') }; - const osdPackage = { version: 1234 }; + const osdPackage = { + version: 1234, + wazuh: { + version: 1234, + }, + }; afterAll(() => { Object.defineProperties(process, { diff --git a/src/core/public/injected_metadata/injected_metadata_service.ts b/src/core/public/injected_metadata/injected_metadata_service.ts index 7566dc31a435..03b98b8a598d 100644 --- a/src/core/public/injected_metadata/injected_metadata_service.ts +++ b/src/core/public/injected_metadata/injected_metadata_service.ts @@ -88,11 +88,11 @@ export interface InjectedMetadataParams { * @internal */ export class InjectedMetadataService { - private state = deepFreeze( - this.params.injectedMetadata - ) as InjectedMetadataParams['injectedMetadata']; + private state: InjectedMetadataParams['injectedMetadata']; - constructor(private readonly params: InjectedMetadataParams) {} + constructor(params: InjectedMetadataParams) { + this.state = deepFreeze(params.injectedMetadata) as InjectedMetadataParams['injectedMetadata']; + } public start(): InjectedMetadataStart { return this.setup(); @@ -153,7 +153,7 @@ export class InjectedMetadataService { }, getWazuhDocVersion: () => { - return this.state.wazuhVersion.slice(0, 3) || 'current'; + return this.state.wazuhVersion?.split('.').slice(0, 2).join('.') || 'current'; }, }; }