config

package
v0.0.0-...-ae24322 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 27, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

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()

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL