Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the xrootd v1alpha1 API group +kubebuilder:object:generate=true +groupName=xrootd.xrootd.org
Index ¶
- Variables
- type ClusterCondition
- type ClusterConditionType
- type ClusterPhase
- type MemberStatus
- type PodStatus
- type XrootdCluster
- type XrootdClusterList
- type XrootdClusterSpec
- type XrootdClusterStatus
- func (cs *XrootdClusterStatus) ClearCondition(t ClusterConditionType)
- func (in *XrootdClusterStatus) DeepCopy() *XrootdClusterStatus
- func (in *XrootdClusterStatus) DeepCopyInto(out *XrootdClusterStatus)
- func (cs *XrootdClusterStatus) GetClusterCondition(t ClusterConditionType) (int, *ClusterCondition)
- func (cs *XrootdClusterStatus) SetPhase(p ClusterPhase)
- func (cs *XrootdClusterStatus) SetReadyCondition()
- func (cs *XrootdClusterStatus) SetSpecValidCondition(isValid bool, reason string, msg string)
- type XrootdConfigSpec
- type XrootdProtocolStatus
- type XrootdRedirectorSpec
- type XrootdStorageSpec
- type XrootdWorkerSpec
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "xrootd.xrootd.org", 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 ClusterCondition ¶
type ClusterCondition struct { // Type of cluster condition. Type ClusterConditionType `json:"type"` // Status of the condition, one of True, False, Unknown. Status v1.ConditionStatus `json:"status"` // The last time this condition was updated. LastUpdateTime string `json:"lastUpdateTime,omitempty"` // Last time the condition transitioned from one status to another. LastTransitionTime string `json:"lastTransitionTime,omitempty"` // The reason for the condition's last transition. Reason string `json:"reason,omitempty"` // A human readable message indicating details about the transition. Message string `json:"message,omitempty"` }
ClusterCondition represents one current condition of the xrootd cluster.
func (*ClusterCondition) DeepCopy ¶
func (in *ClusterCondition) DeepCopy() *ClusterCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterCondition.
func (*ClusterCondition) DeepCopyInto ¶
func (in *ClusterCondition) DeepCopyInto(out *ClusterCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterConditionType ¶
type ClusterConditionType string
ClusterConditionType represents on one of the runtime condition of the cluster
const ( ClusterConditionValid ClusterConditionType = "Valid" ClusterConditionAvailable ClusterConditionType = "Available" ClusterConditionRecovering ClusterConditionType = "Recovering" ClusterConditionScaling ClusterConditionType = "Scaling" ClusterConditionUpgrading ClusterConditionType = "Upgrading" )
These are valid Cluster Condition types. "ClusterConditionValid" means the cluster spec is valid. "ClusterConditionAvailable" means the cluster is available to communicate. "ClusterConditionRecovering" means the cluster is in recovering condition "ClusterConditionScaling" means the cluster is scaling up/down. "ClusterConditionUpgrading" means the cluster is undergoing a version upgrade.
type ClusterPhase ¶
type ClusterPhase string
ClusterPhase represents one of the runtime phase of the cluster
const ( ClusterPhaseNone ClusterPhase = "" ClusterPhaseCreating ClusterPhase = "Creating" ClusterPhaseRunning ClusterPhase = "Running" ClusterPhaseFailed ClusterPhase = "Failed" )
These are valid Cluster Phases. "ClusterPhaseInvalid" means the cluster spec is invalid. "ClusterPhaseCreating" means the the cluster is being created. "ClusterPhaseRunning" means the cluster is running in healthy state. "ClusterPhaseFailed" means the cluster is failing.
type MemberStatus ¶
type MemberStatus struct { // Size is the current size of the cluster Size int `json:"size"` Pods PodStatus `json:"pods"` }
MemberStatus defines the observed status of Xrootd member (worker/redirector)
func NewMemberStatus ¶
func NewMemberStatus(ready []string, unready []string) MemberStatus
NewMemberStatus creates a new xrootd member status with given ready and unready pods
func (*MemberStatus) DeepCopy ¶
func (in *MemberStatus) DeepCopy() *MemberStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemberStatus.
func (*MemberStatus) DeepCopyInto ¶
func (in *MemberStatus) DeepCopyInto(out *MemberStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodStatus ¶
type PodStatus struct { // Ready are the xrootd members that are ready to serve requests // The member names are the same as the xrootd pod names Ready []string `json:"ready"` // Unready are the xrootd members not ready to serve requests Unready []string `json:"unready"` }
PodStatus defines the status of each of the member Pods for the specific component of xrootd cluster
func (*PodStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodStatus.
func (*PodStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type XrootdCluster ¶
type XrootdCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec XrootdClusterSpec `json:"spec,omitempty"` Status XrootdClusterStatus `json:"status,omitempty"` }
XrootdCluster is the Schema for the xrootdclusters API. This denotes a single Xrootd cluster configured with requested version, xrd config and other relevant configurable options. +operator-sdk:csv:customresourcedefinitions:resources={{StatefulSet,v1,"${XROOTD_NAME}-xrootd-redirector"},{StatefulSet,v1,"${XROOTD_NAME}-xrootd-worker"},{Service,v1,"${XROOTD_NAME}-xrootd-redirector"},{Service,v1,"${XROOTD_NAME}-xrootd-worker"}}
func (*XrootdCluster) DeepCopy ¶
func (in *XrootdCluster) DeepCopy() *XrootdCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new XrootdCluster.
func (*XrootdCluster) DeepCopyInto ¶
func (in *XrootdCluster) DeepCopyInto(out *XrootdCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*XrootdCluster) DeepCopyObject ¶
func (in *XrootdCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*XrootdCluster) SetVersionInfo ¶
func (xrootd *XrootdCluster) SetVersionInfo(version catalogv1alpha1.XrootdVersion)
SetVersionInfo update the current version info of xrootd protocol
type XrootdClusterList ¶
type XrootdClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []XrootdCluster `json:"items"` }
XrootdClusterList contains a list of XrootdCluster
func (*XrootdClusterList) DeepCopy ¶
func (in *XrootdClusterList) DeepCopy() *XrootdClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new XrootdClusterList.
func (*XrootdClusterList) DeepCopyInto ¶
func (in *XrootdClusterList) DeepCopyInto(out *XrootdClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*XrootdClusterList) DeepCopyObject ¶
func (in *XrootdClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type XrootdClusterSpec ¶
type XrootdClusterSpec struct { // Version must be name of XrootdVersion CR instance which defines the xrootd protcol image to use in the cluster pods. // The requested XrootdVersion instance must be installed in the target namespace using XrootdVersion CRD. // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Xrootd Version Name",xDescriptors="urn:alm:descriptor:io.kubernetes:catalog.xrootd.org:v1alpha1:XrootdVersion" // +kubebuilder:validation:Pattern=".+" Version string `json:"version"` Worker XrootdWorkerSpec `json:"worker,omitempty"` Redirector XrootdRedirectorSpec `json:"redirector,omitempty"` Config XrootdConfigSpec `json:"config,omitempty"` }
XrootdClusterSpec defines the desired state of XrootdCluster
func (*XrootdClusterSpec) DeepCopy ¶
func (in *XrootdClusterSpec) DeepCopy() *XrootdClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new XrootdClusterSpec.
func (*XrootdClusterSpec) DeepCopyInto ¶
func (in *XrootdClusterSpec) DeepCopyInto(out *XrootdClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type XrootdClusterStatus ¶
type XrootdClusterStatus struct { // Phase is the current phase of the cluster // +operator-sdk:csv:customresourcedefinitions:type=status,displayName="Phase",xDescriptors="urn:alm:descriptor:io.kubernetes.phase" Phase ClusterPhase `json:"phase"` // Reason explains the current phase of the cluster. // +operator-sdk:csv:customresourcedefinitions:type=status,displayName="Phase Details",xDescriptors="urn:alm:descriptor:io.kubernetes.phase:reason" Reason string `json:"reason,omitempty"` // Condition keeps track of all cluster conditions, if they exist. Conditions []ClusterCondition `json:"conditions,omitempty"` // CurrentXrootdProtocol tracks the currently-used xrootd protocol info CurrentXrootdProtocol XrootdProtocolStatus `json:"currentXrootdProtocol"` RedirectorStatus MemberStatus `json:"redirectorStatus"` WorkerStatus MemberStatus `json:"workerStatus"` }
XrootdClusterStatus defines the observed state of XrootdCluster +k8s:openapi-gen=true
func (*XrootdClusterStatus) ClearCondition ¶
func (cs *XrootdClusterStatus) ClearCondition(t ClusterConditionType)
ClearCondition clears the given condition type
func (*XrootdClusterStatus) DeepCopy ¶
func (in *XrootdClusterStatus) DeepCopy() *XrootdClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new XrootdClusterStatus.
func (*XrootdClusterStatus) DeepCopyInto ¶
func (in *XrootdClusterStatus) DeepCopyInto(out *XrootdClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*XrootdClusterStatus) GetClusterCondition ¶ added in v0.2.1
func (cs *XrootdClusterStatus) GetClusterCondition(t ClusterConditionType) (int, *ClusterCondition)
GetClusterCondition returns position and condition pointer from the .Conditions array
func (*XrootdClusterStatus) SetPhase ¶
func (cs *XrootdClusterStatus) SetPhase(p ClusterPhase)
SetPhase sets the current phase of the cluster
func (*XrootdClusterStatus) SetReadyCondition ¶
func (cs *XrootdClusterStatus) SetReadyCondition()
SetReadyCondition sets the ClusterAvailable condition type to true
func (*XrootdClusterStatus) SetSpecValidCondition ¶ added in v0.2.1
func (cs *XrootdClusterStatus) SetSpecValidCondition(isValid bool, reason string, msg string)
SetSpecValidCondition sets the ClusterValid condition type to given value
type XrootdConfigSpec ¶
type XrootdConfigSpec struct { }
XrootdConfigSpec defines the config spec used to generate xrootd.cf
func (*XrootdConfigSpec) DeepCopy ¶
func (in *XrootdConfigSpec) DeepCopy() *XrootdConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new XrootdConfigSpec.
func (*XrootdConfigSpec) DeepCopyInto ¶
func (in *XrootdConfigSpec) DeepCopyInto(out *XrootdConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type XrootdProtocolStatus ¶
type XrootdProtocolStatus struct { // Version is the current xrootd version used in the cluster Version string `json:"version"` // Image is the currently used image for xrootd containers Image string `json:"image"` }
XrootdProtocolStatus defines the version info and image of running xrootd software
func (*XrootdProtocolStatus) DeepCopy ¶
func (in *XrootdProtocolStatus) DeepCopy() *XrootdProtocolStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new XrootdProtocolStatus.
func (*XrootdProtocolStatus) DeepCopyInto ¶
func (in *XrootdProtocolStatus) DeepCopyInto(out *XrootdProtocolStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type XrootdRedirectorSpec ¶
type XrootdRedirectorSpec struct { // The desired number of redirector pods for the xrootd cluster // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Redirector Replicas",xDescriptors="urn:alm:descriptor:com.tectonic.ui:podCount" // +kubebuilder:validation:Minimum=1 // +kubebuilder:default=1 Replicas int32 `json:"replicas,omitempty"` }
XrootdRedirectorSpec defines the desired state of Xrootd redirectors
func (*XrootdRedirectorSpec) DeepCopy ¶
func (in *XrootdRedirectorSpec) DeepCopy() *XrootdRedirectorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new XrootdRedirectorSpec.
func (*XrootdRedirectorSpec) DeepCopyInto ¶
func (in *XrootdRedirectorSpec) DeepCopyInto(out *XrootdRedirectorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type XrootdStorageSpec ¶
type XrootdStorageSpec struct { // Class must be a storage class // +kubebuilder:default=standard Class string `json:"class,omitempty"` // Capacity must be a storage capacity and should be a valid quantity (ex, 1Gi) Capacity string `json:"capacity,omitempty"` }
XrootdStorageSpec defines the storage spec of Xrootd workers
func (*XrootdStorageSpec) DeepCopy ¶
func (in *XrootdStorageSpec) DeepCopy() *XrootdStorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new XrootdStorageSpec.
func (*XrootdStorageSpec) DeepCopyInto ¶
func (in *XrootdStorageSpec) DeepCopyInto(out *XrootdStorageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type XrootdWorkerSpec ¶
type XrootdWorkerSpec struct { // The desired number of worker pods for the xrootd cluster // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Worker Replicas",xDescriptors="urn:alm:descriptor:com.tectonic.ui:podCount" // +kubebuilder:validation:Minimum=1 // +kubebuilder:default=1 Replicas int32 `json:"replicas,omitempty"` // The desired storage class to use for Dynamic Persistent Volume Provisioning for Worker pods // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Storage Class",xDescriptors="urn:alm:descriptor:io.kubernetes:storage.k8s.io:v1beta1:StorageClass" Storage XrootdStorageSpec `json:"storage,omitempty"` }
XrootdWorkerSpec defines the desired state of Xrootd workers
func (*XrootdWorkerSpec) DeepCopy ¶
func (in *XrootdWorkerSpec) DeepCopy() *XrootdWorkerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new XrootdWorkerSpec.
func (*XrootdWorkerSpec) DeepCopyInto ¶
func (in *XrootdWorkerSpec) DeepCopyInto(out *XrootdWorkerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.