Skip to content

Commit

Permalink
Fix prebuilt rules bootstrap endpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
banderror committed Dec 23, 2024
1 parent 3dcae51 commit 73f0088
Showing 1 changed file with 19 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,12 @@ export async function installPrebuiltRulesPackage(
config: ConfigType,
context: SecuritySolutionApiRequestHandlerContext
) {
const pkgVersion = await findLatestPackageVersion(config, context, PREBUILT_RULES_PACKAGE_NAME);
let pkgVersion = config.prebuiltRulesPackageVersion;

if (!pkgVersion) {
// Find latest package if the version isn't specified in the config
pkgVersion = await findLatestPackageVersion(context, PREBUILT_RULES_PACKAGE_NAME);
}

return context
.getInternalFleetServices()
Expand All @@ -33,7 +38,7 @@ export async function installEndpointPackage(
config: ConfigType,
context: SecuritySolutionApiRequestHandlerContext
) {
const pkgVersion = await findLatestPackageVersion(config, context, ENDPOINT_PACKAGE_NAME);
const pkgVersion = await findLatestPackageVersion(context, ENDPOINT_PACKAGE_NAME);

return context.getInternalFleetServices().packages.ensureInstalledPackage({
pkgName: ENDPOINT_PACKAGE_NAME,
Expand All @@ -42,25 +47,21 @@ export async function installEndpointPackage(
}

async function findLatestPackageVersion(
config: ConfigType,
context: SecuritySolutionApiRequestHandlerContext,
packageName: string
) {
let pkgVersion = config.prebuiltRulesPackageVersion;
const securityAppClient = context.getAppClient();
const packageClient = context.getInternalFleetServices().packages;

// Find latest package if the version isn't specified in the config
if (!pkgVersion) {
const securityAppClient = context.getAppClient();
// Use prerelease versions in dev environment
const isPrerelease =
securityAppClient.getBuildFlavor() === 'traditional' &&
(securityAppClient.getKibanaVersion().includes('-SNAPSHOT') ||
securityAppClient.getKibanaBranch() === 'main');
// Use prerelease versions in dev environment
const isPrerelease =
securityAppClient.getBuildFlavor() === 'traditional' &&
(securityAppClient.getKibanaVersion().includes('-SNAPSHOT') ||
securityAppClient.getKibanaBranch() === 'main');

const result = await context
.getInternalFleetServices()
.packages.fetchFindLatestPackage(packageName, { prerelease: isPrerelease });
pkgVersion = result.version;
}
return pkgVersion;
const result = await packageClient.fetchFindLatestPackage(packageName, {
prerelease: isPrerelease,
});

return result.version;
}

0 comments on commit 73f0088

Please sign in to comment.