v1alpha1

package
v1.1.8 Latest Latest
Warning

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

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

Documentation

Overview

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

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "dragonflydb.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 Authentication added in v0.0.8

type Authentication struct {
	// (Optional) Dragonfly Password from Secret as a reference to a specific key
	// +optional
	PasswordFromSecret *corev1.SecretKeySelector `json:"passwordFromSecret,omitempty"`

	// (Optional) If specified, the Dragonfly instance will check if the
	// client certificate is signed by this CA. Server TLS must be enabled for this.
	// +optional
	ClientCaCertSecret *corev1.SecretKeySelector `json:"clientCaCertSecret,omitempty"`
}

func (*Authentication) DeepCopy added in v0.0.8

func (in *Authentication) DeepCopy() *Authentication

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

func (*Authentication) DeepCopyInto added in v0.0.8

func (in *Authentication) DeepCopyInto(out *Authentication)

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

type Dragonfly

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

	Spec   DragonflySpec   `json:"spec,omitempty"`
	Status DragonflyStatus `json:"status,omitempty"`
}

Dragonfly is the Schema for the dragonflies API

func (*Dragonfly) DeepCopy

func (in *Dragonfly) DeepCopy() *Dragonfly

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

func (*Dragonfly) DeepCopyInto

func (in *Dragonfly) DeepCopyInto(out *Dragonfly)

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

func (*Dragonfly) DeepCopyObject

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

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

type DragonflyList

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

DragonflyList contains a list of Dragonfly

func (*DragonflyList) DeepCopy

func (in *DragonflyList) DeepCopy() *DragonflyList

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

func (*DragonflyList) DeepCopyInto

func (in *DragonflyList) DeepCopyInto(out *DragonflyList)

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

func (*DragonflyList) DeepCopyObject

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

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

type DragonflySpec

