Skip to content

Commit

Permalink
whitelist fleet server config to only server limits, timeouts and run…
Browse files Browse the repository at this point in the history
…time
  • Loading branch information
juliaElastic committed Nov 23, 2022
1 parent 1fa218b commit 241a5e9
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 6 deletions.
34 changes: 28 additions & 6 deletions x-pack/plugins/fleet/server/collectors/fleet_server_collector.ts
Original file line number Diff line number Diff line change
Expand Up @@ -94,13 +94,35 @@ export const getFleetServerConfig = async (soClient: SavedObjectsClient): Promis
kuery: `${PACKAGE_POLICY_SAVED_OBJECT_TYPE}.package.name:fleet_server`,
});
const getInputConfig = (item: any) => {
let config = (item.inputs[0] ?? {}).compiled_input;
if (config.server) {
config = { ...config, server: { ...config.server } };
delete config.server.host;
delete config.server.port;
const config = (item.inputs[0] ?? {}).compiled_input;
if (config?.server) {
// whitelist only server limits, timeouts and runtime, sometimes fields are coming in "server.limits" format instead of nested object
const newConfig = Object.keys(config)
.filter((key) => key.startsWith('server'))
.reduce((acc: any, curr: string) => {
if (curr === 'server') {
acc.server = {};
Object.keys(config.server)
.filter(
(key) =>
key.startsWith('limits') ||
key.startsWith('timeouts') ||
key.startsWith('runtime')
)
.forEach((serverKey: string) => {
acc.server[serverKey] = config.server[serverKey];
return acc;
});
} else {
acc[curr] = config[curr];
}
return acc;
}, {});

return newConfig;
} else {
return {};
}
return config;
};
const policies = res.items.map((item) => ({
input_config: getInputConfig(item),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -192,8 +192,10 @@ describe('fleet usage telemetry', () => {
port: 8220,
host: '0.0.0.0',
'limits.max_agents': 3000,
other: 'other',
},
'server.runtime': 'gc_percent:20',
ssl: 'ssl',
},
},
],
Expand Down

0 comments on commit 241a5e9

Please sign in to comment.