v1beta1

package
v0.0.0-...-5bf2808 Latest Latest
Warning

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

Go to latest
Published: Apr 29, 2024 License: Apache-2.0 Imports: 6 Imported by: 11

Documentation

Overview

Package v1beta1 contains API Schema definitions for the clusterinfo v1beta1 API group +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/stolostron/cluster-lifecycle-api/clusterinfo +k8s:defaulter-gen=TypeMeta +k8s:openapi-gen=true +kubebuilder:validation:Optional +groupName=internal.open-cluster-management.io

Index

Constants

View Source
const (
	GroupName = "internal.open-cluster-management.io"
	Version   = "v1beta1"
)
View Source
const (
	// CPU, in cores. (500m = .5 cores)
	ResourceCPU clusterv1.ResourceName = "cpu"
	// Memory, in bytes. (500Gi = 500GiB = 500 * 1024 * 1024 * 1024)
	ResourceMemory clusterv1.ResourceName = "memory"
)
View Source
const (
	ReasonManagedClusterInfoSynced       string = "ManagedClusterInfoSynced"
	ReasonManagedClusterInfoSyncedFailed string = "ReasonManagedClusterInfoSyncedFailed"
)
View Source
const (
	LabelCloudVendor = "cloud"
	LabelKubeVendor  = "vendor"
	LabelClusterID   = "clusterID"
	LabelManagedBy   = "managed-by"
	AutoDetect       = "auto-detect"
	// OCPVersion is the full version of OCP cluster, like 4.11.3
	OCPVersion = "openshiftVersion"
	// OCPVersionMajor is the major version of OCP cluster, like 4
	OCPVersionMajor = "openshiftVersion-major"
	// OCPVersionMajorMinor is the version of OCP cluster without patch, like 4.11
	OCPVersionMajorMinor = "openshiftVersion-major-minor"
	// MicroShiftVersion is the version of MicroShift
	MicroShiftVersion = "microshiftVersion"
)
View Source
const (
	// ManagedClusterInfoSynced means the info on managed cluster is synced.
	ManagedClusterInfoSynced string = "ManagedClusterInfoSynced"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: GroupName, Version: Version}

	// Install is a function which adds this version to a scheme
	Install = schemeBuilder.AddToScheme

	// SchemeGroupVersion generated code relies on this name
	// Deprecated
	SchemeGroupVersion = GroupVersion

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = schemeBuilder.AddToScheme
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type ClientConfig

type ClientConfig struct {
	// URL is the URL of apiserver endpoint of the managed cluster.
	// +required
	URL string `json:"url"`

	// CABundle is the ca bundle to connect to apiserver of the managed cluster.
	// System certs are used if it is not set.
	// +optional
	CABundle []byte `json:"caBundle,omitempty"`
}

func (*ClientConfig) DeepCopy

func (in *ClientConfig) DeepCopy() *ClientConfig

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

func (*ClientConfig) DeepCopyInto

func (in *ClientConfig) DeepCopyInto(out *ClientConfig)

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

func (ClientConfig) SwaggerDoc

func (ClientConfig) SwaggerDoc() map[string]string

type CloudVendorType

type CloudVendorType string

CloudVendorType describe the cloud provider for the cluster

const (
	// CloudVendorIBM IBM
	CloudVendorIBM CloudVendorType = "IBM"
	// CloudVendorIBMZ IBM s360x
	CloudVendorIBMZ CloudVendorType = "IBMZPlatform"
	// CloudVendorIBMP IBM Power
	CloudVendorIBMP CloudVendorType = "IBMPowerPlatform"
	// CloudVendorAWS Amazon
	CloudVendorAWS CloudVendorType = "Amazon"
	// CloudVendorAzure Azure
	CloudVendorAzure CloudVendorType = "Azure"
	// CloudVendorGoogle Google
	CloudVendorGoogle CloudVendorType = "Google"
	// CloudVendorVSphere vSphere
	CloudVendorVSphere CloudVendorType = "VSphere"
	// CloudVendorOpenStack OpenStack
	CloudVendorOpenStack CloudVendorType = "OpenStack"
	// CloudVendorRHV RHV
	CloudVendorRHV CloudVendorType = "RHV"
	// CloudVendorAlibabaCloud AlibabaCloud
	CloudVendorAlibabaCloud = "AlibabaCloud"
	// CloudVendorBareMetal BareMetal
	CloudVendorBareMetal = "BareMetal"
	// CloudVendorOther other (unable to auto detect)
	CloudVendorOther CloudVendorType = "Other"
)

