v1alpha1

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Aug 30, 2020 License: LGPL-2.1 Imports: 7 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the xrootd v1alpha1 API group +kubebuilder:object:generate=true +groupName=xrootd.xrootd.org

Index

Constants

This section is empty.

Variables

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

func (in *PodStatus) DeepCopy() *PodStatus

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

func (*PodStatus) DeepCopyInto

func (in *PodStatus) DeepCopyInto(out *PodStatus)

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

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

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.

Jump to

Keyboard shortcuts

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