v1alpha1

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Dec 15, 2020 License: LGPL-3.0 Imports: 7 Imported by: 8

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the rainbond v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=rainbond.io

Package v1alpha1 contains API Schema definitions for the rainbond v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=rainbond.io

Index

Constants

View Source
const (
	RainbondClusterConditionTypeDatabaseRegion    = "DatabaseRegion"
	RainbondClusterConditionTypeDatabaseConsole   = "DatabaseConsole"
	RainbondClusterConditionTypeImageRepository   = "ImageRepository"
	RainbondClusterConditionTypeKubernetesVersion = "KubernetesVersion"
	RainbondClusterConditionTypeKubernetesStatus  = "KubernetesStatus"
	RainbondClusterConditionTypeStorage           = "Storage"
	RainbondClusterConditionTypeDNS               = "DNS"
	RainbondClusterConditionTypeContainerNetwork  = "ContainerNetwork"
	RainbondClusterConditionTypeRunning           = "Running"
	RainbondClusterConditionTypeMemory            = "Memory"
)

These are valid conditions of rainbondcluster.

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "rainbond.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
	// AddToScheme adds all registered types to s.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource gets an EtcdCluster GroupResource for a specified resource

Types

type AliyunCloudDiskCSIPluginSource

type AliyunCloudDiskCSIPluginSource struct {
	// The AccessKey ID provided by Alibaba Cloud for access control.
	AccessKeyID string `json:"accessKeyID"`
	// The AccessKey Secret provided by Alibaba Cloud for access control
	AccessKeySecret string `json:"accessKeySecret"`
	// maxVolumePerNode
	MaxVolumePerNode string `json:"maxVolumePerNode"`
}

AliyunCloudDiskCSIPluginSource represents a aliyun cloud disk CSI plugin. More info: https://github.com/kubernetes-sigs/alibaba-cloud-csi-driver/blob/master/docs/disk.md

func (*AliyunCloudDiskCSIPluginSource) DeepCopy

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

func (*AliyunCloudDiskCSIPluginSource) DeepCopyInto

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

type AliyunNasCSIPluginSource

type AliyunNasCSIPluginSource struct {
	// The AccessKey ID provided by Alibaba Cloud for access control.
	AccessKeyID string `json:"accessKeyID"`
	// The AccessKey Secret provided by Alibaba Cloud for access control
	AccessKeySecret string `json:"accessKeySecret"`
}

AliyunNasCSIPluginSource represents a aliyun cloud nas CSI plugin. More info: https://github.com/GLYASAI/alibaba-cloud-csi-driver/blob/master/docs/nas.md

func (*AliyunNasCSIPluginSource) DeepCopy

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

func (*AliyunNasCSIPluginSource) DeepCopyInto

func (in *AliyunNasCSIPluginSource) DeepCopyInto(out *AliyunNasCSIPluginSource)

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

type AvailableNodes

type AvailableNodes struct {
	// The nodes with user-specified labels.
	SpecifiedNodes []*K8sNode `json:"specifiedNodes,omitempty"`
	// A list of kubernetes master nodes.
	MasterNodes []*K8sNode `json:"masterNodes,omitempty"`
}

AvailableNodes contains nodes available for special rainbond components to run, such as rbd-gateway, rbd-chaos.

func (*AvailableNodes) DeepCopy

func (in *AvailableNodes) DeepCopy() *AvailableNodes

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

func (*AvailableNodes) DeepCopyInto

func (in *AvailableNodes) DeepCopyInto(out *AvailableNodes)

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

type CSIPluginSource

type CSIPluginSource struct {
	// AliyunCloudDiskCSIPluginSource represents a aliyun cloud disk CSI plugin.
	// More info: https://github.com/kubernetes-sigs/alibaba-cloud-csi-driver/blob/master/docs/disk.md
	AliyunCloudDisk *AliyunCloudDiskCSIPluginSource `json:"aliyunCloudDisk,omitempty"`
	// AliyunNasCSIPluginSource represents a aliyun cloud nas CSI plugin.
	// More info: https://github.com/GLYASAI/alibaba-cloud-csi-driver/blob/master/docs/nas.md
	AliyunNas *AliyunNasCSIPluginSource `json:"aliyunNas,omitempty"`
	// NFSCSIPluginSource represents a nfs CSI plugin.
	// More info: https://github.com/kubernetes-incubator/external-storage/tree/master/nfs
	NFS *NFSCSIPluginSource `json:"nfs,omitempty"`
}