type ClusterInfoSpec

type ClusterInfoSpec struct {
	// LoggingCA is the ca data for logging server to authorize apiserver
	// +optional
	LoggingCA []byte `json:"loggingCA,omitempty"`

	// MasterEndpoint shows the apiserver endpoint of managed cluster
	// +optional
	MasterEndpoint string `json:"masterEndpoint,omitempty"`
}

ClusterInfoSpec is information about the current status of a managed cluster updated by ManagedClusterInfo controller periodically.

func (*ClusterInfoSpec) DeepCopy

func (in *ClusterInfoSpec) DeepCopy() *ClusterInfoSpec

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

func (*ClusterInfoSpec) DeepCopyInto

func (in *ClusterInfoSpec) DeepCopyInto(out *ClusterInfoSpec)

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

func (ClusterInfoSpec) SwaggerDoc

func (ClusterInfoSpec) SwaggerDoc() map[string]string

type ClusterInfoStatus

type ClusterInfoStatus struct {
	// Conditions contains condition information for a managed cluster
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// Version is the kube version of managed cluster.
	// +optional
	Version string `json:"version,omitempty"`

	// KubeVendor describes the kubernetes provider of the managed cluster.
	// Deprecated in release 2.3 and will be removed in the future. Use clusterClaim platform.open-cluster-management.io instead.
	// +optional
	KubeVendor KubeVendorType `json:"kubeVendor,omitempty"`

	// CloudVendor describes the cloud provider for the managed cluster.
	// Deprecated in release 2.3 and will be removed in the future. Use clusterClaim product.open-cluster-management.io instead.
	// +optional
	CloudVendor CloudVendorType `json:"cloudVendor,omitempty"`

	// ClusterID is the identifier of managed cluster.
	// Deprecated in release 2.3 and will be removed in the future. Use clusterClaim id.openshift.io instead.
	// +optional
	ClusterID string `json:"clusterID,omitempty"`

	// DistributionInfo is the information about distribution of managed cluster
	// +optional
	DistributionInfo DistributionInfo `json:"distributionInfo,omitempty"`

	// ConsoleURL shows the url of console in managed cluster.
	// Deprecated in release 2.3 and will be removed in the future. Use clusterClaim consoleurl.cluster.open-cluster-management.io instead.
	// +optional
	ConsoleURL string `json:"consoleURL,omitempty"`

	// NodeList shows a list of the status of nodes
	// +optional
	NodeList []NodeStatus `json:"nodeList,omitempty"`

	// LoggingEndpoint shows the endpoint to connect to logging server of managed cluster
	// +optional
	LoggingEndpoint corev1.EndpointAddress `json:"loggingEndpoint,omitempty"`

	// LoggingPort shows the port to connect to logging server of managed cluster
	// +optional
	LoggingPort corev1.EndpointPort `json:"loggingPort,omitempty"`
}

ClusterInfoStatus is the information about managed cluster

func (*ClusterInfoStatus) DeepCopy

func (in *ClusterInfoStatus) DeepCopy() *ClusterInfoStatus

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

func (*ClusterInfoStatus) DeepCopyInto

func (in *ClusterInfoStatus) DeepCopyInto(out *ClusterInfoStatus)

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

