resourcesynccontroller

package
v0.0.0-...-6018a90 Latest Latest
Warning

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

Go to latest
Published: Dec 18, 2024 License: Apache-2.0 Imports: 27 Imported by: 61

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CombineCABundleConfigMaps

func CombineCABundleConfigMaps(destinationConfigMap ResourceLocation, lister corev1listers.ConfigMapLister, additionalAnnotations certrotation.AdditionalAnnotations, inputConfigMaps ...ResourceLocation) (*corev1.ConfigMap, error)

func NewDebugHandler

func NewDebugHandler(controller *ResourceSyncController) http.Handler

Types

type ControllerSyncRules

type ControllerSyncRules struct {
	Secrets ResourceSyncRuleList `json:"secrets"`
	Configs ResourceSyncRuleList `json:"configs"`
}

type ResourceLocation

type ResourceLocation struct {
	Namespace string `json:"namespace"`
	Name      string `json:"name"`

	// Provider if set for the source location enhance the error message to point to the component which
	// provide this resource.
	Provider string `json:"provider,omitempty"`
}

ResourceLocation describes coordinates for a resource to be synced

type ResourceSyncController

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

ResourceSyncController is a controller that will copy source configmaps and secrets to their destinations. It will also mirror deletions by deleting destinations.

func NewResourceSyncController

func NewResourceSyncController(
	instanceName string,
	operatorConfigClient v1helpers.OperatorClient,
	kubeInformersForNamespaces v1helpers.KubeInformersForNamespaces,
	secretsGetter corev1client.SecretsGetter,
	configMapsGetter corev1client.ConfigMapsGetter,
	eventRecorder events.Recorder,
) *ResourceSyncController

NewResourceSyncController creates ResourceSyncController.

func (*ResourceSyncController) Name

func (c *ResourceSyncController) Name() string

func (*ResourceSyncController) Run

func (c *ResourceSyncController) Run(ctx context.Context, workers int)

func (*ResourceSyncController) Sync

func (*ResourceSyncController) SyncConfigMap

func (c *ResourceSyncController) SyncConfigMap(destination, source ResourceLocation) error

func (*ResourceSyncController) SyncConfigMapConditionally

func (c *ResourceSyncController) SyncConfigMapConditionally(destination, source ResourceLocation, preconditionsFulfilledFn preconditionsFulfilled) error

SyncConfigMapConditionally adds a new configmap that the resource sync controller will synchronise if the given precondition is fulfilled.

func (*ResourceSyncController) SyncPartialConfigMap

func (c *ResourceSyncController) SyncPartialConfigMap(destination ResourceLocation, source ResourceLocation, keys ...string) error

func (*ResourceSyncController) SyncPartialSecret

func (c *ResourceSyncController) SyncPartialSecret(destination, source ResourceLocation, keys ...string) error

func (*ResourceSyncController) SyncSecret

func (c *ResourceSyncController) SyncSecret(destination, source ResourceLocation) error

func (*ResourceSyncController) SyncSecretConditionally

func (c *ResourceSyncController) SyncSecretConditionally(destination, source ResourceLocation, preconditionsFulfilledFn preconditionsFulfilled) error

SyncSecretConditionally adds a new secret that the resource sync controller will synchronise if the given precondition is fulfilled.

type ResourceSyncRule

type ResourceSyncRule struct {
	Destination ResourceLocation `json:"destination"`
	Source      syncRuleSource   `json:"source"`
}

type ResourceSyncRuleList

type ResourceSyncRuleList []ResourceSyncRule

func (ResourceSyncRuleList) Len

func (l ResourceSyncRuleList) Len() int

func (ResourceSyncRuleList) Less

func (l ResourceSyncRuleList) Less(i, j int) bool

func (ResourceSyncRuleList) Swap

func (l ResourceSyncRuleList) Swap(i, j int)

type ResourceSyncer

type ResourceSyncer interface {
	// SyncConfigMap indicates that a configmap should be copied from the source to the destination.  It will also
	// mirror a deletion from the source.  If the source is a zero object the destination will be deleted.
	SyncConfigMap(destination, source ResourceLocation) error
	// SyncSecret indicates that a secret should be copied from the source to the destination.  It will also
	// mirror a deletion from the source.  If the source is a zero object the destination will be deleted.
	SyncSecret(destination, source ResourceLocation) error
}

ResourceSyncer allows changes to syncing rules by this controller

Jump to

Keyboard shortcuts

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