CSIPluginSource represents the source of a csi driver to create. Only one of its members may be specified.

func (*CSIPluginSource) DeepCopy

func (in *CSIPluginSource) DeepCopy() *CSIPluginSource

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

func (*CSIPluginSource) DeepCopyInto

func (in *CSIPluginSource) DeepCopyInto(out *CSIPluginSource)

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

type Database

type Database struct {
	Host     string `json:"host,omitempty"`
	Port     int    `json:"port,omitempty"`
	Username string `json:"username,omitempty"`
	Password string `json:"password,omitempty"`
	Name     string `json:"name,omitempty"`
}

Database defines the connection information of database.

func (*Database) DeepCopy

func (in *Database) DeepCopy() *Database

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

func (*Database) DeepCopyInto

func (in *Database) DeepCopyInto(out *Database)

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

func (*Database) RegionDataSource

func (in *Database) RegionDataSource() string

RegionDataSource returns the data source for database region.

type EtcdConfig

type EtcdConfig struct {
	// Endpoints is a list of URLs.
	Endpoints []string `json:"endpoints,omitempty"`
	// Whether to use tls to connect to etcd
	SecretName string `json:"secretName,omitempty"`
}

EtcdConfig defines the configuration of etcd client.

func (*EtcdConfig) DeepCopy

func (in *EtcdConfig) DeepCopy() *EtcdConfig

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

func (*EtcdConfig) DeepCopyInto

func (in *EtcdConfig) DeepCopyInto(out *EtcdConfig)

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

type ImageHub

type ImageHub struct {
	Domain    string `json:"domain,omitempty"`
	Namespace string `json:"namespace,omitempty"`
	Username  string `json:"username,omitempty"`
	Password  string `json:"password,omitempty"`
}

ImageHub image hub

func (*ImageHub) DeepCopy

func (in *ImageHub) DeepCopy() *ImageHub

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

func (*ImageHub) DeepCopyInto

func (in *ImageHub) DeepCopyInto(out *ImageHub)

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

type InstallMode

type InstallMode string

InstallMode is the mode of Rainbond cluster installation

const (
	// InstallationModeWithoutPackage means all Rainbond images are from the specified image repository, but still needs rainbond package.
	InstallationModeWithoutPackage InstallMode = "Online"
	// InstallationModeFullOnline means all Rainbond images are from the specified image repository.
	InstallationModeFullOnline InstallMode = "FullOnline"
	// InstallationModeFullOffline means all Rainbond images are from the specified image repository.
	InstallationModeOffline InstallMode = "Offline"

	// LabelNodeRolePrefix is a label prefix for node roles
	// It's copied over to here until it's merged in core: https://github.com/kubernetes/kubernetes/pull/39112
	LabelNodeRolePrefix = "node-role.kubernetes.io/"
	// NodeLabelRole specifies the role of a node
	NodeLabelRole = "kubernetes.io/role"
)

type InstallPackageConfig

type InstallPackageConfig struct {
	URL string `json:"url,omitempty"`
	MD5 string `json:"md5,omitempty"`
}

InstallPackageConfig define install package download config

func (*InstallPackageConfig) DeepCopy

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

func (*InstallPackageConfig) DeepCopyInto

func (in *InstallPackageConfig) DeepCopyInto(out *InstallPackageConfig)

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

type K8sNode

type K8sNode struct {
	Name       string `json:"name,omitempty"`
	InternalIP string `json:"internalIP,omitempty"`
	ExternalIP string `json:"externalIP,omitempty"`
}

K8sNode holds the information about a kubernetes node.

func (*K8sNode) DeepCopy

func (in *K8sNode) DeepCopy() *K8sNode

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

func (*K8sNode) DeepCopyInto

func (in *K8sNode) DeepCopyInto(out *K8sNode)

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

type NFSCSIPluginSource

type NFSCSIPluginSource struct {
}

NFSCSIPluginSource represents a nfs CSI plugin. More info: https://github.com/kubernetes-incubator/external-storage/tree/master/nfs

func (*NFSCSIPluginSource) DeepCopy

func (in *NFSCSIPluginSource) DeepCopy() *NFSCSIPluginSource

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

func (*NFSCSIPluginSource) DeepCopyInto

