Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -310,9 +310,14 @@ apply_elastic_agent_config() {
# Remove existing config file including `inputs.d` directory
rm -rf "$elastic_agent_config_path" "$(dirname "$elastic_agent_config_path")/inputs.d" &&
# Extract new config files from downloaded archive
tar --extract --file "$elastic_agent_tmp_config_path" --directory "$(dirname "$elastic_agent_config_path")" &&
tar --extract --file "$elastic_agent_tmp_config_path" --directory "$(dirname "$elastic_agent_config_path")"
# Replace placeholder with the Ingest API key
sed -i='' "s/\${API_KEY}/$decoded_ingest_api_key/" "$elastic_agent_config_path"
if [ "${OS}" == "Linux" ]; then
sed -i "s/\${API_KEY}/$decoded_ingest_api_key/" "$elastic_agent_config_path"
else
# macOS requires an empty string for the backup extension
sed -i '' "s/\${API_KEY}/$decoded_ingest_api_key/" "$elastic_agent_config_path"
fi
if [ "$?" -eq 0 ]; then
printf "\e[32;1m✓\e[0m %s\n" "Config files written to:"
while IFS= read -r file; do
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import {
FleetUnauthorizedError,
type PackageClient,
} from '@kbn/fleet-plugin/server';
import { safeDump } from 'js-yaml';
import { safeLoad, safeDump } from 'js-yaml';
import { PackageDataStreamTypes, Output } from '@kbn/fleet-plugin/common/types';
import { transformOutputToFullPolicyOutput } from '@kbn/fleet-plugin/server/services/output_client';
import { OBSERVABILITY_ONBOARDING_TELEMETRY_EVENT } from '../../../common/telemetry_events';
Expand Down Expand Up @@ -454,7 +454,10 @@ async function ensureInstalledIntegrations(
if (installSource === 'registry') {
const installation = await packageClient.ensureInstalledPackage({ pkgName });
const pkg = installation.package;
const config = await packageClient.getAgentPolicyConfigYAML(pkg.name, pkg.version);
const config = filterUnsupportedInputs(
await packageClient.getAgentPolicyConfigYAML(pkg.name, pkg.version)
);

const { packageInfo } = await packageClient.getPackage(pkg.name, pkg.version);

return {
Expand Down Expand Up @@ -525,6 +528,21 @@ async function ensureInstalledIntegrations(
);
}

function filterUnsupportedInputs(policyYML: string): string {
const policy = safeLoad(policyYML);

if (!policy) {
return policyYML;
}

return safeDump({
...policy,
inputs: (policy.inputs || []).filter((input: any) => {
return input.type !== 'httpjson';
}),
});
}

/**
* Parses and validates a TSV (tab-separated values) string of integrations with params.
*
Expand Down