Documentation ¶
Overview ¶
+k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/kubernetes-sigs/federation-v2/pkg/apis/core +k8s:defaulter-gen=TypeMeta +groupName=core.federation.k8s.io
Copyright 2018 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
- Variables
- func Kind(kind string) schema.GroupKind
- func PluralName(kind string) string
- func Resource(resource string) schema.GroupResource
- func SetFederatedTypeConfigDefaults(obj *FederatedTypeConfig)
- type APIResource
- type ClusterCondition
- type ClusterObjectVersion
- type ClusterPropagatedVersion
- type ClusterPropagatedVersionList
- type ClusterPropagatedVersionSpec
- type ControllerStatus
- type FederatedCluster
- type FederatedClusterList
- type FederatedClusterSpec
- type FederatedClusterStatus
- type FederatedServiceClusterStatus
- type FederatedServiceStatus
- type FederatedServiceStatusList
- type FederatedTypeConfig
- func (in *FederatedTypeConfig) DeepCopy() *FederatedTypeConfig
- func (in *FederatedTypeConfig) DeepCopyInto(out *FederatedTypeConfig)
- func (in *FederatedTypeConfig) DeepCopyObject() runtime.Object
- func (f *FederatedTypeConfig) GetComparisonField() common.VersionComparisonField
- func (f *FederatedTypeConfig) GetEnableStatus() bool
- func (f *FederatedTypeConfig) GetFederatedKind() string
- func (f *FederatedTypeConfig) GetFederatedNamespaced() bool
- func (f *FederatedTypeConfig) GetNamespaced() bool
- func (f *FederatedTypeConfig) GetObjectMeta() metav1.ObjectMeta
- func (f *FederatedTypeConfig) GetOverride() metav1.APIResource
- func (f *FederatedTypeConfig) GetPlacement() metav1.APIResource
- func (f *FederatedTypeConfig) GetPropagationEnabled() bool
- func (f *FederatedTypeConfig) GetStatus() *metav1.APIResource
- func (f *FederatedTypeConfig) GetTarget() metav1.APIResource
- func (f *FederatedTypeConfig) GetTemplate() metav1.APIResource
- type FederatedTypeConfigList
- type FederatedTypeConfigSpec
- type FederatedTypeConfigStatus
- type PropagatedVersion
- type PropagatedVersionList
- type PropagatedVersionSpec
- type PropagatedVersionStatus
Constants ¶
This section is empty.
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
var ( // Define CRDs for resources ClusterPropagatedVersionCRD = v1beta1.CustomResourceDefinition{ ObjectMeta: metav1.ObjectMeta{ Name: "clusterpropagatedversions.core.federation.k8s.io", }, Spec: v1beta1.CustomResourceDefinitionSpec{ Group: "core.federation.k8s.io", Version: "v1alpha1", Names: v1beta1.CustomResourceDefinitionNames{ Kind: "ClusterPropagatedVersion", Plural: "clusterpropagatedversions", }, Scope: "Cluster", Validation: &v1beta1.CustomResourceValidation{ OpenAPIV3Schema: &v1beta1.JSONSchemaProps{ Properties: map[string]v1beta1.JSONSchemaProps{ "apiVersion": v1beta1.JSONSchemaProps{ Type: "string", }, "kind": v1beta1.JSONSchemaProps{ Type: "string", }, "metadata": v1beta1.JSONSchemaProps{ Type: "object", }, "spec": v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{}, }, "status": v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "clusterVersions": v1beta1.JSONSchemaProps{ Type: "array", Items: &v1beta1.JSONSchemaPropsOrArray{ Schema: &v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "clusterName": v1beta1.JSONSchemaProps{ Type: "string", }, "version": v1beta1.JSONSchemaProps{ Type: "string", }, }, }, }, }, "overridesVersion": v1beta1.JSONSchemaProps{ Type: "string", }, "templateVersion": v1beta1.JSONSchemaProps{ Type: "string", }, }, }, }, }, }, Subresources: &v1beta1.CustomResourceSubresources{ Status: &v1beta1.CustomResourceSubresourceStatus{}, }, }, } // Define CRDs for resources FederatedClusterCRD = v1beta1.CustomResourceDefinition{ ObjectMeta: metav1.ObjectMeta{ Name: "federatedclusters.core.federation.k8s.io", }, Spec: v1beta1.CustomResourceDefinitionSpec{ Group: "core.federation.k8s.io", Version: "v1alpha1", Names: v1beta1.CustomResourceDefinitionNames{ Kind: "FederatedCluster", Plural: "federatedclusters", }, Scope: "Namespaced", Validation: &v1beta1.CustomResourceValidation{ OpenAPIV3Schema: &v1beta1.JSONSchemaProps{ Properties: map[string]v1beta1.JSONSchemaProps{ "apiVersion": v1beta1.JSONSchemaProps{ Type: "string", }, "kind": v1beta1.JSONSchemaProps{ Type: "string", }, "metadata": v1beta1.JSONSchemaProps{ Type: "object", }, "spec": v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "clusterRef": v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{}, }, "secretRef": v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{}, }, }, }, "status": v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "conditions": v1beta1.JSONSchemaProps{ Type: "array", Items: &v1beta1.JSONSchemaPropsOrArray{ Schema: &v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "lastProbeTime": v1beta1.JSONSchemaProps{ Type: "string", Format: "date-time", }, "lastTransitionTime": v1beta1.JSONSchemaProps{ Type: "string", Format: "date-time", }, "message": v1beta1.JSONSchemaProps{ Type: "string", }, "reason": v1beta1.JSONSchemaProps{ Type: "string", }, "status": v1beta1.JSONSchemaProps{ Type: "string", }, "type": v1beta1.JSONSchemaProps{ Type: "string", }, }, Required: []string{ "type", "status", }}, }, }, "region": v1beta1.JSONSchemaProps{ Type: "string", }, "zone": v1beta1.JSONSchemaProps{ Type: "string", }, }, }, }, }, }, Subresources: &v1beta1.CustomResourceSubresources{ Status: &v1beta1.CustomResourceSubresourceStatus{}, }, }, } // Define CRDs for resources FederatedServiceStatusCRD = v1beta1.CustomResourceDefinition{ ObjectMeta: metav1.ObjectMeta{ Name: "federatedservicestatuses.core.federation.k8s.io", }, Spec: v1beta1.CustomResourceDefinitionSpec{ Group: "core.federation.k8s.io", Version: "v1alpha1", Names: v1beta1.CustomResourceDefinitionNames{ Kind: "FederatedServiceStatus", Plural: "federatedservicestatuses", }, Scope: "Namespaced", Validation: &v1beta1.CustomResourceValidation{ OpenAPIV3Schema: &v1beta1.JSONSchemaProps{ Properties: map[string]v1beta1.JSONSchemaProps{ "apiVersion": v1beta1.JSONSchemaProps{ Type: "string", }, "clusterStatus": v1beta1.JSONSchemaProps{ Type: "array", Items: &v1beta1.JSONSchemaPropsOrArray{ Schema: &v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "clusterName": v1beta1.JSONSchemaProps{ Type: "string", }, "status": v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{}, }, }, }, }, }, "kind": v1beta1.JSONSchemaProps{ Type: "string", }, "metadata": v1beta1.JSONSchemaProps{ Type: "object", }, }, }, }, }, } // Define CRDs for resources FederatedTypeConfigCRD = v1beta1.CustomResourceDefinition{ ObjectMeta: metav1.ObjectMeta{ Name: "federatedtypeconfigs.core.federation.k8s.io", }, Spec: v1beta1.CustomResourceDefinitionSpec{ Group: "core.federation.k8s.io", Version: "v1alpha1", Names: v1beta1.CustomResourceDefinitionNames{ Kind: "FederatedTypeConfig", Plural: "federatedtypeconfigs", }, Scope: "Namespaced", Validation: &v1beta1.CustomResourceValidation{ OpenAPIV3Schema: &v1beta1.JSONSchemaProps{ Properties: map[string]v1beta1.JSONSchemaProps{ "apiVersion": v1beta1.JSONSchemaProps{ Type: "string", }, "kind": v1beta1.JSONSchemaProps{ Type: "string", }, "metadata": v1beta1.JSONSchemaProps{ Type: "object", }, "spec": v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "comparisonField": v1beta1.JSONSchemaProps{ Type: "string", }, "enableStatus": v1beta1.JSONSchemaProps{ Type: "boolean", }, "namespaced": v1beta1.JSONSchemaProps{ Type: "boolean", }, "override": v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "group": v1beta1.JSONSchemaProps{ Type: "string", }, "kind": v1beta1.JSONSchemaProps{ Type: "string", }, "pluralName": v1beta1.JSONSchemaProps{ Type: "string", }, "version": v1beta1.JSONSchemaProps{ Type: "string", }, }, Required: []string{ "kind", }}, "placement": v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "group": v1beta1.JSONSchemaProps{ Type: "string", }, "kind": v1beta1.JSONSchemaProps{ Type: "string", }, "pluralName": v1beta1.JSONSchemaProps{ Type: "string", }, "version": v1beta1.JSONSchemaProps{ Type: "string", }, }, Required: []string{ "kind", }}, "propagationEnabled": v1beta1.JSONSchemaProps{ Type: "boolean", }, "status": v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "group": v1beta1.JSONSchemaProps{ Type: "string", }, "kind": v1beta1.JSONSchemaProps{ Type: "string", }, "pluralName": v1beta1.JSONSchemaProps{ Type: "string", }, "version": v1beta1.JSONSchemaProps{ Type: "string", }, }, Required: []string{ "kind", }}, "target": v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "group": v1beta1.JSONSchemaProps{ Type: "string", }, "kind": v1beta1.JSONSchemaProps{ Type: "string", }, "pluralName": v1beta1.JSONSchemaProps{ Type: "string", }, "version": v1beta1.JSONSchemaProps{ Type: "string", }, }, Required: []string{ "kind", }}, "template": v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "group": v1beta1.JSONSchemaProps{ Type: "string", }, "kind": v1beta1.JSONSchemaProps{ Type: "string", }, "pluralName": v1beta1.JSONSchemaProps{ Type: "string", }, "version": v1beta1.JSONSchemaProps{ Type: "string", }, }, Required: []string{ "kind", }}, }, Required: []string{ "target", "namespaced", "comparisonField", "propagationEnabled", "template", "placement", "override", }}, "status": v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "observedGeneration": v1beta1.JSONSchemaProps{ Type: "integer", Format: "int64", }, "propagationController": v1beta1.JSONSchemaProps{ Type: "string", }, "statusController": v1beta1.JSONSchemaProps{ Type: "string", }, }, }, }, }, }, Subresources: &v1beta1.CustomResourceSubresources{ Status: &v1beta1.CustomResourceSubresourceStatus{}, }, }, } // Define CRDs for resources PropagatedVersionCRD = v1beta1.CustomResourceDefinition{ ObjectMeta: metav1.ObjectMeta{ Name: "propagatedversions.core.federation.k8s.io", }, Spec: v1beta1.CustomResourceDefinitionSpec{ Group: "core.federation.k8s.io", Version: "v1alpha1", Names: v1beta1.CustomResourceDefinitionNames{ Kind: "PropagatedVersion", Plural: "propagatedversions", }, Scope: "Namespaced", Validation: &v1beta1.CustomResourceValidation{ OpenAPIV3Schema: &v1beta1.JSONSchemaProps{ Properties: map[string]v1beta1.JSONSchemaProps{ "apiVersion": v1beta1.JSONSchemaProps{ Type: "string", }, "kind": v1beta1.JSONSchemaProps{ Type: "string", }, "metadata": v1beta1.JSONSchemaProps{ Type: "object", }, "spec": v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{}, }, "status": v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "clusterVersions": v1beta1.JSONSchemaProps{ Type: "array", Items: &v1beta1.JSONSchemaPropsOrArray{ Schema: &v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "clusterName": v1beta1.JSONSchemaProps{ Type: "string", }, "version": v1beta1.JSONSchemaProps{ Type: "string", }, }, }, }, }, "overridesVersion": v1beta1.JSONSchemaProps{ Type: "string", }, "templateVersion": v1beta1.JSONSchemaProps{ Type: "string", }, }, }, }, }, }, Subresources: &v1beta1.CustomResourceSubresources{ Status: &v1beta1.CustomResourceSubresourceStatus{}, }, }, } )
var SchemeGroupVersion = schema.GroupVersion{Group: "core.federation.k8s.io", Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func PluralName ¶ added in v0.0.2
PluralName computes the plural name from the kind by lowercasing and suffixing with 's' or `es`.
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
func SetFederatedTypeConfigDefaults ¶
func SetFederatedTypeConfigDefaults(obj *FederatedTypeConfig)
Types ¶
type APIResource ¶
type APIResource struct { // Group of the resource. Group string `json:"group,omitempty"` // Version of the resource. Version string `json:"version,omitempty"` // Camel-cased singular name of the resource (e.g. ConfigMap) Kind string `json:"kind"` // Lower-cased plural name of the resource (e.g. configmaps). If // not provided, it will be computed by lower-casing the kind and // suffixing an 's'. PluralName string `json:"pluralName,omitempty"` }
APIResource defines how to configure the dynamic client for an API resource.
func (*APIResource) DeepCopy ¶
func (in *APIResource) DeepCopy() *APIResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIResource.
func (*APIResource) DeepCopyInto ¶
func (in *APIResource) DeepCopyInto(out *APIResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterCondition ¶
type ClusterCondition struct { // Type of cluster condition, Ready or Offline. Type common.ClusterConditionType `json:"type"` // Status of the condition, one of True, False, Unknown. Status apiv1.ConditionStatus `json:"status"` // Last time the condition was checked. // +optional LastProbeTime metav1.Time `json:"lastProbeTime,omitempty"` // Last time the condition transit from one status to another. // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` // (brief) reason for the condition's last transition. // +optional Reason string `json:"reason,omitempty"` // Human readable message indicating details about last transition. // +optional Message string `json:"message,omitempty"` }
ClusterCondition describes current state of 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 ClusterObjectVersion ¶
type ClusterObjectVersion struct { // The name of the cluster the version is for. ClusterName string `json:"clusterName,omitempty"` // The last version produced for the resource by a federation // operation. Version string `json:"version,omitempty"` }
func (*ClusterObjectVersion) DeepCopy ¶
func (in *ClusterObjectVersion) DeepCopy() *ClusterObjectVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterObjectVersion.
func (*ClusterObjectVersion) DeepCopyInto ¶
func (in *ClusterObjectVersion) DeepCopyInto(out *ClusterObjectVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterPropagatedVersion ¶ added in v0.0.3
type ClusterPropagatedVersion struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ClusterPropagatedVersionSpec `json:"spec,omitempty"` Status PropagatedVersionStatus `json:"status,omitempty"` }
ClusterPropagatedVersion holds version information about the state propagated from cluster-scoped federation APIs configured by FederatedTypeConfig to target clusters. The name of a ClusterPropagatedVersion encodes the kind and name of the resource it stores information for. The type of version information stored in ClusterPropagatedVersion will be the metadata.resourceVersion or metadata.Generation of the resource depending on the value of spec.comparisonField in the FederatedTypeConfig associated with the resource.
+k8s:openapi-gen=true +kubebuilder:resource:path=clusterpropagatedversions +kubebuilder:subresource:status
func (*ClusterPropagatedVersion) DeepCopy ¶ added in v0.0.3
func (in *ClusterPropagatedVersion) DeepCopy() *ClusterPropagatedVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPropagatedVersion.
func (*ClusterPropagatedVersion) DeepCopyInto ¶ added in v0.0.3
func (in *ClusterPropagatedVersion) DeepCopyInto(out *ClusterPropagatedVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterPropagatedVersion) DeepCopyObject ¶ added in v0.0.3
func (in *ClusterPropagatedVersion) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterPropagatedVersionList ¶ added in v0.0.3
type ClusterPropagatedVersionList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ClusterPropagatedVersion `json:"items"` }
func (*ClusterPropagatedVersionList) DeepCopy ¶ added in v0.0.3
func (in *ClusterPropagatedVersionList) DeepCopy() *ClusterPropagatedVersionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPropagatedVersionList.
func (*ClusterPropagatedVersionList) DeepCopyInto ¶ added in v0.0.3
func (in *ClusterPropagatedVersionList) DeepCopyInto(out *ClusterPropagatedVersionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterPropagatedVersionList) DeepCopyObject ¶ added in v0.0.3
func (in *ClusterPropagatedVersionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterPropagatedVersionSpec ¶ added in v0.0.3
type ClusterPropagatedVersionSpec struct { }
ClusterPropagatedVersionSpec defines the desired state of ClusterPropagatedVersion
func (*ClusterPropagatedVersionSpec) DeepCopy ¶ added in v0.0.3
func (in *ClusterPropagatedVersionSpec) DeepCopy() *ClusterPropagatedVersionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPropagatedVersionSpec.
func (*ClusterPropagatedVersionSpec) DeepCopyInto ¶ added in v0.0.3
func (in *ClusterPropagatedVersionSpec) DeepCopyInto(out *ClusterPropagatedVersionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControllerStatus ¶ added in v0.0.4
type ControllerStatus string
ControllerStatus defines the current state of the controller
const ( // ControllerStatusRunning means controller is in "running" state ControllerStatusRunning ControllerStatus = "Running" // ControllerStatusNotRunning means controller is in "notrunning" state ControllerStatusNotRunning ControllerStatus = "NotRunning" )
type FederatedCluster ¶
type FederatedCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec FederatedClusterSpec `json:"spec,omitempty"` Status FederatedClusterStatus `json:"status,omitempty"` }
FederatedCluster configures federation to be aware of a Kubernetes cluster from the cluster-registry and provides a Kubeconfig for federation to use to communicate with the cluster.
+k8s:openapi-gen=true +kubebuilder:resource:path=federatedclusters +kubebuilder:subresource:status
func (*FederatedCluster) DeepCopy ¶
func (in *FederatedCluster) DeepCopy() *FederatedCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FederatedCluster.
func (*FederatedCluster) DeepCopyInto ¶
func (in *FederatedCluster) DeepCopyInto(out *FederatedCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FederatedCluster) DeepCopyObject ¶
func (in *FederatedCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FederatedClusterList ¶
type FederatedClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []FederatedCluster `json:"items"` }
func (*FederatedClusterList) DeepCopy ¶
func (in *FederatedClusterList) DeepCopy() *FederatedClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FederatedClusterList.
func (*FederatedClusterList) DeepCopyInto ¶
func (in *FederatedClusterList) DeepCopyInto(out *FederatedClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FederatedClusterList) DeepCopyObject ¶
func (in *FederatedClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FederatedClusterSpec ¶
type FederatedClusterSpec struct { // Name of the cluster registry Cluster resource from which to source api // endpoints. // TODO(marun) should this go away in favor of a 1:1 mapping? ClusterRef apiv1.LocalObjectReference `json:"clusterRef,omitempty"` // Name of the secret containing kubeconfig to access the referenced cluster. // // Admin needs to ensure that the required secret exists. Secret // should be in the same namespace where federation control plane // is hosted and it should have kubeconfig in its data with key // "kubeconfig". // // This will later be changed to a reference to secret in // federation control plane when the federation control plane // supports secrets. // // This can be left empty if the cluster allows insecure access. // +optional SecretRef *apiv1.LocalObjectReference `json:"secretRef,omitempty"` }
FederatedClusterSpec defines the desired state of FederatedCluster
func (*FederatedClusterSpec) DeepCopy ¶
func (in *FederatedClusterSpec) DeepCopy() *FederatedClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FederatedClusterSpec.
func (*FederatedClusterSpec) DeepCopyInto ¶
func (in *FederatedClusterSpec) DeepCopyInto(out *FederatedClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FederatedClusterStatus ¶
type FederatedClusterStatus struct { // Conditions is an array of current cluster conditions. // +optional Conditions []ClusterCondition `json:"conditions,omitempty"` // Zone is the name of availability zone in which the nodes of the cluster exist, e.g. 'us-east1-a'. // +optional Zone string `json:"zone,omitempty"` // Region is the name of the region in which all of the nodes in the cluster exist. e.g. 'us-east1'. // +optional Region string `json:"region,omitempty"` }
FederatedClusterStatus contains information about the current status of a cluster updated periodically by cluster controller.
func (*FederatedClusterStatus) DeepCopy ¶
func (in *FederatedClusterStatus) DeepCopy() *FederatedClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FederatedClusterStatus.
func (*FederatedClusterStatus) DeepCopyInto ¶
func (in *FederatedClusterStatus) DeepCopyInto(out *FederatedClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FederatedServiceClusterStatus ¶ added in v0.0.3
type FederatedServiceClusterStatus struct { ClusterName string `json:"clusterName,omitempty"` Status corev1.ServiceStatus `json:"status,omitempty"` }
FederatedServiceClusterStatus is the observed status of the resource for a named cluster
func (*FederatedServiceClusterStatus) DeepCopy ¶ added in v0.0.3
func (in *FederatedServiceClusterStatus) DeepCopy() *FederatedServiceClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FederatedServiceClusterStatus.
func (*FederatedServiceClusterStatus) DeepCopyInto ¶ added in v0.0.3
func (in *FederatedServiceClusterStatus) DeepCopyInto(out *FederatedServiceClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FederatedServiceStatus ¶
type FederatedServiceStatus struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` ClusterStatus []FederatedServiceClusterStatus `json:"clusterStatus,omitempty"` }
FederatedServiceStatus +k8s:openapi-gen=true +kubebuilder:resource:path=federatedservicestatuses
func (*FederatedServiceStatus) DeepCopy ¶
func (in *FederatedServiceStatus) DeepCopy() *FederatedServiceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FederatedServiceStatus.
func (*FederatedServiceStatus) DeepCopyInto ¶
func (in *FederatedServiceStatus) DeepCopyInto(out *FederatedServiceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FederatedServiceStatus) DeepCopyObject ¶ added in v0.0.3
func (in *FederatedServiceStatus) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FederatedServiceStatusList ¶ added in v0.0.3
type FederatedServiceStatusList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []FederatedServiceStatus `json:"items"` }
func (*FederatedServiceStatusList) DeepCopy ¶ added in v0.0.3
func (in *FederatedServiceStatusList) DeepCopy() *FederatedServiceStatusList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FederatedServiceStatusList.
func (*FederatedServiceStatusList) DeepCopyInto ¶ added in v0.0.3
func (in *FederatedServiceStatusList) DeepCopyInto(out *FederatedServiceStatusList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FederatedServiceStatusList) DeepCopyObject ¶ added in v0.0.3
func (in *FederatedServiceStatusList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FederatedTypeConfig ¶
type FederatedTypeConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec FederatedTypeConfigSpec `json:"spec,omitempty"` Status FederatedTypeConfigStatus `json:"status,omitempty"` }
FederatedTypeConfig programs federation to know about a single API type - the "target type" - that a user wants to federate. For each target type, there is a set of API types that capture the information required to federate that type:
- A "template" type specifies the basic definition of a federated resource
- A "placement" type specifies the placement information for the federated resource
- (optional) A "override" type specifies how the target resource should vary across clusters.
+k8s:openapi-gen=true +kubebuilder:resource:path=federatedtypeconfigs +kubebuilder:subresource:status
func (*FederatedTypeConfig) DeepCopy ¶
func (in *FederatedTypeConfig) DeepCopy() *FederatedTypeConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FederatedTypeConfig.
func (*FederatedTypeConfig) DeepCopyInto ¶
func (in *FederatedTypeConfig) DeepCopyInto(out *FederatedTypeConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FederatedTypeConfig) DeepCopyObject ¶
func (in *FederatedTypeConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*FederatedTypeConfig) GetComparisonField ¶
func (f *FederatedTypeConfig) GetComparisonField() common.VersionComparisonField
func (*FederatedTypeConfig) GetEnableStatus ¶ added in v0.0.3
func (f *FederatedTypeConfig) GetEnableStatus() bool
func (*FederatedTypeConfig) GetFederatedKind ¶ added in v0.0.5
func (f *FederatedTypeConfig) GetFederatedKind() string
func (*FederatedTypeConfig) GetFederatedNamespaced ¶ added in v0.0.5
func (f *FederatedTypeConfig) GetFederatedNamespaced() bool
func (*FederatedTypeConfig) GetNamespaced ¶
func (f *FederatedTypeConfig) GetNamespaced() bool
func (*FederatedTypeConfig) GetObjectMeta ¶ added in v0.0.3
func (f *FederatedTypeConfig) GetObjectMeta() metav1.ObjectMeta
func (*FederatedTypeConfig) GetOverride ¶
func (f *FederatedTypeConfig) GetOverride() metav1.APIResource
func (*FederatedTypeConfig) GetPlacement ¶
func (f *FederatedTypeConfig) GetPlacement() metav1.APIResource
func (*FederatedTypeConfig) GetPropagationEnabled ¶
func (f *FederatedTypeConfig) GetPropagationEnabled() bool
func (*FederatedTypeConfig) GetStatus ¶ added in v0.0.3
func (f *FederatedTypeConfig) GetStatus() *metav1.APIResource
func (*FederatedTypeConfig) GetTarget ¶
func (f *FederatedTypeConfig) GetTarget() metav1.APIResource
func (*FederatedTypeConfig) GetTemplate ¶
func (f *FederatedTypeConfig) GetTemplate() metav1.APIResource
type FederatedTypeConfigList ¶
type FederatedTypeConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []FederatedTypeConfig `json:"items"` }
func (*FederatedTypeConfigList) DeepCopy ¶
func (in *FederatedTypeConfigList) DeepCopy() *FederatedTypeConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FederatedTypeConfigList.
func (*FederatedTypeConfigList) DeepCopyInto ¶
func (in *FederatedTypeConfigList) DeepCopyInto(out *FederatedTypeConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FederatedTypeConfigList) DeepCopyObject ¶
func (in *FederatedTypeConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FederatedTypeConfigSpec ¶
type FederatedTypeConfigSpec struct { // The configuration of the target type. If not set, the pluralName and // groupName fields will be set from the metadata.name of this resource. The // kind field must be set. Target APIResource `json:"target"` // Whether or not the target type is namespaced. The federation types // (template, placement, overrides) for the type will share this // characteristic. Namespaced bool `json:"namespaced"` // Which field of the target type determines whether federation // considers two resources to be equal. ComparisonField common.VersionComparisonField `json:"comparisonField"` // Whether or not propagation to member clusters should be enabled. PropagationEnabled bool `json:"propagationEnabled"` // Configuration for the template type that holds the base definition of // a federated resource. Template APIResource `json:"template"` // Configuration for the placement type that holds information about which // member clusters the resource should be federated to. If not provided, the // group and version will default to those provided for the template // resource. Placement APIResource `json:"placement"` // Configuration for the override type that holds information about how the // resource should be changed from the template when in certain member // clusters. If not provided, the group and version will default to those // provided for the template resource. Override APIResource `json:"override"` // Configuration for the status type that holds information about which type // holds the status of the federated resource. If not provided, the group // and version will default to those provided for the template resource. // +optional Status *APIResource `json:"status,omitempty"` // Whether or not Status object should be populated. // +optional EnableStatus bool `json:"enableStatus,omitempty"` }
FederatedTypeConfigSpec defines the desired state of FederatedTypeConfig.
func (*FederatedTypeConfigSpec) DeepCopy ¶
func (in *FederatedTypeConfigSpec) DeepCopy() *FederatedTypeConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FederatedTypeConfigSpec.
func (*FederatedTypeConfigSpec) DeepCopyInto ¶
func (in *FederatedTypeConfigSpec) DeepCopyInto(out *FederatedTypeConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FederatedTypeConfigStatus ¶
type FederatedTypeConfigStatus struct { // ObservedGeneration is the generation as observed by the controller consuming the FederatedTypeConfig. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // PropagationController tracks the status of the sync controller. // +optional PropagationController ControllerStatus `json:"propagationController,omitempty"` // StatusController tracks the status of the status controller. // +optional StatusController ControllerStatus `json:"statusController,omitempty"` }
FederatedTypeConfigStatus defines the observed state of FederatedTypeConfig
func (*FederatedTypeConfigStatus) DeepCopy ¶
func (in *FederatedTypeConfigStatus) DeepCopy() *FederatedTypeConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FederatedTypeConfigStatus.
func (*FederatedTypeConfigStatus) DeepCopyInto ¶
func (in *FederatedTypeConfigStatus) DeepCopyInto(out *FederatedTypeConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PropagatedVersion ¶
type PropagatedVersion struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PropagatedVersionSpec `json:"spec,omitempty"` Status PropagatedVersionStatus `json:"status,omitempty"` }
PropagatedVersion holds version information about the state propagated from federation APIs configured by FederatedTypeConfig to target clusters. The name of a PropagatedVersion encodes the kind and name of the resource it stores information for. The type of version information stored in PropagatedVersion will be the metadata.resourceVersion or metadata.Generation of the resource depending on the value of spec.comparisonField in the FederatedTypeConfig associated with the resource.
+k8s:openapi-gen=true +kubebuilder:resource:path=propagatedversions +kubebuilder:subresource:status
func (*PropagatedVersion) DeepCopy ¶
func (in *PropagatedVersion) DeepCopy() *PropagatedVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PropagatedVersion.
func (*PropagatedVersion) DeepCopyInto ¶
func (in *PropagatedVersion) DeepCopyInto(out *PropagatedVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PropagatedVersion) DeepCopyObject ¶
func (in *PropagatedVersion) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PropagatedVersionList ¶
type PropagatedVersionList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PropagatedVersion `json:"items"` }
func (*PropagatedVersionList) DeepCopy ¶
func (in *PropagatedVersionList) DeepCopy() *PropagatedVersionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PropagatedVersionList.
func (*PropagatedVersionList) DeepCopyInto ¶
func (in *PropagatedVersionList) DeepCopyInto(out *PropagatedVersionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PropagatedVersionList) DeepCopyObject ¶
func (in *PropagatedVersionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PropagatedVersionSpec ¶
type PropagatedVersionSpec struct { }
PropagatedVersionSpec defines the desired state of PropagatedVersion
func (*PropagatedVersionSpec) DeepCopy ¶
func (in *PropagatedVersionSpec) DeepCopy() *PropagatedVersionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PropagatedVersionSpec.
func (*PropagatedVersionSpec) DeepCopyInto ¶
func (in *PropagatedVersionSpec) DeepCopyInto(out *PropagatedVersionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PropagatedVersionStatus ¶
type PropagatedVersionStatus struct { // The observed version of the template for this resource. TemplateVersion string `json:"templateVersion,omitempty"` // The observed version of the overrides for this resource. OverrideVersion string `json:"overridesVersion,omitempty"` // The last versions produced in each cluster for this resource. ClusterVersions []ClusterObjectVersion `json:"clusterVersions,omitempty"` }
PropagatedVersionStatus defines the observed state of PropagatedVersion
func (*PropagatedVersionStatus) DeepCopy ¶
func (in *PropagatedVersionStatus) DeepCopy() *PropagatedVersionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PropagatedVersionStatus.
func (*PropagatedVersionStatus) DeepCopyInto ¶
func (in *PropagatedVersionStatus) DeepCopyInto(out *PropagatedVersionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.