controller

package
v0.1.4 Latest Latest
Warning

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

Go to latest
Published: Mar 11, 2019 License: Apache-2.0 Imports: 44 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrIsolationGroupsMissing indicates that the isolation groups within the
	// spec are missing
	ErrIsolationGroupsMissing = errors.New("no isolation groups  specified")

	// ErrInvalidReplicationFactor indicates that the replication factor within
	// the spec is missing
	ErrInvalidReplicationFactor = errors.New("invalid replication factor")
)

Functions

This section is empty.

Types

type Controller

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

Controller object

func New

func New(opts ...Option) (*Controller, error)

New creates new instance of Controller

func (*Controller) EnsurePlacement

func (c *Controller) EnsurePlacement(cluster *myspec.M3DBCluster) error

EnsurePlacement ensures that a placement exists otherwise create one

func (*Controller) Init

func (c *Controller) Init() error

Init ensures all the required resources are created

func (*Controller) Run

func (c *Controller) Run(nWorkers int, stopCh <-chan struct{}) error

Run drives the controller event loop.

type Option

type Option interface {
	// contains filtered or unexported methods
}

Option provides configuration of a controller.

func WithCRDClient

func WithCRDClient(cl clientset.Interface) Option

WithCRDClient sets the client of our custom type.

func WithKClient

func WithKClient(kc k8sops.K8sops) Option

WithKClient sets the k8sops client.

func WithKubeClient

func WithKubeClient(cl kubernetes.Interface) Option

WithKubeClient sets the base Kubernetes client.

func WithKubeInformerFactory

func WithKubeInformerFactory(f kubeinformers.SharedInformerFactory) Option

WithKubeInformerFactory sets the Kubernetes base type informer factory.

func WithKubectlProxy

func WithKubectlProxy(use bool) Option

WithKubectlProxy sets whether to use a kubectl proxy for communicating with the cluster.

func WithLogger

func WithLogger(l *zap.Logger) Option

WithLogger sets a logger.

func WithM3DBClusterInformerFactory

func WithM3DBClusterInformerFactory(f informers.SharedInformerFactory) Option

WithM3DBClusterInformerFactory sets the factory for our custom type.

func WithPodIdentityProvider

func WithPodIdentityProvider(p podidentity.Provider) Option

WithPodIdentityProvider sets the pod identity provider.

func WithScope

func WithScope(s tally.Scope) Option

WithScope sets the telemetry scope

Jump to

Keyboard shortcuts

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