Skip to content

Commit

Permalink
Use packageInfo object instead of RegistryPackage where possible
Browse files Browse the repository at this point in the history
  • Loading branch information
kpollich committed Feb 10, 2022
1 parent 13e218d commit e2f2fea
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import type {
RegistryElasticsearch,
InstallablePackage,
IndexTemplate,
PackageInfo,
} from '../../../../types';
import { loadFieldsFromYaml, processFields } from '../../fields/field';
import type { Field } from '../../fields/field';
Expand All @@ -31,6 +32,8 @@ import type { ESAssetMetadata } from '../meta';
import { getESAssetMetadata } from '../meta';
import { retryTransientEsErrors } from '../retry';

import { getPackageInfo } from '../../packages';

import {
generateMappings,
generateTemplateName,
Expand Down Expand Up @@ -62,10 +65,16 @@ export const installTemplates = async (
const dataStreams = installablePackage.data_streams;
if (!dataStreams) return [];

const packageInfo = await getPackageInfo({
savedObjectsClient,
pkgName: installablePackage.name,
pkgVersion: installablePackage.version,
});

const installedTemplatesNested = await Promise.all(
dataStreams.map((dataStream) =>
installTemplateForDataStream({
pkg: installablePackage,
pkg: packageInfo,
esClient,
logger,
dataStream,
Expand Down Expand Up @@ -177,7 +186,7 @@ export async function installTemplateForDataStream({
logger,
dataStream,
}: {
pkg: InstallablePackage;
pkg: PackageInfo;
esClient: ElasticsearchClient;
logger: Logger;
dataStream: RegistryDataStream;
Expand Down
4 changes: 2 additions & 2 deletions x-pack/plugins/fleet/server/services/epm/fields/field.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

import { safeLoad } from 'js-yaml';

import type { InstallablePackage } from '../../../types';
import type { PackageInfo } from '../../../types';
import { getAssetsData } from '../packages/assets';

// This should become a copy of https://github.com/elastic/beats/blob/d9a4c9c240a9820fab15002592e5bb6db318543b/libbeat/mapping/field.go#L39
Expand Down Expand Up @@ -261,7 +261,7 @@ const isFields = (path: string) => {
*/

export const loadFieldsFromYaml = async (
pkg: InstallablePackage,
pkg: PackageInfo,
datasetName?: string
): Promise<Field[]> => {
// Fetch all field definition files
Expand Down
6 changes: 3 additions & 3 deletions x-pack/plugins/fleet/server/services/epm/packages/assets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* 2.0.
*/

import type { InstallablePackage } from '../../../types';
import type { PackageInfo } from '../../../types';
import { getArchiveFilelist, getAsset } from '../archive';
import type { ArchiveEntry } from '../archive';

Expand All @@ -17,7 +17,7 @@ import type { ArchiveEntry } from '../archive';
// and different package and version structure

export function getAssets(
packageInfo: InstallablePackage,
packageInfo: PackageInfo,
filter = (path: string): boolean => true,
datasetName?: string
): string[] {
Expand Down Expand Up @@ -52,7 +52,7 @@ export function getAssets(
// ASK: Does getAssetsData need an installSource now?
// if so, should it be an Installation vs InstallablePackage or add another argument?
export async function getAssetsData(
packageInfo: InstallablePackage,
packageInfo: PackageInfo,
filter = (path: string): boolean => true,
datasetName?: string
): Promise<ArchiveEntry[]> {
Expand Down
15 changes: 4 additions & 11 deletions x-pack/plugins/fleet/server/services/package_policy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -823,12 +823,7 @@ class PackagePolicyService {
inputs: PackagePolicyInput[]
): Promise<PackagePolicyInput[]> {
const inputsPromises = inputs.map(async (input) => {
const compiledInput = await _compilePackagePolicyInput(
installablePackage,
pkgInfo,
vars,
input
);
const compiledInput = await _compilePackagePolicyInput(pkgInfo, vars, input);
const compiledStreams = await _compilePackageStreams(
installablePackage,
pkgInfo,
Expand Down Expand Up @@ -945,7 +940,6 @@ function assignStreamIdToInput(packagePolicyId: string, input: NewPackagePolicyI
}

async function _compilePackagePolicyInput(
installablePackage: InstallablePackage,
pkgInfo: PackageInfo,
vars: PackagePolicy['vars'],
input: PackagePolicyInput
Expand All @@ -970,7 +964,7 @@ async function _compilePackagePolicyInput(
return undefined;
}

const [pkgInputTemplate] = await getAssetsData(installablePackage, (path: string) =>
const [pkgInputTemplate] = await getAssetsData(pkgInfo, (path: string) =>
path.endsWith(`/agent/input/${packageInput.template_path!}`)
);

Expand All @@ -992,7 +986,7 @@ async function _compilePackageStreams(
input: PackagePolicyInput
) {
const streamsPromises = input.streams.map((stream) =>
_compilePackageStream(installablePackage, pkgInfo, vars, input, stream)
_compilePackageStream(pkgInfo, vars, input, stream)
);

return await Promise.all(streamsPromises);
Expand Down Expand Up @@ -1035,7 +1029,6 @@ export function _applyIndexPrivileges(
}

async function _compilePackageStream(
installablePackage: InstallablePackage,
pkgInfo: PackageInfo,
vars: PackagePolicy['vars'],
input: PackagePolicyInput,
Expand Down Expand Up @@ -1078,7 +1071,7 @@ async function _compilePackageStream(
const datasetPath = packageDataStream.path;

const [pkgStreamTemplate] = await getAssetsData(
installablePackage,
pkgInfo,
(path: string) => path.endsWith(streamFromPkg.template_path),
datasetPath
);
Expand Down

0 comments on commit e2f2fea

Please sign in to comment.