Documentation
¶
Index ¶
- Constants
- Variables
- func BuildImagePath(image, version, tag, sha string) (string, error)
- func CreateConfigReloader(config ReloaderConfig, reloadURL url.URL, listenLocal bool, localHost string, ...) v1.Container
- func MakeVolumeClaimTemplate(e monitoringv1.EmbeddedPersistentVolumeClaim) *v1.PersistentVolumeClaim
- func NewTLSConfig(logger log.Logger, certFile, keyFile, clientCAFile, minVersion string, ...) (*tls.Config, error)
- func SanitizeSTS(sts *appsv1.StatefulSet)
- func StringPtrValOrDefault(val *string, defaultVal string) string
- func StringValOrDefault(val, defaultVal string) string
- func WaitForNamedCacheSync(ctx context.Context, controllerName string, logger log.Logger, ...) bool
- type Config
- type Labels
- type Metrics
- func (m *Metrics) Collect(ch chan<- prometheus.Metric)
- func (m *Metrics) Describe(ch chan<- *prometheus.Desc)
- func (m *Metrics) ForgetObject(objKey string)
- func (m *Metrics) MustRegister(metrics ...prometheus.Collector)
- func (m *Metrics) NewInstrumentedListerWatcher(lw cache.ListerWatcher) cache.ListerWatcher
- func (m *Metrics) Ready() prometheus.Gauge
- func (m *Metrics) ReconcileCounter() prometheus.Counter
- func (m *Metrics) ReconcileErrorsCounter() prometheus.Counter
- func (m *Metrics) SetRejectedResources(objKey, resource string, v int)
- func (m *Metrics) SetSelectedResources(objKey, resource string, v int)
- func (m *Metrics) SetSyncStatus(objKey string, success bool)
- func (m *Metrics) StsDeleteCreateCounter() prometheus.Counter
- func (m *Metrics) TriggerByCounter(triggeredBy, action string) prometheus.Counter
- type Namespaces
- type ReloaderConfig
- type TLSServerConfig
Constants ¶
const ( DefaultAlertmanagerVersion = "v0.21.0" DefaultAlertmanagerBaseImage = "quay.io/prometheus/alertmanager" DefaultAlertmanagerImage = DefaultAlertmanagerBaseImage + ":" + DefaultAlertmanagerVersion DefaultThanosVersion = "v0.15.0" DefaultThanosBaseImage = "quay.io/thanos/thanos" DefaultThanosImage = DefaultThanosBaseImage + ":" + DefaultThanosVersion )
Variables ¶
var ( DefaultPrometheusConfigReloaderImage = "quay.io/prometheus-operator/prometheus-config-reloader:v" + version.Version PrometheusCompatibilityMatrix = []string{ "v1.4.0", "v1.4.1", "v1.5.0", "v1.5.1", "v1.5.2", "v1.5.3", "v1.6.0", "v1.6.1", "v1.6.2", "v1.6.3", "v1.7.0", "v1.7.1", "v1.7.2", "v1.8.0", "v2.0.0", "v2.2.1", "v2.3.1", "v2.3.2", "v2.4.0", "v2.4.1", "v2.4.2", "v2.4.3", "v2.5.0", "v2.6.0", "v2.6.1", "v2.7.0", "v2.7.1", "v2.7.2", "v2.8.1", "v2.9.2", "v2.10.0", "v2.11.0", "v2.14.0", "v2.15.2", "v2.16.0", "v2.17.2", "v2.18.0", "v2.18.1", "v2.18.2", "v2.19.0", "v2.19.1", "v2.19.2", "v2.19.3", "v2.20.0", "v2.20.1", "v2.21.0", "v2.22.0", } DefaultPrometheusVersion = PrometheusCompatibilityMatrix[len(PrometheusCompatibilityMatrix)-1] DefaultPrometheusBaseImage = "quay.io/prometheus/prometheus" DefaultPrometheusImage = DefaultPrometheusBaseImage + ":" + DefaultPrometheusVersion )
Functions ¶
func BuildImagePath ¶ added in v0.42.0
BuildImagePath builds a container image path based on the given parameters. If the image contains tag or digest then image will be returned. Inspired by kubernetes code handling of image building.
func CreateConfigReloader ¶ added in v0.43.0
func CreateConfigReloader( config ReloaderConfig, reloadURL url.URL, listenLocal bool, localHost string, logFormat, logLevel string, additionalArgs []string, volumeMounts []v1.VolumeMount, ) v1.Container
CreateConfigReloader returns the definition of the config-reloader container.
func MakeVolumeClaimTemplate ¶ added in v0.42.0
func MakeVolumeClaimTemplate(e monitoringv1.EmbeddedPersistentVolumeClaim) *v1.PersistentVolumeClaim
func NewTLSConfig ¶ added in v0.42.0
func NewTLSConfig(logger log.Logger, certFile, keyFile, clientCAFile, minVersion string, cipherSuites []string) (*tls.Config, error)
NewTLSConfig provides new server TLS configuration.
func SanitizeSTS ¶ added in v0.42.0
func SanitizeSTS(sts *appsv1.StatefulSet)
SanitizeSTS removes values for APIVersion and Kind from the VolumeClaimTemplates. This prevents update failures due to these fields changing when applied. See https://github.com/kubernetes/kubernetes/issues/87583
func StringPtrValOrDefault ¶ added in v0.42.0
StringPtrValOrDefault returns the default val if the given string pointer is nil points to an empty/whitespace string. Otherwise returns the value of the string.
func StringValOrDefault ¶ added in v0.42.0
StringValOrDefault returns the default val if the given string is empty/whitespace. Otherwise returns the value of the string..
func WaitForNamedCacheSync ¶ added in v0.43.1
func WaitForNamedCacheSync(ctx context.Context, controllerName string, logger log.Logger, inf cache.SharedIndexInformer) bool
WaitForCacheSync synchronizes the informer's cache and will log a warning every minute if the operation hasn't completed yet. Under normal circumstances, the cache sync should be fast. If it takes more than 1 minute, it means that something is stuck and the message will indicate to the admin which informer is the culprit. See https://github.com/prometheus-operator/prometheus-operator/issues/3347.
Types ¶
type Config ¶
type Config struct {
Host string
ClusterDomain string
KubeletObject string
ListenAddress string
TLSInsecure bool
TLSConfig rest.TLSClientConfig
ServerTLSConfig TLSServerConfig
ReloaderConfig ReloaderConfig
AlertmanagerDefaultBaseImage string
PrometheusDefaultBaseImage string
ThanosDefaultBaseImage string
Namespaces Namespaces
Labels Labels
LocalHost string
LogLevel string
LogFormat string
PromSelector string
AlertManagerSelector string
ThanosRulerSelector string
SecretListWatchSelector string
}
Config defines configuration parameters for the Operator.
type Labels ¶ added in v0.43.0
type Metrics ¶ added in v0.42.0
type Metrics struct {
// contains filtered or unexported fields
}
Metrics represents metrics associated to an operator.
func NewMetrics ¶ added in v0.42.0
func NewMetrics(name string, r prometheus.Registerer) *Metrics
NewMetrics initializes operator metrics and registers them with the given registerer. All metrics have a "controller=<name>" label.
func (*Metrics) Collect ¶ added in v0.43.0
func (m *Metrics) Collect(ch chan<- prometheus.Metric)
Collect implements the prometheus.Collector interface.
func (*Metrics) Describe ¶ added in v0.43.0
func (m *Metrics) Describe(ch chan<- *prometheus.Desc)
Describe implements the prometheus.Collector interface.
func (*Metrics) ForgetObject ¶ added in v0.43.0
ForgetObject removes the metrics tracked for the given object's key. It should be called when the controller detects that the object has been deleted.
func (*Metrics) MustRegister ¶ added in v0.42.0
func (m *Metrics) MustRegister(metrics ...prometheus.Collector)
MustRegister registers metrics with the Metrics registerer.
func (*Metrics) NewInstrumentedListerWatcher ¶ added in v0.42.0
func (m *Metrics) NewInstrumentedListerWatcher(lw cache.ListerWatcher) cache.ListerWatcher
NewInstrumentedListerWatcher returns a cache.ListerWatcher with instrumentation.
func (*Metrics) Ready ¶ added in v0.43.0
func (m *Metrics) Ready() prometheus.Gauge
Ready returns a gauge to track whether the controller is ready or not.
func (*Metrics) ReconcileCounter ¶ added in v0.42.0
func (m *Metrics) ReconcileCounter() prometheus.Counter
ReconcileCounter returns a counter to track attempted reconciliations.
func (*Metrics) ReconcileErrorsCounter ¶ added in v0.42.0
func (m *Metrics) ReconcileErrorsCounter() prometheus.Counter
ReconcileErrorsCounter returns a counter to track reconciliation errors.
func (*Metrics) SetRejectedResources ¶ added in v0.43.0
SetRejectedResources sets the number of resources that the controller rejected for the given object's key.
func (*Metrics) SetSelectedResources ¶ added in v0.43.0
SetSelectedResources sets the number of resources that the controller selected for the given object's key.
func (*Metrics) SetSyncStatus ¶ added in v0.43.0
SetSyncStatus tracks the status of the last sync operation for the given object.
func (*Metrics) StsDeleteCreateCounter ¶ added in v0.42.0
func (m *Metrics) StsDeleteCreateCounter() prometheus.Counter
StsDeleteCreateCounter returns a counter to track statefulset's recreations.
func (*Metrics) TriggerByCounter ¶ added in v0.42.0
func (m *Metrics) TriggerByCounter(triggeredBy, action string) prometheus.Counter
TriggerByCounter returns a counter to track operator actions by operation (add/delete/update) and action.