k8sops

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Dec 30, 2019 License: Apache-2.0 Imports: 31 Imported by: 0

Documentation

Overview

Package k8sops is a generated GoMock package.

Index

Constants

View Source
const (
	PortM3DBNodeClient  Port = 9000
	PortM3DBNodeCluster      = 9001
	PortM3DBHTTPNode         = 9002
	PortM3DBHTTPCluster      = 9003
	PortM3DBDebug            = 9004

	PortM3Coordinator        = 7201
	PortM3CoordinatorMetrics = 7203
	PortM3CoordinatorCarbon  = 7204
)

Ports used by M3DB nodes and coordinator nodes.

Variables

This section is empty.

Functions

func CoordinatorServiceName

func CoordinatorServiceName(clusterName string) string

CoordinatorServiceName returns a name for a cluster's coordinator service.

func DefaultM3ClusterEnvironmentName added in v0.2.0

func DefaultM3ClusterEnvironmentName(cluster *myspec.M3DBCluster) string

DefaultM3ClusterEnvironmentName returns the environment under which cluster topology and runtime configuration will be stored. This ensures that multiple m3db clusters won't conflict with each other when sharing a backing etcd store.

func GenerateCRD added in v0.3.0

func GenerateCRD(enableValidation bool) *apiextensionsv1beta1.CustomResourceDefinition

GenerateCRD generates the crd object needed for the M3DBCluster

func GenerateCoordinatorService

func GenerateCoordinatorService(cluster *myspec.M3DBCluster) (*v1.Service, error)

GenerateCoordinatorService creates a coordinator service given a cluster name.

func GenerateDefaultConfigMap

func GenerateDefaultConfigMap(cluster *myspec.M3DBCluster) (*corev1.ConfigMap, error)

GenerateDefaultConfigMap creates a ConfigMap for the clusters with the default config.

func GenerateM3DBService

func GenerateM3DBService(cluster *myspec.M3DBCluster) (*v1.Service, error)

GenerateM3DBService will generate the headless service required for an M3DB StatefulSet.

func GenerateOwnerRef

func GenerateOwnerRef(cluster *myspec.M3DBCluster) *metav1.OwnerReference

GenerateOwnerRef generates an owner reference to a given m3db cluster.

func GenerateStatefulSet

func GenerateStatefulSet(
	cluster *myspec.M3DBCluster,
	isolationGroupName string,
	instanceAmount int32,
) (*appsv1.StatefulSet, error)

GenerateStatefulSet provides a statefulset object for a m3db cluster

func GenerateStatefulSetAffinity added in v0.2.0

func GenerateStatefulSetAffinity(isoGroup myspec.IsolationGroup) (*v1.Affinity, error)

GenerateStatefulSetAffinity generates a node affinity requiring a strict match for given key and values.

func HeadlessServiceName

func HeadlessServiceName(clusterName string) string

HeadlessServiceName returns a name for the cluster's headless service.

func NewBaseStatefulSet

func NewBaseStatefulSet(ssName, isolationGroup string, cluster *myspec.M3DBCluster, instanceCount int32) *appsv1.StatefulSet

NewBaseStatefulSet returns a base configured stateful set.

func PlacementInstanceFromPod

func PlacementInstanceFromPod(cluster *myspec.M3DBCluster, pod *corev1.Pod, idProvider podidentity.Provider) (*placementpb.Instance, error)

PlacementInstanceFromPod creates a new m3cluster placement instance given a pod spec.

func StatefulSetName

func StatefulSetName(clusterName string, stsID int) string

StatefulSetName provides a formatted string to use for naming StatefulSets

Types

type K8sops

type K8sops interface {
	// CreateOrUpdateCRD creates the CRD if it does not exist, or updates it to
	// contain the latest spec if it does exist.
	CreateOrUpdateCRD(name string, enableValidation bool) error

	// GetService simply gets a service by name
	GetService(cluster *myspec.M3DBCluster, name string) (*v1.Service, error)

	// DeleteService simply deletes a service by name
	DeleteService(cluster *myspec.M3DBCluster, name string) error

	// EnsureService will create a service by name if it doesn't exist
	EnsureService(cluster *myspec.M3DBCluster, svc *v1.Service) error

	// Events returns an Event interface for a given namespace.
	Events(namespace string) typedcorev1.EventInterface
}

