From 60640e424c184f04f8434dbd414fbd75d8e6f3a4 Mon Sep 17 00:00:00 2001 From: JoukoVirtanen Date: Fri, 10 Jan 2025 16:47:38 -0800 Subject: [PATCH] Made changes needed for ConfigLoader --- collector/lib/ConfigLoader.cpp | 20 +++++++++++++++---- collector/test/ConfigLoaderTest.cpp | 10 ++-------- .../suites/runtime_config_file.go | 2 +- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/collector/lib/ConfigLoader.cpp b/collector/lib/ConfigLoader.cpp index 14d7c3c26f..cd5d063b8d 100644 --- a/collector/lib/ConfigLoader.cpp +++ b/collector/lib/ConfigLoader.cpp @@ -72,16 +72,28 @@ bool ConfigLoader::LoadConfiguration(CollectorConfig& config, const YAML::Node& return true; } - bool enable_external_ips = external_ips_node["enable"].as(false); - int64_t per_container_rate_limit = networking_node["perContainerRateLimit"].as(1024); + sensor::ExternalIpsEnabled enable_external_ips; + const std::string enabled_value = external_ips_node["enabled"] ? external_ips_node["enabled"].as() : ""; + std::string enabled_value_lower = enabled_value; + std::transform(enabled_value_lower.begin(), enabled_value_lower.end(), enabled_value_lower.begin(), ::tolower); + + if (enabled_value_lower == "enabled") { + enable_external_ips = sensor::ExternalIpsEnabled::ENABLED; + } else if (enabled_value_lower == "disabled") { + enable_external_ips = sensor::ExternalIpsEnabled::DISABLED; + } else { + CLOG(ERROR) << "Unknown value for for networking.externalIps.enabled. Setting it to DISABLED"; + enable_external_ips = sensor::ExternalIpsEnabled::DISABLED; + } + int64_t max_connections_per_minute = networking_node["maxConnectionsPerMinute"].as(1024); sensor::CollectorConfig runtime_config; auto* networking = runtime_config.mutable_networking(); networking ->mutable_external_ips() - ->set_enable(enable_external_ips); + ->set_enabled(enable_external_ips); networking - ->set_per_container_rate_limit(per_container_rate_limit); + ->set_max_connections_per_minute(max_connections_per_minute); config.SetRuntimeConfig(std::move(runtime_config)); diff --git a/collector/test/ConfigLoaderTest.cpp b/collector/test/ConfigLoaderTest.cpp index 61a8b27bce..31d888ebd0 100644 --- a/collector/test/ConfigLoaderTest.cpp +++ b/collector/test/ConfigLoaderTest.cpp @@ -71,12 +71,6 @@ TEST(CollectorConfigTest, TestYamlConfigToConfigEmptyOrMalformed) { R"( asdf )", - R"( - networking: - externalIps: - enabled: DISABLED - maxConnectionsPerMinute: invalid - )", R"()"}; for (const auto& yamlStr : tests) { @@ -109,8 +103,8 @@ TEST(CollectorConfigTest, TestPerContainerRateLimit) { {R"( networking: externalIps: - enabled: false - perContainerRateLimit: invalid + enabled: DISABLED + maxConnectionsPerMinute: invalid )", 1024}, }; diff --git a/integration-tests/suites/runtime_config_file.go b/integration-tests/suites/runtime_config_file.go index 068d9c26af..ade88e6155 100644 --- a/integration-tests/suites/runtime_config_file.go +++ b/integration-tests/suites/runtime_config_file.go @@ -121,7 +121,7 @@ func (s *RuntimeConfigFileTestSuite) TestRuntimeConfigFileEnable() { // External IPs enabled. // Normalized connection must be reported as inactive // Unnormalized connection will now be reported. - s.setExternalIpsEnabled(runtimeConfigFile, "enabled") + s.setExternalIpsEnabled(runtimeConfigFile, "ENABLED") assert.AssertExternalIps(s.T(), "ENABLED", collectorIP) expectedConnections = append(expectedConnections, activeUnnormalizedConnection, inactiveNormalizedConnection) connectionSuccess = s.Sensor().ExpectSameElementsConnections(s.T(), s.ClientContainer, 10*time.Second, expectedConnections...)