func (in *NFSCSIPluginSource) DeepCopyInto(out *NFSCSIPluginSource)

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

type PackageCondition

type PackageCondition struct {
	// Type of package condition.
	Type PackageConditionType `json:"type" `
	// Status of the condition, one of True, False, Unknown.
	Status PackageConditionStatus `json:"status" `
	// Last time we got an update on a given condition.
	// +optional
	LastHeartbeatTime metav1.Time `json:"lastHeartbeatTime,omitempty" `
	// Last time the condition transit from one status to another.
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" `
	// (brief) reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty"`
	// Human readable message indicating details about last transition.
	// +optional
	Message string `json:"message,omitempty"`
	// The progress of the condition
	// +optional
	Progress int `json:"progress,omitempty"`
}

PackageCondition contains condition information for package.

func (*PackageCondition) DeepCopy

func (in *PackageCondition) DeepCopy() *PackageCondition

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

func (*PackageCondition) DeepCopyInto

func (in *PackageCondition) DeepCopyInto(out *PackageCondition)

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

type PackageConditionStatus

type PackageConditionStatus string

PackageConditionStatus condition status

const (
	//Waiting waiting
	Waiting PackageConditionStatus = "Waiting"
	//Running Running
	Running PackageConditionStatus = "Running"
	//Completed Completed
	Completed PackageConditionStatus = "Completed"
	//Failed Failed
	Failed PackageConditionStatus = "Failed"
)

type PackageConditionType

type PackageConditionType string

PackageConditionType PackageConditionType

const (
	// PackageConditionType means this package handle status
	Init            PackageConditionType = "Init"
	DownloadPackage PackageConditionType = "DownloadPackage"
	UnpackPackage   PackageConditionType = "UnpackPackage"
	PushImage       PackageConditionType = "PushImage"
	Ready           PackageConditionType = "Ready"
)

These are valid conditions of package.

type RainbondCluster

type RainbondCluster struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   RainbondClusterSpec    `json:"spec,omitempty"`
	Status *RainbondClusterStatus `json:"status,omitempty"`
}

RainbondCluster is the Schema for the rainbondclusters API +kubebuilder:subresource:status +kubebuilder:resource:path=rainbondclusters,scope=Namespaced

func (*RainbondCluster) DeepCopy

func (in *RainbondCluster) DeepCopy() *RainbondCluster

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

func (*RainbondCluster) DeepCopyInto

func (in *RainbondCluster) DeepCopyInto(out *RainbondCluster)

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

func (*RainbondCluster) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RainbondCluster) FirstGatewayEIP

func (r *RainbondCluster) FirstGatewayEIP() string

FirstGatewayEIP returns the first external ip of the nodesforgateway list.

func (*RainbondCluster) GatewayIngressIP

func (in *RainbondCluster) GatewayIngressIP() string

GatewayIngressIP returns the gateway ip, or take the internal ip of the first node for gateway if it's not exists.

func (*RainbondCluster) GatewayIngressIPs

func (in *RainbondCluster) GatewayIngressIPs() (ips []string)

GatewayIngressIPs get all gateway ips

func (*RainbondCluster) InnerGatewayIngressIP added in v1.3.0

func (in *RainbondCluster) InnerGatewayIngressIP() string

InnerGatewayIngressIP -

type RainbondClusterCondition added in v1.3.0

type RainbondClusterCondition struct {
	// Type of rainbondclsuter condition.
	Type RainbondClusterConditionType `json:"type" `
	// Status of the condition, one of True, False, Unknown.
	Status corev1.ConditionStatus `json:"status" `
	// Last time we got an update on a given condition.
	// +optional
	LastHeartbeatTime metav1.Time `json:"lastHeartbeatTime,omitempty" `
	// Last time the condition transit from one status to another.
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" `
	// (brief) reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty"`
	// Human readable message indicating details about last transition.
	// +optional
	Message string `json:"message,omitempty"`
}

RainbondClusterCondition contains condition information for rainbondcluster.

func NewRainbondClusterCondition added in v1.3.0

func NewRainbondClusterCondition(condType RainbondClusterConditionType, status v1.ConditionStatus, reason, message string) *RainbondClusterCondition

NewRainbondClusterCondition creates a new rianbondcluster condition.

func (*RainbondClusterCondition) DeepCopy added in v1.3.0

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

