Skip to content

Commit c8f0c61

Browse files
juliaElasticclaude
andcommitted
[Fleet] only auto-install content packages newer than the installed version
Backport of elastic#262509 to 9.3 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent c8c051d commit c8f0c61

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

x-pack/platform/plugins/shared/fleet/server/tasks/auto_install_content_packages_task.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
* 2.0.
66
*/
77
import pMap from 'p-map';
8+
import semverGt from 'semver/functions/gt';
89
import {
910
type CoreSetup,
1011
type ElasticsearchClient,
@@ -239,7 +240,8 @@ export class AutoInstallContentPackagesTask {
239240
this.discoveryMap!
240241
).reduce((acc, [dataset, mapValue]) => {
241242
const packages = mapValue.packages.filter(
242-
(pkg) => !installedPackagesMap[pkg.name] || installedPackagesMap[pkg.name] !== pkg.version
243+
(pkg) =>
244+
!installedPackagesMap[pkg.name] || semverGt(pkg.version, installedPackagesMap[pkg.name])
243245
);
244246
if (packages.length > 0) {
245247
acc[dataset] = { packages };
@@ -256,7 +258,8 @@ export class AutoInstallContentPackagesTask {
256258
if (
257259
mapValue.packages.every(
258260
(pkg) =>
259-
installedPackagesMap[pkg.name] && installedPackagesMap[pkg.name] === pkg.version
261+
installedPackagesMap[pkg.name] &&
262+
!semverGt(pkg.version, installedPackagesMap[pkg.name])
260263
)
261264
) {
262265
acc.push(dataset);
@@ -280,7 +283,7 @@ export class AutoInstallContentPackagesTask {
280283

281284
if (hasData) {
282285
for (const { name, version } of packages) {
283-
if (!installedPackagesMap[name] || installedPackagesMap[name] !== version) {
286+
if (!installedPackagesMap[name] || semverGt(version, installedPackagesMap[name])) {
284287
packagesToInstall[name] = version;
285288
}
286289
}

0 commit comments

Comments
 (0)