Documentation ¶
Overview ¶
Package v1 contains API Schema definitions for the v1 API group +kubebuilder:object:generate=true +groupName=hyperspike.io
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "hyperspike.io", Version: "v1"} // 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 ExternalAccess ¶ added in v0.0.40
type ExternalAccess struct { // Enable external access // +kubebuilder:default:=false Enabled bool `json:"enabled,omitempty"` // External access type // LoadBalancer or Proxy, the LoadBalancer type will create a LoadBalancer service for each Valkey Shard (master node) // The Proxy type will create a single LoadBalancer service and use an envoy proxy to route traffic to the Valkey Shards // +kubebuilder:default:=Proxy // +kubebuilder:validation:Enum=LoadBalancer;Proxy Type string `json:"type,omitempty"` // Proxy Settings Proxy *ProxySettings `json:"proxy,omitempty"` // LoadBalancer Settings LoadBalancer *LoadBalancerSettings `json:"loadBalancer,omitempty"` // Cert Issuer for external access TLS certificate CertIssuer string `json:"certIssuer,omitempty"` // Cert Issuer Type for external access TLS certificate // +kubebuilder:default:="ClusterIssuer" // +kubebuilder:validation:Enum=ClusterIssuer;Issuer CertIssuerType string `json:"certIssuerType,omitempty"` // Support External DNS // +kubebuilder:default:=false ExternalDNS bool `json:"externalDNS,omitempty"` }
ExternalAccess defines the external access configuration
func (*ExternalAccess) DeepCopy ¶ added in v0.0.40
func (in *ExternalAccess) DeepCopy() *ExternalAccess
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAccess.
func (*ExternalAccess) DeepCopyInto ¶ added in v0.0.40
func (in *ExternalAccess) DeepCopyInto(out *ExternalAccess)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerSettings ¶ added in v0.0.40
type LoadBalancerSettings struct { // Annotations for the load balancer service Annotations map[string]string `json:"annotations,omitempty"` }
LoadBalancerSettings defines the load balancer settings
func (*LoadBalancerSettings) DeepCopy ¶ added in v0.0.40
func (in *LoadBalancerSettings) DeepCopy() *LoadBalancerSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerSettings.
func (*LoadBalancerSettings) DeepCopyInto ¶ added in v0.0.40
func (in *LoadBalancerSettings) DeepCopyInto(out *LoadBalancerSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxySettings ¶ added in v0.0.40
type ProxySettings struct { // Image to use for the proxy // +kubebuilder:default:="envoyproxy/envoy:v1.32.1" Image string `json:"image,omitempty"` // Resources requirements and limits for the proxy container Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // Extra Envoy configuration ExtraConfig string `json:"extraConfig,omitempty"` // Annotations for the proxy service Annotations map[string]string `json:"annotations,omitempty"` // Replicas for the proxy // +kubebuilder:default:=1 Replicas *int32 `json:"replicas,omitempty"` // External Hostname for the proxy Hostname string `json:"hostname,omitempty"` }
ProxySettings defines the proxy settings
func (*ProxySettings) DeepCopy ¶ added in v0.0.40
func (in *ProxySettings) DeepCopy() *ProxySettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySettings.
func (*ProxySettings) DeepCopyInto ¶ added in v0.0.40
func (in *ProxySettings) DeepCopyInto(out *ProxySettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Valkey ¶
type Valkey struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ValkeySpec `json:"spec,omitempty"` Status ValkeyStatus `json:"status,omitempty"` }
Valkey is the Schema for the valkeys API +kubebuilder:printcolumn:name="Ready",type="boolean",JSONPath=`.status.ready` +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="Nodes",type="integer",JSONPath=".spec.nodes" +kubebuilder:printcolumn:name="Replicas",type="integer",JSONPath=".spec.replicas" +kubebuilder:printcolumn:name="Volumme Permissions",type="boolean",priority=1,JSONPath=".spec.volumePermissions" +kubebuilder:printcolumn:name="Image",type="string",priority=1,JSONPath=".spec.image"
func (*Valkey) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Valkey.
func (*Valkey) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Valkey) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ValkeyList ¶
type ValkeyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Valkey `json:"items"` }
ValkeyList contains a list of Valkey
func (*ValkeyList) DeepCopy ¶
func (in *ValkeyList) DeepCopy() *ValkeyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValkeyList.
func (*ValkeyList) DeepCopyInto ¶
func (in *ValkeyList) DeepCopyInto(out *ValkeyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ValkeyList) DeepCopyObject ¶
func (in *ValkeyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ValkeySpec ¶
type ValkeySpec struct { // Image to use Image string `json:"image,omitempty"` // Exporter Image to use ExporterImage string `json:"exporterImage,omitempty"` // Number of shards // +kubebuilder:default:=3 Shards int32 `json:"nodes,omitempty"` // Number of replicas // +kubebuilder:default:=0 Replicas int32 `json:"replicas,omitempty"` // Turn on an init container to set permissions on the persistent volume // +kubebuilder:default:=false VolumePermissions bool `json:"volumePermissions,omitempty"` // TLS Support // +kubebuilder:default:=false TLS bool `json:"tls,omitempty"` // Certificate Issuer CertIssuer string `json:"certIssuer,omitempty"` // Certificate Issuer Type // +kubebuilder:default:="ClusterIssuer" // +kubebuilder:validation:Enum=ClusterIssuer;Issuer CertIssuerType string `json:"certIssuerType,omitempty"` // Enable prometheus // +kubebuilder:default:=false Prometheus bool `json:"prometheus,omitempty"` // Extra prometheus labels for operator targeting PrometheusLabels map[string]string `json:"prometheusLabels,omitempty"` // Cluster Domain - used for DNS // +kubebuilder:default:=cluster.local ClusterDomain string `json:"clusterDomain,omitempty"` // Persistent volume claim Storage *corev1.PersistentVolumeClaim `json:"storage,omitempty"` // Resources requirements and limits for the Valkey Server container Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // External access configuration ExternalAccess *ExternalAccess `json:"externalAccess,omitempty"` // Service Password ServicePassword *corev1.SecretKeySelector `json:"servicePassword,omitempty"` }
ValkeySpec defines the desired state of Valkey
func (*ValkeySpec) DeepCopy ¶
func (in *ValkeySpec) DeepCopy() *ValkeySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValkeySpec.
func (*ValkeySpec) DeepCopyInto ¶
func (in *ValkeySpec) DeepCopyInto(out *ValkeySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ValkeyStatus ¶
type ValkeyStatus struct { // Important: Run "make" to regenerate code after modifying this file Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` Ready bool `json:"ready"` }
ValkeyStatus defines the observed state of Valkey
func (*ValkeyStatus) DeepCopy ¶
func (in *ValkeyStatus) DeepCopy() *ValkeyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValkeyStatus.
func (*ValkeyStatus) DeepCopyInto ¶
func (in *ValkeyStatus) DeepCopyInto(out *ValkeyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.