Skip to main content

saluki_components/config_registry/datadog/
proxy.rs

1//! Annotations for proxy configuration keys.
2use crate::config_registry::{generated::schema, structs, PipelineAffinity, SalukiAnnotation, SupportLevel};
3
4crate::declare_annotations! {
5    /// `proxy.http` → `ProxyConfiguration::http_server`
6    PROXY_HTTP = SalukiAnnotation {
7        schema: &schema::PROXY_HTTP,
8        support_level: SupportLevel::Full,
9        additional_yaml_paths: &[],
10        env_var_override: Some(&["DD_PROXY_HTTP", "HTTP_PROXY"]),
11        used_by: &[structs::FORWARDER_CONFIGURATION, structs::PROXY_CONFIGURATION],
12        value_type_override: None,
13        test_json: None,
14        // Proxy configuration can affect all networking.
15        pipeline_affinity: PipelineAffinity::CrossCutting,
16    };
17
18    /// `proxy.https` → `ProxyConfiguration::https_server`
19    PROXY_HTTPS = SalukiAnnotation {
20        schema: &schema::PROXY_HTTPS,
21        support_level: SupportLevel::Full,
22        additional_yaml_paths: &[],
23        env_var_override: Some(&["DD_PROXY_HTTPS", "HTTPS_PROXY"]),
24        used_by: &[structs::FORWARDER_CONFIGURATION, structs::PROXY_CONFIGURATION],
25        value_type_override: None,
26        test_json: None,
27        // Proxy configuration can affect all networking.
28        pipeline_affinity: PipelineAffinity::CrossCutting,
29    };
30
31    /// `proxy.no_proxy` → `ProxyConfiguration::no_proxy`
32    PROXY_NO_PROXY = SalukiAnnotation {
33        schema: &schema::PROXY_NO_PROXY,
34        support_level: SupportLevel::Full,
35        additional_yaml_paths: &[],
36        env_var_override: Some(&["DD_PROXY_NO_PROXY"]),
37        used_by: &[structs::FORWARDER_CONFIGURATION, structs::PROXY_CONFIGURATION],
38        value_type_override: None,
39        test_json: None,
40        // Proxy configuration can affect all networking.
41        pipeline_affinity: PipelineAffinity::CrossCutting,
42    };
43
44    /// `no_proxy_nonexact_match` → `ProxyConfiguration::no_proxy_nonexact_match`
45    NO_PROXY_NONEXACT_MATCH = SalukiAnnotation {
46        schema: &schema::NO_PROXY_NONEXACT_MATCH,
47        support_level: SupportLevel::Full,
48        additional_yaml_paths: &[],
49        env_var_override: Some(&["DD_NO_PROXY_NONEXACT_MATCH"]),
50        used_by: &[structs::FORWARDER_CONFIGURATION, structs::PROXY_CONFIGURATION],
51        value_type_override: None,
52        test_json: None,
53        // Proxy configuration can affect all networking.
54        pipeline_affinity: PipelineAffinity::CrossCutting,
55    };
56
57    /// `use_proxy_for_cloud_metadata` → `ProxyConfiguration::use_proxy_for_cloud_metadata`
58    USE_PROXY_FOR_CLOUD_METADATA = SalukiAnnotation {
59        schema: &schema::USE_PROXY_FOR_CLOUD_METADATA,
60        support_level: SupportLevel::Full,
61        additional_yaml_paths: &[],
62        env_var_override: Some(&["DD_USE_PROXY_FOR_CLOUD_METADATA"]),
63        used_by: &[structs::FORWARDER_CONFIGURATION, structs::PROXY_CONFIGURATION],
64        value_type_override: None,
65        test_json: None,
66        // Proxy configuration can affect all networking.
67        pipeline_affinity: PipelineAffinity::CrossCutting,
68    };
69}