revisioncontroller

package
Version: v0.0.0-...-bb0df7c Latest Latest
Warning

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

Go to latest
Published: Oct 21, 2020 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewRevisionController

func NewRevisionController(
	targetNamespace string,
	configMaps []RevisionResource,
	secrets []RevisionResource,
	kubeInformersForTargetNamespace informers.SharedInformerFactory,
	operatorClient LatestRevisionClient,
	configMapGetter corev1client.ConfigMapsGetter,
	secretGetter corev1client.SecretsGetter,
	eventRecorder events.Recorder,
) factory.Controller

NewRevisionController create a new revision controller.

Types

type LatestRevisionClient

type LatestRevisionClient interface {
	v1helpers.OperatorClient

	// GetLatestRevisionState returns the spec, status and latest revision.
	GetLatestRevisionState() (spec *operatorv1.OperatorSpec, status *operatorv1.OperatorStatus, rev int32, rv string, err error)
	// UpdateLatestRevisionOperatorStatus updates the status with the given latestAvailableRevision and the by applying the given updateFuncs.
	UpdateLatestRevisionOperatorStatus(latestAvailableRevision int32, updateFuncs ...v1helpers.UpdateStatusFunc) (*operatorv1.OperatorStatus, bool, error)
}

LatestRevisionClient is an operator client for an operator status with a latest revision field.

type RevisionController

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

RevisionController is a controller that watches a set of configmaps and secrets and them against a revision snapshot of them. If the original resources changes, the revision counter is increased, stored in LatestAvailableRevision field of the operator config and new snapshots suffixed by the revision are created.

type RevisionResource

type RevisionResource struct {
	Name     string
	Optional bool
}

type StaticPodLatestRevisionClient

type StaticPodLatestRevisionClient struct {
	v1helpers.StaticPodOperatorClient
}

StaticPodLatestRevisionClient is an LatestRevisionClient implementation for StaticPodOperatorStatus.

func (StaticPodLatestRevisionClient) GetLatestRevisionState

func (StaticPodLatestRevisionClient) UpdateLatestRevisionOperatorStatus

func (c StaticPodLatestRevisionClient) UpdateLatestRevisionOperatorStatus(latestAvailableRevision int32, updateFuncs ...v1helpers.UpdateStatusFunc) (*operatorv1.OperatorStatus, bool, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL