39 lines
1.5 KiB
Go
39 lines
1.5 KiB
Go
|
package otlpreceiver
|
||
|
|
||
|
import "time"
|
||
|
|
||
|
type TLSSetting struct {
|
||
|
// Path to the CA cert. For a client this verifies the server certificate.
|
||
|
// For a server this verifies client certificates. If empty uses system root CA.
|
||
|
// (optional)
|
||
|
CAFile string `mapstructure:"ca_file"`
|
||
|
|
||
|
// Path to the TLS cert to use for TLS required connections. (optional)
|
||
|
CertFile string `mapstructure:"cert_file"`
|
||
|
|
||
|
// Path to the TLS key to use for TLS required connections. (optional)
|
||
|
KeyFile string `mapstructure:"key_file"`
|
||
|
|
||
|
// MinVersion sets the minimum TLS version that is acceptable.
|
||
|
// If not set, TLS 1.2 will be used. (optional)
|
||
|
MinVersion string `mapstructure:"min_version"`
|
||
|
|
||
|
// MaxVersion sets the maximum TLS version that is acceptable.
|
||
|
// If not set, refer to crypto/tls for defaults. (optional)
|
||
|
MaxVersion string `mapstructure:"max_version"`
|
||
|
|
||
|
// ReloadInterval specifies the duration after which the certificate will be reloaded
|
||
|
// If not set, it will never be reloaded (optional)
|
||
|
ReloadInterval time.Duration `mapstructure:"reload_interval"`
|
||
|
}
|
||
|
|
||
|
type TLSServerSetting struct {
|
||
|
// squash ensures fields are correctly decoded in embedded struct.
|
||
|
TLSSetting `mapstructure:",squash"`
|
||
|
|
||
|
// Path to the TLS cert to use by the server to verify a client certificate. (optional)
|
||
|
// This sets the ClientCAs and ClientAuth to RequireAndVerifyClientCert in the TLSConfig. Please refer to
|
||
|
// https://godoc.org/crypto/tls#Config for more information. (optional)
|
||
|
ClientCAFile string `mapstructure:"client_ca_file"`
|
||
|
}
|