Documentation

Overview

Package controller provides functions for creating and registering a Helm controller with a `controller-runtime` manager. It also provides a Helm reconciler implementation that can be used to create a Helm-based operator.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Add

func Add(mgr manager.Manager, options WatchOptions) error

Add creates a new helm operator controller and adds it to the manager

Types

type HelmOperatorReconciler

type HelmOperatorReconciler struct {
	Client          client.Client
	GVK             schema.GroupVersionKind
	ManagerFactory  release.ManagerFactory
	ReconcilePeriod time.Duration
	// contains filtered or unexported fields
}

HelmOperatorReconciler reconciles custom resources as Helm releases.

func (HelmOperatorReconciler) Reconcile

Reconcile reconciles the requested resource by installing, updating, or uninstalling a Helm release based on the resource's current state. If no release changes are necessary, Reconcile will create or patch the underlying resources to match the expected release manifest.

type ReleaseHookFunc

type ReleaseHookFunc func(*rpb.Release) error

ReleaseHookFunc defines a function signature for release hooks.

type WatchOptions

type WatchOptions struct {
	Namespace               string
	GVK                     schema.GroupVersionKind
	ManagerFactory          release.ManagerFactory
	ReconcilePeriod         time.Duration
	WatchDependentResources bool
}

WatchOptions contains the necessary values to create a new controller that manages helm releases in a particular namespace based on a GVK watch.