controllers

package
v0.45.0 Latest Latest
Warning

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

Go to latest
Published: Jun 10, 2024 License: Apache-2.0 Imports: 47 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// MetaMergeStrategyLabel merge strategy by default prefer prometheus meta labels
	// but with annotation value added to VMObject:
	// annotations:
	//   operator.victoriametrics.com/merge-api-strategy: prefer-victoriametrics
	// metadata from VMObject will be preferred during merge
	MetaMergeStrategyLabel = "operator.victoriametrics.com/merge-meta-strategy"
	// MetaPreferVM - prefers VM object meta values, ignores prometheus
	MetaPreferVM = "prefer-victoriametrics"
	// MetaPreferProm - prefers prometheus
	MetaPreferProm = "prefer-prometheus"
	// MetaMergeLabelsVMPriority merges both label sets
	// its not possible to remove values
	MetaMergeLabelsVMPriority = "merge-victoriametrics-priority"
	// MetaMergeLabelsPromPriority merges both label sets
	// its not possible to remove values
	MetaMergeLabelsPromPriority = "merge-prometheus-priority"

	// IgnoreConversionLabel this annotation disables updating of corresponding VMObject
	// must be added to annotation of VMObject
	// annotations:
	//  operator.victoriametrics.com/ignore-prometheus-updates: enabled
	IgnoreConversionLabel = "operator.victoriametrics.com/ignore-prometheus-updates"
	// IgnoreConversion - disables updates from prometheus api
	IgnoreConversion = "enabled"
)

Variables

This section is empty.

Functions

func BindFlags added in v0.45.0

func BindFlags(f *flag.FlagSet)

BindFlags binds package flags to the given flagSet

func RegisterObjectStat added in v0.30.4

func RegisterObjectStat(obj client.Object, controller string)

RegisterObjectStat registers or deregisters object at metrics

Types

type ConverterController

type ConverterController struct {
	// contains filtered or unexported fields
}

ConverterController - watches for prometheus objects and create VictoriaMetrics objects

func NewConverterController

func NewConverterController(ctx context.Context, baseClient *kubernetes.Clientset, rclient client.WithWatch, resyncPeriod time.Duration, baseConf *config.BaseOperatorConf) (*ConverterController, error)

NewConverterController builder for vmprometheusconverter service

func (*ConverterController) CreateAlertmanagerConfig added in v0.28.0

func (c *ConverterController) CreateAlertmanagerConfig(amc interface{})

CreateAlertmanagerConfig converts AlertmanagerConfig to VMAlertmanagerConfig

func (*ConverterController) CreatePodMonitor

func (c *ConverterController) CreatePodMonitor(pod interface{})

CreatePodMonitor converts PodMonitor to VMPodScrape

func (*ConverterController) CreateProbe added in v0.2.0

func (c *ConverterController) CreateProbe(obj interface{})

CreateProbe converts Probe to VMProbe

func (*ConverterController) CreatePrometheusRule

func (c *ConverterController) CreatePrometheusRule(rule interface{})

CreatePrometheusRule converts prometheus rule to vmrule

func (*ConverterController) CreateScrapeConfig added in v0.43.0

func (c *ConverterController) CreateScrapeConfig(scrapeConfig interface{})

CreateScrapeConfig converts ServiceMonitor to VMScrapeConfig

func (*ConverterController) CreateServiceMonitor

func (c *ConverterController) CreateServiceMonitor(service interface{})

CreateServiceMonitor converts ServiceMonitor to VMServiceScrape

func (*ConverterController) Run

func (c *ConverterController) Run(ctx context.Context, group *errgroup.Group)

Run - starts vmprometheusconverter with background discovery process for each prometheus api object

func (*ConverterController) Start added in v0.9.0

func (c *ConverterController) Start(ctx context.Context) error

Start implements interface.

func (*ConverterController) UpdateAlertmanagerConfig added in v0.28.0

func (c *ConverterController) UpdateAlertmanagerConfig(_, new interface{})

UpdateAlertmanagerConfig updates VMAlertmanagerConfig

func (*ConverterController) UpdatePodMonitor

func (c *ConverterController) UpdatePodMonitor(_, new interface{})

UpdatePodMonitor updates VMPodScrape

func (*ConverterController) UpdateProbe added in v0.2.0

func (c *ConverterController) UpdateProbe(_, new interface{})

UpdateProbe updates VMProbe

func (*ConverterController) UpdatePrometheusRule

func (c *ConverterController) UpdatePrometheusRule(_old, new interface{})

UpdatePrometheusRule updates vmrule

func (*ConverterController) UpdateScrapeConfig added in v0.43.0

func (c *ConverterController) UpdateScrapeConfig(_, new interface{})