func (*RainbondClusterCondition) DeepCopyInto added in v1.3.0

func (in *RainbondClusterCondition) DeepCopyInto(out *RainbondClusterCondition)

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

type RainbondClusterConditionType added in v1.3.0

type RainbondClusterConditionType string

RainbondClusterConditionType is the type of rainbondclsuter condition.

type RainbondClusterList

type RainbondClusterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RainbondCluster `json:"items"`
}

RainbondClusterList contains a list of RainbondCluster

func (*RainbondClusterList) DeepCopy

func (in *RainbondClusterList) DeepCopy() *RainbondClusterList

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

func (*RainbondClusterList) DeepCopyInto

func (in *RainbondClusterList) DeepCopyInto(out *RainbondClusterList)

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

func (*RainbondClusterList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RainbondClusterSpec

type RainbondClusterSpec struct {
	// EnableHA is a highly available switch.
	EnableHA bool `json:"enableHA,omitempty"`
	// Repository of each Rainbond component image, eg. docker.io/rainbond.
	// +optional
	RainbondImageRepository string `json:"rainbondImageRepository,omitempty"`
	// Suffix of component default domain name
	SuffixHTTPHost string `json:"suffixHTTPHost"`
	// Ingress IP addresses of rbd-gateway. If not specified,
	// the IP of the node where the rbd-gateway is located will be used.
	GatewayIngressIPs []string `json:"gatewayIngressIPs,omitempty"`
	// Specify the nodes where the rbd-gateway will running.
	NodesForGateway []*K8sNode `json:"nodesForGateway,omitempty"`
	// Specify the nodes where the rbd-gateway will running.
	NodesForChaos []*K8sNode `json:"nodesForChaos,omitempty"`
	// InstallMode is the mode of Rainbond cluster installation.
	InstallMode InstallMode `json:"installMode,omitempty"`
	// User-specified private image repository, replacing goodrain.me.
	ImageHub *ImageHub `json:"imageHub,omitempty"`
	// the region database information that rainbond component will be used.
	// rainbond-operator will create one if DBInfo is empty
	RegionDatabase *Database `json:"regionDatabase,omitempty"`
	// the ui database information that rainbond component will be used.
	// rainbond-operator will create one if DBInfo is empty
	UIDatabase *Database `json:"uiDatabase,omitempty"`
	// the etcd connection information that rainbond component will be used.
	// rainbond-operator will create one if EtcdConfig is empty
	EtcdConfig *EtcdConfig `json:"etcdConfig,omitempty"`
	// define install rainbond version, This is usually image tag
	InstallVersion string `json:"installVersion,omitempty"`
	// Whether the configuration has been completed
	ConfigCompleted bool `json:"configCompleted,omitempty"`

	RainbondVolumeSpecRWX *RainbondVolumeSpec `json:"rainbondVolumeSpecRWX,omitempty"`
	RainbondVolumeSpecRWO *RainbondVolumeSpec `json:"rainbondVolumeSpecRWO,omitempty"`

	// SentinelImage is the image for rainbond operator sentinel
	SentinelImage string `json:"sentinelImage,omitempty"`

	// RbdComponents is a list of rainbond cluster components
	RbdComponents []*RbdComponent `json:"rbdComponents,omitempty"`
}

RainbondClusterSpec defines the desired state of RainbondCluster

func (*RainbondClusterSpec) DeepCopy

func (in *RainbondClusterSpec) DeepCopy() *RainbondClusterSpec

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

func (*RainbondClusterSpec) DeepCopyInto

func (in *RainbondClusterSpec) DeepCopyInto(out *RainbondClusterSpec)

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

type RainbondClusterStatus

type RainbondClusterStatus struct {
	// Versoin of Kubernetes
	KubernetesVersoin string `json:"kubernetesVersoin,omitempty"`
	// List of existing StorageClasses in the cluster
	// +optional
	StorageClasses []*StorageClass `json:"storageClasses,omitempty"`
	// Destination path of the installation package extraction.
	MasterRoleLabel string `json:"masterRoleLabel,omitempty"`
	// holds some recommend nodes available for rbd-gateway to run.
	GatewayAvailableNodes *AvailableNodes `json:"gatewayAvailableNodes,omitempty"`
	// holds some recommend nodes available for rbd-chaos to run.
	ChaosAvailableNodes *AvailableNodes `json:"chaosAvailableNodes,omitempty"`
	// Deprecated. ImagePullUsername is the username to pull any of images used by PodSpec
	ImagePullUsername string `json:"imagePullUsername,omitempty"`
	// Deprecated. ImagePullPassword is the password to pull any of images used by PodSpec
	ImagePullPassword string `json:"imagePullPassword,omitempty"`
	// ImagePullSecret is an optional references to secret in the same namespace to use for pulling any of the images used by PodSpec.
	ImagePullSecret corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`

	Conditions []RainbondClusterCondition `json:"conditions,omitempty"`
}

RainbondClusterStatus defines the observed state of RainbondCluster

func (*RainbondClusterStatus) DeepCopy

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

func (*RainbondClusterStatus) DeepCopyInto

func (in *RainbondClusterStatus) DeepCopyInto(out *RainbondClusterStatus)

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

func (*RainbondClusterStatus) DeleteCondition added in v1.3.0

func (r *RainbondClusterStatus) DeleteCondition(typ3 RainbondClusterConditionType)

func (*RainbondClusterStatus) GetCondition added in v1.3.0

GetCondition returns a rbdcomponent condition based on the given type.

func (*RainbondClusterStatus) SetCondition added in v1.3.0

SetCondition setups the given rainbondcluster condition.

func (*RainbondClusterStatus) UpdateCondition added in v1.3.0

func (r *RainbondClusterStatus) UpdateCondition(condition *RainbondClusterCondition) bool

UpdateCondition updates existing rbdcomponent condition or creates a new one. Sets LastTransitionTime to now if the status has changed. Returns true if rbdcomponent condition has changed or has been added.

type RainbondPackage

type RainbondPackage struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   RainbondPackageSpec    `json:"spec,omitempty"`
	Status *RainbondPackageStatus `json:"status,omitempty"`
}

RainbondPackage is the Schema for the rainbondpackages API +kubebuilder:subresource:status +kubebuilder:resource:path=rainbondpackages,scope=Namespaced

func (*RainbondPackage) DeepCopy

func (in *RainbondPackage) DeepCopy() *RainbondPackage

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

func (*RainbondPackage) DeepCopyInto

func (in *RainbondPackage) DeepCopyInto(out *RainbondPackage)

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

func (*RainbondPackage) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RainbondPackageImage

type RainbondPackageImage struct {
	//Name image name
	Name string `json:"name,omitempty"`
}

RainbondPackageImage image

func (*RainbondPackageImage) DeepCopy

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

func (*RainbondPackageImage) DeepCopyInto

func (in *RainbondPackageImage) DeepCopyInto(out *RainbondPackageImage)

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

type RainbondPackageList

type RainbondPackageList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RainbondPackage `json:"items"`
}

RainbondPackageList contains a list of RainbondPackage

func (*RainbondPackageList) DeepCopy

func (in *RainbondPackageList) DeepCopy() *RainbondPackageList

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

func (*RainbondPackageList) DeepCopyInto

func (in *RainbondPackageList) DeepCopyInto(out *RainbondPackageList)

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

func (*RainbondPackageList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RainbondPackagePhase

type RainbondPackagePhase string

RainbondPackagePhase is a label for the condition of a rainbondcluster at the current time.

type RainbondPackageSpec

type RainbondPackageSpec struct {
	// Deprecated: The path where the rainbond package is located.
	PkgPath string `json:"pkgPath"`
}

RainbondPackageSpec defines the desired state of RainbondPackage

func (*RainbondPackageSpec) DeepCopy

func (in *RainbondPackageSpec) DeepCopy() *RainbondPackageSpec

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

func (*RainbondPackageSpec) DeepCopyInto

func (in *RainbondPackageSpec) DeepCopyInto(out *RainbondPackageSpec)

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

type RainbondPackageStatus

type RainbondPackageStatus struct {
	//worker and master maintenance
	Conditions []PackageCondition `json:"conditions,omitempty"`
	// The number of images that should be load and pushed.
	ImagesNumber int32 `json:"imagesNumber"`
	// ImagesPushed contains the images have been pushed.
	ImagesPushed []RainbondPackageImage `json:"images,omitempty"`
}

RainbondPackageStatus defines the observed state of RainbondPackage

func (*RainbondPackageStatus) DeepCopy

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

func (*RainbondPackageStatus) DeepCopyInto

func (in *RainbondPackageStatus) DeepCopyInto(out *RainbondPackageStatus)

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

func (*RainbondPackageStatus) GetCondition

GetCondition returns a rainbondpackage condition based on the given type.

type RainbondVolume

type RainbondVolume struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   RainbondVolumeSpec   `json:"spec,omitempty"`
	Status RainbondVolumeStatus `json:"status,omitempty"`
}

RainbondVolume is the Schema for the rainbondvolumes API +kubebuilder:subresource:status +kubebuilder:resource:path=rainbondvolumes,scope=Namespaced

func (*RainbondVolume) DeepCopy

func (in *RainbondVolume) DeepCopy() *RainbondVolume

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

func (*RainbondVolume) DeepCopyInto

func (in *RainbondVolume) DeepCopyInto(out *RainbondVolume)

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

func (*RainbondVolume) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RainbondVolumeCondition

type RainbondVolumeCondition struct {
	// Type of rainbondvolume condition.
	Type RainbondVolumeConditionType `json:"type"`
	// Status of the condition, one of True, False, Unknown.
	Status v1.ConditionStatus `json:"status"`
	// Last time the condition transitioned from one status to another.
	LastTransitionTime metav1.Time `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"`
}

RainbondVolumeCondition represents one current condition of an rainbondvolume.

func (*RainbondVolumeCondition) DeepCopy

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

func (*RainbondVolumeCondition) DeepCopyInto

func (in *RainbondVolumeCondition) DeepCopyInto(out *RainbondVolumeCondition)

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

type RainbondVolumeConditionType

type RainbondVolumeConditionType string

RainbondVolumeConditionType -

const (
	// RainbondVolumeReady means the raionbondvolume is ready.
	RainbondVolumeReady RainbondVolumeConditionType = "Ready"
	// RainbondVolumeProgressing means the raionbondvolume is progressing.
	RainbondVolumeProgressing RainbondVolumeConditionType = "Progressing"
)

type RainbondVolumeList

type RainbondVolumeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RainbondVolume `json:"items"`
}

