diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f3538e1f1..22a42e23dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,9 @@ Increment the: * [CONFIGURATION] File configuration - remove zipkin [#3804](https://github.com/open-telemetry/opentelemetry-cpp/pull/3804) +* [CONFIGURATION] File configuration - rename tls properties + [#3805](https://github.com/open-telemetry/opentelemetry-cpp/pull/3805) + Breaking changes: * [CONFIGURATION] File configuration - remove zipkin @@ -25,6 +28,11 @@ Breaking changes: * The zipkin trace exporter is no longer supported by declarative configuration, due to an upstream schema change. +* [CONFIGURATION] File configuration - rename tls properties + [#3805](https://github.com/open-telemetry/opentelemetry-cpp/pull/3805) + * The Tls properties for Grpc and Http are renamed, + due to an upstream schema change. + ## [1.24 2025-11-20] * [RELEASE] Bump main branch to 1.24-dev diff --git a/exporters/otlp/src/otlp_grpc_log_record_builder.cc b/exporters/otlp/src/otlp_grpc_log_record_builder.cc index 915c207471..9c7dfdc98d 100644 --- a/exporters/otlp/src/otlp_grpc_log_record_builder.cc +++ b/exporters/otlp/src/otlp_grpc_log_record_builder.cc @@ -42,10 +42,10 @@ std::unique_ptr OtlpGrpcLogRecordBu if (tls != nullptr) { - options.ssl_credentials_cacert_path = tls->certificate_file; + options.ssl_credentials_cacert_path = tls->ca_file; #ifdef ENABLE_OTLP_GRPC_SSL_MTLS_PREVIEW - options.ssl_client_key_path = tls->client_key_file; - options.ssl_client_cert_path = tls->client_certificate_file; + options.ssl_client_key_path = tls->key_file; + options.ssl_client_cert_path = tls->cert_file; #endif } diff --git a/exporters/otlp/src/otlp_grpc_push_metric_builder.cc b/exporters/otlp/src/otlp_grpc_push_metric_builder.cc index 6ed6490187..5b20a15463 100644 --- a/exporters/otlp/src/otlp_grpc_push_metric_builder.cc +++ b/exporters/otlp/src/otlp_grpc_push_metric_builder.cc @@ -42,10 +42,10 @@ std::unique_ptr OtlpGrpcPushMet if (tls != nullptr) { - options.ssl_credentials_cacert_path = tls->certificate_file; + options.ssl_credentials_cacert_path = tls->ca_file; #ifdef ENABLE_OTLP_GRPC_SSL_MTLS_PREVIEW - options.ssl_client_key_path = tls->client_key_file; - options.ssl_client_cert_path = tls->client_certificate_file; + options.ssl_client_key_path = tls->key_file; + options.ssl_client_cert_path = tls->cert_file; #endif } diff --git a/exporters/otlp/src/otlp_grpc_span_builder.cc b/exporters/otlp/src/otlp_grpc_span_builder.cc index faaea958f5..0d92be4002 100644 --- a/exporters/otlp/src/otlp_grpc_span_builder.cc +++ b/exporters/otlp/src/otlp_grpc_span_builder.cc @@ -42,10 +42,10 @@ std::unique_ptr OtlpGrpcSpanBuilder::Bu if (tls != nullptr) { - options.ssl_credentials_cacert_path = tls->certificate_file; + options.ssl_credentials_cacert_path = tls->ca_file; #ifdef ENABLE_OTLP_GRPC_SSL_MTLS_PREVIEW - options.ssl_client_key_path = tls->client_key_file; - options.ssl_client_cert_path = tls->client_certificate_file; + options.ssl_client_key_path = tls->key_file; + options.ssl_client_cert_path = tls->cert_file; #endif } diff --git a/exporters/otlp/src/otlp_http_log_record_builder.cc b/exporters/otlp/src/otlp_http_log_record_builder.cc index 2a21a5ebac..5d0914db6b 100644 --- a/exporters/otlp/src/otlp_http_log_record_builder.cc +++ b/exporters/otlp/src/otlp_http_log_record_builder.cc @@ -50,9 +50,9 @@ std::unique_ptr OtlpHttpLogRecordBu if (tls != nullptr) { - options.ssl_ca_cert_path = tls->certificate_file; - options.ssl_client_key_path = tls->client_key_file; - options.ssl_client_cert_path = tls->client_certificate_file; + options.ssl_ca_cert_path = tls->ca_file; + options.ssl_client_key_path = tls->key_file; + options.ssl_client_cert_path = tls->cert_file; } options.compression = model->compression; diff --git a/exporters/otlp/src/otlp_http_push_metric_builder.cc b/exporters/otlp/src/otlp_http_push_metric_builder.cc index 3f69da5f8f..1ac30cb447 100644 --- a/exporters/otlp/src/otlp_http_push_metric_builder.cc +++ b/exporters/otlp/src/otlp_http_push_metric_builder.cc @@ -52,9 +52,9 @@ std::unique_ptr OtlpHttpPushMet if (tls != nullptr) { - options.ssl_ca_cert_path = tls->certificate_file; - options.ssl_client_key_path = tls->client_key_file; - options.ssl_client_cert_path = tls->client_certificate_file; + options.ssl_ca_cert_path = tls->ca_file; + options.ssl_client_key_path = tls->key_file; + options.ssl_client_cert_path = tls->cert_file; } options.compression = model->compression; diff --git a/exporters/otlp/src/otlp_http_span_builder.cc b/exporters/otlp/src/otlp_http_span_builder.cc index 52d9899732..e0a94c2f8f 100644 --- a/exporters/otlp/src/otlp_http_span_builder.cc +++ b/exporters/otlp/src/otlp_http_span_builder.cc @@ -50,9 +50,9 @@ std::unique_ptr OtlpHttpSpanBuilder::Bu if (tls != nullptr) { - options.ssl_ca_cert_path = tls->certificate_file; - options.ssl_client_key_path = tls->client_key_file; - options.ssl_client_cert_path = tls->client_certificate_file; + options.ssl_ca_cert_path = tls->ca_file; + options.ssl_client_key_path = tls->key_file; + options.ssl_client_cert_path = tls->cert_file; } options.compression = model->compression; diff --git a/functional/configuration/shelltests/kitchen-sink.test b/functional/configuration/shelltests/kitchen-sink.test deleted file mode 100644 index a3ed283f80..0000000000 --- a/functional/configuration/shelltests/kitchen-sink.test +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright The OpenTelemetry Authors -# SPDX-License-Identifier: Apache-2.0 - -$ example_yaml --test --yaml shelltests/kitchen-sink.yaml | egrep -v "(observed_timestamp|trace_id|span_id)" -> -MODEL PARSED -[WARNING] attribute_limits not supported, ignoring -[WARNING] IncludeExclude attribute processor not supported, ignoring -[WARNING] [Prometheus Exporter] with_resource_constant_labels not supported -[WARNING] metric producer not supported, ignoring -[WARNING] metric producer not supported, ignoring -[WARNING] [Periodic Exporting Metric Reader] Invalid configuration: export_timeout_millis_ should be less than export_interval_millis_, using default values -[WARNING] [Periodic Exporting Metric Reader] Invalid configuration: export_timeout_millis_ should be less than export_interval_millis_, using default values -[WARNING] [Periodic Exporting Metric Reader] Invalid configuration: export_timeout_millis_ should be less than export_interval_millis_, using default values -[WARNING] [Periodic Exporting Metric Reader] Invalid configuration: export_timeout_millis_ should be less than export_interval_millis_, using default values -SDK CREATED -{ - timestamp : 0 - severity_num : 5 - severity_text : DEBUG - body : body - resource : - telemetry.sdk.version: 1.25.0-dev - service.version: 1.0.0 - double_array_key: [1.1,2.2] - double_key: 1.1 - bool_key: 1 - int_array_key: [1,2] - int_key: 1 - string_array_key: [value1,value2] - string_key: value - service.namespace: my-namespace - telemetry.sdk.language: cpp - bool_array_key: [1,0] - service.name: unknown_service - telemetry.sdk.name: opentelemetry - attributes : - event_id : 0 - event_name : - trace_flags : 00 - scope : - name : foo_library - version : - schema_url : - attributes : -} ->= 0 diff --git a/functional/configuration/shelltests/kitchen-sink.yaml b/functional/configuration/shelltests/kitchen-sink.yaml deleted file mode 100644 index 8d5ff26dd3..0000000000 --- a/functional/configuration/shelltests/kitchen-sink.yaml +++ /dev/null @@ -1,1034 +0,0 @@ -# Copyright The OpenTelemetry Authors -# SPDX-License-Identifier: Apache-2.0 - -# kitchen-sink.yaml demonstrates all configurable surface area, including explanatory comments. -# -# It DOES NOT represent expected real world configuration, as it makes strange configuration -# choices in an effort to exercise the full surface area. -# -# Configuration values are set to their defaults when default values are defined. - -# The file format version. -# The yaml format is documented at -# https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema -file_format: "1.0-rc.2" -# Configure if the SDK is disabled or not. -# If omitted or null, false is used. -disabled: false -# Configure the log level of the internal logger used by the SDK. -# If omitted, info is used. -log_level: info -# Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits. -attribute_limits: - # Configure max attribute value size. - # Value must be non-negative. - # If omitted or null, there is no limit. - attribute_value_length_limit: 4096 - # Configure max attribute count. - # Value must be non-negative. - # If omitted or null, 128 is used. - attribute_count_limit: 128 -# Configure logger provider. -# If omitted, a noop logger provider is used. -logger_provider: - # Configure log record processors. - processors: - - # Configure a batch log record processor. - batch: - # Configure delay interval (in milliseconds) between two consecutive exports. - # Value must be non-negative. - # If omitted or null, 1000 is used. - schedule_delay: 5000 - # Configure maximum allowed time (in milliseconds) to export data. - # Value must be non-negative. A value of 0 indicates no limit (infinity). - # If omitted or null, 30000 is used. - export_timeout: 30000 - # Configure maximum queue size. Value must be positive. - # If omitted or null, 2048 is used. - max_queue_size: 2048 - # Configure maximum batch size. Value must be positive. - # If omitted or null, 512 is used. - max_export_batch_size: 512 - # Configure exporter. - exporter: - # Configure exporter to be OTLP with HTTP transport. - otlp_http: - # Configure endpoint, including the signal specific path. - # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. - endpoint: http://localhost:4318/v1/logs - # Configure TLS settings for the exporter. - tls: - # Configure certificate used to verify a server's TLS credentials. - # Absolute path to certificate file in PEM format. - # If omitted or null, system default certificate verification is used for secure connections. - certificate_file: /app/cert.pem - # Configure mTLS private client key. - # Absolute path to client key file in PEM format. If set, .client_certificate must also be set. - # If omitted or null, mTLS is not used. - client_key_file: /app/cert.pem - # Configure mTLS client certificate. - # Absolute path to client certificate file in PEM format. If set, .client_key must also be set. - # If omitted or null, mTLS is not used. - client_certificate_file: /app/cert.pem - # Configure headers. Entries have higher priority than entries from .headers_list. - # If an entry's .value is null, the entry is ignored. - headers: - - # The name of the pair. - name: api-key - # The value of the pair. - value: "1234" - # Configure headers. Entries have lower priority than entries from .headers. - # The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. - # If omitted or null, no headers are added. - headers_list: "api-key=1234" - # Configure compression. - # Values include: gzip, none. Implementations may support other compression algorithms. - # If omitted or null, none is used. - compression: gzip - # Configure max time (in milliseconds) to wait for each export. - # Value must be non-negative. A value of 0 indicates no limit (infinity). - # If omitted or null, 10000 is used. - timeout: 10000 - # Configure the encoding used for messages. - # Values include: protobuf, json. Implementations may not support json. - # If omitted or null, protobuf is used. - encoding: protobuf - - # Configure a batch log record processor. - batch: - # Configure exporter. - exporter: - # Configure exporter to be OTLP with gRPC transport. - otlp_grpc: - # Configure endpoint. - # If omitted or null, http://localhost:4317 is used. - endpoint: http://localhost:4317 - # Configure TLS settings for the exporter. - tls: - # Configure certificate used to verify a server's TLS credentials. - # Absolute path to certificate file in PEM format. - # If omitted or null, system default certificate verification is used for secure connections. - certificate_file: /app/cert.pem - # Configure mTLS private client key. - # Absolute path to client key file in PEM format. If set, .client_certificate must also be set. - # If omitted or null, mTLS is not used. - client_key_file: /app/cert.pem - # Configure mTLS client certificate. - # Absolute path to client certificate file in PEM format. If set, .client_key must also be set. - # If omitted or null, mTLS is not used. - client_certificate_file: /app/cert.pem - # Configure client transport security for the exporter's connection. - # Only applicable when .endpoint is provided without http or https scheme. Implementations may choose to ignore .insecure. - # If omitted or null, false is used. - insecure: false - # Configure headers. Entries have higher priority than entries from .headers_list. - # If an entry's .value is null, the entry is ignored. - headers: - - # The name of the pair. - name: api-key - # The value of the pair. - value: "1234" - # Configure headers. Entries have lower priority than entries from .headers. - # The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. - # If omitted or null, no headers are added. - headers_list: "api-key=1234" - # Configure compression. - # Values include: gzip, none. Implementations may support other compression algorithms. - # If omitted or null, none is used. - compression: gzip - # Configure max time (in milliseconds) to wait for each export. - # Value must be non-negative. A value of 0 indicates no limit (infinity). - # If omitted or null, 10000 is used. - timeout: 10000 - - # Configure a batch log record processor. - batch: - # Configure exporter. - exporter: - # Configure exporter to be OTLP with file transport. - # This type is in development and subject to breaking changes in minor versions. - otlp_file/development: - # Configure output stream. - # Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. - # If omitted or null, stdout is used. - output_stream: file:///var/log/logs.jsonl - - # Configure a batch log record processor. - batch: - # Configure exporter. - exporter: - # Configure exporter to be OTLP with file transport. - # This type is in development and subject to breaking changes in minor versions. - otlp_file/development: - # Configure output stream. - # Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. - # If omitted or null, stdout is used. - output_stream: stdout - - # Configure a simple log record processor. - simple: - # Configure exporter. - exporter: - # Configure exporter to be console. - console: - # Configure log record limits. See also attribute_limits. - limits: - # Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit. - # Value must be non-negative. - # If omitted or null, there is no limit. - attribute_value_length_limit: 4096 - # Configure max attribute count. Overrides .attribute_limits.attribute_count_limit. - # Value must be non-negative. - # If omitted or null, 128 is used. - attribute_count_limit: 128 - # Configure loggers. - # This type is in development and subject to breaking changes in minor versions. - logger_configurator/development: - # Configure the default logger config used there is no matching entry in .logger_configurator/development.loggers. - default_config: - # Configure if the logger is enabled or not. - disabled: true - # Configure loggers. - loggers: - - # Configure logger names to match, evaluated as follows: - # - # * If the logger name exactly matches. - # * If the logger name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none. - name: io.opentelemetry.contrib.* - # The logger config. - config: - # Configure if the logger is enabled or not. - disabled: false -# Configure meter provider. -# If omitted, a noop meter provider is used. -meter_provider: - # Configure metric readers. - readers: - - # Configure a pull based metric reader. - pull: - # Configure exporter. - exporter: - # Configure exporter to be prometheus. - # This type is in development and subject to breaking changes in minor versions. - prometheus/development: - # Configure host. - # If omitted or null, localhost is used. - host: localhost - # Configure port. - # If omitted or null, 9464 is used. - port: 9464 - # Configure Prometheus Exporter to produce metrics without a scope info metric. - # If omitted or null, false is used. - without_scope_info: false - # Configure Prometheus Exporter to add resource attributes as metrics attributes, where the resource attribute keys match the patterns. - with_resource_constant_labels: - # Configure list of value patterns to include. - # Values are evaluated to match as follows: - # * If the value exactly matches. - # * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none. - # If omitted, all values are included. - included: - - "service*" - # Configure list of value patterns to exclude. Applies after .included (i.e. excluded has higher priority than included). - # Values are evaluated to match as follows: - # * If the value exactly matches. - # * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none. - # If omitted, .included attributes are included. - excluded: - - "service.attr1" - # Configure how Prometheus metrics are exposed. Values include: - # - # * UnderscoreEscapingWithSuffixes, the default. This fully escapes metric names for classic Prometheus metric name compatibility, and includes appending type and unit suffixes. - # * UnderscoreEscapingWithoutSuffixes, metric names will continue to escape special characters to _, but suffixes won't be attached. - # * NoUTF8EscapingWithSuffixes will disable changing special characters to _. Special suffixes like units and _total for counters will be attached. - # * NoTranslation. This strategy bypasses all metric and label name translation, passing them through unaltered. - # - # If omitted or null, UnderscoreEscapingWithSuffixes is used. - translation_strategy: UnderscoreEscapingWithSuffixes - # Configure metric producers. - producers: - - # Configure metric producer to be opencensus. - opencensus: - # Configure cardinality limits. - cardinality_limits: - # Configure default cardinality limit for all instrument types. - # Instrument-specific cardinality limits take priority. - # If omitted or null, 2000 is used. - default: 2000 - # Configure default cardinality limit for counter instruments. - # If omitted or null, the value from .default is used. - counter: 2000 - # Configure default cardinality limit for gauge instruments. - # If omitted or null, the value from .default is used. - gauge: 2000 - # Configure default cardinality limit for histogram instruments. - # If omitted or null, the value from .default is used. - histogram: 2000 - # Configure default cardinality limit for observable_counter instruments. - # If omitted or null, the value from .default is used. - observable_counter: 2000 - # Configure default cardinality limit for observable_gauge instruments. - # If omitted or null, the value from .default is used. - observable_gauge: 2000 - # Configure default cardinality limit for observable_up_down_counter instruments. - # If omitted or null, the value from .default is used. - observable_up_down_counter: 2000 - # Configure default cardinality limit for up_down_counter instruments. - # If omitted or null, the value from .default is used. - up_down_counter: 2000 - - # Configure a periodic metric reader. - periodic: - # Configure delay interval (in milliseconds) between start of two consecutive exports. - # Value must be non-negative. - # If omitted or null, 60000 is used. - interval: 60000 - # Configure maximum allowed time (in milliseconds) to export data. - # Value must be non-negative. A value of 0 indicates no limit (infinity). - # If omitted or null, 30000 is used. - timeout: 30000 - # Configure exporter. - exporter: - # Configure exporter to be OTLP with HTTP transport. - otlp_http: - # Configure endpoint, including the signal specific path. - # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. - endpoint: http://localhost:4318/v1/metrics - # Configure TLS settings for the exporter. - tls: - # Configure certificate used to verify a server's TLS credentials. - # Absolute path to certificate file in PEM format. - # If omitted or null, system default certificate verification is used for secure connections. - certificate_file: /app/cert.pem - # Configure mTLS private client key. - # Absolute path to client key file in PEM format. If set, .client_certificate must also be set. - # If omitted or null, mTLS is not used. - client_key_file: /app/cert.pem - # Configure mTLS client certificate. - # Absolute path to client certificate file in PEM format. If set, .client_key must also be set. - # If omitted or null, mTLS is not used. - client_certificate_file: /app/cert.pem - # Configure headers. Entries have higher priority than entries from .headers_list. - # If an entry's .value is null, the entry is ignored. - headers: - - # The name of the pair. - name: api-key - # The value of the pair. - value: "1234" - # Configure headers. Entries have lower priority than entries from .headers. - # The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. - # If omitted or null, no headers are added. - headers_list: "api-key=1234" - # Configure compression. - # Values include: gzip, none. Implementations may support other compression algorithms. - # If omitted or null, none is used. - compression: gzip - # Configure max time (in milliseconds) to wait for each export. - # Value must be non-negative. A value of 0 indicates no limit (infinity). - # If omitted or null, 10000 is used. - timeout: 10000 - # Configure the encoding used for messages. - # Values include: protobuf, json. Implementations may not support json. - # If omitted or null, protobuf is used. - encoding: protobuf - # Configure temporality preference. - # Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, cumulative is used. - temporality_preference: delta - # Configure default histogram aggregation. - # Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, explicit_bucket_histogram is used. - default_histogram_aggregation: base2_exponential_bucket_histogram - # Configure metric producers. - producers: - - # Configure metric producer to be opencensus. - opencensus: - # Configure cardinality limits. - cardinality_limits: - # Configure default cardinality limit for all instrument types. - # Instrument-specific cardinality limits take priority. - # If omitted or null, 2000 is used. - default: 2000 - # Configure default cardinality limit for counter instruments. - # If omitted or null, the value from .default is used. - counter: 2000 - # Configure default cardinality limit for gauge instruments. - # If omitted or null, the value from .default is used. - gauge: 2000 - # Configure default cardinality limit for histogram instruments. - # If omitted or null, the value from .default is used. - histogram: 2000 - # Configure default cardinality limit for observable_counter instruments. - # If omitted or null, the value from .default is used. - observable_counter: 2000 - # Configure default cardinality limit for observable_gauge instruments. - # If omitted or null, the value from .default is used. - observable_gauge: 2000 - # Configure default cardinality limit for observable_up_down_counter instruments. - # If omitted or null, the value from .default is used. - observable_up_down_counter: 2000 - # Configure default cardinality limit for up_down_counter instruments. - # If omitted or null, the value from .default is used. - up_down_counter: 2000 - - # Configure a periodic metric reader. - periodic: - # Configure exporter. - exporter: - # Configure exporter to be OTLP with gRPC transport. - otlp_grpc: - # Configure endpoint. - # If omitted or null, http://localhost:4317 is used. - endpoint: http://localhost:4317 - # Configure TLS settings for the exporter. - tls: - # Configure certificate used to verify a server's TLS credentials. - # Absolute path to certificate file in PEM format. - # If omitted or null, system default certificate verification is used for secure connections. - certificate_file: /app/cert.pem - # Configure mTLS private client key. - # Absolute path to client key file in PEM format. If set, .client_certificate must also be set. - # If omitted or null, mTLS is not used. - client_key_file: /app/cert.pem - # Configure mTLS client certificate. - # Absolute path to client certificate file in PEM format. If set, .client_key must also be set. - # If omitted or null, mTLS is not used. - client_certificate_file: /app/cert.pem - # Configure client transport security for the exporter's connection. - # Only applicable when .endpoint is provided without http or https scheme. Implementations may choose to ignore .insecure. - # If omitted or null, false is used. - insecure: false - # Configure headers. Entries have higher priority than entries from .headers_list. - # If an entry's .value is null, the entry is ignored. - headers: - - # The name of the pair. - name: api-key - # The value of the pair. - value: "1234" - # Configure headers. Entries have lower priority than entries from .headers. - # The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. - # If omitted or null, no headers are added. - headers_list: "api-key=1234" - # Configure compression. - # Values include: gzip, none. Implementations may support other compression algorithms. - # If omitted or null, none is used. - compression: gzip - # Configure max time (in milliseconds) to wait for each export. - # Value must be non-negative. A value of 0 indicates no limit (infinity). - # If omitted or null, 10000 is used. - timeout: 10000 - # Configure temporality preference. - # Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, cumulative is used. - temporality_preference: delta - # Configure default histogram aggregation. - # Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, explicit_bucket_histogram is used. - default_histogram_aggregation: base2_exponential_bucket_histogram - - # Configure a periodic metric reader. - periodic: - # Configure exporter. - exporter: - # Configure exporter to be OTLP with file transport. - # This type is in development and subject to breaking changes in minor versions. - otlp_file/development: - # Configure output stream. - # Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. - # If omitted or null, stdout is used. - output_stream: file:///var/log/metrics.jsonl - # Configure temporality preference. - # Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, cumulative is used. - temporality_preference: delta - # Configure default histogram aggregation. - # Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, explicit_bucket_histogram is used. - default_histogram_aggregation: base2_exponential_bucket_histogram - - # Configure a periodic metric reader. - periodic: - # Configure exporter. - exporter: - # Configure exporter to be OTLP with file transport. - # This type is in development and subject to breaking changes in minor versions. - otlp_file/development: - # Configure output stream. - # Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. - # If omitted or null, stdout is used. - output_stream: stdout - # Configure temporality preference. - # Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, cumulative is used. - temporality_preference: delta - # Configure default histogram aggregation. - # Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, explicit_bucket_histogram is used. - default_histogram_aggregation: base2_exponential_bucket_histogram - - # Configure a periodic metric reader. - periodic: - # Configure exporter. - exporter: - # Configure exporter to be console. - console: - # Configure views. - # Each view has a selector which determines the instrument(s) it applies to, and a configuration for the resulting stream(s). - views: - - # Configure view selector. - # Selection criteria is additive as described in https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#instrument-selection-criteria. - selector: - # Configure instrument name selection criteria. - # If omitted or null, all instrument names match. - instrument_name: my-instrument - # Configure instrument type selection criteria. - # Values include: counter, gauge, histogram, observable_counter, observable_gauge, observable_up_down_counter, up_down_counter. - # If omitted or null, all instrument types match. - instrument_type: histogram - # Configure the instrument unit selection criteria. - # If omitted or null, all instrument units match. - unit: ms - # Configure meter name selection criteria. - # If omitted or null, all meter names match. - meter_name: my-meter - # Configure meter version selection criteria. - # If omitted or null, all meter versions match. - meter_version: 1.0.0 - # Configure meter schema url selection criteria. - # If omitted or null, all meter schema URLs match. - meter_schema_url: https://opentelemetry.io/schemas/1.16.0 - # Configure view stream. - stream: - # Configure metric name of the resulting stream(s). - # If omitted or null, the instrument's original name is used. - name: new_instrument_name - # Configure metric description of the resulting stream(s). - # If omitted or null, the instrument's origin description is used. - description: new_description - # Configure aggregation of the resulting stream(s). - # Values include: default, drop, explicit_bucket_histogram, base2_exponential_bucket_histogram, last_value, sum. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#aggregation. - # If omitted, default is used. - aggregation: - # Configure aggregation to be explicit_bucket_histogram. - explicit_bucket_histogram: - # Configure bucket boundaries. - # If omitted, [0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000] is used. - boundaries: - [ - 0.0, - 5.0, - 10.0, - 25.0, - 50.0, - 75.0, - 100.0, - 250.0, - 500.0, - 750.0, - 1000.0, - 2500.0, - 5000.0, - 7500.0, - 10000.0 - ] - # Configure record min and max. - # If omitted or null, true is used. - record_min_max: true - # Configure the aggregation cardinality limit. - # If omitted or null, the metric reader's default cardinality limit is used. - aggregation_cardinality_limit: 2000 - # Configure attribute keys retained in the resulting stream(s). - attribute_keys: - # Configure list of value patterns to include. - # Values are evaluated to match as follows: - # * If the value exactly matches. - # * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none. - # If omitted, all values are included. - included: - - key1 - - key2 - # Configure list of value patterns to exclude. Applies after .included (i.e. excluded has higher priority than included). - # Values are evaluated to match as follows: - # * If the value exactly matches. - # * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none. - # If omitted, .included attributes are included. - excluded: - - key3 - # Configure the exemplar filter. - # Values include: trace_based, always_on, always_off. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#metrics-sdk-configuration. - # If omitted or null, trace_based is used. - exemplar_filter: trace_based - # Configure meters. - # This type is in development and subject to breaking changes in minor versions. - meter_configurator/development: - # Configure the default meter config used there is no matching entry in .meter_configurator/development.meters. - default_config: - # Configure if the meter is enabled or not. - disabled: true - # Configure meters. - meters: - - # Configure meter names to match, evaluated as follows: - # - # * If the meter name exactly matches. - # * If the meter name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none. - name: io.opentelemetry.contrib.* - # The meter config. - config: - # Configure if the meter is enabled or not. - disabled: false -# Configure text map context propagators. -# If omitted, a noop propagator is used. -propagator: - # Configure the propagators in the composite text map propagator. Entries from .composite_list are appended to the list here with duplicates filtered out. - # Built-in propagator keys include: tracecontext, baggage, b3, b3multi, jaeger, ottrace. Known third party keys include: xray. - # If the resolved list of propagators (from .composite and .composite_list) is empty, a noop propagator is used. - composite: - - # Include the w3c trace context propagator. - tracecontext: - - # Include the w3c baggage propagator. - baggage: - - # Include the zipkin b3 propagator. - b3: - - # Include the zipkin b3 multi propagator. - b3multi: - - # Include the jaeger propagator. - jaeger: - -# ottrace not supported in opentelemetry-cpp -# - # Include the opentracing propagator. -# ottrace: - - # Configure the propagators in the composite text map propagator. Entries are appended to .composite with duplicates filtered out. - # The value is a comma separated list of propagator identifiers matching the format of OTEL_PROPAGATORS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration for details. - # Built-in propagator identifiers include: tracecontext, baggage, b3, b3multi, jaeger, ottrace. Known third party identifiers include: xray. - # If the resolved list of propagators (from .composite and .composite_list) is empty, a noop propagator is used. -# composite_list: "tracecontext,baggage,b3,b3multi,jaeger,ottrace,xray" - -# ottrace, xray not supported in opentelemetry-cpp - composite_list: "tracecontext,baggage,b3,b3multi,jaeger" - -# Configure tracer provider. -# If omitted, a noop tracer provider is used. -tracer_provider: - # Configure span processors. - processors: - - # Configure a batch span processor. - batch: - # Configure delay interval (in milliseconds) between two consecutive exports. - # Value must be non-negative. - # If omitted or null, 5000 is used. - schedule_delay: 5000 - # Configure maximum allowed time (in milliseconds) to export data. - # Value must be non-negative. A value of 0 indicates no limit (infinity). - # If omitted or null, 30000 is used. - export_timeout: 30000 - # Configure maximum queue size. Value must be positive. - # If omitted or null, 2048 is used. - max_queue_size: 2048 - # Configure maximum batch size. Value must be positive. - # If omitted or null, 512 is used. - max_export_batch_size: 512 - # Configure exporter. - exporter: - # Configure exporter to be OTLP with HTTP transport. - otlp_http: - # Configure endpoint, including the signal specific path. - # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. - endpoint: http://localhost:4318/v1/traces - # Configure TLS settings for the exporter. - tls: - # Configure certificate used to verify a server's TLS credentials. - # Absolute path to certificate file in PEM format. - # If omitted or null, system default certificate verification is used for secure connections. - certificate_file: /app/cert.pem - # Configure mTLS private client key. - # Absolute path to client key file in PEM format. If set, .client_certificate must also be set. - # If omitted or null, mTLS is not used. - client_key_file: /app/cert.pem - # Configure mTLS client certificate. - # Absolute path to client certificate file in PEM format. If set, .client_key must also be set. - # If omitted or null, mTLS is not used. - client_certificate_file: /app/cert.pem - # Configure headers. Entries have higher priority than entries from .headers_list. - # If an entry's .value is null, the entry is ignored. - headers: - - # The name of the pair. - name: api-key - # The value of the pair. - value: "1234" - # Configure headers. Entries have lower priority than entries from .headers. - # The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. - # If omitted or null, no headers are added. - headers_list: "api-key=1234" - # Configure compression. - # Values include: gzip, none. Implementations may support other compression algorithms. - # If omitted or null, none is used. - compression: gzip - # Configure max time (in milliseconds) to wait for each export. - # Value must be non-negative. A value of 0 indicates no limit (infinity). - # If omitted or null, 10000 is used. - timeout: 10000 - # Configure the encoding used for messages. - # Values include: protobuf, json. Implementations may not support json. - # If omitted or null, protobuf is used. - encoding: protobuf - - # Configure a batch span processor. - batch: - # Configure exporter. - exporter: - # Configure exporter to be OTLP with gRPC transport. - otlp_grpc: - # Configure endpoint. - # If omitted or null, http://localhost:4317 is used. - endpoint: http://localhost:4317 - # Configure TLS settings for the exporter. - tls: - # Configure certificate used to verify a server's TLS credentials. - # Absolute path to certificate file in PEM format. - # If omitted or null, system default certificate verification is used for secure connections. - certificate_file: /app/cert.pem - # Configure mTLS private client key. - # Absolute path to client key file in PEM format. If set, .client_certificate must also be set. - # If omitted or null, mTLS is not used. - client_key_file: /app/cert.pem - # Configure mTLS client certificate. - # Absolute path to client certificate file in PEM format. If set, .client_key must also be set. - # If omitted or null, mTLS is not used. - client_certificate_file: /app/cert.pem - # Configure client transport security for the exporter's connection. - # Only applicable when .endpoint is provided without http or https scheme. Implementations may choose to ignore .insecure. - # If omitted or null, false is used. - insecure: false - # Configure headers. Entries have higher priority than entries from .headers_list. - # If an entry's .value is null, the entry is ignored. - headers: - - # The name of the pair. - name: api-key - # The value of the pair. - value: "1234" - # Configure headers. Entries have lower priority than entries from .headers. - # The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. - # If omitted or null, no headers are added. - headers_list: "api-key=1234" - # Configure compression. - # Values include: gzip, none. Implementations may support other compression algorithms. - # If omitted or null, none is used. - compression: gzip - # Configure max time (in milliseconds) to wait for each export. - # Value must be non-negative. A value of 0 indicates no limit (infinity). - # If omitted or null, 10000 is used. - timeout: 10000 - - # Configure a batch span processor. - batch: - # Configure exporter. - exporter: - # Configure exporter to be OTLP with file transport. - # This type is in development and subject to breaking changes in minor versions. - otlp_file/development: - # Configure output stream. - # Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. - # If omitted or null, stdout is used. - output_stream: file:///var/log/traces.jsonl - - # Configure a batch span processor. - batch: - # Configure exporter. - exporter: - # Configure exporter to be OTLP with file transport. - # This type is in development and subject to breaking changes in minor versions. - otlp_file/development: - # Configure output stream. - # Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. - # If omitted or null, stdout is used. - output_stream: stdout - - # Configure a simple span processor. - simple: - # Configure exporter. - exporter: - # Configure exporter to be console. - console: - # Configure span limits. See also attribute_limits. - limits: - # Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit. - # Value must be non-negative. - # If omitted or null, there is no limit. - attribute_value_length_limit: 4096 - # Configure max attribute count. Overrides .attribute_limits.attribute_count_limit. - # Value must be non-negative. - # If omitted or null, 128 is used. - attribute_count_limit: 128 - # Configure max span event count. - # Value must be non-negative. - # If omitted or null, 128 is used. - event_count_limit: 128 - # Configure max span link count. - # Value must be non-negative. - # If omitted or null, 128 is used. - link_count_limit: 128 - # Configure max attributes per span event. - # Value must be non-negative. - # If omitted or null, 128 is used. - event_attribute_count_limit: 128 - # Configure max attributes per span link. - # Value must be non-negative. - # If omitted or null, 128 is used. - link_attribute_count_limit: 128 - # Configure the sampler. - # If omitted, parent based sampler with a root of always_on is used. - sampler: - # Configure sampler to be parent_based. - parent_based: - # Configure root sampler. - # If omitted or null, always_on is used. - root: - # Configure sampler to be trace_id_ratio_based. - trace_id_ratio_based: - # Configure trace_id_ratio. - # If omitted or null, 1.0 is used. - ratio: 0.0001 - # Configure remote_parent_sampled sampler. - # If omitted or null, always_on is used. - remote_parent_sampled: - # Configure sampler to be always_on. - always_on: - # Configure remote_parent_not_sampled sampler. - # If omitted or null, always_off is used. - remote_parent_not_sampled: - # Configure sampler to be always_off. - always_off: - # Configure local_parent_sampled sampler. - # If omitted or null, always_on is used. - local_parent_sampled: - # Configure sampler to be always_on. - always_on: - # Configure local_parent_not_sampled sampler. - # If omitted or null, always_off is used. - local_parent_not_sampled: - # Configure sampler to be always_off. - always_off: - # Configure tracers. - # This type is in development and subject to breaking changes in minor versions. - tracer_configurator/development: - # Configure the default tracer config used there is no matching entry in .tracer_configurator/development.tracers. - default_config: - # Configure if the tracer is enabled or not. - disabled: true - # Configure tracers. - tracers: - - # Configure tracer names to match, evaluated as follows: - # - # * If the tracer name exactly matches. - # * If the tracer name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none. - name: io.opentelemetry.contrib.* - # The tracer config. - config: - # Configure if the tracer is enabled or not. - disabled: false -# Configure resource for all signals. -# If omitted, the default resource is used. -resource: - # Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list. - attributes: - - # The attribute name. - name: service.name - # The attribute value. - # The type of value must match .type. - value: unknown_service - - # The attribute name. - name: string_key - # The attribute value. - # The type of value must match .type. - value: value - # The attribute type. - # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. - # If omitted or null, string is used. - type: string - - # The attribute name. - name: bool_key - # The attribute value. - # The type of value must match .type. - value: true - # The attribute type. - # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. - # If omitted or null, string is used. - type: bool - - # The attribute name. - name: int_key - # The attribute value. - # The type of value must match .type. - value: 1 - # The attribute type. - # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. - # If omitted or null, string is used. - type: int - - # The attribute name. - name: double_key - # The attribute value. - # The type of value must match .type. - value: 1.1 - # The attribute type. - # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. - # If omitted or null, string is used. - type: double - - # The attribute name. - name: string_array_key - # The attribute value. - # The type of value must match .type. - value: [ "value1", "value2" ] - # The attribute type. - # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. - # If omitted or null, string is used. - type: string_array - - # The attribute name. - name: bool_array_key - # The attribute value. - # The type of value must match .type. - value: [ true, false ] - # The attribute type. - # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. - # If omitted or null, string is used. - type: bool_array - - # The attribute name. - name: int_array_key - # The attribute value. - # The type of value must match .type. - value: [ 1, 2 ] - # The attribute type. - # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. - # If omitted or null, string is used. - type: int_array - - # The attribute name. - name: double_array_key - # The attribute value. - # The type of value must match .type. - value: [ 1.1, 2.2 ] - # The attribute type. - # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. - # If omitted or null, string is used. - type: double_array - # Configure resource attributes. Entries have lower priority than entries from .resource.attributes. - # The value is a list of comma separated key-value pairs matching the format of OTEL_RESOURCE_ATTRIBUTES. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration for details. - # If omitted or null, no resource attributes are added. - attributes_list: "service.namespace=my-namespace,service.version=1.0.0" - # Configure resource detection. - # This type is in development and subject to breaking changes in minor versions. - # If omitted or null, resource detection is disabled. - detection/development: - # Configure attributes provided by resource detectors. - attributes: - # Configure list of value patterns to include. - # Values are evaluated to match as follows: - # * If the value exactly matches. - # * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none. - # If omitted, all values are included. - included: - - process.* - # Configure list of value patterns to exclude. Applies after .included (i.e. excluded has higher priority than included). - # Values are evaluated to match as follows: - # * If the value exactly matches. - # * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none. - # If omitted, .included attributes are included. - excluded: - - process.command_args - # Configure resource detectors. - # Resource detector names are dependent on the SDK language ecosystem. Please consult documentation for each respective language. - # If omitted or null, no resource detectors are enabled. - detectors: - - # Enable the container resource detector, which populates container.* attributes. - container: - - # Enable the host resource detector, which populates host.* and os.* attributes. - host: - - # Enable the process resource detector, which populates process.* attributes. - process: - - # Enable the service detector, which populates service.name based on the OTEL_SERVICE_NAME environment variable and service.instance.id. - service: - # Configure resource schema URL. - # If omitted or null, no schema URL is used. - schema_url: https://opentelemetry.io/schemas/1.16.0 -# Configure instrumentation. -# This type is in development and subject to breaking changes in minor versions. -instrumentation/development: - # Configure general SemConv options that may apply to multiple languages and instrumentations. - # Instrumenation may merge general config options with the language specific configuration at .instrumentation.. - general: - # Configure instrumentations following the peer semantic conventions. - # See peer semantic conventions: https://opentelemetry.io/docs/specs/semconv/attributes-registry/peer/ - peer: - # Configure the service mapping for instrumentations following peer.service semantic conventions. - # See peer.service semantic conventions: https://opentelemetry.io/docs/specs/semconv/general/attributes/#general-remote-service-attributes - service_mapping: - - # The IP address to map. - peer: 1.2.3.4 - # The logical name corresponding to the IP address of .peer. - service: FooService - - # The IP address to map. - peer: 2.3.4.5 - # The logical name corresponding to the IP address of .peer. - service: BarService - # Configure instrumentations following the http semantic conventions. - # See http semantic conventions: https://opentelemetry.io/docs/specs/semconv/http/ - http: - # Configure instrumentations following the http client semantic conventions. - client: - # Configure headers to capture for outbound http requests. - request_captured_headers: - - Content-Type - - Accept - # Configure headers to capture for inbound http responses. - response_captured_headers: - - Content-Type - - Content-Encoding - # Configure instrumentations following the http server semantic conventions. - server: - # Configure headers to capture for inbound http requests. - request_captured_headers: - - Content-Type - - Accept - # Configure headers to capture for outbound http responses. - response_captured_headers: - - Content-Type - - Content-Encoding - # Configure C++ language-specific instrumentation libraries. - cpp: - example: - property: "value" - # Configure .NET language-specific instrumentation libraries. - # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. - dotnet: - example: - property: "value" - # Configure Erlang language-specific instrumentation libraries. - # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. - erlang: - example: - property: "value" - # Configure Go language-specific instrumentation libraries. - # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. - go: - example: - property: "value" - # Configure Java language-specific instrumentation libraries. - # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. - java: - example: - property: "value" - # Configure JavaScript language-specific instrumentation libraries. - # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. - js: - example: - property: "value" - # Configure PHP language-specific instrumentation libraries. - # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. - php: - example: - property: "value" - # Configure Python language-specific instrumentation libraries. - # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. - python: - example: - property: "value" - # Configure Ruby language-specific instrumentation libraries. - # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. - ruby: - example: - property: "value" - # Configure Rust language-specific instrumentation libraries. - # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. - rust: - example: - property: "value" - # Configure Swift language-specific instrumentation libraries. - # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. - swift: - example: - property: "value" diff --git a/sdk/include/opentelemetry/sdk/configuration/grpc_tls_configuration.h b/sdk/include/opentelemetry/sdk/configuration/grpc_tls_configuration.h index 1f5fd638d0..9a10b8e6c8 100644 --- a/sdk/include/opentelemetry/sdk/configuration/grpc_tls_configuration.h +++ b/sdk/include/opentelemetry/sdk/configuration/grpc_tls_configuration.h @@ -14,14 +14,14 @@ namespace sdk namespace configuration { -// YAML-SCHEMA: schema/common.json +// YAML-SCHEMA: schema/common.yaml // YAML-NODE: GrpcTls class GrpcTlsConfiguration { public: - std::string certificate_file; - std::string client_key_file; - std::string client_certificate_file; + std::string ca_file; + std::string key_file; + std::string cert_file; bool insecure{false}; }; diff --git a/sdk/include/opentelemetry/sdk/configuration/http_tls_configuration.h b/sdk/include/opentelemetry/sdk/configuration/http_tls_configuration.h index 466780cb66..7414137db4 100644 --- a/sdk/include/opentelemetry/sdk/configuration/http_tls_configuration.h +++ b/sdk/include/opentelemetry/sdk/configuration/http_tls_configuration.h @@ -14,14 +14,14 @@ namespace sdk namespace configuration { -// YAML-SCHEMA: schema/common.json +// YAML-SCHEMA: schema/common.yaml // YAML-NODE: HttpTls class HttpTlsConfiguration { public: - std::string certificate_file; - std::string client_key_file; - std::string client_certificate_file; + std::string ca_file; + std::string key_file; + std::string cert_file; }; } // namespace configuration diff --git a/sdk/src/configuration/configuration_parser.cc b/sdk/src/configuration/configuration_parser.cc index f5eb6fb016..e6e3039446 100644 --- a/sdk/src/configuration/configuration_parser.cc +++ b/sdk/src/configuration/configuration_parser.cc @@ -210,9 +210,9 @@ std::unique_ptr ConfigurationParser::ParseHttpTlsConfigura { auto model = std::make_unique(); - model->certificate_file = node->GetString("certificate_file", ""); - model->client_key_file = node->GetString("client_key_file", ""); - model->client_certificate_file = node->GetString("client_certificate_file", ""); + model->ca_file = node->GetString("ca_file", ""); + model->key_file = node->GetString("key_file", ""); + model->cert_file = node->GetString("cert_file", ""); return model; } @@ -222,10 +222,10 @@ std::unique_ptr ConfigurationParser::ParseGrpcTlsConfigura { auto model = std::make_unique(); - model->certificate_file = node->GetString("certificate_file", ""); - model->client_key_file = node->GetString("client_key_file", ""); - model->client_certificate_file = node->GetString("client_certificate_file", ""); - model->insecure = node->GetBoolean("insecure", false); + model->ca_file = node->GetString("ca_file", ""); + model->key_file = node->GetString("key_file", ""); + model->cert_file = node->GetString("cert_file", ""); + model->insecure = node->GetBoolean("insecure", false); return model; } diff --git a/sdk/test/configuration/yaml_logs_test.cc b/sdk/test/configuration/yaml_logs_test.cc index fd78920458..e3e93ee9dd 100644 --- a/sdk/test/configuration/yaml_logs_test.cc +++ b/sdk/test/configuration/yaml_logs_test.cc @@ -206,9 +206,9 @@ file_format: "1.0-logs" otlp_http: endpoint: "somewhere" tls: - certificate_file: "certificate_file" - client_key_file: "client_key_file" - client_certificate_file: "client_certificate_file" + ca_file: "ca_file" + key_file: "key_file" + cert_file: "cert_file" headers: - name: foo value: "123" @@ -237,9 +237,9 @@ file_format: "1.0-logs" exporter); ASSERT_EQ(otlp_http->endpoint, "somewhere"); ASSERT_NE(otlp_http->tls, nullptr); - ASSERT_EQ(otlp_http->tls->certificate_file, "certificate_file"); - ASSERT_EQ(otlp_http->tls->client_key_file, "client_key_file"); - ASSERT_EQ(otlp_http->tls->client_certificate_file, "client_certificate_file"); + ASSERT_EQ(otlp_http->tls->ca_file, "ca_file"); + ASSERT_EQ(otlp_http->tls->key_file, "key_file"); + ASSERT_EQ(otlp_http->tls->cert_file, "cert_file"); ASSERT_NE(otlp_http->headers, nullptr); ASSERT_EQ(otlp_http->headers->kv_map.size(), 2); ASSERT_EQ(otlp_http->headers->kv_map["foo"], "123"); @@ -296,9 +296,9 @@ file_format: "1.0-logs" otlp_grpc: endpoint: "somewhere" tls: - certificate_file: "certificate_file" - client_key_file: "client_key_file" - client_certificate_file: "client_certificate_file" + ca_file: "ca_file" + key_file: "key_file" + cert_file: "cert_file" insecure: true headers: - name: foo @@ -327,9 +327,9 @@ file_format: "1.0-logs" exporter); ASSERT_EQ(otlp_grpc->endpoint, "somewhere"); ASSERT_NE(otlp_grpc->tls, nullptr); - ASSERT_EQ(otlp_grpc->tls->certificate_file, "certificate_file"); - ASSERT_EQ(otlp_grpc->tls->client_key_file, "client_key_file"); - ASSERT_EQ(otlp_grpc->tls->client_certificate_file, "client_certificate_file"); + ASSERT_EQ(otlp_grpc->tls->ca_file, "ca_file"); + ASSERT_EQ(otlp_grpc->tls->key_file, "key_file"); + ASSERT_EQ(otlp_grpc->tls->cert_file, "cert_file"); ASSERT_EQ(otlp_grpc->tls->insecure, true); ASSERT_NE(otlp_grpc->headers, nullptr); ASSERT_EQ(otlp_grpc->headers->kv_map.size(), 2); diff --git a/sdk/test/configuration/yaml_metrics_test.cc b/sdk/test/configuration/yaml_metrics_test.cc index 19169ec396..1e398b2eef 100644 --- a/sdk/test/configuration/yaml_metrics_test.cc +++ b/sdk/test/configuration/yaml_metrics_test.cc @@ -214,9 +214,9 @@ file_format: "1.0-metrics" otlp_http: endpoint: "somewhere" tls: - certificate_file: "certificate_file" - client_key_file: "client_key_file" - client_certificate_file: "client_certificate_file" + ca_file: "ca_file" + key_file: "key_file" + cert_file: "cert_file" headers: - name: foo value: "123" @@ -246,9 +246,9 @@ file_format: "1.0-metrics" opentelemetry::sdk::configuration::OtlpHttpPushMetricExporterConfiguration *>(exporter); ASSERT_EQ(otlp_http->endpoint, "somewhere"); ASSERT_NE(otlp_http->tls, nullptr); - ASSERT_EQ(otlp_http->tls->certificate_file, "certificate_file"); - ASSERT_EQ(otlp_http->tls->client_key_file, "client_key_file"); - ASSERT_EQ(otlp_http->tls->client_certificate_file, "client_certificate_file"); + ASSERT_EQ(otlp_http->tls->ca_file, "ca_file"); + ASSERT_EQ(otlp_http->tls->key_file, "key_file"); + ASSERT_EQ(otlp_http->tls->cert_file, "cert_file"); ASSERT_NE(otlp_http->headers, nullptr); ASSERT_EQ(otlp_http->headers->kv_map.size(), 2); ASSERT_EQ(otlp_http->headers->kv_map["foo"], "123"); @@ -314,9 +314,9 @@ file_format: "1.0-metrics" otlp_grpc: endpoint: "somewhere" tls: - certificate_file: "certificate_file" - client_key_file: "client_key_file" - client_certificate_file: "client_certificate_file" + ca_file: "ca_file" + key_file: "key_file" + cert_file: "cert_file" insecure: true headers: - name: foo @@ -346,9 +346,9 @@ file_format: "1.0-metrics" opentelemetry::sdk::configuration::OtlpGrpcPushMetricExporterConfiguration *>(exporter); ASSERT_EQ(otlp_grpc->endpoint, "somewhere"); ASSERT_NE(otlp_grpc->tls, nullptr); - ASSERT_EQ(otlp_grpc->tls->certificate_file, "certificate_file"); - ASSERT_EQ(otlp_grpc->tls->client_key_file, "client_key_file"); - ASSERT_EQ(otlp_grpc->tls->client_certificate_file, "client_certificate_file"); + ASSERT_EQ(otlp_grpc->tls->ca_file, "ca_file"); + ASSERT_EQ(otlp_grpc->tls->key_file, "key_file"); + ASSERT_EQ(otlp_grpc->tls->cert_file, "cert_file"); ASSERT_EQ(otlp_grpc->tls->insecure, true); ASSERT_NE(otlp_grpc->headers, nullptr); ASSERT_EQ(otlp_grpc->headers->kv_map.size(), 2); diff --git a/sdk/test/configuration/yaml_trace_test.cc b/sdk/test/configuration/yaml_trace_test.cc index 00b1c99f32..daa3c40d4b 100644 --- a/sdk/test/configuration/yaml_trace_test.cc +++ b/sdk/test/configuration/yaml_trace_test.cc @@ -209,9 +209,9 @@ file_format: "1.0-trace" otlp_http: endpoint: "somewhere" tls: - certificate_file: "certificate_file" - client_key_file: "client_key_file" - client_certificate_file: "client_certificate_file" + ca_file: "ca_file" + key_file: "key_file" + cert_file: "cert_file" headers: - name: foo value: "123" @@ -240,9 +240,9 @@ file_format: "1.0-trace" exporter); ASSERT_EQ(otlp_http->endpoint, "somewhere"); ASSERT_NE(otlp_http->tls, nullptr); - ASSERT_EQ(otlp_http->tls->certificate_file, "certificate_file"); - ASSERT_EQ(otlp_http->tls->client_key_file, "client_key_file"); - ASSERT_EQ(otlp_http->tls->client_certificate_file, "client_certificate_file"); + ASSERT_EQ(otlp_http->tls->ca_file, "ca_file"); + ASSERT_EQ(otlp_http->tls->key_file, "key_file"); + ASSERT_EQ(otlp_http->tls->cert_file, "cert_file"); ASSERT_NE(otlp_http->headers, nullptr); ASSERT_EQ(otlp_http->headers->kv_map.size(), 2); ASSERT_EQ(otlp_http->headers->kv_map["foo"], "123"); @@ -299,9 +299,9 @@ file_format: "1.0-trace" otlp_grpc: endpoint: "somewhere" tls: - certificate_file: "certificate_file" - client_key_file: "client_key_file" - client_certificate_file: "client_certificate_file" + ca_file: "ca_file" + key_file: "key_file" + cert_file: "cert_file" insecure: true headers: - name: foo @@ -330,9 +330,9 @@ file_format: "1.0-trace" exporter); ASSERT_EQ(otlp_grpc->endpoint, "somewhere"); ASSERT_NE(otlp_grpc->tls, nullptr); - ASSERT_EQ(otlp_grpc->tls->certificate_file, "certificate_file"); - ASSERT_EQ(otlp_grpc->tls->client_key_file, "client_key_file"); - ASSERT_EQ(otlp_grpc->tls->client_certificate_file, "client_certificate_file"); + ASSERT_EQ(otlp_grpc->tls->ca_file, "ca_file"); + ASSERT_EQ(otlp_grpc->tls->key_file, "key_file"); + ASSERT_EQ(otlp_grpc->tls->cert_file, "cert_file"); ASSERT_EQ(otlp_grpc->tls->insecure, true); ASSERT_NE(otlp_grpc->headers, nullptr); ASSERT_EQ(otlp_grpc->headers->kv_map.size(), 2);