UpdateScrapeConfig updates VMScrapeConfig

func (*ConverterController) UpdateServiceMonitor

func (c *ConverterController) UpdateServiceMonitor(_, new interface{})

UpdateServiceMonitor updates VMServiceMonitor

type VMAgentReconciler

type VMAgentReconciler struct {
	client.Client
	Log          logr.Logger
	OriginScheme *runtime.Scheme
	BaseConf     *config.BaseOperatorConf
}

VMAgentReconciler reconciles a VMAgent object

func (*VMAgentReconciler) Reconcile

func (r *VMAgentReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, err error)

Reconcile general reconcile method +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmagents,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmagents/status,verbs=get;update;patch +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmagents/finalizers,verbs=* +kubebuilder:rbac:groups="",resources=pods,verbs=* +kubebuilder:rbac:groups="",resources=nodes,verbs=get;watch;list +kubebuilder:rbac:groups="",resources=nodes/proxy,verbs=get;watch;list +kubebuilder:rbac:groups="networking.k8s.io",resources=ingresses,verbs=get;watch;list +kubebuilder:rbac:groups="",resources=events,verbs=* +kubebuilder:rbac:groups="",resources=endpoints,verbs=* +kubebuilder:rbac:groups="",resources=endpointslices,verbs=get;watch;list +kubebuilder:rbac:groups="",resources=services,verbs=* +kubebuilder:rbac:groups="",resources=services/finalizers,verbs=* +kubebuilder:rbac:groups=monitoring.coreos.com,resources=*,verbs=* +kubebuilder:rbac:groups="",resources=namespaces,verbs=get;watch;list +kubebuilder:rbac:groups="rbac.authorization.k8s.io",resources=clusterrolebindings,verbs=get;create,update;list +kubebuilder:rbac:groups="rbac.authorization.k8s.io",resources=clusterroles,verbs=get;create,update;list +kubebuilder:rbac:groups="policy",resources=podsecuritypolicies,verbs=get;create,update;list +kubebuilder:rbac:groups="",resources=serviceaccounts,verbs=get;create,update;list

func (*VMAgentReconciler) Scheme

func (r *VMAgentReconciler) Scheme() *runtime.Scheme

Scheme implements interface.

func (*VMAgentReconciler) SetupWithManager