RainbondVolumeList contains a list of RainbondVolume

func (*RainbondVolumeList) DeepCopy

func (in *RainbondVolumeList) DeepCopy() *RainbondVolumeList

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

func (*RainbondVolumeList) DeepCopyInto

func (in *RainbondVolumeList) DeepCopyInto(out *RainbondVolumeList)

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

func (*RainbondVolumeList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RainbondVolumeSpec

type RainbondVolumeSpec struct {
	// The name of StorageClass, which is a kind of kubernetes resource.
	// It will used to create pvc for rainbond components.
	// More info: https://kubernetes.io/docs/concepts/storage/storage-classes/
	StorageClassName       string                  `json:"storageClassName,omitempty"`
	StorageClassParameters *StorageClassParameters `json:"storageClassParameters,omitempty"`
	// CSIPlugin holds the image
	CSIPlugin       *CSIPluginSource `json:"csiPlugin,omitempty"`
	StorageRequest  *int32           `json:"storageRequest,omitempty"`
	ImageRepository string           `json:"imageRepository"`
}

RainbondVolumeSpec defines the desired state of RainbondVolume

func (*RainbondVolumeSpec) DeepCopy

func (in *RainbondVolumeSpec) DeepCopy() *RainbondVolumeSpec

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

func (*RainbondVolumeSpec) DeepCopyInto

func (in *RainbondVolumeSpec) DeepCopyInto(out *RainbondVolumeSpec)

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

type RainbondVolumeStatus

type RainbondVolumeStatus struct {
	// Condition keeps track of all rainbondvolume conditions, if they exist.
	Conditions []RainbondVolumeCondition `json:"conditions,omitempty"`
}

RainbondVolumeStatus defines the observed state of rainbondvolume.

func (*RainbondVolumeStatus) DeepCopy

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

func (*RainbondVolumeStatus) DeepCopyInto

func (in *RainbondVolumeStatus) DeepCopyInto(out *RainbondVolumeStatus)

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

func (*RainbondVolumeStatus) GetRainbondVolumeCondition

func (in *RainbondVolumeStatus) GetRainbondVolumeCondition(t RainbondVolumeConditionType) (int, *RainbondVolumeCondition)

GetRainbondVolumeCondition returns a condition based on the given type.

func (*RainbondVolumeStatus) UpdateRainbondVolumeCondition

func (in *RainbondVolumeStatus) UpdateRainbondVolumeCondition(condition *RainbondVolumeCondition) bool

UpdateRainbondVolumeCondition updates existing RainbondVolume condition or creates a new one. Sets LastTransitionTime to now if the status has changed. Returns true if RainbondVolume condition has changed or has been added.

type RbdComponent

type RbdComponent struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   RbdComponentSpec    `json:"spec,omitempty"`
	Status *RbdComponentStatus `json:"status,omitempty"`
}

