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 ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Dragonfly.
func (*Dragonfly) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Dragonfly) DeepCopyObject ¶
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) imagePullSecrets to set to Dragonfly
// +optional
// +kubebuilder:validation:Optional
ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,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 container security context
// +optional
// +kubebuilder:validation:Optional
ContainerSecurityContext *corev1.SecurityContext `json:"containerSecurityContext,omitempty"`
// (Optional) Dragonfly pod security context
// +optional
// +kubebuilder:validation:Optional
PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,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"`
// (Optional) Dragonfly pod init containers
// +optional
// +kubebuilder:validation:Optional
InitContainers []corev1.Container `json:"initContainers,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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Snapshot.
func (*Snapshot) DeepCopyInto ¶ added in v0.0.8
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.