func (r *VMAgentReconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager general setup method

type VMAlertReconciler

type VMAlertReconciler struct {
	client.Client
	Log          logr.Logger
	OriginScheme *runtime.Scheme
	BaseConf     *config.BaseOperatorConf
}

VMAlertReconciler reconciles a VMAlert object

func (*VMAlertReconciler) Reconcile

func (r *VMAlertReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, resultErr error)

Reconcile general reconile method for controller +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmalerts,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmalerts/status,verbs=get;update;patch +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmalerts/finalizers,verbs=*

func (*VMAlertReconciler) Scheme

func (r *VMAlertReconciler) Scheme() *runtime.Scheme

Scheme implements interface.

func (*VMAlertReconciler) SetupWithManager

func (r *VMAlertReconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager general setup method

type VMAlertmanagerConfigReconciler added in v0.18.0

type VMAlertmanagerConfigReconciler struct {
	client.Client
	Log          logr.Logger
	OriginScheme *runtime.Scheme
	BaseConf     *config.BaseOperatorConf
}

VMAlertmanagerConfigReconciler reconciles a VMAlertmanagerConfig object

func (*VMAlertmanagerConfigReconciler) Reconcile added in v0.18.0

func (r *VMAlertmanagerConfigReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, err error)

Reconcile implements interface +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmalertmanagerconfigs,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmalertmanagerconfigs/status,verbs=get;update;patch

func (*VMAlertmanagerConfigReconciler) Scheme added in v0.18.0

Scheme implements interface.

func (*VMAlertmanagerConfigReconciler) SetupWithManager added in v0.18.0

func (r *VMAlertmanagerConfigReconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager configures reconcile

type VMAlertmanagerReconciler

type VMAlertmanagerReconciler struct {
	client.Client
	Log          logr.Logger
	OriginScheme *runtime.Scheme
	BaseConf     *config.BaseOperatorConf
}

VMAlertmanagerReconciler reconciles a VMAlertmanager object

func (*VMAlertmanagerReconciler) Reconcile

func (r *VMAlertmanagerReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, err error)

Reconcile general reconcile method for controller +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmalertmanagers,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmalertmanagers/status,verbs=get;update;patch +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmalertmanagers/finalizers,verbs=* +kubebuilder:rbac:groups=apps,resources=statefulsets,verbs=* +kubebuilder:rbac:groups="",resources=configmaps,verbs=* +kubebuilder:rbac:groups="",resources=secrets,verbs=*

func (*VMAlertmanagerReconciler) Scheme

Scheme implements interface.

func (*VMAlertmanagerReconciler) SetupWithManager

func (r *VMAlertmanagerReconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager general setup method

type VMAuthReconciler added in v0.15.0

type VMAuthReconciler struct {
	client.Client
	BaseConf     *config.BaseOperatorConf
	Log          logr.Logger
	OriginScheme *runtime.Scheme
}

VMAuthReconciler reconciles a VMAuth object

func (*VMAuthReconciler) Reconcile added in v0.15.0

func (r *VMAuthReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, err error)

Reconcile implements interface +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmauths,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmauths/status,verbs=get;update;patch

func (*VMAuthReconciler) Scheme added in v0.15.0

func (r *VMAuthReconciler) Scheme() *runtime.Scheme

Scheme implements interface.

func (*VMAuthReconciler) SetupWithManager added in v0.15.0

func (r *VMAuthReconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager inits object.

type VMClusterReconciler

type VMClusterReconciler struct {
	Client       client.Client
	Log          logr.Logger
	OriginScheme *runtime.Scheme
	BaseConf     *config.BaseOperatorConf
}

VMClusterReconciler reconciles a VMCluster object

func (*VMClusterReconciler) Reconcile

func (r *VMClusterReconciler) Reconcile(ctx context.Context, request ctrl.Request) (result ctrl.Result, err error)

Reconcile general reconcile method for controller +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmclusters,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmclusters/status,verbs=get;update;patch +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmclusters/finalizers,verbs=* +kubebuilder:rbac:groups=apps,resources=statefulsets,verbs=*

func (*VMClusterReconciler) Scheme

func (r *VMClusterReconciler) Scheme() *runtime.Scheme

Scheme implements interface.

func (*VMClusterReconciler) SetupWithManager

func (r *VMClusterReconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager general setup method

type VMNodeScrapeReconciler added in v0.6.0

type VMNodeScrapeReconciler struct {
	client.Client
	Log          logr.Logger
	OriginScheme *runtime.Scheme
	BaseConf     *config.BaseOperatorConf
}

VMNodeScrapeReconciler reconciles a VMNodeScrape object

func (*VMNodeScrapeReconciler) Reconcile added in v0.6.0

func (r *VMNodeScrapeReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, err error)

Reconcile - reconciles VMNodeScrape objects. +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmnodescrapes,verbs=* +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmnodescrapes/status,verbs=get;update;patch +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmnodescrapes/finalizers,verbs=*

func (*VMNodeScrapeReconciler) Scheme added in v0.6.0

func (r *VMNodeScrapeReconciler) Scheme() *runtime.Scheme

Scheme implements interface.

func (*VMNodeScrapeReconciler) SetupWithManager added in v0.6.0

func (r *VMNodeScrapeReconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager - setups manager for VMNodeScrape

type VMPodScrapeReconciler

type VMPodScrapeReconciler struct {
	client.Client
	Log          logr.Logger
	OriginScheme *runtime.Scheme
	BaseConf     *config.BaseOperatorConf
}

VMPodScrapeReconciler reconciles a VMPodScrape object

func (*VMPodScrapeReconciler) Reconcile

func (r *VMPodScrapeReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, err error)

Reconcile general reconcile method for controller +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmpodscrapes,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmpodscrapes/status,verbs=get;update;patch

func (*VMPodScrapeReconciler) Scheme

func (r *VMPodScrapeReconciler) Scheme() *runtime.Scheme

Scheme implements interface.

func (*VMPodScrapeReconciler) SetupWithManager

func (r *VMPodScrapeReconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager general setup method

type VMProbeReconciler added in v0.2.0

type VMProbeReconciler struct {
	client.Client
	Log          logr.Logger
	OriginScheme *runtime.Scheme
	BaseConf     *config.BaseOperatorConf
}

VMProbeReconciler reconciles a VMProbe object

func (*VMProbeReconciler) Reconcile added in v0.2.0

func (r *VMProbeReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, err error)

Reconcile - syncs VMProbe +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmprobes,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmprobes/status,verbs=get;update;patch

func (*VMProbeReconciler) Scheme added in v0.2.0

func (r *VMProbeReconciler) Scheme() *runtime.Scheme

Scheme implements interface.

func (*VMProbeReconciler) SetupWithManager added in v0.2.0

func (r *VMProbeReconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager - setups VMProbe manager

type VMRuleReconciler

type VMRuleReconciler struct {
	client.Client
	Log          logr.Logger
	OriginScheme *runtime.Scheme
	BaseConf     *config.BaseOperatorConf
}

VMRuleReconciler reconciles a VMRule object

func (*VMRuleReconciler) Reconcile

func (r *VMRuleReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, err error)

Reconcile general reconcile method for controller +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmrules,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmrules/status,verbs=get;update;patch

func (*VMRuleReconciler) Scheme

func (r *VMRuleReconciler) Scheme() *runtime.Scheme

Scheme implements interface.

func (*VMRuleReconciler) SetupWithManager

func (r *VMRuleReconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager general setup method

type VMScrapeConfigReconciler added in v0.43.0

type VMScrapeConfigReconciler struct {
	client.Client
	Log          logr.Logger
	OriginScheme *runtime.Scheme
	BaseConf     *config.BaseOperatorConf
}

VMScrapeConfigReconciler reconciles a VMScrapeConfig object

func (*VMScrapeConfigReconciler) Reconcile added in v0.43.0

func (r *VMScrapeConfigReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, err error)

Reconcile general reconcile method for controller +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmscrapeconfigs,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmscrapeconfigs/status,verbs=get;update;patch

func (*VMScrapeConfigReconciler) Scheme added in v0.43.0

Scheme implements interface.

func (*VMScrapeConfigReconciler) SetupWithManager added in v0.43.0

func (r *VMScrapeConfigReconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager general setup method

type VMServiceScrapeReconciler

type VMServiceScrapeReconciler struct {
	client.Client
	Log          logr.Logger
	OriginScheme *runtime.Scheme
	BaseConf     *config.BaseOperatorConf
}

VMServiceScrapeReconciler reconciles a VMServiceScrape object

func (*VMServiceScrapeReconciler) Reconcile

func (r *VMServiceScrapeReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, err error)

Reconcile general reconcile method for controller +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmservicescrapes,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmservicescrapes/status,verbs=get;update;patch

func (*VMServiceScrapeReconciler) Scheme

Scheme implements interface.

func (*VMServiceScrapeReconciler) SetupWithManager

func (r *VMServiceScrapeReconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager general setup method

type VMSingleReconciler

type VMSingleReconciler struct {
	client.Client
	Log          logr.Logger
	OriginScheme *runtime.Scheme
	BaseConf     *config.BaseOperatorConf
}

VMSingleReconciler reconciles a VMSingle object

func (*VMSingleReconciler) Reconcile

func (r *VMSingleReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, err error)

Reconcile general reconcile method for controller +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmsingles,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmsingles/finalizers,verbs=* +kubebuilder:rbac:groups=apps,resources=deployments,verbs=* +kubebuilder:rbac:groups=apps,resources=replicasets,verbs=* +kubebuilder:rbac:groups="",resources=persistentvolumeclaims,verbs=* +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmsingles/status,verbs=get;update;patch

func (*VMSingleReconciler) Scheme

func (r *VMSingleReconciler) Scheme() *runtime.Scheme

Scheme implements interface.

func (*VMSingleReconciler) SetupWithManager

func (r *VMSingleReconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager general setup method

type VMStaticScrapeReconciler added in v0.10.0

type VMStaticScrapeReconciler struct {
	client.Client
	Log          logr.Logger
	OriginScheme *runtime.Scheme
	BaseConf     *config.BaseOperatorConf
}

VMStaticScrapeReconciler reconciles a VMStaticScrape object

func (*VMStaticScrapeReconciler) Reconcile added in v0.10.0

func (r *VMStaticScrapeReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, err error)

Reconcile implements interface. +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmstaticscrapes,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmstaticscrapes/status,verbs=get;update;patch

func (*VMStaticScrapeReconciler) Scheme added in v0.10.0

Scheme implements interface.

func (*VMStaticScrapeReconciler) SetupWithManager added in v0.10.0

func (r *VMStaticScrapeReconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager setups reconciler.

type VMUserReconciler added in v0.15.0

type VMUserReconciler struct {
	client.Client
	BaseConf     *config.BaseOperatorConf
	Log          logr.Logger
	OriginScheme *runtime.Scheme
}

VMUserReconciler reconciles a VMUser object

func (*VMUserReconciler) Reconcile added in v0.15.0

func (r *VMUserReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, err error)

Reconcile implements interface +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmusers,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=operator.victoriametrics.com,resources=vmusers/status,verbs=get;update;patch

func (*VMUserReconciler) Scheme added in v0.15.0

func (r *VMUserReconciler) Scheme() *runtime.Scheme

Scheme implements interface.

func (*VMUserReconciler) SetupWithManager added in v0.15.0

func (r *VMUserReconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager inits object

Directories

Path Synopsis
factory

Jump to

Keyboard shortcuts

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