Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the clusterregistry v1alpha1 API group +kubebuilder:object:generate=true +groupName=clusterregistry.k8s.cisco.com
Index ¶
- Constants
- Variables
- type AnnotationMutations
- type AnnotationSelector
- type AnnotationSelectorOperator
- type AnnotationSelectorRequirement
- type AnnotationValue
- type AuthInfo
- type Cluster
- type ClusterCondition
- type ClusterConditionType
- type ClusterList
- type ClusterMetadata
- type ClusterSpec
- type ClusterState
- type ClusterStatus
- type ClusterType
- type ContentSelector
- type LabelMutations
- type Locality
- type MatchedRules
- func (in MatchedRules) DeepCopy() MatchedRules
- func (in MatchedRules) DeepCopyInto(out *MatchedRules)
- func (r MatchedRules) GetMutatedGVK(gvk schema.GroupVersionKind) (bool, schema.GroupVersionKind)
- func (r MatchedRules) GetMutationAnnotations() AnnotationMutations
- func (r MatchedRules) GetMutationLabels() LabelMutations
- func (r MatchedRules) GetMutationOverrides() []resources.K8SResourceOverlayPatch
- func (r MatchedRules) GetMutationSyncStatus() bool
- type Mutations
- type NamespacedName
- type ResourceSyncRule
- type ResourceSyncRuleList
- type ResourceSyncRuleSpec
- type ResourceSyncRuleStatus
- type SyncRule
- type SyncRuleMatch
Constants ¶
const ( SecretTypeClusterRegistry corev1.SecretType = "k8s.cisco.com/cluster-registry-secret" KubeconfigKey = "kubeconfig" )
const ( OwnershipAnnotation = "cluster-registry.k8s.cisco.com/resource-owner-cluster-id" OriginalGVKAnnotation = "cluster-registry.k8s.cisco.com/original-group-version-kind" ClusterDisabledAnnotation = "cluster-registry.k8s.cisco.com/cluster-disabled" SyncDisabledAnnotation = "cluster-registry.k8s.cisco.com/resource-sync-disabled" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "clusterregistry.k8s.cisco.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type AnnotationMutations ¶
type AnnotationMutations struct { Add map[string]string `json:"add,omitempty"` Remove []string `json:"remove,omitempty"` }
func (*AnnotationMutations) DeepCopy ¶
func (in *AnnotationMutations) DeepCopy() *AnnotationMutations
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnnotationMutations.
func (*AnnotationMutations) DeepCopyInto ¶
func (in *AnnotationMutations) DeepCopyInto(out *AnnotationMutations)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AnnotationSelector ¶
type AnnotationSelector struct { MatchAnnotations map[string]string `json:"matchAnnotations,omitempty"` MatchExpressions []AnnotationSelectorRequirement `json:"matchExpressions,omitempty"` }
func (*AnnotationSelector) DeepCopy ¶
func (in *AnnotationSelector) DeepCopy() *AnnotationSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnnotationSelector.
func (*AnnotationSelector) DeepCopyInto ¶
func (in *AnnotationSelector) DeepCopyInto(out *AnnotationSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AnnotationSelectorOperator ¶
type AnnotationSelectorOperator string
An annotation selector operator is the set of operators that can be used in a selector requirement.
const ( AnnotationSelectorOpExists AnnotationSelectorOperator = "Exists" AnnotationSelectorOpDoesNotExist AnnotationSelectorOperator = "DoesNotExist" )
type AnnotationSelectorRequirement ¶
type AnnotationSelectorRequirement struct { // key is the label key that the selector applies to. // +patchMergeKey=key // +patchStrategy=merge Key string `json:"key" patchStrategy:"merge" patchMergeKey:"key" protobuf:"bytes,1,opt,name=key"` // operator represents a key's relationship to a set of values. // Valid operators are In, NotIn, Exists and DoesNotExist. Operator metav1.LabelSelectorOperator `json:"operator" protobuf:"bytes,2,opt,name=operator,casttype=LabelSelectorOperator"` // values is an array of string values. If the operator is In or NotIn, // the values array must be non-empty. If the operator is Exists or DoesNotExist, // the values array must be empty. This array is replaced during a strategic // merge patch. // +optional Values []AnnotationValue `json:"values,omitempty" protobuf:"bytes,3,rep,name=values"` }
A annotation selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
func (*AnnotationSelectorRequirement) DeepCopy ¶
func (in *AnnotationSelectorRequirement) DeepCopy() *AnnotationSelectorRequirement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnnotationSelectorRequirement.
func (*AnnotationSelectorRequirement) DeepCopyInto ¶
func (in *AnnotationSelectorRequirement) DeepCopyInto(out *AnnotationSelectorRequirement)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AnnotationValue ¶
type AnnotationValue string
+kubebuilder:validation:Pattern=`^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$`
type AuthInfo ¶
type AuthInfo struct {
SecretRef NamespacedName `json:"secretRef,omitempty"`
}
AuthInfo holds information that describes how a client can get credentials to access the cluster.
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"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ClusterSpec `json:"spec,omitempty"` Status ClusterStatus `json:"status,omitempty"` }
Cluster is the Schema for the clusters API +kubebuilder:subresource:status +kubebuilder:resource:path=clusters,scope=Cluster +kubebuilder:printcolumn:name="ID",type="string",JSONPath=".spec.clusterID",priority=1 +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.state" +kubebuilder:printcolumn:name="Type",type="string",JSONPath=".status.type" +kubebuilder:printcolumn:name="Synced",type="string",JSONPath=".status.conditions[?(@.type==\"ClustersSynced\")].status" +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".status.version",priority=1 +kubebuilder:printcolumn:name="Provider",type="string",JSONPath=".status.provider",priority=1 +kubebuilder:printcolumn:name="Distribution",type="string",JSONPath=".status.distribution",priority=1 +kubebuilder:printcolumn:name="Region",type="string",JSONPath=".status.locality.region",priority=1 +kubebuilder:printcolumn:name="Status Message",type="string",JSONPath=".status.message",priority=1 +kubebuilder:printcolumn:name="Sync Message",type="string",JSONPath=".status.conditions[?(@.type==\"ClustersSynced\")].message",priority=1
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 ¶
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 corev1.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"` // Internally used flag to mark whether a true status should be handled as a failure TrueIsFailure bool `json:"-"` }
ClusterCondition contains condition information for a cluster.
func (*ClusterCondition) DeepCopy ¶
func (in *ClusterCondition) DeepCopy() *ClusterCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterCondition.
func (*ClusterCondition) DeepCopyInto ¶
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 ¶
type ClusterConditionType string
ClusterConditionType marks the kind of cluster condition being reported.
const ( ClusterConditionTypeLocalCluster ClusterConditionType = "LocalCluster" ClusterConditionTypeLocalConflict ClusterConditionType = "LocalConflict" ClusterConditionTypeClusterMetadata ClusterConditionType = "ClusterMetadataSet" ClusterConditionTypeReady ClusterConditionType = "Ready" ClusterConditionTypeClustersSynced ClusterConditionType = "ClustersSynced" )
type ClusterList ¶
type ClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Cluster `json:"items"` }
ClusterList contains a list of Cluster
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 ClusterMetadata ¶
type ClusterMetadata struct { Provider string `json:"provider,omitempty"` Distribution string `json:"distribution,omitempty"` KubeProxyVersions []string `json:"kubeProxyVersions,omitempty"` KubeletVersions []string `json:"kubeletVersions,omitempty"` Version string `json:"version,omitempty"` Locality *Locality `json:"locality,omitempty"` }
+k8s:deepcopy-gen=true
func (*ClusterMetadata) DeepCopy ¶
func (in *ClusterMetadata) DeepCopy() *ClusterMetadata
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterMetadata.
func (*ClusterMetadata) DeepCopyInto ¶
func (in *ClusterMetadata) DeepCopyInto(out *ClusterMetadata)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterSpec ¶
type ClusterSpec struct { // UID of the kube-system namespace ClusterID types.UID `json:"clusterID"` AuthInfo AuthInfo `json:"authInfo,omitempty"` }
ClusterSpec defines the desired state of 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 ClusterState ¶
type ClusterState string
const ( ClusterStateReady ClusterState = "Ready" ClusterStateFailed ClusterState = "Failed" ClusterStateDisabled ClusterState = "Disabled" ClusterStateMissingAuthInfo ClusterState = "MissingAuthInfo" ClusterStateInvalidAuthInfo ClusterState = "InvalidAuthInfo" )
type ClusterStatus ¶
type ClusterStatus struct { State ClusterState `json:"state,omitempty"` Message string `json:"message,omitempty"` Type ClusterType `json:"type,omitempty"` Leader bool `json:"leader,omitempty"` // Metadata ClusterMetadata `json:",inline"` // Conditions contains the different condition statuses for this cluster. Conditions []ClusterCondition `json:"conditions,omitempty"` }
ClusterStatus defines the observed state of 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.
func (ClusterStatus) Reset ¶
func (s ClusterStatus) Reset() ClusterStatus
type ClusterType ¶
type ClusterType string
const ( ClusterTypeLocal ClusterType = "Local" ClusterTypePeer ClusterType = "Peer" )
type ContentSelector ¶
type ContentSelector struct { Key string `json:"key"` Value intstr.IntOrString `json:"value"` }
func (*ContentSelector) DeepCopy ¶
func (in *ContentSelector) DeepCopy() *ContentSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContentSelector.
func (*ContentSelector) DeepCopyInto ¶
func (in *ContentSelector) DeepCopyInto(out *ContentSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LabelMutations ¶
type LabelMutations struct { Add map[string]string `json:"add,omitempty"` Remove []string `json:"remove,omitempty"` }
func (*LabelMutations) DeepCopy ¶
func (in *LabelMutations) DeepCopy() *LabelMutations
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LabelMutations.
func (*LabelMutations) DeepCopyInto ¶
func (in *LabelMutations) DeepCopyInto(out *LabelMutations)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Locality ¶
type Locality struct { Region string `json:"region,omitempty"` Regions []string `json:"regions,omitempty"` Zones []string `json:"zones,omitempty"` }
+k8s:deepcopy-gen=true
func (*Locality) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Locality.
func (*Locality) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MatchedRules ¶
type MatchedRules []SyncRule
func (MatchedRules) DeepCopy ¶
func (in MatchedRules) DeepCopy() MatchedRules
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchedRules.
func (MatchedRules) DeepCopyInto ¶
func (in MatchedRules) DeepCopyInto(out *MatchedRules)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MatchedRules) GetMutatedGVK ¶
func (r MatchedRules) GetMutatedGVK(gvk schema.GroupVersionKind) (bool, schema.GroupVersionKind)
func (MatchedRules) GetMutationAnnotations ¶
func (r MatchedRules) GetMutationAnnotations() AnnotationMutations
func (MatchedRules) GetMutationLabels ¶
func (r MatchedRules) GetMutationLabels() LabelMutations
func (MatchedRules) GetMutationOverrides ¶
func (r MatchedRules) GetMutationOverrides() []resources.K8SResourceOverlayPatch
func (MatchedRules) GetMutationSyncStatus ¶
func (r MatchedRules) GetMutationSyncStatus() bool
type Mutations ¶
type Mutations struct { Annotations AnnotationMutations `json:"annotations,omitempty"` GVK resources.GroupVersionKind `json:"groupVersionKind,omitempty"` Labels LabelMutations `json:"labels,omitempty"` Overrides []resources.K8SResourceOverlayPatch `json:"overrides,omitempty"` SyncStatus bool `json:"syncStatus,omitempty"` }
func (*Mutations) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Mutations.
func (*Mutations) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamespacedName ¶
type NamespacedName struct { Name string `json:"name,omitempty"` Namespace string `json:"namespace,omitempty"` }
Equivalent of types.NamespacedName with JSON tags
func (*NamespacedName) DeepCopy ¶
func (in *NamespacedName) DeepCopy() *NamespacedName
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedName.
func (*NamespacedName) DeepCopyInto ¶
func (in *NamespacedName) DeepCopyInto(out *NamespacedName)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceSyncRule ¶
type ResourceSyncRule struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ResourceSyncRuleSpec `json:"spec,omitempty"` Status ResourceSyncRuleStatus `json:"status,omitempty"` }
ResourceSyncRule is the Schema for the resource sync rule API +kubebuilder:subresource:status +kubebuilder:resource:path=resourcesyncrules,scope=Cluster
func (*ResourceSyncRule) DeepCopy ¶
func (in *ResourceSyncRule) DeepCopy() *ResourceSyncRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSyncRule.
func (*ResourceSyncRule) DeepCopyInto ¶
func (in *ResourceSyncRule) DeepCopyInto(out *ResourceSyncRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ResourceSyncRule) DeepCopyObject ¶
func (in *ResourceSyncRule) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ResourceSyncRule) Match ¶
func (s *ResourceSyncRule) Match(obj runtime.Object) (bool, MatchedRules, error)
type ResourceSyncRuleList ¶
type ResourceSyncRuleList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ResourceSyncRule `json:"items"` }
ClusterList contains a list of Cluster
func (*ResourceSyncRuleList) DeepCopy ¶
func (in *ResourceSyncRuleList) DeepCopy() *ResourceSyncRuleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSyncRuleList.
func (*ResourceSyncRuleList) DeepCopyInto ¶
func (in *ResourceSyncRuleList) DeepCopyInto(out *ResourceSyncRuleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ResourceSyncRuleList) DeepCopyObject ¶
func (in *ResourceSyncRuleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ResourceSyncRuleSpec ¶
type ResourceSyncRuleSpec struct { GVK resources.GroupVersionKind `json:"groupVersionKind"` Rules []SyncRule `json:"rules"` }
func (*ResourceSyncRuleSpec) DeepCopy ¶
func (in *ResourceSyncRuleSpec) DeepCopy() *ResourceSyncRuleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSyncRuleSpec.
func (*ResourceSyncRuleSpec) DeepCopyInto ¶
func (in *ResourceSyncRuleSpec) DeepCopyInto(out *ResourceSyncRuleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ResourceSyncRuleSpec) Match ¶
func (r ResourceSyncRuleSpec) Match(obj runtime.Object) (bool, MatchedRules, error)
type ResourceSyncRuleStatus ¶
type ResourceSyncRuleStatus struct{}
func (*ResourceSyncRuleStatus) DeepCopy ¶
func (in *ResourceSyncRuleStatus) DeepCopy() *ResourceSyncRuleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSyncRuleStatus.
func (*ResourceSyncRuleStatus) DeepCopyInto ¶
func (in *ResourceSyncRuleStatus) DeepCopyInto(out *ResourceSyncRuleStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SyncRule ¶
type SyncRule struct { Matches []SyncRuleMatch `json:"match,omitempty"` Mutations Mutations `json:"mutations,omitempty"` }
func (*SyncRule) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncRule.
func (*SyncRule) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SyncRuleMatch ¶
type SyncRuleMatch struct { Annotations []AnnotationSelector `json:"annotations,omitempty"` Content []ContentSelector `json:"content,omitempty"` Labels []metav1.LabelSelector `json:"labels,omitempty"` Namespaces []string `json:"namespaces"` ObjectKey types.ObjectKey `json:"objectKey,omitempty"` }
func (*SyncRuleMatch) DeepCopy ¶
func (in *SyncRuleMatch) DeepCopy() *SyncRuleMatch
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncRuleMatch.
func (*SyncRuleMatch) DeepCopyInto ¶
func (in *SyncRuleMatch) DeepCopyInto(out *SyncRuleMatch)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.