type DragonflySpec struct {

	// Replicas is the total number of Dragonfly instances including the master
	Replicas int32 `json:"replicas,omitempty"`

	// Image is the Dragonfly image to use
	Image string `json:"image,omitempty"`

	// (Optional) imagePullPolicy to set to Dragonfly, default is Always
	// +optional
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:="Always"
	ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`

	// (Optional) Dragonfly container args to pass to the container
	// Refer to the Dragonfly documentation for the list of supported args
	// +optional
	// +kubebuilder:validation:Optional
	Args []string `json:"args,omitempty"`

	// (Optional) Acl file Secret to pass to the container
	// +optional
	// +kubebuilder:validation:Optional
	AclFromSecret *corev1.SecretKeySelector `json:"aclFromSecret,omitempty"`

	// (Optional) Annotations to add to the Dragonfly pods.
	// +optional
	// +kubebuilder:validation:Optional
	Annotations map[string]string `json:"annotations,omitempty"`

	// (Optional) Labels to add to the Dragonfly pods.
	// +optional
	// +kubebuilder:validation:Optional
	Labels map[string]string `json:"labels,omitempty"`

	// (Optional) Env variables to add to the Dragonfly pods.
	// +optional
	// +kubebuilder:validation:Optional
	Env []corev1.EnvVar `json:"env,omitempty"`

	// (Optional) Dragonfly container resource limits. Any container limits
	// can be specified.
	// +optional
	// +kubebuilder:validation:Optional
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`

	// (Optional) Dragonfly pod affinity
	// +optional
	// +kubebuilder:validation:Optional
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// (Optional) Dragonfly pod node selector
	// +optional
	// +kubebuilder:validation:Optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// (Optional) Dragonfly memcached port
	// +optional
	// +kubebuilder:validation:Optional
	MemcachedPort int32 `json:"memcachedPort,omitempty"`

	// (Optional) Dragonfly pod tolerations
	// +optional
	// +kubebuilder:validation:Optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// (Optional) Dragonfly pod topologySpreadConstraints
	// +optional
	// +kubebuilder:validation:Optional
	TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`

	// (Optional) Dragonfly Authentication mechanism
	// +optional
	// +kubebuilder:validation:Optional
	Authentication *Authentication `json:"authentication,omitempty"`

	// (Optional) Dragonfly pod service account name
	// +optional
	// +kubebuilder:validation:Optional
	ServiceAccountName string `json:"serviceAccountName,omitempty"`

	// (Optional) Dragonfly pod priority class name
	// +optional
	// +kubebuilder:validation:Optional
	PriorityClassName string `json:"priorityClassName,omitempty"`

	// (Optional) Dragonfly TLS secret to used for TLS
	// Connections to Dragonfly. Dragonfly instance  must
	// have access to this secret and be in the same namespace
	// +optional
	// +kubebuilder:validation:Optional
	TLSSecretRef *corev1.SecretReference `json:"tlsSecretRef,omitempty"`

	// (Optional) Dragonfly Snapshot configuration
	// +optional
	// +kubebuilder:validation:Optional
	Snapshot *Snapshot `json:"snapshot,omitempty"`

	// (Optional) Skip Assigning FileSystem Group. Required for platforms such as Openshift that require IDs to not be set, as it injects a fixed randomized ID per namespace into all pods.
	// +optional
	// +kubebuilder:validation:Optional
	SkipFSGroup bool `json:"skipFSGroup,omitempty"`

	// (Optional) Dragonfly Service configuration
	// +optional
	// +kubebuilder:validation:Optional
	ServiceSpec *ServiceSpec `json:"serviceSpec,omitempty"`
}

DragonflySpec defines the desired state of Dragonfly

func (*DragonflySpec) DeepCopy

func (in *DragonflySpec) DeepCopy() *DragonflySpec

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

func (*DragonflySpec) DeepCopyInto

func (in *DragonflySpec) DeepCopyInto(out *DragonflySpec)

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

type DragonflyStatus

type DragonflyStatus struct {

	// Status of the Dragonfly Instance
	// It can be one of the following:
	// - "ready": The Dragonfly instance is ready to serve requests
	// - "configuring-replication": The controller is updating the master of the Dragonfly instance
	// - "resources-created": The Dragonfly instance resources were created but not yet configured
	Phase string `json:"phase,omitempty"`

	// IsRollingUpdate is true if the Dragonfly instance is being updated
	IsRollingUpdate bool `json:"isRollingUpdate,omitempty"`
}

DragonflyStatus defines the observed state of Dragonfly

func (*DragonflyStatus) DeepCopy

func (in *DragonflyStatus) DeepCopy() *DragonflyStatus

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

func (*DragonflyStatus) DeepCopyInto

func (in *DragonflyStatus) DeepCopyInto(out *DragonflyStatus)

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

type ServiceSpec added in v1.0.0

type ServiceSpec struct {
	// (Optional) Dragonfly Service type
	// +optional
	// +kubebuilder:validation:Optional
	Type corev1.ServiceType `json:"type,omitempty"`

	// (Optional) Dragonfly Service name
	// +optional
	// +kubebuilder:validation:Optional
	Name string `json:"name,omitempty"`

	// (Optional) Dragonfly Service nodePort
	// +optional
	// +kubebuilder:validation:Optional
	NodePort int32 `json:"nodePort,omitempty"`

	// (Optional) Dragonfly Service Annotations
	// +optional
	// +kubebuilder:validation:Optional
	Annotations map[string]string `json:"annotations,omitempty"`

	// (Optional) Dragonfly Service Labels
	// +optional
	// +kubebuilder:validation:Optional
	Labels map[string]string `json:"labels,omitempty"`
}

func (*ServiceSpec) DeepCopy added in v1.0.0

func (in *ServiceSpec) DeepCopy() *ServiceSpec

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

func (*ServiceSpec) DeepCopyInto added in v1.0.0

func (in *ServiceSpec) DeepCopyInto(out *ServiceSpec)

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

type Snapshot added in v0.0.8

type Snapshot struct {
	// (Optional) The path to the snapshot directory
	// This can also be an S3 URI with the prefix `s3://` when
	// using S3 as the snapshot backend
	// +optional
	// +kubebuilder:validation:Optional
	Dir string `json:"dir,omitempty"`

	// (Optional) Dragonfly snapshot schedule
	// +optional
	// +kubebuilder:validation:Optional
	Cron string `json:"cron,omitempty"`

	// (Optional) Dragonfly PVC spec
	// +optional
	// +kubebuilder:validation:Optional
	PersistentVolumeClaimSpec *corev1.PersistentVolumeClaimSpec `json:"persistentVolumeClaimSpec,omitempty"`
}

func (*Snapshot) DeepCopy added in v0.0.8

func (in *Snapshot) DeepCopy() *Snapshot

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

func (*Snapshot) DeepCopyInto added in v0.0.8

func (in *Snapshot) DeepCopyInto(out *Snapshot)

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

Jump to

Keyboard shortcuts

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