func (ClusterInfoStatus) SwaggerDoc

func (ClusterInfoStatus) SwaggerDoc() map[string]string

type DistributionInfo

type DistributionInfo struct {
	// Type is the distribution type of managed cluster, is OCP currently
	// +unionDiscriminator
	Type DistributionType `json:"type,omitempty"`

	// OCP is the distribution information of OCP managed cluster, is matched when the Type is OCP.
	OCP OCPDistributionInfo `json:"ocp,omitempty"`
}

DistributionInfo defines the information about distribution of managed cluster +union

func (*DistributionInfo) DeepCopy

func (in *DistributionInfo) DeepCopy() *DistributionInfo

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

func (*DistributionInfo) DeepCopyInto

func (in *DistributionInfo) DeepCopyInto(out *DistributionInfo)

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

func (DistributionInfo) SwaggerDoc

func (DistributionInfo) SwaggerDoc() map[string]string

type DistributionType

type DistributionType string

DistributionType is type of distribution

const (
	DistributionTypeOCP     DistributionType = "OCP"
	DistributionTypeUnknown DistributionType = "Unknown"
)

Supported distribution type

type KubeVendorType

type KubeVendorType string

KubeVendorType describe the kubernetes provider of the cluster

const (
	// KubeVendorOpenShift OpenShift
	KubeVendorOpenShift KubeVendorType = "OpenShift"
	// KubeVendorAKS Azure Kubernetes Service
	KubeVendorAKS KubeVendorType = "AKS"
	// KubeVendorEKS Elastic Kubernetes Service
	KubeVendorEKS KubeVendorType = "EKS"
	// KubeVendorGKE Google Kubernetes Engine
	KubeVendorGKE KubeVendorType = "GKE"
	// KubeVendorICP IBM Cloud Private
	KubeVendorICP KubeVendorType = "ICP"
	// KubeVendorIKS IBM Kubernetes Service
	KubeVendorIKS KubeVendorType = "IKS"
	// KubeVendorOSD OpenShiftDedicated
	KubeVendorOSD KubeVendorType = "OpenShiftDedicated"
	// KubeVendorMicroShift MicroShift
	KubeVendorMicroShift KubeVendorType = "MicroShift"
	// KubeVendorOther other (unable to auto detect)
	KubeVendorOther KubeVendorType = "Other"
)

type ManagedClusterInfo

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

	// Spec defines the information of the Cluster.
	// +optional
	Spec ClusterInfoSpec `json:"spec,omitempty"`

	// Status represents the desired status of the Cluster
	// +optional
	Status ClusterInfoStatus `json:"status,omitempty"`
}

ManagedClusterInfo represents the information of managed cluster that acm hub needs to know

func (*ManagedClusterInfo) DeepCopy

func (in *ManagedClusterInfo) DeepCopy() *ManagedClusterInfo

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

func (*ManagedClusterInfo) DeepCopyInto

func (in *ManagedClusterInfo) DeepCopyInto(out *ManagedClusterInfo)

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

func (*ManagedClusterInfo) DeepCopyObject

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

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

func (ManagedClusterInfo) SwaggerDoc

func (ManagedClusterInfo) SwaggerDoc() map[string]string

type ManagedClusterInfoList

type ManagedClusterInfoList struct {
	metav1.TypeMeta `json:",inline"`

	// Standard list metadata.
	// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// List of ManagedClusterInfo objects.
	Items []ManagedClusterInfo `json:"items"`
}

ManagedClusterInfoList is a list of ManagedClusterInfo objects

func (*ManagedClusterInfoList) DeepCopy

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

func (*ManagedClusterInfoList) DeepCopyInto

func (in *ManagedClusterInfoList) DeepCopyInto(out *ManagedClusterInfoList)

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

func (*ManagedClusterInfoList) DeepCopyObject

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

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

func (ManagedClusterInfoList) SwaggerDoc