RbdComponent is the Schema for the rbdcomponents API +kubebuilder:subresource:status +kubebuilder:resource:path=rbdcomponents,scope=Namespaced

func (*RbdComponent) DeepCopy

func (in *RbdComponent) DeepCopy() *RbdComponent

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

func (*RbdComponent) DeepCopyInto

func (in *RbdComponent) DeepCopyInto(out *RbdComponent)

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

func (*RbdComponent) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RbdComponent) ImagePullPolicy

func (in *RbdComponent) ImagePullPolicy() corev1.PullPolicy

ImagePullPolicy returns the ImagePullPolicy, or return PullAlways if it is empty.

type RbdComponentCondition

type RbdComponentCondition struct {
	// Type is the type of the condition.
	Type RbdComponentConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=PodConditionType"`
	// Status is the status of the condition.
	// Can be True, False, Unknown.
	// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions
	Status corev1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=ConditionStatus"`
	// Last time the condition transitioned from one status to another.
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,4,opt,name=lastTransitionTime"`
	// Unique, one-word, CamelCase reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty" protobuf:"bytes,5,opt,name=reason"`
	// Human-readable message indicating details about last transition.
	// +optional
	Message string `json:"message,omitempty" protobuf:"bytes,6,opt,name=message"`
}

RbdComponentCondition contains details for the current condition of this rbdcomponent.

