controller

package
v0.0.0-...-9cb7711 Latest Latest
Warning

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

Go to latest
Published: Jul 9, 2024 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Dash0Reconciler

type Dash0Reconciler struct {
	client.Client
	ClientSet            *kubernetes.Clientset
	Scheme               *runtime.Scheme
	Recorder             record.EventRecorder
	Images               util.Images
	OtelCollectorBaseUrl string
}

func (*Dash0Reconciler) InstrumentAtStartup

func (r *Dash0Reconciler) InstrumentAtStartup()

InstrumentAtStartup is run once, when the controller process starts. Its main purpose is to upgrade workloads that have already been instrumented, in namespaces where the Dash0 custom resource already exists. For those workloads, it is not guaranteed that a reconcile request will be triggered when the operator controller image is updated and restarted - reconcile requests are only triggered when the Dash0 custom resource is installed/changed/deleted. Since it runs the full instrumentation process, it might also as a byproduct instrument workloads that are not instrumented yet. It will only cover namespaces where a Dash0 custom resource exists, because it works by listing all Dash0 custom resources and then instrumenting workloads in the corresponding namespaces.

func (*Dash0Reconciler) Reconcile

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

Reconcile is part of the main kubernetes reconciliation loop which aims to move the current state of the cluster closer to the desired state. It is essential for the controller's reconciliation loop to be idempotent. By following the Operator pattern you will create Controllers which provide a reconcile function responsible for synchronizing resources until the desired state is reached on the cluster. Breaking this recommendation goes against the design principles of controller-runtime. and may lead to unforeseen consequences such as resources becoming stuck and requiring manual intervention. For further info: - About Operator Pattern: https://kubernetes.io/docs/concepts/extend-kubernetes/operator/ - About Controllers: https://kubernetes.io/docs/concepts/architecture/controller/ - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.16.3/pkg/reconcile

func (*Dash0Reconciler) SetupWithManager

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

type ImmutableWorkloadError

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

func (ImmutableWorkloadError) Error

func (e ImmutableWorkloadError) Error() string

type ModificationMode

type ModificationMode string
const (
	Instrumentation   ModificationMode = "Instrumentation"
	Uninstrumentation ModificationMode = "Uninstrumentation"
)

type SortByCreationTimestamp

type SortByCreationTimestamp []operatorv1alpha1.Dash0

func (SortByCreationTimestamp) Len

func (s SortByCreationTimestamp) Len() int

func (SortByCreationTimestamp) Less

func (s SortByCreationTimestamp) Less(i, j int) bool

func (SortByCreationTimestamp) Swap

func (s SortByCreationTimestamp) Swap(i, j int)

Jump to

Keyboard shortcuts

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