Skip to content

Commit

Permalink
install missing package
Browse files Browse the repository at this point in the history
  • Loading branch information
shahzad31 committed Sep 24, 2024
1 parent b78b633 commit ca09a53
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 5 deletions.
27 changes: 24 additions & 3 deletions x-pack/plugins/fleet/server/services/package_policy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,12 @@ import { getAuthzFromRequest, doesNotHaveRequiredFleetAuthz } from './security';

import { storedPackagePolicyToAgentInputs } from './agent_policies';
import { agentPolicyService } from './agent_policy';
import { getPackageInfo, getInstallation, ensureInstalledPackage } from './epm/packages';
import {
getPackageInfo,
getInstallation,
ensureInstalledPackage,
getInstallationObject,
} from './epm/packages';
import { getAssetsDataFromAssetsMap } from './epm/packages/assets';
import { compileTemplate } from './epm/agent/agent';
import { escapeSearchQueryPhrase, normalizeKuery as _normalizeKuery } from './saved_object';
Expand Down Expand Up @@ -1874,9 +1879,25 @@ class PackagePolicyClientImpl implements PackagePolicyClient {
public async buildPackagePolicyFromPackage(
soClient: SavedObjectsClientContract,
pkgName: string,
logger?: Logger
options?: { logger?: Logger; installMissingPackage?: boolean }
): Promise<NewPackagePolicy | undefined> {
const pkgInstall = await getInstallation({ savedObjectsClient: soClient, pkgName, logger });
const pkgInstallObj = await getInstallationObject({
savedObjectsClient: soClient,
pkgName,
logger: options?.logger,
});
let pkgInstall = pkgInstallObj?.attributes;
if (!pkgInstall && options?.installMissingPackage) {
const esClient = await appContextService.getInternalUserESClient();
const result = await ensureInstalledPackage({
esClient,
pkgName,
savedObjectsClient: soClient,
});
if (result.package) {
pkgInstall = result.package;
}
}
if (pkgInstall) {
const packageInfo = await getPackageInfo({
savedObjectsClient: soClient,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ export interface PackagePolicyClient {
buildPackagePolicyFromPackage(
soClient: SavedObjectsClientContract,
pkgName: string,
logger?: Logger
options: { logger?: Logger; installMissingPackage?: boolean }
): Promise<NewPackagePolicy | undefined>;

runExternalCallbacks<A extends ExternalCallback[0]>(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ export class SyntheticsPrivateLocation {
const newPolicy = await this.server.fleet.packagePolicyService.buildPackagePolicyFromPackage(
soClient,
'synthetics',
this.server.logger
{ logger: this.server.logger, installMissingPackage: true }
);

if (!newPolicy) {
Expand Down

0 comments on commit ca09a53

Please sign in to comment.