func NewRbdComponentCondition

func NewRbdComponentCondition(condType RbdComponentConditionType, status v1.ConditionStatus, reason, message string) *RbdComponentCondition

NewRbdComponentCondition creates a new rbdcomponent condition.

func (*RbdComponentCondition) DeepCopy

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

func (*RbdComponentCondition) DeepCopyInto

func (in *RbdComponentCondition) DeepCopyInto(out *RbdComponentCondition)

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

type RbdComponentConditionType

type RbdComponentConditionType string

RbdComponentConditionType is a valid value for RbdComponentCondition.Type

const (
	// ClusterConfigCompeleted indicates whether the configuration of the rainbondcluster cluster is complete.
	ClusterConfigCompeleted RbdComponentConditionType = "ClusterConfigCompeleted"
	// ClusterConfigCompeleted indicates whether the rainbondpackage is ready.
	RainbondPackageReady RbdComponentConditionType = "RainbondPackageReady"
	// RbdComponentReady means all pods related to the rbdcomponent are ready.
	RbdComponentReady RbdComponentConditionType = "Ready"
)

These are valid conditions of pod.

type RbdComponentList

type RbdComponentList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RbdComponent `json:"items"`
}

RbdComponentList contains a list of RbdComponent

func (*RbdComponentList) DeepCopy

func (in *RbdComponentList) DeepCopy() *RbdComponentList

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

func (*RbdComponentList) DeepCopyInto

func (in *RbdComponentList) DeepCopyInto(out *RbdComponentList)

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

