Documentation
¶
Overview ¶
Package v1beta1 is the v1beta1 version of the API.
Index ¶
- Constants
- Variables
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type ApprovedResult
- type ClusterRegistrationRequest
- type ClusterRegistrationRequestList
- type ClusterRegistrationRequestSpec
- type ClusterRegistrationRequestStatus
- type ClusterSyncMode
- type ClusterType
- type ManagedCluster
- type ManagedClusterList
- type ManagedClusterSpec
- type ManagedClusterStatus
- type NodeStatistics
Constants ¶
const (
// ClusterReady means cluster is ready.
ClusterReady = "Ready"
)
const (
VERSION = "v1beta1"
)
Variables ¶
var ( // SchemeBuilder initializes a scheme builder SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme is a global function that registers this API group & version to a scheme AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: clusters.GroupName, Version: VERSION}
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 ApprovedResult ¶
type ApprovedResult string
const ( RequestDenied ApprovedResult = "Denied" RequestApproved ApprovedResult = "Approved" RequestFailed ApprovedResult = "Failed" )
These are the possible results for a cluster registration request.
type ClusterRegistrationRequest ¶
type ClusterRegistrationRequest struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ClusterRegistrationRequestSpec `json:"spec,omitempty"`
Status ClusterRegistrationRequestStatus `json:"status,omitempty"`
}
ClusterRegistrationRequest is the Schema for the clusterregistrationrequests API
func (*ClusterRegistrationRequest) DeepCopy ¶
func (in *ClusterRegistrationRequest) DeepCopy() *ClusterRegistrationRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRegistrationRequest.
func (*ClusterRegistrationRequest) DeepCopyInto ¶
func (in *ClusterRegistrationRequest) DeepCopyInto(out *ClusterRegistrationRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterRegistrationRequest) DeepCopyObject ¶
func (in *ClusterRegistrationRequest) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterRegistrationRequestList ¶
type ClusterRegistrationRequestList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ClusterRegistrationRequest `json:"items"`
}
ClusterRegistrationRequestList contains a list of ClusterRegistrationRequest
func (*ClusterRegistrationRequestList) DeepCopy ¶
func (in *ClusterRegistrationRequestList) DeepCopy() *ClusterRegistrationRequestList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRegistrationRequestList.
func (*ClusterRegistrationRequestList) DeepCopyInto ¶
func (in *ClusterRegistrationRequestList) DeepCopyInto(out *ClusterRegistrationRequestList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterRegistrationRequestList) DeepCopyObject ¶
func (in *ClusterRegistrationRequestList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterRegistrationRequestSpec ¶
type ClusterRegistrationRequestSpec struct {
// ClusterID, a Random (Version 4) UUID, is a unique value in time and space value representing for child cluster.
// It is typically generated by the clusternet agent on the successful creation of a "self-cluster" Lease
// in the child cluster.
// Also it is not allowed to change on PUT operations.
//
// +required
// +kubebuilder:validation:Required
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Pattern="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"
ClusterID types.UID `json:"clusterId"`
// ClusterType denotes the type of the child cluster.
//
// +optional
// +kubebuilder:validation:Type=string
ClusterType ClusterType `json:"clusterType,omitempty"`
// ClusterName is the cluster name.
// a lower case alphanumeric characters or '-', and must start and end with an alphanumeric character
//
// +optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:MaxLength=30
// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9]))*"
ClusterName string `json:"clusterName,omitempty"`
// ClusterLabels is the labels of the child cluster.
//
// +optional
// +kubebuilder:validation:Type=object
ClusterLabels map[string]string `json:"clusterLabels,omitempty"`
// SyncMode decides how to sync resources from parent cluster to child cluster.
//
// +optional
// +kubebuilder:default=Pull
// +kubebuilder:validation:Enum=Push;Pull;Dual
SyncMode ClusterSyncMode `json:"syncMode,omitempty"`
}
ClusterRegistrationRequestSpec defines the desired state of ClusterRegistrationRequest
func (*ClusterRegistrationRequestSpec) DeepCopy ¶
func (in *ClusterRegistrationRequestSpec) DeepCopy() *ClusterRegistrationRequestSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRegistrationRequestSpec.
func (*ClusterRegistrationRequestSpec) DeepCopyInto ¶
func (in *ClusterRegistrationRequestSpec) DeepCopyInto(out *ClusterRegistrationRequestSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterRegistrationRequestStatus ¶
type ClusterRegistrationRequestStatus struct {
// DedicatedNamespace is a dedicated namespace for the child cluster, which is created in the parent cluster.
//
// +optional
DedicatedNamespace string `json:"dedicatedNamespace,omitempty"`
// DedicatedToken is populated by clusternet-hub when Result is RequestApproved.
// With this token, the client could have full access on the resources created in DedicatedNamespace.
//
// +optional
DedicatedToken []byte `json:"token,omitempty"`
// CACertificate is the public certificate that is the root of trust for parent cluster
// The certificate is encoded in PEM format.
//
// +optional
CACertificate []byte `json:"caCertificate,omitempty"`
// Result indicates whether this request has been approved.
// When all necessary objects have been created and ready for child cluster registration,
// this field will be set to "Approved". If any illegal updates on this object, "Illegal" will be set to this filed.
//
// +optional
Result *ApprovedResult `json:"result,omitempty"`
// ErrorMessage tells the reason why the request is not approved successfully.
//
// +optional
ErrorMessage string `json:"errorMessage,omitempty"`
// ManagedClusterName is the name of ManagedCluster object in the parent cluster corresponding to the child cluster
//
// +optional
ManagedClusterName string `json:"managedClusterName,omitempty"`
}
ClusterRegistrationRequestStatus defines the observed state of ClusterRegistrationRequest
func (*ClusterRegistrationRequestStatus) DeepCopy ¶
func (in *ClusterRegistrationRequestStatus) DeepCopy() *ClusterRegistrationRequestStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRegistrationRequestStatus.
func (*ClusterRegistrationRequestStatus) DeepCopyInto ¶
func (in *ClusterRegistrationRequestStatus) DeepCopyInto(out *ClusterRegistrationRequestStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterSyncMode ¶
type ClusterSyncMode string
const ( // Push means that all the resource changes in the parent cluster will be synchronized, pushed and applied to child clusters. Push ClusterSyncMode = "Push" // Pull means that the agent, known as 'clusternet-agent', running in the child cluster will watch, synchronize // and apply all the resource changes from the parent cluster to child cluster. Pull ClusterSyncMode = "Pull" // Dual combines both Push and Pull mode. Dual ClusterSyncMode = "Dual" )
These are the valid values for ClusterSyncMode
type ClusterType ¶
type ClusterType string
const ( // edge cluster EdgeCluster ClusterType = "EdgeCluster" )
These are the valid values for ClusterType
type ManagedCluster ¶
type ManagedCluster struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ManagedClusterSpec `json:"spec,omitempty"`
Status ManagedClusterStatus `json:"status,omitempty"`
}
ManagedCluster is the Schema for the managedclusters API
func (*ManagedCluster) DeepCopy ¶
func (in *ManagedCluster) DeepCopy() *ManagedCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedCluster.
func (*ManagedCluster) DeepCopyInto ¶
func (in *ManagedCluster) DeepCopyInto(out *ManagedCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ManagedCluster) DeepCopyObject ¶
func (in *ManagedCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ManagedClusterList ¶
type ManagedClusterList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ManagedCluster `json:"items"`
}
ManagedClusterList contains a list of ManagedCluster
func (*ManagedClusterList) DeepCopy ¶
func (in *ManagedClusterList) DeepCopy() *ManagedClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterList.
func (*ManagedClusterList) DeepCopyInto ¶
func (in *ManagedClusterList) DeepCopyInto(out *ManagedClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ManagedClusterList) DeepCopyObject ¶
func (in *ManagedClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ManagedClusterSpec ¶
type ManagedClusterSpec struct {
// ClusterID, a Random (Version 4) UUID, is a unique value in time and space value representing for child cluster.
// It is typically generated by the clusternet agent on the successful creation of a "self-cluster" Lease
// in the child cluster.
// Also it is not allowed to change on PUT operations.
//
// +required
// +kubebuilder:validation:Required
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Pattern="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"
ClusterID types.UID `json:"clusterId"`
// ClusterType denotes the type of the child cluster.
//
// +optional
// +kubebuilder:validation:Type=string
ClusterType ClusterType `json:"clusterType,omitempty"`
// SyncMode decides how to sync resources from parent cluster to child cluster.
//
// +required
// +kubebuilder:validation:Required
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Enum=Push;Pull;Dual
SyncMode ClusterSyncMode `json:"syncMode"`
// Taints has the "effect" on any resource that does not tolerate the Taint.
// +optional
Taints []corev1.Taint `json:"taints,omitempty"`
}
ManagedClusterSpec defines the desired state of ManagedCluster
func (*ManagedClusterSpec) DeepCopy ¶
func (in *ManagedClusterSpec) DeepCopy() *ManagedClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterSpec.
func (*ManagedClusterSpec) DeepCopyInto ¶
func (in *ManagedClusterSpec) DeepCopyInto(out *ManagedClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagedClusterStatus ¶
type ManagedClusterStatus struct {
// lastObservedTime is the time when last status from the series was seen before last heartbeat.
// RFC 3339 date and time at which the object was acknowledged by the Clusternet Agent.
// +optional
LastObservedTime metav1.Time `json:"lastObservedTime,omitempty"`
// k8sVersion is the Kubernetes version of the cluster
// +optional
KubernetesVersion string `json:"k8sVersion,omitempty"`
// platform indicates the running platform of the cluster
// +optional
Platform string `json:"platform,omitempty"`
// APIServerURL indicates the advertising url/address of managed Kubernetes cluster
// +optional
APIServerURL string `json:"apiserverURL,omitempty"`
// Healthz indicates the healthz status of the cluster
// which is deprecated since Kubernetes v1.16. Please use Livez and Readyz instead.
// Leave it here only for compatibility.
// +optional
Healthz bool `json:"healthz"`
// Livez indicates the livez status of the cluster
// +optional
Livez bool `json:"livez"`
// Readyz indicates the readyz status of the cluster
// +optional
Readyz bool `json:"readyz"`
// AppPusher indicates whether to allow parent cluster deploying applications in Push or Dual Mode.
// Mainly for security concerns.
// +optional
AppPusher bool `json:"appPusher,omitempty"`
// UseSocket indicates whether to use socket proxy when connecting to child cluster.
//
// +optional
UseSocket bool `json:"useSocket,omitempty"`
// Allocatable is the sum of allocatable resources for nodes in the cluster
// +optional
Allocatable corev1.ResourceList `json:"allocatable,omitempty"`
// Capacity is the sum of capacity resources for nodes in the cluster
// +optional
Capacity corev1.ResourceList `json:"capacity,omitempty"`
// ClusterCIDR is the CIDR range of the cluster
// +optional
ClusterCIDR string `json:"clusterCIDR,omitempty"`
// ServcieCIDR is the CIDR range of the services
// +optional
ServiceCIDR string `json:"serviceCIDR,omitempty"`
// NodeStatistics is the info summary of nodes in the cluster
// +optional
NodeStatistics NodeStatistics `json:"nodeStatistics,omitempty"`
// Conditions is an array of current cluster conditions.
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// heartbeatFrequencySeconds is the frequency at which the agent reports current cluster status
// +optional
HeartbeatFrequencySeconds *int64 `json:"heartbeatFrequencySeconds,omitempty"`
}
ManagedClusterStatus defines the observed state of ManagedCluster
func (*ManagedClusterStatus) DeepCopy ¶
func (in *ManagedClusterStatus) DeepCopy() *ManagedClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterStatus.
func (*ManagedClusterStatus) DeepCopyInto ¶
func (in *ManagedClusterStatus) DeepCopyInto(out *ManagedClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeStatistics ¶
type NodeStatistics struct {
// ReadyNodes is the number of ready nodes in the cluster
// +optional
ReadyNodes int32 `json:"readyNodes,omitempty"`
// NotReadyNodes is the number of not ready nodes in the cluster
// +optional
NotReadyNodes int32 `json:"notReadyNodes,omitempty"`
// UnknownNodes is the number of unknown nodes in the cluster
// +optional
UnknownNodes int32 `json:"unknownNodes,omitempty"`
// LostNodes is the number of states lost nodes in the cluster
// +optional
LostNodes int32 `json:"lostNodes,omitempty"`
}
func (*NodeStatistics) DeepCopy ¶
func (in *NodeStatistics) DeepCopy() *NodeStatistics
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeStatistics.
func (*NodeStatistics) DeepCopyInto ¶
func (in *NodeStatistics) DeepCopyInto(out *NodeStatistics)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.