func (ManagedClusterInfoList) SwaggerDoc() map[string]string

type NodeCondition

type NodeCondition struct {
	// Type of node condition.
	Type corev1.NodeConditionType `json:"type,omitempty"`
	// Status of the condition, one of True, False, Unknown.
	Status corev1.ConditionStatus `json:"status,omitempty"`
}

func (*NodeCondition) DeepCopy

func (in *NodeCondition) DeepCopy() *NodeCondition

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

func (*NodeCondition) DeepCopyInto

func (in *NodeCondition) DeepCopyInto(out *NodeCondition)

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

func (NodeCondition) SwaggerDoc

func (NodeCondition) SwaggerDoc() map[string]string

type NodeStatus

type NodeStatus struct {
	// Name of node
	// +optional
	Name string `json:"name,omitempty"`

	// Labels of node.
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// Capacity represents the total resources of a node. only includes CPU and memory.
	// +optional
	Capacity ResourceList `json:"capacity,omitempty"`

	// Conditions is an array of current node conditions. only includes NodeReady.
	// +optional
	Conditions []NodeCondition `json:"conditions,omitempty"`
}

NodeStatus presents the name, labels and conditions of node

func (*NodeStatus) DeepCopy

func (in *NodeStatus) DeepCopy() *NodeStatus

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

func (*NodeStatus) DeepCopyInto

func (in *NodeStatus) DeepCopyInto(out *NodeStatus)

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

func (NodeStatus) SwaggerDoc

func (NodeStatus) SwaggerDoc() map[string]string

type OCPDistributionInfo

type OCPDistributionInfo struct {
	// Version is the current version of the OCP cluster.
	// Deprecated in release 2.3 and will be removed in the future. Use clusterClaim version.openshift.io instead.
	Version string `json:"version,omitempty"`

	// AvailableUpdates contains the list of update versions that are appropriate for the manage cluster.
	// Deprecated in release 2.3 and will be removed in the future. Use VersionAvailableUpdates instead.
	AvailableUpdates []string `json:"availableUpdates,omitempty"`

	// DesiredVersion is the version that the cluster is reconciling towards.
	// Deprecated in release 2.3 and will be removed in the future. User Desired instead.
	DesiredVersion string `json:"desiredVersion,omitempty"`

	// UpgradeFailed indicates whether upgrade of the manage cluster is failed.
	// This is true if the status of Failing condition is True and the version is different with desiredVersion in clusterVersion
	UpgradeFailed bool `json:"upgradeFailed,omitempty"`

	// Channel is an identifier for explicitly requesting that a non-default
	// set of updates be applied to this cluster. The default channel will be
	// contain stable updates that are appropriate for production clusters.
	Channel string `json:"channel,omitempty"`

	// desired is the version that the cluster is reconciling towards.
	// If the cluster is not yet fully initialized desired will be set
	// with the information available, which may be an image or a tag.
	Desired OCPVersionRelease `json:"desired,omitempty"`

	// VersionAvailableUpdates contains the list of updates that are appropriate
	// for this cluster. This list may be empty if no updates are recommended,
	// if the update service is unavailable, or if an invalid channel has
	// been specified.
	VersionAvailableUpdates []OCPVersionRelease `json:"versionAvailableUpdates,omitempty"`

	// VersionHistory contains a list of the most recent versions applied to the cluster.
	// This value may be empty during cluster startup, and then will be updated
	// when a new update is being applied. The newest update is first in the
	// list and it is ordered by recency. Updates in the history have state
	// Completed if the rollout completed - if an update was failing or halfway
	// applied the state will be Partial. Only a limited amount of update history
	// is preserved.
	VersionHistory []OCPVersionUpdateHistory `json:"versionHistory,omitempty"`

	// Controller will sync this field to managedcluster's ManagedClusterClientConfigs
	// +optional
	ManagedClusterClientConfig ClientConfig `json:"managedClusterClientConfig,omitempty"`

	// LastAppliedAPIServerURL is a valid URI with scheme 'https', address and optionally
	// a port (defaulting to 443). it can be used by components like the web console to
	// tell users where to find the Kubernetes API.
	// This is the api server url that has been applied to the managedcluster resource successfully
	LastAppliedAPIServerURL string `json:"lastAppliedAPIServerURL"`
}

