Documentation
¶
Overview ¶
Package config defining the canary configuration parameters
Index ¶
Constants ¶
View Source
const ( // environment variables declaration BootstrapServersEnvVar = "KAFKA_BOOTSTRAP_SERVERS" BootstrapBackoffMaxAttemptsEnvVar = "KAFKA_BOOTSTRAP_BACKOFF_MAX_ATTEMPTS" BootstrapBackoffScaleEnvVar = "KAFKA_BOOTSTRAP_BACKOFF_SCALE" TopicEnvVar = "TOPIC" TopicConfigEnvVar = "TOPIC_CONFIG" ReconcileIntervalEnvVar = "RECONCILE_INTERVAL_MS" ClientIDEnvVar = "CLIENT_ID" ConsumerGroupIDEnvVar = "CONSUMER_GROUP_ID" ProducerLatencyBucketsEnvVar = "PRODUCER_LATENCY_BUCKETS" EndToEndLatencyBucketsEnvVar = "ENDTOEND_LATENCY_BUCKETS" ExpectedClusterSizeEnvVar = "EXPECTED_CLUSTER_SIZE" KafkaVersionEnvVar = "KAFKA_VERSION" SaramaLogEnabledEnvVar = "SARAMA_LOG_ENABLED" VerbosityLogLevelEnvVar = "VERBOSITY_LOG_LEVEL" TLSEnabledEnvVar = "TLS_ENABLED" TLSCACertEnvVar = "TLS_CA_CERT" TLSClientCertEnvVar = "TLS_CLIENT_CERT" TLSClientKeyEnvVar = "TLS_CLIENT_KEY" TLSInsecureSkipVerifyEnvVar = "TLS_INSECURE_SKIP_VERIFY" SASLMechanismEnvVar = "SASL_MECHANISM" SASLUserEnvVar = "SASL_USER" SASLPasswordEnvVar = "SASL_PASSWORD" ConnectionCheckIntervalEnvVar = "CONNECTION_CHECK_INTERVAL_MS" ConnectionCheckLatencyBucketsEnvVar = "CONNECTION_CHECK_LATENCY_BUCKETS" StatusCheckIntervalEnvVar = "STATUS_CHECK_INTERVAL_MS" StatusTimeWindowEnvVar = "STATUS_TIME_WINDOW_MS" DynamicConfigFileEnvVar = "DYNAMIC_CONFIG_FILE" DynamicConfigWatcherIntervalEnvVar = "DYNAMIC_CONFIG_WATCHER_INTERVAL" ExporterTypeTracing = "EXPORTER_TYPE_TRACING" //TODO: This will be removed when Support the OTEL_TRACES_EXPORTER env var is available in the SDK see: https://github.com/open-telemetry/opentelemetry-go/issues/2310 PrometheusConsantLabelsEnvVar = "PROMETHEUS_CONSTANT_LABELS" // default values for environment variables BootstrapServersDefault = "localhost:9092" BootstrapBackoffMaxAttemptsDefault = 10 BootstrapBackoffScaleDefault = 5000 TopicDefault = "__strimzi_canary" TopicConfigDefault = "" ReconcileIntervalDefault = 30000 ClientIDDefault = "strimzi-canary-client" ConsumerGroupIDDefault = "strimzi-canary-group" ProducerLatencyBucketsDefault = "2,5,10,20,50,100,200,400" EndToEndLatencyBucketsDefault = "5,10,20,50,100,200,400,800" ExpectedClusterSizeDefault = -1 // "dynamic" reassignment is enabled KafkaVersionDefault = "3.2.0" SaramaLogEnabledDefault = false VerbosityLogLevelDefault = 0 // default 0 = INFO, 1 = DEBUG, 2 = TRACE TLSEnabledDefault = false TLSCACertDefault = "" TLSClientCertDefault = "" TLSClientKeyDefault = "" TLSInsecureSkipVerifyDefault = false SASLMechanismDefault = "" SASLUserDefault = "" SASLPasswordDefault = "" ConnectionCheckIntervalDefault = 120000 ConnectionCheckLatencyBucketsDefault = "100,200,400,800,1600" StatusCheckIntervalDefault = 30000 StatusTimeWindowDefault = 300000 DynamicConfigFileDefault = "" DynamicConfigWatcherIntervalDefault = 30000 ExporterTypeTracingDefault = "" //if empty no tracing for now, possible values : "otlp" or "jaeger" PrometheusConsantLabelsDefault = "" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CanaryConfig ¶
type CanaryConfig struct { DynamicCanaryConfig BootstrapServers []string BootstrapBackoffMaxAttempts int BootstrapBackoffScale time.Duration Topic string TopicConfig map[string]string ReconcileInterval time.Duration ClientID string ConsumerGroupID string ProducerLatencyBuckets []float64 EndToEndLatencyBuckets []float64 ExpectedClusterSize int KafkaVersion string DynamicConfigFile string TLSEnabled bool TLSCACert string TLSClientCert string TLSClientKey string TLSInsecureSkipVerify bool SASLMechanism string SASLUser string SASLPassword string ConnectionCheckInterval time.Duration ConnectionCheckLatencyBuckets []float64 StatusCheckInterval time.Duration StatusTimeWindow time.Duration DynamicConfigWatcherInterval time.Duration ExporterTypeTracing string PrometheusConstantLabels prometheus.Labels }
CanaryConfig defines the canary tool configuration
func NewCanaryConfig ¶
func NewCanaryConfig() *CanaryConfig
NewCanaryConfig returns an configuration instance from environment variables
func (CanaryConfig) String ¶
func (c CanaryConfig) String() string
type DynamicCanaryConfig ¶
type DynamicCanaryConfig struct { SaramaLogEnabled *bool `json:"saramaLogEnabled"` VerbosityLogLevel *int `json:"verbosityLogLevel"` }
func NewDynamicCanaryConfig ¶
func NewDynamicCanaryConfig() *DynamicCanaryConfig
func (DynamicCanaryConfig) String ¶
func (c DynamicCanaryConfig) String() string
type DynamicConfigWatcher ¶
type DynamicConfigWatcher struct {
// contains filtered or unexported fields
}
func NewDynamicConfigWatcher ¶
func NewDynamicConfigWatcher(canaryConfig *CanaryConfig, applyFunc func(config *DynamicCanaryConfig), defaultFunc func() *DynamicCanaryConfig) (*DynamicConfigWatcher, error)
func (*DynamicConfigWatcher) Close ¶
func (c *DynamicConfigWatcher) Close()
Click to show internal directories.
Click to hide internal directories.