v1alpha1

package
v0.3.6 Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2021 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the reaper v1alpha1 API group +kubebuilder:object:generate=true +groupName=reaper.cassandra-reaper.io

Index

Constants

View Source
const (
	DefaultReaperImage     = "thelastpickle/cassandra-reaper:2.3.0"
	DefaultImagePullPolicy = corev1.PullIfNotPresent

	StorageTypeMemory    = StorageType("memory")
	StorageTypeCassandra = StorageType("cassandra")

	DefaultKeyspace    = "reaper_db"
	DefaultStorageType = StorageTypeMemory
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "reaper.cassandra-reaper.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type AutoScheduler

type AutoScheduler struct {
	Enabled              bool     `json:"enabled,omitempty"`
	InitialDelay         string   `json:"initialDelayPeriod,omitempty"`
	PeriodBetweenPolls   string   `json:"periodBetweenPolls,omitempty"`
	BeforeFirstSchedule  string   `json:"timeBeforeFirstSchedule,omitempty"`
	ScheduleSpreadPeriod string   `json:"scheduleSpreadPeriod,omitempty"`
	ExcludedClusters     []string `json:"excludedClusters,omitempty"`
	ExcludedKeyspace     []string `json:"excludedKeyspaces,omitempty"`
}

AutoScheduler includes options to configure the autoscheduling of repairs for new clusters

func (*AutoScheduler) DeepCopy

func (in *AutoScheduler) DeepCopy() *AutoScheduler

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoScheduler.

func (*AutoScheduler) DeepCopyInto

func (in *AutoScheduler) DeepCopyInto(out *AutoScheduler)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CassandraBackend

type CassandraBackend struct {
	CassandraDatacenter CassandraDatacenterRef `json:"cassandraDatacenter"`

	// Defaults to reaper
	Keyspace string `json:"keyspace,omitempty" yaml:"keyspace,omitempty"`

	Replication ReplicationConfig `json:"replication" yaml:"-"`

	CassandraUserSecretName string `json:"cassandraUserSecretName,omitempty" yaml:"cassandraUserSecretName,omitempty"`
}

func (*CassandraBackend) DeepCopy

func (in *CassandraBackend) DeepCopy() *CassandraBackend

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CassandraBackend.

func (*CassandraBackend) DeepCopyInto

func (in *CassandraBackend) DeepCopyInto(out *CassandraBackend)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CassandraDatacenterRef

type CassandraDatacenterRef struct {
	Name string `json:"name"`

	// If empty we could default the Reaper namespace.
	Namespace string `json:"namespace,omitempty"`
}

func (*CassandraDatacenterRef) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CassandraDatacenterRef.

func (*CassandraDatacenterRef) DeepCopyInto

func (in *CassandraDatacenterRef) DeepCopyInto(out *CassandraDatacenterRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InitContainerConfig added in v0.3.4

type InitContainerConfig struct {

	// SecurityContext applied to a Reaper init container
	SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"`
}

func (*InitContainerConfig) DeepCopy added in v0.3.4

func (in *InitContainerConfig) DeepCopy() *InitContainerConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitContainerConfig.

func (*InitContainerConfig) DeepCopyInto added in v0.3.4

func (in *InitContainerConfig) DeepCopyInto(out *InitContainerConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Reaper

type Reaper struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ReaperSpec   `json:"spec,omitempty"`
	Status ReaperStatus `json:"status,omitempty"`
}

Reaper is the Schema for the reapers API

func (*Reaper) DeepCopy

func (in *Reaper) DeepCopy() *Reaper

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Reaper.

func (*Reaper) DeepCopyInto

func (in *Reaper) DeepCopyInto(out *Reaper)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Reaper) DeepCopyObject

func (in *Reaper) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ReaperList

type ReaperList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Reaper `json:"items"`
}

ReaperList contains a list of Reaper

func (*ReaperList) DeepCopy

func (in *ReaperList) DeepCopy() *ReaperList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReaperList.

func (*ReaperList) DeepCopyInto

func (in *ReaperList) DeepCopyInto(out *ReaperList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ReaperList) DeepCopyObject

func (in *ReaperList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ReaperSpec

type ReaperSpec struct {
	Image string `json:"image,omitempty"`

	ImagePullPolicy string `json:"imagePullPolicy,omitempty"`

	ServiceAccountName string `json:"ServiceAccountName,omitempty"`

	ServerConfig ServerConfig `json:"serverConfig,omitempty" yaml:"serverConfig,omitempty"`

	// Affinity applied to the Reaper pods
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// Tolerations applied to the Reaper pods
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// SchemaInitContainerConfig encapsulates settings applied to the Reaper schema init container
	SchemaInitContainerConfig InitContainerConfig `json:"schemaInitContainerConfig,omitempty" yaml:"schemaInitContainerConfig,omitempty"`

	// ConfigInitContainerConfig encapsulates settings applied to the Reaper config init container
	ConfigInitContainerConfig InitContainerConfig `json:"configInitContainerConfig,omitempty" yaml:"configInitContainerConfig,omitempty"`

	// SecurityContext applied to the Reaper non-init container
	SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"`

	// PodSecurityContext applied to Reaper pods
	PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"`
}

ReaperSpec defines the desired state of Reaper

func (*ReaperSpec) DeepCopy

func (in *ReaperSpec) DeepCopy() *ReaperSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReaperSpec.

func (*ReaperSpec) DeepCopyInto

func (in *ReaperSpec) DeepCopyInto(out *ReaperSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReaperStatus

type ReaperStatus struct {
	Ready bool `json:"ready,omitempty"`

	Clusters []string `json:"clusters,omitempty"`
}

ReaperStatus defines the observed state of Reaper

func (*ReaperStatus) DeepCopy

func (in *ReaperStatus) DeepCopy() *ReaperStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReaperStatus.

func (*ReaperStatus) DeepCopyInto

func (in *ReaperStatus) DeepCopyInto(out *ReaperStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReplicationConfig

type ReplicationConfig struct {
	// Specifies the replication_factor when SimpleStrategy is used
	SimpleStrategy *int32 `json:"simpleStrategy,omitempty"`

	// Specifies the replication_factor when NetworkTopologyStrategy is used. The mapping is data center name to RF.
	NetworkTopologyStrategy *map[string]int32 `json:"networkTopologyStrategy,omitempty"`
}

ReplicationConfig Specifies the replication strategy for a keyspace

func (*ReplicationConfig) DeepCopy

func (in *ReplicationConfig) DeepCopy() *ReplicationConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicationConfig.

func (*ReplicationConfig) DeepCopyInto

func (in *ReplicationConfig) DeepCopyInto(out *ReplicationConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServerConfig

type ServerConfig struct {
	StorageType StorageType `json:"storageType,omitempty"`

	CassandraBackend *CassandraBackend `json:"cassandraBackend,omitempty" yaml:"cassandra,omitempty"`

	// Defines the username and password that Reaper will use to authenticate JMX connections to Cassandra
	// clusters. These credentials need to be stored on each Cassandra node.
	JmxUserSecretName string `json:"jmxUserSecretName,omitempty"`

	// If the autoscheduling should be enabled
	AutoScheduling *AutoScheduler `json:"autoScheduling,omitempty"`
}

func (*ServerConfig) DeepCopy

func (in *ServerConfig) DeepCopy() *ServerConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerConfig.

func (*ServerConfig) DeepCopyInto

func (in *ServerConfig) DeepCopyInto(out *ServerConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StorageType

type StorageType string

Jump to

Keyboard shortcuts

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