K8sops provides an interface for various Kubernetes API calls

func New

func New(opts ...Option) (K8sops, error)

New creates a new instance of k8sops

type MockK8sops

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

MockK8sops is a mock of K8sops interface

func NewMockK8sops

func NewMockK8sops(ctrl *gomock.Controller) *MockK8sops

NewMockK8sops creates a new mock instance

func (*MockK8sops) CreateOrUpdateCRD added in v0.3.0

func (m *MockK8sops) CreateOrUpdateCRD(name string, enableValidation bool) error

CreateOrUpdateCRD mocks base method

func (*MockK8sops) DeleteService

func (m *MockK8sops) DeleteService(cluster *v1alpha1.M3DBCluster, name string) error

DeleteService mocks base method

func (*MockK8sops) EXPECT

func (m *MockK8sops) EXPECT() *MockK8sopsMockRecorder

EXPECT returns an object that allows the caller to indicate expected use

func (*MockK8sops) EnsureService

func (m *MockK8sops) EnsureService(cluster *v1alpha1.M3DBCluster, svc *v1.Service) error

EnsureService mocks base method

func (*MockK8sops) Events

func (m *MockK8sops) Events(namespace string) v10.EventInterface

Events mocks base method

func (*MockK8sops) GetService

func (m *MockK8sops) GetService(cluster *v1alpha1.M3DBCluster, name string) (*v1.Service, error)

GetService mocks base method

type MockK8sopsMockRecorder

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

MockK8sopsMockRecorder is the mock recorder for MockK8sops

func (*MockK8sopsMockRecorder) CreateOrUpdateCRD added in v0.3.0

func (mr *MockK8sopsMockRecorder) CreateOrUpdateCRD(name, enableValidation interface{}) *gomock.Call

CreateOrUpdateCRD indicates an expected call of CreateOrUpdateCRD

func (*MockK8sopsMockRecorder) DeleteService

func (mr *MockK8sopsMockRecorder) DeleteService(cluster, name interface{}) *gomock.Call

DeleteService indicates an expected call of DeleteService

func (*MockK8sopsMockRecorder) EnsureService

func (mr *MockK8sopsMockRecorder) EnsureService(cluster, svc interface{}) *gomock.Call

EnsureService indicates an expected call of EnsureService

func (*MockK8sopsMockRecorder) Events

func (mr *MockK8sopsMockRecorder) Events(namespace interface{}) *gomock.Call

Events indicates an expected call of Events

func (*MockK8sopsMockRecorder) GetService

func (mr *MockK8sopsMockRecorder) GetService(cluster, name interface{}) *gomock.Call

GetService indicates an expected call of GetService

type Option

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

Option provides an interface that can be used for setter options with the constructor

func WithCRDClient

func WithCRDClient(crdClient genclient.Interface) Option

WithCRDClient is a setter to override the default CRD client

func WithExtClient

func WithExtClient(extClient apiextensionsclient.Interface) Option

WithExtClient is a setter to override the default Extensions Client

func WithKClient

func WithKClient(kclient kubernetes.Interface) Option

WithKClient is a setter to override the default Kubernetes client

func WithLogger

func WithLogger(logger *zap.Logger) Option

WithLogger is a setter to override the default logger

type Port

type Port int32

Port represents a port number.

Directories

Path Synopsis
Package annotations defines constants and helpers for annotations used throughout the m3db operator.
Package annotations defines constants and helpers for annotations used throughout the m3db operator.
Package labels defines constants and helpers for labels used throughout the m3db operator.
Package labels defines constants and helpers for labels used throughout the m3db operator.
Package podidentity is a generated GoMock package.
Package podidentity is a generated GoMock package.

Jump to

Keyboard shortcuts

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