Documentation
¶
Overview ¶
+kubebuilder:object:generate=true +groupName=racer.unbounded-cloud.io
Index ¶
Constants ¶
const GroupName = "racer.unbounded-cloud.io"
Variables ¶
var ( GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} SchemeBuilder = runtime.NewSchemeBuilder(func(s *runtime.Scheme) error { s.AddKnownTypes(GroupVersion, &ClusterCache{}, &ClusterCacheList{}) metav1.AddToGroupVersion(s, GroupVersion) return nil }) AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type ClusterCache ¶
type ClusterCache struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
}
ClusterCache names a cache. Its Kubernetes UID is its wire identity. Socket paths are derived from metadata.name. Client access is controlled by pod volume mounts. The name limit keeps /run/racer/<name>/origin/socket within Linux sockaddr_un. Each DNS label is limited to 63 characters to match the wire contract; Kubernetes metadata validation enforces DNS subdomain spelling. The bounded regex checks label lengths without a costly CEL split/all loop. +kubebuilder:object:root=true +kubebuilder:resource:scope=Cluster,shortName=ccache +kubebuilder:validation:XValidation:rule="size(self.metadata.name) <= 82",message="name must fit the canonical Unix socket path" +kubebuilder:validation:XValidation:rule="self.metadata.name.matches('^[^.]{1,63}([.][^.]{1,63})*$')",message="each name label must be at most 63 characters"
func (*ClusterCache) DeepCopy ¶
func (in *ClusterCache) DeepCopy() *ClusterCache
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterCache.
func (*ClusterCache) DeepCopyInto ¶
func (in *ClusterCache) DeepCopyInto(out *ClusterCache)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterCache) DeepCopyObject ¶
func (in *ClusterCache) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterCacheList ¶
type ClusterCacheList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ClusterCache `json:"items"`
}
+kubebuilder:object:root=true
func (*ClusterCacheList) DeepCopy ¶
func (in *ClusterCacheList) DeepCopy() *ClusterCacheList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterCacheList.
func (*ClusterCacheList) DeepCopyInto ¶
func (in *ClusterCacheList) DeepCopyInto(out *ClusterCacheList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterCacheList) DeepCopyObject ¶
func (in *ClusterCacheList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.