Documentation ¶
Overview ¶
Package v1alpha1 is the v1alpha1 version of the clusterregistry API.
+k8s:conversion-gen=k8s.io/cluster-registry/pkg/apis/clusterregistry +k8s:deepcopy-gen=package,register +k8s:openapi-gen=true +k8s:defaulter-gen=TypeMeta +groupName=clusterregistry.k8s.io
Index ¶
- Variables
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type AuthInfo
- type Cluster
- type ClusterCondition
- type ClusterConditionType
- type ClusterList
- type ClusterSpec
- type ClusterStatus
- type KubernetesAPIEndpoints
- type ObjectReference
- type ServerAddressByClientCIDR
Constants ¶
This section is empty.
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
var ( // Define CRDs for resources ClusterCRD = v1beta1.CustomResourceDefinition{ ObjectMeta: metav1.ObjectMeta{ Name: "clusters.clusterregistry.k8s.io", }, Spec: v1beta1.CustomResourceDefinitionSpec{ Group: "clusterregistry.k8s.io", Version: "v1alpha1", Names: v1beta1.CustomResourceDefinitionNames{ Kind: "Cluster", Plural: "clusters", }, Scope: "Namespaced", Validation: &v1beta1.CustomResourceValidation{ OpenAPIV3Schema: &v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "apiVersion": { Type: "string", }, "kind": { Type: "string", }, "metadata": { Type: "object", }, "spec": { Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "authInfo": { Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "controller": { Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "kind": { Type: "string", }, "name": { Type: "string", }, "namespace": { Type: "string", }, }, }, "user": { Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "kind": { Type: "string", }, "name": { Type: "string", }, "namespace": { Type: "string", }, }, }, }, }, "kubernetesApiEndpoints": { Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "caBundle": { Type: "array", Items: &v1beta1.JSONSchemaPropsOrArray{ Schema: &v1beta1.JSONSchemaProps{ Type: "byte", }, }, }, "serverEndpoints": { Type: "array", Items: &v1beta1.JSONSchemaPropsOrArray{ Schema: &v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "clientCIDR": { Type: "string", }, "serverAddress": { Type: "string", }, }, }, }, }, }, }, }, }, "status": { Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "conditions": { Type: "array", Items: &v1beta1.JSONSchemaPropsOrArray{ Schema: &v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "lastHeartbeatTime": { Type: "string", Format: "date-time", }, "lastTransitionTime": { Type: "string", Format: "date-time", }, "message": { Type: "string", }, "reason": { Type: "string", }, "status": { Type: "string", }, "type": { Type: "string", }, }, }, }, }, }, }, }, }, }, }, } )
var SchemeGroupVersion = schema.GroupVersion{Group: "clusterregistry.k8s.io", Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func Kind ¶ added in v0.0.5
Kind takes an unqualified kind and returns back a Group qualified GroupKind
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type AuthInfo ¶
type AuthInfo struct { // User references an object that contains implementation-specific details // about how a user should authenticate against this cluster. // +optional User *ObjectReference `json:"user,omitempty" protobuf:"bytes,1,opt,name=user"` // Controller references an object that contains implementation-specific // details about how a controller should authenticate. A simple use case for // this would be to reference a secret in another namespace that stores a // bearer token that can be used to authenticate against this cluster's API // server. Controller *ObjectReference `json:"controller,omitempty" protobuf:"bytes,2,opt,name=controller"` }
AuthInfo holds information that describes how a client can get credentials to access the cluster. For example, OAuth2 client registration endpoints and supported flows, or Kerberos server locations.
func (*AuthInfo) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthInfo.
func (*AuthInfo) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Cluster ¶
type Cluster struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata // +optional metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Spec is the specification of the cluster. This may or may not be // reconciled by an active controller. // +optional Spec ClusterSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"` // Status is the status of the cluster. // +optional Status ClusterStatus `json:"status" protobuf:"bytes,3,opt,name=status"` }
Cluster contains information about a cluster in a cluster registry. +k8s:openapi-gen=x-kubernetes-print-columns:custom-columns=NAME:.metadata.name,CIDR:.spec.kubernetesApiEndpoints.serverEndpoints[].clientCIDR,SERVER:.spec.kubernetesApiEndpoints.serverEndpoints[].serverAddress,CREATION TIME:.metadata.creationTimestamp +resource:path=clusters
func (*Cluster) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.
func (*Cluster) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Cluster) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterCondition ¶ added in v0.0.6
type ClusterCondition struct { // Type is the type of the cluster condition. Type ClusterConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=ClusterConditionType"` // Status is the status of the condition. One of True, False, Unknown. Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=ConditionStatus"` // LastHeartbeatTime is the last time this condition was updated. // +optional LastHeartbeatTime metav1.Time `json:"lastHeartbeatTime,omitempty" protobuf:"bytes,3,opt,name=lastHeartbeatTime"` // LastTransitionTime is the last time the condition changed from one status to another. // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,4,opt,name=lastTransitionTime"` // Reason is a (brief) reason for the condition's last status change. // +optional Reason string `json:"reason,omitempty" protobuf:"bytes,5,opt,name=reason"` // Message is a human-readable message indicating details about the last status change. // +optional Message string `json:"message,omitempty" protobuf:"bytes,6,opt,name=message"` }
ClusterCondition contains condition information for a cluster.
func (*ClusterCondition) DeepCopy ¶ added in v0.0.6
func (in *ClusterCondition) DeepCopy() *ClusterCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterCondition.
func (*ClusterCondition) DeepCopyInto ¶ added in v0.0.6
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 ¶ added in v0.0.6
type ClusterConditionType string
ClusterConditionType marks the kind of cluster condition being reported.
const ( // ClusterOK means that the cluster is "OK". // // Since the cluster registry does not have a standard status controller, the // meaning of this condition is defined by the environment in which the // cluster is running. It is expected to mean that the cluster is reachable by // a controller that is reporting on its status, and that the cluster is ready // to have workloads scheduled. ClusterOK ClusterConditionType = "OK" )
type ClusterList ¶
type ClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Cluster `json:"items"` }
func (*ClusterList) DeepCopy ¶
func (in *ClusterList) DeepCopy() *ClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterList.
func (*ClusterList) DeepCopyInto ¶
func (in *ClusterList) DeepCopyInto(out *ClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterList) DeepCopyObject ¶
func (in *ClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterSpec ¶
type ClusterSpec struct { // KubernetesAPIEndpoints represents the endpoints of the API server for this // cluster. // +optional KubernetesAPIEndpoints KubernetesAPIEndpoints `json:"kubernetesApiEndpoints,omitempty" protobuf:"bytes,1,opt,name=kubernetesApiEndpoints"` // AuthInfo contains public information that can be used to authenticate // to and authorize with this cluster. It is not meant to store private // information (e.g., tokens or client certificates) and cluster registry // implementations are not expected to provide hardened storage for // secrets. // +optional AuthInfo AuthInfo `json:"authInfo,omitempty" protobuf:"bytes,2,opt,name=authInfo"` }
ClusterSpec contains the specification of a cluster.
func (*ClusterSpec) DeepCopy ¶
func (in *ClusterSpec) DeepCopy() *ClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSpec.
func (*ClusterSpec) DeepCopyInto ¶
func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterStatus ¶
type ClusterStatus struct { // Conditions contains the different condition statuses for this cluster. Conditions []ClusterCondition `json:"conditions,omitempty" protobuf:"bytes,1,rep,name=conditions"` }
ClusterStatus contains the status of a cluster.
func (*ClusterStatus) DeepCopy ¶
func (in *ClusterStatus) DeepCopy() *ClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStatus.
func (*ClusterStatus) DeepCopyInto ¶
func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubernetesAPIEndpoints ¶
type KubernetesAPIEndpoints struct { // ServerEndpoints specifies the address(es) of the Kubernetes API server’s // network identity or identities. // +optional ServerEndpoints []ServerAddressByClientCIDR `json:"serverEndpoints,omitempty" protobuf:"bytes,1,rep,name=serverEndpoints"` // CABundle contains the certificate authority information. // +optional CABundle []byte `json:"caBundle,omitempty" protobuf:"bytes,2,opt,name=caBundle"` }
KubernetesAPIEndpoints represents the endpoints for one and only one Kubernetes API server.
func (*KubernetesAPIEndpoints) DeepCopy ¶
func (in *KubernetesAPIEndpoints) DeepCopy() *KubernetesAPIEndpoints
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesAPIEndpoints.
func (*KubernetesAPIEndpoints) DeepCopyInto ¶
func (in *KubernetesAPIEndpoints) DeepCopyInto(out *KubernetesAPIEndpoints)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectReference ¶ added in v0.0.6
type ObjectReference struct { // Kind contains the kind of the referent, e.g., Secret or ConfigMap // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds // +optional Kind string `json:"kind,omitempty" protobuf:"bytes,1,opt,name=kind"` // Name contains the name of the referent. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names // +optional Name string `json:"name,omitempty" protobuf:"bytes,2,opt,name=name"` // Namespace contains the namespace of the referent. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ // +optional Namespace string `json:"namespace,omitempty" protobuf:"bytes,3,opt,name=namespace"` }
ObjectReference contains enough information to let you inspect or modify the referred object.
func (*ObjectReference) DeepCopy ¶ added in v0.0.6
func (in *ObjectReference) DeepCopy() *ObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectReference.
func (*ObjectReference) DeepCopyInto ¶ added in v0.0.6
func (in *ObjectReference) DeepCopyInto(out *ObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerAddressByClientCIDR ¶
type ServerAddressByClientCIDR struct { // The CIDR with which clients can match their IP to figure out if they should // use the corresponding server address. // +optional ClientCIDR string `json:"clientCIDR,omitempty" protobuf:"bytes,1,opt,name=clientCIDR"` // Address of this server, suitable for a client that matches the above CIDR. // This can be a hostname, hostname:port, IP or IP:port. // +optional ServerAddress string `json:"serverAddress,omitempty" protobuf:"bytes,2,opt,name=serverAddress"` }
ServerAddressByClientCIDR helps clients determine the server address that they should use, depending on the ClientCIDR that they match.
func (*ServerAddressByClientCIDR) DeepCopy ¶
func (in *ServerAddressByClientCIDR) DeepCopy() *ServerAddressByClientCIDR
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerAddressByClientCIDR.
func (*ServerAddressByClientCIDR) DeepCopyInto ¶
func (in *ServerAddressByClientCIDR) DeepCopyInto(out *ServerAddressByClientCIDR)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.