Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/utils/cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@
"Unmarshalable",
"Unmarshaller",
"Unmarshallers",
"unmarshalled",
"Vihas",
"Weng",
"Zipkin",
Expand Down
9 changes: 9 additions & 0 deletions config/configauth/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
$defs:
config:
description: Config defines the auth settings for the receiver.
type: object
properties:
authenticator:
description: AuthenticatorID specifies the name of the extension to use in order to authenticate the incoming data point.
type: string
x-customType: go.opentelemetry.io/collector/component.ID
11 changes: 11 additions & 0 deletions config/configcompression/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
$defs:
compression_params:
type: object
properties:
level:
$ref: level
level:
type: integer
type:
description: Type represents a compression method
type: string
142 changes: 142 additions & 0 deletions config/configgrpc/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
$defs:
client_config:
description: ClientConfig defines common settings for a gRPC client configuration.
type: object
properties:
auth:
description: Auth configuration for outgoing RPCs.
x-optional: true
$ref: go.opentelemetry.io/collector/config/configauth.config
authority:
description: WithAuthority parameter configures client to rewrite ":authority" header (godoc.org/google.golang.org/grpc#WithAuthority)
type: string
balancer_name:
description: Sets the balancer in grpclb_policy to discover the servers. Default is pick_first. https://github.com/grpc/grpc-go/blob/master/examples/features/load_balancing/README.md
type: string
compression:
description: The compression key for supported compression types within collector.
$ref: go.opentelemetry.io/collector/config/configcompression.type
endpoint:
description: The target to which the exporter is going to send traces or metrics, using the gRPC protocol. The valid syntax is described at https://github.com/grpc/grpc/blob/master/doc/naming.md.
type: string
headers:
description: The headers associated with gRPC requests.
$ref: go.opentelemetry.io/collector/config/configopaque.map_list
keepalive:
description: The keepalive parameters for gRPC client. See grpc.WithKeepaliveParams. (https://godoc.org/google.golang.org/grpc#WithKeepaliveParams).
x-optional: true
$ref: keepalive_client_config
middlewares:
description: Middlewares for the gRPC client.
type: array
items:
$ref: go.opentelemetry.io/collector/config/configmiddleware.config
read_buffer_size:
description: ReadBufferSize for gRPC client. See grpc.WithReadBufferSize. (https://godoc.org/google.golang.org/grpc#WithReadBufferSize).
type: integer
tls:
description: TLS struct exposes TLS client configuration.
$ref: go.opentelemetry.io/collector/config/configtls.client_config
wait_for_ready:
description: WaitForReady parameter configures client to wait for ready state before sending data. (https://github.com/grpc/grpc/blob/master/doc/wait-for-ready.md)
type: boolean
write_buffer_size:
description: WriteBufferSize for gRPC gRPC. See grpc.WithWriteBufferSize. (https://godoc.org/google.golang.org/grpc#WithWriteBufferSize).
type: integer
keepalive_client_config:
description: 'KeepaliveClientConfig exposes the keepalive.ClientParameters to be used by the exporter. Refer to the original data-structure for the meaning of each parameter: https://godoc.org/google.golang.org/grpc/keepalive#ClientParameters'
type: object
properties:
permit_without_stream:
type: boolean
time:
type: string
x-customType: time.Duration
format: duration
timeout:
type: string
x-customType: time.Duration
format: duration
keepalive_enforcement_policy:
description: KeepaliveEnforcementPolicy allow configuration of the keepalive.EnforcementPolicy. The same default values as keepalive.EnforcementPolicy are applicable and get applied by the server. See https://godoc.org/google.golang.org/grpc/keepalive#EnforcementPolicy for details.
type: object
properties:
min_time:
type: string
x-customType: time.Duration
format: duration
permit_without_stream:
type: boolean
keepalive_server_config:
description: KeepaliveServerConfig is the configuration for keepalive.
type: object
properties:
enforcement_policy:
x-optional: true
$ref: keepalive_enforcement_policy
server_parameters:
x-optional: true
$ref: keepalive_server_parameters
keepalive_server_parameters:
description: KeepaliveServerParameters allow configuration of the keepalive.ServerParameters. The same default values as keepalive.ServerParameters are applicable and get applied by the server. See https://godoc.org/google.golang.org/grpc/keepalive#ServerParameters for details.
type: object
properties:
max_connection_age:
type: string
x-customType: time.Duration
format: duration
max_connection_age_grace:
type: string
x-customType: time.Duration
format: duration
max_connection_idle:
type: string
x-customType: time.Duration
format: duration
time:
type: string
x-customType: time.Duration
format: duration
timeout:
type: string
x-customType: time.Duration
format: duration
server_config:
description: ServerConfig defines common settings for a gRPC server configuration.
type: object
properties:
auth:
description: Auth for this receiver
x-optional: true
$ref: go.opentelemetry.io/collector/config/configauth.config
include_metadata:
description: Include propagates the incoming connection's metadata to downstream consumers.
type: boolean
keepalive:
description: Keepalive anchor for all the settings related to keepalive.
x-optional: true
$ref: keepalive_server_config
max_concurrent_streams:
description: MaxConcurrentStreams sets the limit on the number of concurrent streams to each ServerTransport. It has effect only for streaming RPCs.
type: integer
x-customType: uint32
max_recv_msg_size_mib:
description: MaxRecvMsgSizeMiB sets the maximum size (in MiB) of messages accepted by the server.
type: integer
middlewares:
description: Middlewares for the gRPC server.
type: array
items:
$ref: go.opentelemetry.io/collector/config/configmiddleware.config
read_buffer_size:
description: ReadBufferSize for gRPC server. See grpc.ReadBufferSize. (https://godoc.org/google.golang.org/grpc#ReadBufferSize).
type: integer
tls:
description: Configures the protocol to use TLS. The default value is nil, which will cause the protocol to not use TLS.
x-optional: true
$ref: go.opentelemetry.io/collector/config/configtls.server_config
write_buffer_size:
description: WriteBufferSize for gRPC server. See grpc.WriteBufferSize. (https://godoc.org/google.golang.org/grpc#WriteBufferSize).
type: integer
allOf:
- $ref: go.opentelemetry.io/collector/config/confignet.addr_config
166 changes: 166 additions & 0 deletions config/confighttp/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
$defs:
auth_config:
type: object
properties:
request_params:
description: RequestParameters is a list of parameters that should be extracted from the request and added to the context. When a parameter is found in both the query string and the header, the value from the query string will be used.
type: array
items:
type: string
allOf:
- $ref: go.opentelemetry.io/collector/config/configauth.config
client_config:
description: ClientConfig defines settings for creating an HTTP client.
type: object
properties:
auth:
description: Auth configuration for outgoing HTTP calls.
x-optional: true
$ref: go.opentelemetry.io/collector/config/configauth.config
compression:
description: The compression key for supported compression types within collector.
$ref: go.opentelemetry.io/collector/config/configcompression.type
compression_params:
description: Advanced configuration options for the Compression
$ref: go.opentelemetry.io/collector/config/configcompression.compression_params
cookies:
description: Cookies configures the cookie management of the HTTP client.
x-optional: true
$ref: cookies_config
disable_keep_alives:
description: 'DisableKeepAlives, if true, disables HTTP keep-alives and will only use the connection to the server for a single HTTP request. WARNING: enabling this option can result in significant overhead establishing a new HTTP(S) connection for every request. Before enabling this option please consider whether changes to idle connection settings can achieve your goal.'
type: boolean
endpoint:
description: 'The target URL to send data to (e.g.: http://some.url:9411/v1/traces).'
type: string
force_attempt_http2:
description: 'Enabling ForceAttemptHTTP2 forces the HTTP transport to use the HTTP/2 protocol. By default, this is set to true. NOTE: HTTP/2 does not support settings such as MaxConnsPerHost, MaxIdleConnsPerHost and MaxIdleConns.'
type: boolean
headers:
description: Additional headers attached to each HTTP request sent by the client. Existing header values are overwritten if collision happens. Header values are opaque since they may be sensitive.
$ref: go.opentelemetry.io/collector/config/configopaque.map_list
http2_ping_timeout:
description: HTTP2PingTimeout if there's no response to the ping within the configured value, the connection will be closed. If not set or set to 0, it defaults to 15s.
type: string
x-customType: time.Duration
format: duration
http2_read_idle_timeout:
description: This is needed in case you run into https://github.com/golang/go/issues/59690 https://github.com/golang/go/issues/36026 HTTP2ReadIdleTimeout if the connection has been idle for the configured value send a ping frame for health check 0s means no health check will be performed.
type: string
x-customType: time.Duration
format: duration
idle_conn_timeout:
description: IdleConnTimeout is the maximum amount of time a connection will remain open before closing itself. By default, it is set to 90 seconds.
type: string
x-customType: time.Duration
format: duration
max_conns_per_host:
description: MaxConnsPerHost limits the total number of connections per host, including connections in the dialing, active, and idle states. Default is 0 (unlimited).
type: integer
max_idle_conns:
description: MaxIdleConns is used to set a limit to the maximum idle HTTP connections the client can keep open. By default, it is set to 100. Zero means no limit.
type: integer
max_idle_conns_per_host:
description: MaxIdleConnsPerHost is used to set a limit to the maximum idle HTTP connections the host can keep open. If zero, [net/http.DefaultMaxIdleConnsPerHost] is used.
type: integer
middlewares:
description: Middlewares are used to add custom functionality to the HTTP client. Middleware handlers are called in the order they appear in this list, with the first middleware becoming the outermost handler.
type: array
items:
$ref: go.opentelemetry.io/collector/config/configmiddleware.config
proxy_url:
description: ProxyURL setting for the collector
type: string
read_buffer_size:
description: ReadBufferSize for HTTP client. See http.Transport.ReadBufferSize. Default is 0.
type: integer
timeout:
description: Timeout parameter configures `http.Client.Timeout`. Default is 0 (unlimited).
type: string
x-customType: time.Duration
format: duration
tls:
description: TLS struct exposes TLS client configuration.
$ref: go.opentelemetry.io/collector/config/configtls.client_config
write_buffer_size:
description: WriteBufferSize for HTTP client. See http.Transport.WriteBufferSize. Default is 0.
type: integer
cors_config:
description: CORSConfig configures a receiver for HTTP cross-origin resource sharing (CORS). See the underlying https://github.com/rs/cors package for details.
type: object
properties:
allowed_headers:
description: AllowedHeaders sets what headers will be allowed in CORS requests. The Accept, Accept-Language, Content-Type, and Content-Language headers are implicitly allowed. If no headers are listed, X-Requested-With will also be accepted by default. Include "*" to allow any request header.
type: array
items:
type: string
allowed_origins:
description: AllowedOrigins sets the allowed values of the Origin header for HTTP/JSON requests to an OTLP receiver. An origin may contain a wildcard (*) to replace 0 or more characters (e.g., "http://*.domain.com", or "*" to allow any origin).
type: array
items:
type: string
max_age:
description: MaxAge sets the value of the Access-Control-Max-Age response header. Set it to the number of seconds that browsers should cache a CORS preflight response for.
type: integer
server_config:
description: ServerConfig defines settings for creating an HTTP server.
type: object
properties:
auth:
description: Auth for this receiver
x-optional: true
$ref: auth_config
compression_algorithms:
description: 'CompressionAlgorithms configures the list of compression algorithms the server can accept. Default: ["", "gzip", "zstd", "zlib", "snappy", "deflate"]'
type: array
items:
type: string
cors:
description: CORS configures the server for HTTP cross-origin resource sharing (CORS).
x-optional: true
$ref: cors_config
endpoint:
description: Endpoint configures the listening address for the server.
type: string
idle_timeout:
description: IdleTimeout is the maximum amount of time to wait for the next request when keep-alives are enabled. If IdleTimeout is zero, the value of ReadTimeout is used. If both are zero, there is no timeout.
type: string
x-customType: time.Duration
format: duration
include_metadata:
description: IncludeMetadata propagates the client metadata from the incoming requests to the downstream consumers
type: boolean
keep_alives_enabled:
description: KeepAlivesEnabled controls whether HTTP keep-alives are enabled. By default, keep-alives are always enabled. Only very resource-constrained environments should disable them.
type: boolean
max_request_body_size:
description: 'MaxRequestBodySize sets the maximum request body size in bytes. Default: 20MiB.'
type: integer
x-customType: int64
middlewares:
description: Middlewares are used to add custom functionality to the HTTP server. Middleware handlers are called in the order they appear in this list, with the first middleware becoming the outermost handler.
type: array
items:
$ref: go.opentelemetry.io/collector/config/configmiddleware.config
read_header_timeout:
description: ReadHeaderTimeout is the amount of time allowed to read request headers. The connection's read deadline is reset after reading the headers and the Handler can decide what is considered too slow for the body. If ReadHeaderTimeout is zero, the value of ReadTimeout is used. If both are zero, there is no timeout.
type: string
x-customType: time.Duration
format: duration
read_timeout:
description: ReadTimeout is the maximum duration for reading the entire request, including the body. A zero or negative value means there will be no timeout. Because ReadTimeout does not let Handlers make per-request decisions on each request body's acceptable deadline or upload rate, most users will prefer to use ReadHeaderTimeout. It is valid to use them both.
type: string
x-customType: time.Duration
format: duration
response_headers:
description: Additional headers attached to each HTTP response sent to the client. Header values are opaque since they may be sensitive.
$ref: go.opentelemetry.io/collector/config/configopaque.map_list
tls:
description: TLS struct exposes TLS client configuration.
x-optional: true
$ref: go.opentelemetry.io/collector/config/configtls.server_config
write_timeout:
description: WriteTimeout is the maximum duration before timing out writes of the response. It is reset whenever a new request's header is read. Like ReadTimeout, it does not let Handlers make decisions on a per-request basis. A zero or negative value means there will be no timeout.
type: string
x-customType: time.Duration
format: duration
9 changes: 9 additions & 0 deletions config/configmiddleware/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
$defs:
config:
description: Middleware defines the extension ID for a middleware component.
type: object
properties:
id:
description: ID specifies the name of the extension to use.
type: string
x-customType: go.opentelemetry.io/collector/component.ID
36 changes: 36 additions & 0 deletions config/confignet/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
$defs:
addr_config:
description: AddrConfig represents a network endpoint address.
type: object
properties:
dialer:
description: DialerConfig contains options for connecting to an address.
$ref: dialer_config
endpoint:
description: Endpoint configures the address for this network connection. For TCP and UDP networks, the address has the form "host:port". The host must be a literal IP address, or a host name that can be resolved to IP addresses. The port must be a literal port number or a service name. If the host is a literal IPv6 address it must be enclosed in square brackets, as in "[2001:db8::1]:80" or "[fe80::1%zone]:80". The zone specifies the scope of the literal IPv6 address as defined in RFC 4007.
type: string
transport:
description: Transport to use. Allowed protocols are "tcp", "tcp4" (IPv4-only), "tcp6" (IPv6-only), "udp", "udp4" (IPv4-only), "udp6" (IPv6-only), "ip", "ip4" (IPv4-only), "ip6" (IPv6-only), "unix", "unixgram" and "unixpacket".
$ref: transport_type
dialer_config:
description: DialerConfig contains options for connecting to an address.
type: object
properties:
timeout:
description: Timeout is the maximum amount of time a dial will wait for a connect to complete. The default is no timeout.
type: string
x-customType: time.Duration
format: duration
tcp_addr_config:
description: TCPAddrConfig represents a TCP endpoint address.
type: object
properties:
dialer:
description: DialerConfig contains options for connecting to an address.
$ref: dialer_config
endpoint:
description: Endpoint configures the address for this network connection. The address has the form "host:port". The host must be a literal IP address, or a host name that can be resolved to IP addresses. The port must be a literal port number or a service name. If the host is a literal IPv6 address it must be enclosed in square brackets, as in "[2001:db8::1]:80" or "[fe80::1%zone]:80". The zone specifies the scope of the literal IPv6 address as defined in RFC 4007.
type: string
transport_type:
description: TransportType represents a type of network transport protocol
type: string
Loading
Loading