From 5a43e3875456854940e2b1eb98e6401b40fbd563 Mon Sep 17 00:00:00 2001 From: Ashokaditya Date: Wed, 6 Sep 2023 10:43:02 +0200 Subject: [PATCH 1/3] transition to fleet versioned APIs security_solution data loader scripts using fleet APIs need to move to versioned fleet APIs after changes in elastic/kibana/pull/163570 refs elastic/security-team/issues/7547 --- .../common/endpoint/data_loaders/index_fleet_agent.ts | 2 ++ .../data_loaders/index_fleet_endpoint_policy.ts | 2 ++ .../endpoint/data_loaders/setup_fleet_for_endpoint.ts | 10 ++++++++++ 3 files changed, 14 insertions(+) diff --git a/x-pack/plugins/security_solution/common/endpoint/data_loaders/index_fleet_agent.ts b/x-pack/plugins/security_solution/common/endpoint/data_loaders/index_fleet_agent.ts index 0b988d831c923..6d5728c1dd99b 100644 --- a/x-pack/plugins/security_solution/common/endpoint/data_loaders/index_fleet_agent.ts +++ b/x-pack/plugins/security_solution/common/endpoint/data_loaders/index_fleet_agent.ts @@ -11,6 +11,7 @@ import type { DeleteByQueryResponse } from '@elastic/elasticsearch/lib/api/types import type { KbnClient } from '@kbn/test'; import type { Agent, FleetServerAgent, GetOneAgentResponse } from '@kbn/fleet-plugin/common'; import { AGENT_API_ROUTES } from '@kbn/fleet-plugin/common'; +import { API_VERSIONS } from '@kbn/fleet-plugin/common/constants'; import type { HostMetadata } from '../types'; import { FleetAgentGenerator } from '../data_generators/fleet_agent_generator'; import { wrapErrorAndRejectPromise } from './utils'; @@ -90,6 +91,7 @@ const fetchFleetAgent = async (kbnClient: KbnClient, agentId: string): Promise ).data.item; diff --git a/x-pack/plugins/security_solution/common/endpoint/data_loaders/index_fleet_endpoint_policy.ts b/x-pack/plugins/security_solution/common/endpoint/data_loaders/index_fleet_endpoint_policy.ts index 0730eba99306c..8dcfffd74e035 100644 --- a/x-pack/plugins/security_solution/common/endpoint/data_loaders/index_fleet_endpoint_policy.ts +++ b/x-pack/plugins/security_solution/common/endpoint/data_loaders/index_fleet_endpoint_policy.ts @@ -18,6 +18,7 @@ import type { } from '@kbn/fleet-plugin/common'; import { AGENT_POLICY_API_ROUTES, PACKAGE_POLICY_API_ROUTES } from '@kbn/fleet-plugin/common'; import { memoize } from 'lodash'; +import { API_VERSIONS } from '@kbn/fleet-plugin/common/constants'; import { getEndpointPackageInfo } from '../utils/package'; import type { PolicyData } from '../types'; import { policyFactory as policyConfigFactory } from '../models/policy_config'; @@ -63,6 +64,7 @@ export const indexFleetEndpointPolicy = async ( path: AGENT_POLICY_API_ROUTES.CREATE_PATTERN, method: 'POST', body: newAgentPolicyData, + headers: { 'elastic-api-version': API_VERSIONS.public.v1 }, }) .catch(wrapErrorAndRejectPromise)) as AxiosResponse; } catch (error) { diff --git a/x-pack/plugins/security_solution/common/endpoint/data_loaders/setup_fleet_for_endpoint.ts b/x-pack/plugins/security_solution/common/endpoint/data_loaders/setup_fleet_for_endpoint.ts index 177dccce73714..32055d2293de2 100644 --- a/x-pack/plugins/security_solution/common/endpoint/data_loaders/setup_fleet_for_endpoint.ts +++ b/x-pack/plugins/security_solution/common/endpoint/data_loaders/setup_fleet_for_endpoint.ts @@ -15,6 +15,7 @@ import type { } from '@kbn/fleet-plugin/common'; import { AGENTS_SETUP_API_ROUTES, EPM_API_ROUTES, SETUP_API_ROUTE } from '@kbn/fleet-plugin/common'; import { ToolingLog } from '@kbn/tooling-log'; +import { API_VERSIONS } from '@kbn/fleet-plugin/common/constants'; import { UsageTracker } from './usage_tracker'; import { EndpointDataLoadingError, retryOnError, wrapErrorAndRejectPromise } from './utils'; @@ -44,6 +45,9 @@ export const setupFleetForEndpoint = async ( .request({ path: SETUP_API_ROUTE, method: 'POST', + headers: { + 'elastic-api-version': API_VERSIONS.public.v1, + }, }) .catch(wrapErrorAndRejectPromise)) as AxiosResponse; @@ -64,6 +68,9 @@ export const setupFleetForEndpoint = async ( .request({ path: AGENTS_SETUP_API_ROUTES.CREATE_PATTERN, method: 'POST', + headers: { + 'elastic-api-version': API_VERSIONS.public.v1, + }, }) .catch(wrapErrorAndRejectPromise)) as AxiosResponse; @@ -112,6 +119,9 @@ export const installOrUpgradeEndpointFleetPackage = async ( .request({ path: EPM_API_ROUTES.BULK_INSTALL_PATTERN, method: 'POST', + headers: { + 'elastic-api-version': API_VERSIONS.public.v1, + }, body: { packages: ['endpoint'], }, From dd90cc76a5f71f74be3bd25318640988628fbd9d Mon Sep 17 00:00:00 2001 From: Ashokaditya Date: Wed, 6 Sep 2023 11:04:21 +0200 Subject: [PATCH 2/3] missing headers refs elastic/security-team/issues/7547 --- .../endpoint/data_loaders/index_fleet_endpoint_policy.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/security_solution/common/endpoint/data_loaders/index_fleet_endpoint_policy.ts b/x-pack/plugins/security_solution/common/endpoint/data_loaders/index_fleet_endpoint_policy.ts index 8dcfffd74e035..c25234c02ac93 100644 --- a/x-pack/plugins/security_solution/common/endpoint/data_loaders/index_fleet_endpoint_policy.ts +++ b/x-pack/plugins/security_solution/common/endpoint/data_loaders/index_fleet_endpoint_policy.ts @@ -63,8 +63,8 @@ export const indexFleetEndpointPolicy = async ( .request({ path: AGENT_POLICY_API_ROUTES.CREATE_PATTERN, method: 'POST', - body: newAgentPolicyData, headers: { 'elastic-api-version': API_VERSIONS.public.v1 }, + body: newAgentPolicyData, }) .catch(wrapErrorAndRejectPromise)) as AxiosResponse; } catch (error) { @@ -102,6 +102,7 @@ export const indexFleetEndpointPolicy = async ( .request({ path: PACKAGE_POLICY_API_ROUTES.CREATE_PATTERN, method: 'POST', + headers: { 'elastic-api-version': API_VERSIONS.public.v1 }, body: newPackagePolicyData, }) .catch(wrapErrorAndRejectPromise)) as AxiosResponse; @@ -138,6 +139,7 @@ export const deleteIndexedFleetEndpointPolicies = async ( .request({ path: PACKAGE_POLICY_API_ROUTES.DELETE_PATTERN, method: 'POST', + headers: { 'elastic-api-version': API_VERSIONS.public.v1 }, body: { packagePolicyIds: indexData.integrationPolicies.map((policy) => policy.id), }, @@ -156,6 +158,7 @@ export const deleteIndexedFleetEndpointPolicies = async ( .request({ path: AGENT_POLICY_API_ROUTES.DELETE_PATTERN, method: 'POST', + headers: { 'elastic-api-version': API_VERSIONS.public.v1 }, body: { agentPolicyId: agentPolicy.id, }, From 52ca6a5f3fd2dd10261ff681e08c23c168bad2ee Mon Sep 17 00:00:00 2001 From: Ashokaditya Date: Wed, 6 Sep 2023 13:13:29 +0200 Subject: [PATCH 3/3] missing package API version refs elastic/security-team/issues/7547 --- .../security_solution/common/endpoint/utils/package.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/x-pack/plugins/security_solution/common/endpoint/utils/package.ts b/x-pack/plugins/security_solution/common/endpoint/utils/package.ts index c45c44fa9c561..d7145a4a0da49 100644 --- a/x-pack/plugins/security_solution/common/endpoint/utils/package.ts +++ b/x-pack/plugins/security_solution/common/endpoint/utils/package.ts @@ -10,6 +10,7 @@ import type { AxiosResponse } from 'axios'; import type { KbnClient } from '@kbn/test'; import type { GetInfoResponse } from '@kbn/fleet-plugin/common'; import { epmRouteService } from '@kbn/fleet-plugin/common'; +import { API_VERSIONS } from '@kbn/fleet-plugin/common/constants'; export const getEndpointPackageInfo = async ( kbnClient: KbnClient @@ -19,6 +20,9 @@ export const getEndpointPackageInfo = async ( (await kbnClient.request({ path, method: 'GET', + headers: { + 'elastic-api-version': API_VERSIONS.public.v1, + }, })) as AxiosResponse ).data.item;