controller

package
v0.14.0-alpha.5 Latest Latest
Warning

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

Go to latest
Published: May 25, 2020 License: Apache-2.0 Imports: 39 Imported by: 12

Documentation

Index

Constants

View Source
const UtilVolumeName = "util-volume"

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	// Informer factory
	KubeInformerFactory        informers.SharedInformerFactory
	KubedbInformerFactory      kubedbinformers.SharedInformerFactory
	StashInformerFactory       stashInformers.SharedInformerFactory
	AppCatInformerFactory      appcat_in.SharedInformerFactory
	ExternalInformerFactory    externalInformers.SharedInformerFactory
	CertManagerInformerFactory cmInformers.SharedInformerFactory

	// restoreSession queue
	RSQueue    *queue.Worker
	RSInformer cache.SharedIndexInformer

	// Secret
	SecretInformer cache.SharedIndexInformer
	SecretLister   corelisters.SecretLister

	OperatorNamespace       string
	GoverningService        string
	ResyncPeriod            time.Duration
	MaxNumRequeues          int
	NumThreads              int
	LoggerOptions           golog.Options
	EnableAnalytics         bool
	AnalyticsClientID       string
	WatchNamespace          string
	EnableValidatingWebhook bool
	EnableMutatingWebhook   bool
}

type Controller

type Controller struct {
	ClientConfig *rest.Config
	// Kubernetes client
	Client kubernetes.Interface
	// CRD Client
	CRDClient crd_cs.Interface
	// ThirdPartyExtension client
	ExtClient cs.Interface //#TODO: rename to DBClient
	// Dynamic client
	DynamicClient dynamic.Interface
	// AppCatalog client
	AppCatalogClient appcat_cs.Interface
	// StashClient for stash
	StashClient scs.Interface
	//CertManagerClient for cert-manger
	CertManagerClient cm.Interface
	// Cluster topology when the operator started
	ClusterTopology *core_util.Topology
}

func (*Controller) BlockOnStashOperator

func (c *Controller) BlockOnStashOperator(stopCh <-chan struct{}) error

BlockOnStashOperator waits for restoresession crd to come up. It either waits until restoresession crd exists or throws error otherwise

func (*Controller) CreateDeploymentPodDisruptionBudget

func (c *Controller) CreateDeploymentPodDisruptionBudget(deployment *appsv1.Deployment) error

func (*Controller) CreateGoverningService

func (c *Controller) CreateGoverningService(name, namespace string) error

func (*Controller) CreateStatefulSetPodDisruptionBudget

func (c *Controller) CreateStatefulSetPodDisruptionBudget(sts *appsv1.StatefulSet) error

func (*Controller) GetVolumeForSnapshot

func (c *Controller) GetVolumeForSnapshot(st api.StorageType, pvcSpec *core.PersistentVolumeClaimSpec, jobName, namespace string) (*core.Volume, error)

GetVolumeForSnapshot returns pvc or empty directory depending on StorageType. In case of PVC, this function will create a PVC then returns the volume.

type DBHelper

type DBHelper interface {
	GetDatabase(metav1.ObjectMeta) (runtime.Object, error)
	SetDatabaseStatus(metav1.ObjectMeta, api.DatabasePhase, string) error
	UpsertDatabaseAnnotation(metav1.ObjectMeta, map[string]string) error
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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