OCPDistributionInfo defines the distribution information of OCP managed cluster

func (*OCPDistributionInfo) DeepCopy

func (in *OCPDistributionInfo) DeepCopy() *OCPDistributionInfo

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

func (*OCPDistributionInfo) DeepCopyInto

func (in *OCPDistributionInfo) DeepCopyInto(out *OCPDistributionInfo)

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

func (OCPDistributionInfo) SwaggerDoc

func (OCPDistributionInfo) SwaggerDoc() map[string]string

type OCPVersionRelease

type OCPVersionRelease struct {
	// version is a semantic versioning identifying the update version. When this
	// field is part of spec, version is optional if image is specified.
	Version string `json:"version"`

	// image is a container image location that contains the update. When this
	// field is part of spec, image is optional if version is specified and the
	// availableUpdates field contains a matching version.
	Image string `json:"image"`

	// url contains information about this release. This URL is set by
	// the 'url' metadata property on a release or the metadata returned by
	// the update API and should be displayed as a link in user
	// interfaces. The URL field may not be set for test or nightly
	// releases.
	URL string `json:"url,omitempty"`

	// channels is the set of Cincinnati channels to which the release
	// currently belongs.
	Channels []string `json:"channels,omitempty"`
}

OCPVersionRelease represents an OpenShift release image and associated metadata. The original definition is from https://github.com/openshift/api/blob/master/config/v1/types_cluster_version.go

func (*OCPVersionRelease) DeepCopy

func (in *OCPVersionRelease) DeepCopy() *OCPVersionRelease

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

func (*OCPVersionRelease) DeepCopyInto

func (in *OCPVersionRelease) DeepCopyInto(out *OCPVersionRelease)

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

func (OCPVersionRelease) SwaggerDoc

func (OCPVersionRelease) SwaggerDoc() map[string]string

type OCPVersionUpdateHistory

type OCPVersionUpdateHistory struct {
	// state reflects whether the update was fully applied. The Partial state
	// indicates the update is not fully applied, while the Completed state
	// indicates the update was successfully rolled out at least once (all
	// parts of the update successfully applied).
	State string `json:"state"`

	// version is a semantic versioning identifying the update version. If the
	// requested image does not define a version, or if a failure occurs
	// retrieving the image, this value may be empty.
	Version string `json:"version"`

	// image is a container image location that contains the update. This value
	// is always populated.
	Image string `json:"image"`

	// verified indicates whether the provided update was properly verified
	// before it was installed. If this is false the cluster may not be trusted.
	Verified bool `json:"verified"`
}

OCPVersionUpdateHistory is a single attempted update to the cluster. the original definition is from https://github.com/openshift/api/blob/master/config/v1/types_cluster_version.go

func (*OCPVersionUpdateHistory) DeepCopy

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

func (*OCPVersionUpdateHistory) DeepCopyInto

func (in *OCPVersionUpdateHistory) DeepCopyInto(out *OCPVersionUpdateHistory)

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

func (OCPVersionUpdateHistory) SwaggerDoc

func (OCPVersionUpdateHistory) SwaggerDoc() map[string]string

type ResourceList

type ResourceList map[clusterv1.ResourceName]resource.Quantity

ResourceList defines a map for the quantity of different resources, the definition matches the ResourceList defined in k8s.io/api/core/v1

func (ResourceList) DeepCopy

func (in ResourceList) DeepCopy() ResourceList

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

func (ResourceList) DeepCopyInto

func (in ResourceList) DeepCopyInto(out *ResourceList)

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