Documentation
¶
Index ¶
- Constants
- type AliyunCloudDiskCSIPluginSource
- type AliyunNasCSIPluginSource
- type AvailableNodes
- type CSIPluginSource
- type ClusterInstallReq
- type ClusterPreCheckCondition
- type ClusterPreCheckResp
- type ClusterStatusInfo
- type ComponentStatus
- type Database
- type EtcdCertInfo
- type EtcdConfig
- type GlobalConfigs
- type ImageHub
- type K8sNode
- type NFSCSIPluginSource
- type PodContainerStatus
- type PodStatus
- type RainbondVolume
- type RainbondVolumes
- type RbdComponentStatus
- type RbdComponentStatusList
- type StorageClass
- type StorageClassParameters
- type UpdateGatewayIPReq
- type UpgradeReq
- type UpgradeVersionsResp
Constants ¶
const ( //ComponentStatusRunning running ComponentStatusRunning = "Running" // ComponentStatusIniting initing ComponentStatusIniting = "Initing" //ComponentStatusCreating creating ComponentStatusCreating = "Creating" // ComponentStatusTerminating terminal ComponentStatusTerminating = "Terminating" // TODO fanyangyang have not found this case // ComponentStatusFailed failed ComponentStatusFailed = "Failed" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
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 int `json:"maxVolumePerNode" binding:"lt=16"`
}
AliyunCloudDiskCSIPluginSource represents a aliyun cloud disk CSI plugin. More info: https://github.com/kubernetes-sigs/alibaba-cloud-csi-driver/blob/master/docs/disk.md
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
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.
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"`
// 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"`
// 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.
type ClusterInstallReq ¶
type ClusterInstallReq struct {
RainbondVolumes *RainbondVolumes `json:"rainbondVolumes" binding:"required"`
}
ClusterInstallReq -
type ClusterPreCheckCondition ¶ added in v1.3.0
type ClusterPreCheckCondition struct {
Type string `json:"type"`
Status string `json:"status"`
Reason string `json:"reason"`
Message string `json:"message"`
}
ClusterPreCheckCondition -
type ClusterPreCheckResp ¶ added in v1.3.0
type ClusterPreCheckResp struct {
Pass bool `json:"pass"`
Conditions []*ClusterPreCheckCondition `json:"conditions"`
}
ClusterPreCheckResp holds the response of cluster pre checking
type ClusterStatusInfo ¶
type ClusterStatusInfo struct {
// holds some recommend nodes available for rbd-gateway to run.
GatewayAvailableNodes *AvailableNodes `json:"gatewayAvailableNodes"`
// holds some recommend nodes available for rbd-chaos to run.
ChaosAvailableNodes *AvailableNodes `json:"chaosAvailableNodes"`
StorageClasses []*StorageClass `json:"storageClasses"`
}
ClusterStatusInfo holds the information of rainbondcluster status.
type Database ¶
type Database struct {
Host string `json:"host"`
Port int `json:"port"`
Username string `json:"username"`
Password string `json:"password"`
}
Database defines the connection information of database.
type EtcdCertInfo ¶
type EtcdCertInfo struct {
CaFile string `json:"caFile"`
CertFile string `json:"certFile"`
KeyFile string `json:"keyFile"`
}
EtcdCertInfo etcd cert info
type EtcdConfig ¶
type EtcdConfig struct {
// Endpoints is a list of URLs.
Endpoints []string `json:"endpoints"`
// Secret to mount to read certificate files for tls.
CertInfo *EtcdCertInfo `json:"certInfo"`
}
EtcdConfig defines the configuration of etcd client.
type GlobalConfigs ¶
type GlobalConfigs struct {
// Enable highly available installation, otherwise use all-in-one mode
EnableHA bool `json:"enableHA"`
ImageHub ImageHub `json:"imageHub"`
RegionDatabase Database `json:"regionDatabase"`
UIDatabase Database `json:"uiDatabase"`
EtcdConfig EtcdConfig `json:"etcdConfig"`
HTTPDomain string `json:"HTTPDomain"`
GatewayIngressIPs []string `json:"gatewayIngressIPs"`
NodesForGateways []*K8sNode `json:"nodesForGateway" binding:"required,dive,required"`
NodesForChaos []*K8sNode `json:"nodesForChaos" binding:"required,dive,required"`
RainbondVolumes RainbondVolumes `json:"rainbondVolumes" binding:"required,dive,required"`
}
GlobalConfigs check result
type ImageHub ¶
type ImageHub struct {
Domain string `json:"domain"`
Namespace string `json:"namespace"`
Username string `json:"username"`
Password string `json:"password"`
}
ImageHub image hub
type K8sNode ¶
type K8sNode struct {
Name string `json:"name"`
InternalIP string `json:"internalIP" binding:"required,ipv4"`
ExternalIP string `json:"externalIP"`
}
K8sNode holds the information about a kubernetes node.
type NFSCSIPluginSource ¶
type NFSCSIPluginSource struct {
}
NFSCSIPluginSource represents a nfs CSI plugin. More info: https://github.com/kubernetes-incubator/external-storage/tree/master/nfs
type PodContainerStatus ¶
type PodContainerStatus struct {
ContainerID string `json:"containerID"`
Image string `json:"image"`
// Specifies whether the container has passed its readiness probe.
Ready bool `json:"ready"`
State string `json:"state"`
Reason string `json:"reason"`
Message string `json:"message"`
}
PodContainerStatus -
type PodStatus ¶
type PodStatus struct {
Name string `json:"name"`
Phase string `json:"phase"`
HostIP string `json:"hostIP"`
Reason string `json:"reason"`
Message string `json:"message"`
ContainerStatuses []PodContainerStatus `json:"container_statuses"`
}
PodStatus represents information about the status of a pod, which belongs to RbdComponent.
type RainbondVolume ¶
type RainbondVolume struct {
// Specify the name of the storageClass directly
StorageClassName string `json:"storageClassName"`
// Specify the storageClass parameter to directly create the corresponding StorageClass
StorageClassParameters *StorageClassParameters `json:"storageClassParameters"`
CSIPlugin *CSIPluginSource `json:"csiPlugin"`
}
RainbondVolume -
type RainbondVolumes ¶
type RainbondVolumes struct {
RWX *RainbondVolume `json:"RWX" binding:"required"`
RWO *RainbondVolume `json:"RWO"`
}
RainbondVolumes contains information about rainbondvolume, including RWX and RWO. Used to prepare StorageClass for rainbond application.
type RbdComponentStatus ¶
type RbdComponentStatus struct {
Name string `json:"name"`
// Total number of non-terminated pods targeted by this deployment (their labels match the selector).
// +optional
Replicas int32 `json:"replicas"`
// Total number of ready pods targeted by this deployment.
// +optional
ReadyReplicas int32 `json:"readyReplicas"`
Status ComponentStatus `json:"status"` //translate pod status to component status
Message string `json:"message"`
Reason string `json:"reason"`
ISInitComponent bool `json:"isInitComponent"`
PodStatuses []PodStatus `json:"podStatus"`
}
RbdComponentStatus rainbond component status
type RbdComponentStatusList ¶
type RbdComponentStatusList []*RbdComponentStatus
RbdComponentStatusList list of rbdComponentStatus implement sort
func (RbdComponentStatusList) Len ¶
func (l RbdComponentStatusList) Len() int
Len len of rbdComponentStatusList
func (RbdComponentStatusList) Less ¶
func (l RbdComponentStatusList) Less(i, j int) bool
Less list i is less list j or not
func (RbdComponentStatusList) Swap ¶
func (l RbdComponentStatusList) Swap(i, j int)
Swap swap list i and j
type StorageClass ¶
type StorageClass struct {
Name string `json:"name"`
Provisioner string `json:"provisioner"`
AccessMode string `json:"accessMode"`
}
StorageClass is a List of StorageCass available in the cluster. StorageClass storage class
type StorageClassParameters ¶
type StorageClassParameters struct {
MountOptions []string `json:"mountOptions"`
// Provisioner indicates the type of the provisioner.
Provisioner string `json:"provisioner"`
// Parameters holds the parameters for the provisioner that should
// create volumes of this storage class.
// +optional
Parameters map[string]string `json:"parameters"`
}
StorageClassParameters describes the parameters for a class of storage for which PersistentVolumes can be dynamically provisioned.
type UpdateGatewayIPReq ¶ added in v1.3.0
type UpdateGatewayIPReq struct {
GatewayIP string `json:"gatewayIP"`
}
ClusterPreCheckCondition -
type UpgradeReq ¶ added in v1.3.0
type UpgradeReq struct {
Version string `json:"version" binding:"required"`
}
UpgradeReq -
type UpgradeVersionsResp ¶ added in v1.3.0
type UpgradeVersionsResp struct {
CurrentVersion string `json:"currentVersion"`
UpgradeableVersions []string `json:"upgradeableVersions"`
}
UpgradeVersionsResp -