v1

package
v0.0.52 Latest Latest
Warning

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

Go to latest
Published: Jan 30, 2025 License: Apache-2.0 Imports: 5 Imported by: 2

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

View Source
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

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

func (in *Valkey) DeepCopy() *Valkey

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

func (*Valkey) DeepCopyInto

func (in *Valkey) DeepCopyInto(out *Valkey)

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

func (*Valkey) DeepCopyObject

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

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.

Jump to

Keyboard shortcuts

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