Documentation
¶
Overview ¶
+k8s:deepcopy-gen=package,register +groupName=cache.kcp.io +k8s:openapi-gen=true
Index ¶
- Constants
- Variables
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type CachedObject
- type CachedObjectList
- type CachedObjectSpec
- type CachedResource
- func (in *CachedResource) DeepCopy() *CachedResource
- func (in *CachedResource) DeepCopyInto(out *CachedResource)
- func (in *CachedResource) DeepCopyObject() runtime.Object
- func (in *CachedResource) GetConditions() conditionsv1alpha1.Conditions
- func (in *CachedResource) SetConditions(c conditionsv1alpha1.Conditions)
- type CachedResourceEndpoint
- type CachedResourceEndpointSlice
- type CachedResourceEndpointSliceList
- type CachedResourceEndpointSliceSpec
- type CachedResourceEndpointSliceStatus
- type CachedResourceList
- type CachedResourcePhaseType
- type CachedResourceReference
- type CachedResourceSpec
- type CachedResourceStatus
- type GroupVersionResource
- type Identity
- type ResourceCount
Constants ¶
const ( // CachedResourceValid represents status of the scheduling process for this published resource. CachedResourceValid conditionsv1alpha1.ConditionType = "ResourceValid" // ReplicationStarted represents status of the replication process for this published resource. ReplicationStarted conditionsv1alpha1.ConditionType = "ReplicationStarted" )
These are valid conditions of published resource.
const ( // CachedResourceIdentityValid represents status of the identity generation process for this published resource. CachedResourceIdentityValid conditionsv1alpha1.ConditionType = "IdentityValid" IdentityGenerationFailedReason = "IdentityGenerationFailed" IdentityVerificationFailedReason = "IdentityVerificationFailed" )
const ( CachedResourceValidNoResources = "NoResources" CachedResourceValidDeleting = "Deleting" CachedResourceReplicationStarted = "Started" )
These are valid reasons of published resource.
const (
// CachedResourceEndpointSliceSkipAnnotation is an annotation that can be set on a CachedResource to skip the creation of default CachedResourceEndpointSlice.
CachedResourceEndpointSliceSkipAnnotation = "cachedresources.cache.kcp.io/skip-endpointslice"
)
const CachedResourceFinalizer = "cachedresource.cache.kcp.dev"
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: cache.GroupName, Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects.
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource.
Types ¶
type CachedObject ¶
type CachedObject struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CachedObjectSpec `json:"spec"` }
CachedObject defines a resource that is cached in the cache.
+crd +genclient +genclient:nonNamespaced +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories=kcp +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (*CachedObject) DeepCopy ¶
func (in *CachedObject) DeepCopy() *CachedObject
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CachedObject.
func (*CachedObject) DeepCopyInto ¶
func (in *CachedObject) DeepCopyInto(out *CachedObject)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CachedObject) DeepCopyObject ¶
func (in *CachedObject) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CachedObjectList ¶
type CachedObjectList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []CachedObject `json:"items"` }
CachedObjectList contains a list of CachedObject
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*CachedObjectList) DeepCopy ¶
func (in *CachedObjectList) DeepCopy() *CachedObjectList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CachedObjectList.
func (*CachedObjectList) DeepCopyInto ¶
func (in *CachedObjectList) DeepCopyInto(out *CachedObjectList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CachedObjectList) DeepCopyObject ¶
func (in *CachedObjectList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CachedObjectSpec ¶
type CachedObjectSpec struct {
Raw runtime.RawExtension `json:"raw"`
}
CachedObjectSpec defines the desired state of CachedObject.
func (*CachedObjectSpec) DeepCopy ¶
func (in *CachedObjectSpec) DeepCopy() *CachedObjectSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CachedObjectSpec.
func (*CachedObjectSpec) DeepCopyInto ¶
func (in *CachedObjectSpec) DeepCopyInto(out *CachedObjectSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CachedResource ¶
type CachedResource struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CachedResourceSpec `json:"spec"` Status CachedResourceStatus `json:"status,omitempty"` }
CachedResource defines a resource that should be published to other workspaces
+crd +genclient +genclient:nonNamespaced +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories=kcp +kubebuilder:printcolumn:name="Resource",type=string,JSONPath=`.spec.resource`,description="Resource type being published" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (*CachedResource) DeepCopy ¶
func (in *CachedResource) DeepCopy() *CachedResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CachedResource.
func (*CachedResource) DeepCopyInto ¶
func (in *CachedResource) DeepCopyInto(out *CachedResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CachedResource) DeepCopyObject ¶
func (in *CachedResource) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CachedResource) GetConditions ¶
func (in *CachedResource) GetConditions() conditionsv1alpha1.Conditions
func (*CachedResource) SetConditions ¶
func (in *CachedResource) SetConditions(c conditionsv1alpha1.Conditions)
type CachedResourceEndpoint ¶
type CachedResourceEndpoint struct { // url is an CachedResource virtual workspace URL. // // +kubebuilder:validation:MinLength=1 // +kubebuilder:format:URL // +required URL string `json:"url"` }
CachedResourceEndpoint contains the endpoint information of a Replication service for a specific shard.
func (*CachedResourceEndpoint) DeepCopy ¶
func (in *CachedResourceEndpoint) DeepCopy() *CachedResourceEndpoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CachedResourceEndpoint.
func (*CachedResourceEndpoint) DeepCopyInto ¶
func (in *CachedResourceEndpoint) DeepCopyInto(out *CachedResourceEndpoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CachedResourceEndpointSlice ¶
type CachedResourceEndpointSlice struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds the desired state: // - the targeted CachedResource Spec CachedResourceEndpointSliceSpec `json:"spec,omitempty"` // status communicates the observed state: // the filtered list of endpoints for the Replication service. // +optional Status CachedResourceEndpointSliceStatus `json:"status,omitempty"` }
CachedResourceEndpointSlice is a sink for the endpoints of CachedResource virtual workspaces.
func (*CachedResourceEndpointSlice) DeepCopy ¶
func (in *CachedResourceEndpointSlice) DeepCopy() *CachedResourceEndpointSlice
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CachedResourceEndpointSlice.
func (*CachedResourceEndpointSlice) DeepCopyInto ¶
func (in *CachedResourceEndpointSlice) DeepCopyInto(out *CachedResourceEndpointSlice)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CachedResourceEndpointSlice) DeepCopyObject ¶
func (in *CachedResourceEndpointSlice) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CachedResourceEndpointSliceList ¶
type CachedResourceEndpointSliceList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CachedResourceEndpointSlice `json:"items"` }
CachedResourceEndpointSliceList is a list of CachedResourceEndpointSlice resources.
func (*CachedResourceEndpointSliceList) DeepCopy ¶
func (in *CachedResourceEndpointSliceList) DeepCopy() *CachedResourceEndpointSliceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CachedResourceEndpointSliceList.
func (*CachedResourceEndpointSliceList) DeepCopyInto ¶
func (in *CachedResourceEndpointSliceList) DeepCopyInto(out *CachedResourceEndpointSliceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CachedResourceEndpointSliceList) DeepCopyObject ¶
func (in *CachedResourceEndpointSliceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CachedResourceEndpointSliceSpec ¶
type CachedResourceEndpointSliceSpec struct { // CachedResource points to the real CachedResource the slice is created for. // // +required // +kubebuilder:validation:Required // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="CachedResource reference must not be changed" CachedResource CachedResourceReference `json:"cachedResource"` }
CachedResourceEndpointSliceSpec defines the desired state of the CachedResourceEndpointSlice.
func (*CachedResourceEndpointSliceSpec) DeepCopy ¶
func (in *CachedResourceEndpointSliceSpec) DeepCopy() *CachedResourceEndpointSliceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CachedResourceEndpointSliceSpec.
func (*CachedResourceEndpointSliceSpec) DeepCopyInto ¶
func (in *CachedResourceEndpointSliceSpec) DeepCopyInto(out *CachedResourceEndpointSliceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CachedResourceEndpointSliceStatus ¶
type CachedResourceEndpointSliceStatus struct { // endpoints contains all the URLs of the Replication service. // // +optional // +listType=map // +listMapKey=url CachedResourceEndpoints []CachedResourceEndpoint `json:"endpoints"` }
CachedResourceEndpointSliceStatus defines the observed state of CachedResourceEndpointSlice.
func (*CachedResourceEndpointSliceStatus) DeepCopy ¶
func (in *CachedResourceEndpointSliceStatus) DeepCopy() *CachedResourceEndpointSliceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CachedResourceEndpointSliceStatus.
func (*CachedResourceEndpointSliceStatus) DeepCopyInto ¶
func (in *CachedResourceEndpointSliceStatus) DeepCopyInto(out *CachedResourceEndpointSliceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CachedResourceList ¶
type CachedResourceList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []CachedResource `json:"items"` }
CachedResourceList contains a list of CachedResource
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*CachedResourceList) DeepCopy ¶
func (in *CachedResourceList) DeepCopy() *CachedResourceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CachedResourceList.
func (*CachedResourceList) DeepCopyInto ¶
func (in *CachedResourceList) DeepCopyInto(out *CachedResourceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CachedResourceList) DeepCopyObject ¶
func (in *CachedResourceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CachedResourcePhaseType ¶
type CachedResourcePhaseType string
CachedResourcePhaseType is the type of the current phase of the published resource.
+kubebuilder:validation:Enum=Scheduling;Initializing;Ready;Deleting;Deleted
const ( CachedResourcePhaseInitializing CachedResourcePhaseType = "Initializing" CachedResourcePhaseReady CachedResourcePhaseType = "Ready" CachedResourcePhaseDeleting CachedResourcePhaseType = "Deleting" CachedResourcePhaseDeleted CachedResourcePhaseType = "Deleted" )
type CachedResourceReference ¶
type CachedResourceReference struct { // name is the name of the CachedResource the reference points to. // // +required // +kubebuilder:validation:Required // +kube:validation:MinLength=1 Name string `json:"name"` }
CachedResourceReference is a reference to a CachedResource.
func (*CachedResourceReference) DeepCopy ¶
func (in *CachedResourceReference) DeepCopy() *CachedResourceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CachedResourceReference.
func (*CachedResourceReference) DeepCopyInto ¶
func (in *CachedResourceReference) DeepCopyInto(out *CachedResourceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CachedResourceSpec ¶
type CachedResourceSpec struct { // GroupVersionResource is the fully qualified name of the resource to be published. GroupVersionResource `json:",inline"` // identity points to a secret that contains the API identity in the 'key' file. // The API identity allows access to CachedResource's resources via the APIExport. // // Different CachedResource in a workspace can share a common identity, or have different // ones. The identity (the secret) can also be transferred to another workspace // when the ublishedResource is moved. // // The identity is defaulted. A secret with the name of the CachedResource is automatically // created. // // +optional Identity *Identity `json:"identity,omitempty"` // LabelSelector is used to filter which resources should be published // +optional LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"` }
CachedResourceSpec defines the desired state of CachedResource.
func (*CachedResourceSpec) DeepCopy ¶
func (in *CachedResourceSpec) DeepCopy() *CachedResourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CachedResourceSpec.
func (*CachedResourceSpec) DeepCopyInto ¶
func (in *CachedResourceSpec) DeepCopyInto(out *CachedResourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CachedResourceStatus ¶
type CachedResourceStatus struct { // IdentityHash is a hash of the identity configuration // +optional IdentityHash string `json:"identityHash,omitempty"` // ResourceCount is the number of resources that match the label selector // +optional ResourceCounts *ResourceCount `json:"resourceCounts,omitempty"` // Phase of the workspace (Initializing, Ready, Unavailable). // // +kubebuilder:default=Initializing Phase CachedResourcePhaseType `json:"phase,omitempty"` // Current processing state of the Workspace. // +optional Conditions conditionsv1alpha1.Conditions `json:"conditions,omitempty"` }
CachedResourceStatus defines the observed state of CachedResource.
func (*CachedResourceStatus) DeepCopy ¶
func (in *CachedResourceStatus) DeepCopy() *CachedResourceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CachedResourceStatus.
func (*CachedResourceStatus) DeepCopyInto ¶
func (in *CachedResourceStatus) DeepCopyInto(out *CachedResourceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GroupVersionResource ¶
type GroupVersionResource struct { // group is the name of an API group. // For core groups this is the empty string '""'. // // +kubebuilder:validation:Pattern=`^(|[a-z0-9]([-a-z0-9]*[a-z0-9](\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*)?)$` // +optional Group string `json:"group,omitempty"` // version is the version of the resource. // +optional Version string `json:"version,omitempty"` // resource is the name of the resource. // Note: it is worth noting that you can not ask for permissions for resource provided by a CRD // not provided by an api export. // +kubebuilder:validation:Pattern=`^[a-z][-a-z0-9]*[a-z0-9]$` // +required // +kubebuilder:validation:Required Resource string `json:"resource"` }
GroupVersionResource identifies a resource.
func (*GroupVersionResource) DeepCopy ¶
func (in *GroupVersionResource) DeepCopy() *GroupVersionResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupVersionResource.
func (*GroupVersionResource) DeepCopyInto ¶
func (in *GroupVersionResource) DeepCopyInto(out *GroupVersionResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (GroupVersionResource) GetGroup ¶
func (in GroupVersionResource) GetGroup() string
func (GroupVersionResource) GetResource ¶
func (in GroupVersionResource) GetResource() string
type Identity ¶
type Identity struct { // secretRef is a reference to a secret that contains the API identity in the 'key' file. // // +optional SecretRef *corev1.SecretReference `json:"secretRef,omitempty"` }
Identity defines the identity of an CachedResource, i.e. determines the cached resource access of the resources, that are published by this CachedResource.
func (*Identity) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Identity.
func (*Identity) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceCount ¶
ResourceCount is the number of resources that match the label selector and are cached in the cache.
func (*ResourceCount) DeepCopy ¶
func (in *ResourceCount) DeepCopy() *ResourceCount
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceCount.
func (*ResourceCount) DeepCopyInto ¶
func (in *ResourceCount) DeepCopyInto(out *ResourceCount)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.