Skip to content

Commit 7222d8d

Browse files
fix: Remote config service/env validation (#177)
* Remove the remote config check asserting a matching env / service, as this is incorrect behavior
1 parent 6971362 commit 7222d8d

File tree

5 files changed

+4
-36
lines changed

5 files changed

+4
-36
lines changed

src/datadog/config_manager.cpp

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,6 @@ ConfigManager::Update parse_dynamic_config(const nlohmann::json& j) {
124124
namespace rc = datadog::remote_config;
125125

126126
ConfigManager::ConfigManager(const FinalizedTracerConfig& config,
127-
const TracerSignature& tracer_signature,
128127
const std::shared_ptr<TracerTelemetry>& telemetry)
129128
: clock_(config.clock),
130129
default_metadata_(config.metadata),
@@ -133,7 +132,6 @@ ConfigManager::ConfigManager(const FinalizedTracerConfig& config,
133132
rules_(config.trace_sampler.rules),
134133
span_defaults_(std::make_shared<SpanDefaults>(config.defaults)),
135134
report_traces_(config.report_traces),
136-
tracer_signature_(tracer_signature),
137135
telemetry_(telemetry) {}
138136

139137
rc::Products ConfigManager::get_products() { return rc::product::APM_TRACING; }
@@ -151,14 +149,6 @@ Optional<std::string> ConfigManager::on_update(const Configuration& config) {
151149

152150
const auto config_json = nlohmann::json::parse(config.content);
153151

154-
const auto& targeted_service = config_json.at("service_target");
155-
if (targeted_service.at("service").get<StringView>() !=
156-
tracer_signature_.default_service ||
157-
targeted_service.at("env").get<StringView>() !=
158-
tracer_signature_.default_environment) {
159-
return "Wrong service targeted";
160-
}
161-
162152
auto config_update = parse_dynamic_config(config_json.at("lib_config"));
163153

164154
auto config_metadata = apply_update(config_update);

src/datadog/config_manager.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,6 @@ class ConfigManager : public remote_config::Listener {
7676
DynamicConfig<std::shared_ptr<const SpanDefaults>> span_defaults_;
7777
DynamicConfig<bool> report_traces_;
7878

79-
const TracerSignature& tracer_signature_;
8079
std::shared_ptr<TracerTelemetry> telemetry_;
8180

8281
private:
@@ -86,7 +85,6 @@ class ConfigManager : public remote_config::Listener {
8685

8786
public:
8887
ConfigManager(const FinalizedTracerConfig& config,
89-
const TracerSignature& signature,
9088
const std::shared_ptr<TracerTelemetry>& telemetry);
9189
~ConfigManager() override{};
9290

src/datadog/tracer.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ Tracer::Tracer(const FinalizedTracerConfig& config,
4747
tracer_telemetry_(std::make_shared<TracerTelemetry>(
4848
config.telemetry.enabled, config.clock, logger_, signature_,
4949
config.integration_name, config.integration_version)),
50-
config_manager_(std::make_shared<ConfigManager>(config, signature_,
51-
tracer_telemetry_)),
50+
config_manager_(
51+
std::make_shared<ConfigManager>(config, tracer_telemetry_)),
5252
collector_(/* see constructor body */),
5353
span_sampler_(
5454
std::make_shared<SpanSampler>(config.span_sampler, config.clock)),

test/test_config_manager.cpp

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -29,33 +29,14 @@ CONFIG_MANAGER_TEST("remote configuration handling") {
2929
auto tracer_telemetry = std::make_shared<TracerTelemetry>(
3030
false, default_clock, nullptr, tracer_signature, "", "");
3131

32-
ConfigManager config_manager(*finalize_config(config), tracer_signature,
33-
tracer_telemetry);
32+
ConfigManager config_manager(*finalize_config(config), tracer_telemetry);
3433

3534
rc::Listener::Configuration config_update{/* id = */ "id",
3635
/* path = */ "",
3736
/* content = */ "",
3837
/* version = */ 1,
3938
rc::product::Flag::APM_TRACING};
4039

41-
SECTION(
42-
"configuration updates targetting the wrong tracer reports an error") {
43-
// clang-format off
44-
auto test_case = GENERATE(values<std::string>({
45-
R"({ "service_target": { "service": "not-testsvc", "env": "test" } })",
46-
R"({ "service_target": { "service": "testsvc", "env": "not-test" } })"
47-
}));
48-
// clang-format on
49-
50-
CAPTURE(test_case);
51-
52-
config_update.content = test_case;
53-
54-
// TODO: targetting wrong procut -> error
55-
const auto err = config_manager.on_update(config_update);
56-
CHECK(err);
57-
}
58-
5940
SECTION("handling of `tracing_sampling_rate`") {
6041
// SECTION("invalid value") {
6142
// config_update.content = R"({

test/test_datadog_agent.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,7 @@ TEST_CASE("Remote Configuration", "[datadog_agent]") {
200200
finalized->telemetry.enabled, finalized->clock, finalized->logger,
201201
signature, "", "");
202202

203-
auto config_manager =
204-
std::make_shared<ConfigManager>(*finalized, signature, telemetry);
203+
auto config_manager = std::make_shared<ConfigManager>(*finalized, telemetry);
205204

206205
const auto& agent_config =
207206
std::get<FinalizedDatadogAgentConfig>(finalized->collector);

0 commit comments

Comments
 (0)