func (*RbdComponentList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RbdComponentSpec

type RbdComponentSpec struct {
	// Number of desired pods. This is a pointer to distinguish between explicit
	// zero and not specified. Defaults to 1.
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`
	// Docker image name.
	Image string `json:"image,omitempty"`
	// Image pull policy.
	// One of Always, Never, IfNotPresent.
	// Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
	// Cannot be updated.
	ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`
	// Arguments to the entrypoint.
	// The docker image's CMD is used if this is not provided.
	// Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
	// cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax
	// can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
	// regardless of whether the variable exists or not.
	// Cannot be updated.
	// +optional
	Args []string `json:"args,omitempty" protobuf:"bytes,4,rep,name=args"`
	//  Whether this component needs to be created first
	PriorityComponent bool `json:"priorityComponent"`
	// List of environment variables to set in the container.
	// Cannot be updated.
	// +optional
	// +patchMergeKey=name
	// +patchStrategy=merge
	Env []corev1.EnvVar `json:"env,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,7,rep,name=env"`
	// Compute Resources required by this container.
	// Cannot be updated.
	// More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,8,opt,name=resources"`
	// Pod volumes to mount into the container's filesystem.
	// Cannot be updated.
	// +optional
	// +patchMergeKey=mountPath
	// +patchStrategy=merge
	VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty" patchStrategy:"merge" patchMergeKey:"mountPath" protobuf:"bytes,9,rep,name=volumeMounts"`
	// List of volumes that can be mounted by containers belonging to the pod.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes
	// +optional
	// +patchMergeKey=name
	// +patchStrategy=merge,retainKeys
	Volumes []corev1.Volume `json:"volumes,omitempty" patchStrategy:"merge,retainKeys" patchMergeKey:"name" protobuf:"bytes,1,rep,name=volumes"`
}

RbdComponentSpec defines the desired state of RbdComponent

func (*RbdComponentSpec) DeepCopy

func (in *RbdComponentSpec) DeepCopy() *RbdComponentSpec

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

func (*RbdComponentSpec) DeepCopyInto

func (in *RbdComponentSpec) DeepCopyInto(out *RbdComponentSpec)

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

type RbdComponentStatus

type RbdComponentStatus struct {
	// Total number of non-terminated pods targeted by this deployment (their labels match the selector).
	// +optional
	Replicas int32 `json:"replicas,omitempty" protobuf:"varint,2,opt,name=replicas"`

	// Total number of ready pods targeted by this deployment.
	// +optional
	ReadyReplicas int32 `json:"readyReplicas,omitempty" protobuf:"varint,7,opt,name=readyReplicas"`

	// Current state of rainbond component.
	Conditions []RbdComponentCondition `json:"conditions,omitempty"`

	// A list of pods
	Pods []corev1.LocalObjectReference `json:"pods,omitempty"`
}

RbdComponentStatus defines the observed state of RbdComponent

func (*RbdComponentStatus) DeepCopy

func (in *RbdComponentStatus) DeepCopy() *RbdComponentStatus

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

func (*RbdComponentStatus) DeepCopyInto

func (in *RbdComponentStatus) DeepCopyInto(out *RbdComponentStatus)

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

func (*RbdComponentStatus) GetCondition

GetCondition returns a rbdcomponent condition based on the given type.

func (*RbdComponentStatus) SetCondition

func (r *RbdComponentStatus) SetCondition(c RbdComponentCondition)

SetCondition setups the given rbdcomponent condition.

func (*RbdComponentStatus) UpdateCondition

func (r *RbdComponentStatus) UpdateCondition(condition *RbdComponentCondition) bool

UpdateCondition updates existing rbdcomponent condition or creates a new one. Sets LastTransitionTime to now if the status has changed. Returns true if rbdcomponent condition has changed or has been added.

type StorageClass

type StorageClass struct {
	Name        string                            `json:"name"`
	Provisioner string                            `json:"provisioner"`
	AccessMode  corev1.PersistentVolumeAccessMode `json:"accessMode,omitempty"`
}

StorageClass storage class

func (*StorageClass) DeepCopy

func (in *StorageClass) DeepCopy() *StorageClass

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

func (*StorageClass) DeepCopyInto

func (in *StorageClass) DeepCopyInto(out *StorageClass)

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

type StorageClassParameters

type StorageClassParameters struct {
	// Dynamically provisioned PersistentVolumes of this storage class are
	// created with these mountOptions, e.g. ["ro", "soft"]. Not validated -
	// mount of the PVs will simply fail if one is invalid.
	// +optional
	MountOptions []string `json:"mountOptions,omitempty" protobuf:"bytes,5,opt,name=mountOptions"`

	// Provisioner indicates the type of the provisioner.
	Provisioner string `json:"provisioner,omitempty" protobuf:"bytes,2,opt,name=provisioner"`

	// Parameters holds the parameters for the provisioner that should
	// create volumes of this storage class.
	// +optional
	Parameters map[string]string `json:"parameters,omitempty" protobuf:"bytes,3,rep,name=parameters"`
}

StorageClassParameters describes the parameters for a class of storage for which PersistentVolumes can be dynamically provisioned.

func (*StorageClassParameters) DeepCopy

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

func (*StorageClassParameters) DeepCopyInto

func (in *StorageClassParameters) DeepCopyInto(out *StorageClassParameters)

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