Skip to content

Commit 0f88b4c

Browse files
committed
fix(otlp): patch to recursive function and new config keys added to full configuration suite
1 parent e161e2a commit 0f88b4c

3 files changed

Lines changed: 339 additions & 15 deletions

File tree

docs/agent-data-plane/configuration/configuration.md

Lines changed: 67 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -431,9 +431,73 @@ and tracks send failures through telemetry.
431431
The following settings need further investigation. ADP behavior may differ from the core agent in
432432
ways that are not yet fully characterized.
433433

434-
| Config Key | Description | Issue |
435-
| -------------------------------- | ------------------------------- | ------- |
436-
| `forwarder_low_prio_buffer_size` | Low-priority request queue size | [#1362] |
434+
| Config Key | Description | Issue |
435+
| ------------------------------------------------------------------------------------------ | -------------------------------------- | ------- |
436+
| `forwarder_low_prio_buffer_size` | Low-priority request queue size | [#1362] |
437+
| `otlp_config.receiver.protocols.grpc.dialer.timeout` | gRPC dialer timeout | |
438+
| `otlp_config.receiver.protocols.grpc.include_metadata` | gRPC include metadata in context | |
439+
| `otlp_config.receiver.protocols.grpc.keepalive.enforcement_policy.min_time` | gRPC keepalive: min time between pings | |
440+
| `otlp_config.receiver.protocols.grpc.keepalive.enforcement_policy.permit_without_stream` | gRPC keepalive: allow no-stream pings | |
441+
| `otlp_config.receiver.protocols.grpc.keepalive.server_parameters.max_connection_age` | gRPC keepalive: max connection age | |
442+
| `otlp_config.receiver.protocols.grpc.keepalive.server_parameters.max_connection_age_grace` | gRPC keepalive: max conn age grace | |
443+
| `otlp_config.receiver.protocols.grpc.keepalive.server_parameters.max_connection_idle` | gRPC keepalive: max connection idle | |
444+
| `otlp_config.receiver.protocols.grpc.keepalive.server_parameters.time` | gRPC keepalive: ping time | |
445+
| `otlp_config.receiver.protocols.grpc.keepalive.server_parameters.timeout` | gRPC keepalive: ping timeout | |
446+
| `otlp_config.receiver.protocols.grpc.max_concurrent_streams` | gRPC max concurrent streams | |
447+
| `otlp_config.receiver.protocols.grpc.read_buffer_size` | gRPC read buffer size | |
448+
| `otlp_config.receiver.protocols.grpc.tls.ca_file` | gRPC TLS CA file path | |
449+
| `otlp_config.receiver.protocols.grpc.tls.ca_pem` | gRPC TLS CA PEM | |
450+
| `otlp_config.receiver.protocols.grpc.tls.cert_file` | gRPC TLS cert file path | |
451+
| `otlp_config.receiver.protocols.grpc.tls.cert_pem` | gRPC TLS cert PEM | |
452+
| `otlp_config.receiver.protocols.grpc.tls.cipher_suites` | gRPC TLS cipher suites | |
453+
| `otlp_config.receiver.protocols.grpc.tls.client_ca_file` | gRPC TLS client CA file | |
454+
| `otlp_config.receiver.protocols.grpc.tls.client_ca_file_reload` | gRPC TLS client CA reload | |
455+
| `otlp_config.receiver.protocols.grpc.tls.curve_preferences` | gRPC TLS curve preferences | |
456+
| `otlp_config.receiver.protocols.grpc.tls.include_system_ca_certs_pool` | gRPC TLS include system CA pool | |
457+
| `otlp_config.receiver.protocols.grpc.tls.key_file` | gRPC TLS key file path | |
458+
| `otlp_config.receiver.protocols.grpc.tls.key_pem` | gRPC TLS key PEM | |
459+
| `otlp_config.receiver.protocols.grpc.tls.max_version` | gRPC TLS max version | |
460+
| `otlp_config.receiver.protocols.grpc.tls.min_version` | gRPC TLS min version | |
461+
| `otlp_config.receiver.protocols.grpc.tls.reload_interval` | gRPC TLS reload interval | |
462+
| `otlp_config.receiver.protocols.grpc.tls.tpm.auth` | gRPC TLS TPM auth | |
463+
| `otlp_config.receiver.protocols.grpc.tls.tpm.enabled` | gRPC TLS TPM enabled | |
464+
| `otlp_config.receiver.protocols.grpc.tls.tpm.owner_auth` | gRPC TLS TPM owner auth | |
465+
| `otlp_config.receiver.protocols.grpc.tls.tpm.path` | gRPC TLS TPM path | |
466+
| `otlp_config.receiver.protocols.grpc.write_buffer_size` | gRPC write buffer size | |
467+
| `otlp_config.receiver.protocols.http.compression_algorithms` | HTTP compression algorithms | |
468+
| `otlp_config.receiver.protocols.http.cors.allowed_headers` | HTTP CORS allowed headers | |
469+
| `otlp_config.receiver.protocols.http.cors.allowed_origins` | HTTP CORS allowed origins | |
470+
| `otlp_config.receiver.protocols.http.cors.exposed_headers` | HTTP CORS exposed headers | |
471+
| `otlp_config.receiver.protocols.http.cors.max_age` | HTTP CORS max age | |
472+
| `otlp_config.receiver.protocols.http.idle_timeout` | HTTP idle timeout | |
473+
| `otlp_config.receiver.protocols.http.include_metadata` | HTTP include metadata in context | |
474+
| `otlp_config.receiver.protocols.http.keep_alives_enabled` | HTTP keep-alives enabled | |
475+
| `otlp_config.receiver.protocols.http.logs_url_path` | HTTP logs URL path | |
476+
| `otlp_config.receiver.protocols.http.max_request_body_size` | HTTP max request body size | |
477+
| `otlp_config.receiver.protocols.http.metrics_url_path` | HTTP metrics URL path | |
478+
| `otlp_config.receiver.protocols.http.read_header_timeout` | HTTP read header timeout | |
479+
| `otlp_config.receiver.protocols.http.read_timeout` | HTTP read timeout | |
480+
| `otlp_config.receiver.protocols.http.response_headers` | HTTP response headers | |
481+
| `otlp_config.receiver.protocols.http.tls.ca_file` | HTTP TLS CA file path | |
482+
| `otlp_config.receiver.protocols.http.tls.ca_pem` | HTTP TLS CA PEM | |
483+
| `otlp_config.receiver.protocols.http.tls.cert_file` | HTTP TLS cert file path | |
484+
| `otlp_config.receiver.protocols.http.tls.cert_pem` | HTTP TLS cert PEM | |
485+
| `otlp_config.receiver.protocols.http.tls.cipher_suites` | HTTP TLS cipher suites | |
486+
| `otlp_config.receiver.protocols.http.tls.client_ca_file` | HTTP TLS client CA file | |
487+
| `otlp_config.receiver.protocols.http.tls.client_ca_file_reload` | HTTP TLS client CA reload | |
488+
| `otlp_config.receiver.protocols.http.tls.curve_preferences` | HTTP TLS curve preferences | |
489+
| `otlp_config.receiver.protocols.http.tls.include_system_ca_certs_pool` | HTTP TLS include system CA pool | |
490+
| `otlp_config.receiver.protocols.http.tls.key_file` | HTTP TLS key file path | |
491+
| `otlp_config.receiver.protocols.http.tls.key_pem` | HTTP TLS key PEM | |
492+
| `otlp_config.receiver.protocols.http.tls.max_version` | HTTP TLS max version | |
493+
| `otlp_config.receiver.protocols.http.tls.min_version` | HTTP TLS min version | |
494+
| `otlp_config.receiver.protocols.http.tls.reload_interval` | HTTP TLS reload interval | |
495+
| `otlp_config.receiver.protocols.http.tls.tpm.auth` | HTTP TLS TPM auth | |
496+
| `otlp_config.receiver.protocols.http.tls.tpm.enabled` | HTTP TLS TPM enabled | |
497+
| `otlp_config.receiver.protocols.http.tls.tpm.owner_auth` | HTTP TLS TPM owner auth | |
498+
| `otlp_config.receiver.protocols.http.tls.tpm.path` | HTTP TLS TPM path | |
499+
| `otlp_config.receiver.protocols.http.traces_url_path` | HTTP traces URL path | |
500+
| `otlp_config.receiver.protocols.http.write_timeout` | HTTP write timeout | |
437501

438502
## ADP-Only Settings
439503

lib/datadog-agent/config-overlay-model/src/lib.rs

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -726,10 +726,23 @@ fn resolve_otel_refs(
726726
}
727727
}
728728

729-
// 3. Recurse into properties, stripping auth and middlewares.
729+
// 3. Recurse into properties, stripping auth and middlewares that reference excluded packages.
730730
if let Some(props) = map.get_mut("properties").and_then(|v| v.as_mapping_mut()) {
731-
props.remove(serde_yaml::Value::String("auth".to_string()));
732-
props.remove(serde_yaml::Value::String("middlewares".to_string()));
731+
// Strip auth/middlewares if they have a $ref (direct or via allOf/items) that
732+
// transitively references configauth/configmiddleware. A plain `auth` field
733+
// (like tpm_config.auth: type: string) has no $ref and must be kept.
734+
if let Some(auth) = props.get("auth") {
735+
let auth_str = serde_yaml::to_string(auth).unwrap_or_default();
736+
if auth_str.contains("$ref") {
737+
props.remove(serde_yaml::Value::String("auth".to_string()));
738+
}
739+
}
740+
if let Some(middlewares) = props.get("middlewares") {
741+
let mw_str = serde_yaml::to_string(middlewares).unwrap_or_default();
742+
if mw_str.contains("$ref") {
743+
props.remove(serde_yaml::Value::String("middlewares".to_string()));
744+
}
745+
}
733746
for (_, v) in props.iter_mut() {
734747
resolve_otel_refs(v, otel_dir, current_defs)?;
735748
}

0 commit comments

Comments
 (0)