Documentation ¶
Index ¶
- Constants
- Variables
- func GetDefaultEnabledPlugins() *fedcore.EnabledPlugins
- func Resource(resource string) schema.GroupResource
- type APIResource
- type AutoMigration
- type AutoMigrationConfig
- type AutoMigrationTrigger
- type ClusterCollectedStatus
- func (in *ClusterCollectedStatus) DeepCopy() *ClusterCollectedStatus
- func (ccs *ClusterCollectedStatus) DeepCopyGenericCollectedStatusObject() GenericCollectedStatusObject
- func (in *ClusterCollectedStatus) DeepCopyInto(out *ClusterCollectedStatus)
- func (in *ClusterCollectedStatus) DeepCopyObject() runtime.Object
- func (ccs *ClusterCollectedStatus) GetGenericCollectedStatus() *GenericCollectedStatus
- func (ccs *ClusterCollectedStatus) GetLastUpdateTime() *metav1.Time
- type ClusterCollectedStatusList
- type ClusterCondition
- type ClusterConditionType
- type ClusterFederatedObject
- func (in *ClusterFederatedObject) DeepCopy() *ClusterFederatedObject
- func (o *ClusterFederatedObject) DeepCopyGenericFederatedObject() GenericFederatedObject
- func (in *ClusterFederatedObject) DeepCopyInto(out *ClusterFederatedObject)
- func (in *ClusterFederatedObject) DeepCopyObject() runtime.Object
- func (o *ClusterFederatedObject) GetSpec() *GenericFederatedObjectSpec
- func (o *ClusterFederatedObject) GetStatus() *GenericFederatedObjectStatus
- type ClusterFederatedObjectList
- type ClusterObjectVersion
- type ClusterOverridePolicy
- func (in *ClusterOverridePolicy) DeepCopy() *ClusterOverridePolicy
- func (in *ClusterOverridePolicy) DeepCopyInto(out *ClusterOverridePolicy)
- func (in *ClusterOverridePolicy) DeepCopyObject() runtime.Object
- func (cpp *ClusterOverridePolicy) GetKey() string
- func (cpp *ClusterOverridePolicy) GetRefCountedStatus() *GenericRefCountedStatus
- func (cpp *ClusterOverridePolicy) GetSpec() *GenericOverridePolicySpec
- type ClusterOverridePolicyList
- type ClusterPropagatedVersion
- type ClusterPropagatedVersionList
- type ClusterPropagationPolicy
- func (in *ClusterPropagationPolicy) DeepCopy() *ClusterPropagationPolicy
- func (in *ClusterPropagationPolicy) DeepCopyInto(out *ClusterPropagationPolicy)
- func (in *ClusterPropagationPolicy) DeepCopyObject() runtime.Object
- func (cpp *ClusterPropagationPolicy) GetRefCountedStatus() *GenericRefCountedStatus
- func (cpp *ClusterPropagationPolicy) GetSpec() *PropagationPolicySpec
- func (cpp *ClusterPropagationPolicy) GetStatus() *PropagationPolicyStatus
- type ClusterPropagationPolicyList
- type ClusterReference
- type ClusterReferenceWithPatches
- type ClusterSelectorOperator
- type ClusterSelectorRequirement
- type ClusterSelectorTerm
- type CollectedFieldsWithCluster
- type CollectedStatus
- func (in *CollectedStatus) DeepCopy() *CollectedStatus
- func (cs *CollectedStatus) DeepCopyGenericCollectedStatusObject() GenericCollectedStatusObject
- func (in *CollectedStatus) DeepCopyInto(out *CollectedStatus)
- func (in *CollectedStatus) DeepCopyObject() runtime.Object
- func (cs *CollectedStatus) GetGenericCollectedStatus() *GenericCollectedStatus
- func (cs *CollectedStatus) GetLastUpdateTime() *metav1.Time
- type CollectedStatusList
- type DesiredPlacement
- type EntrypointOverrider
- type FederatedCluster
- type FederatedClusterList
- type FederatedClusterSpec
- type FederatedClusterStatus
- type FederatedObject
- func (in *FederatedObject) DeepCopy() *FederatedObject
- func (o *FederatedObject) DeepCopyGenericFederatedObject() GenericFederatedObject
- func (in *FederatedObject) DeepCopyInto(out *FederatedObject)
- func (in *FederatedObject) DeepCopyObject() runtime.Object
- func (o *FederatedObject) GetSpec() *GenericFederatedObjectSpec
- func (o *FederatedObject) GetStatus() *GenericFederatedObjectStatus
- type FederatedObjectConditionReason
- type FederatedObjectConditionType
- type FederatedObjectList
- type FederatedTypeConfig
- func (in *FederatedTypeConfig) DeepCopy() *FederatedTypeConfig
- func (in *FederatedTypeConfig) DeepCopyInto(out *FederatedTypeConfig)
- func (in *FederatedTypeConfig) DeepCopyObject() runtime.Object
- func (f *FederatedTypeConfig) GetAutoMigrationEnabled() bool
- func (f *FederatedTypeConfig) GetControllers() [][]string
- func (f *FederatedTypeConfig) GetNamespaced() bool
- func (f *FederatedTypeConfig) GetObjectMeta() metav1.ObjectMeta
- func (f *FederatedTypeConfig) GetPolicyRcEnabled() bool
- func (f *FederatedTypeConfig) GetPropagationEnabled() bool
- func (f *FederatedTypeConfig) GetSourceType() metav1.APIResource
- func (f *FederatedTypeConfig) GetSourceTypeGVK() schema.GroupVersionKind
- func (f *FederatedTypeConfig) GetSourceTypeGVR() schema.GroupVersionResource
- func (f *FederatedTypeConfig) GetStatusAggregationEnabled() bool
- func (f *FederatedTypeConfig) GetStatusCollectionEnabled() bool
- func (f *FederatedTypeConfig) IsNamespace() bool
- func (f *FederatedTypeConfig) IsStatusCollectionEnabled() bool
- type FederatedTypeConfigList
- type FederatedTypeConfigSpec
- type GenericCollectedStatus
- type GenericCollectedStatusObject
- type GenericFederatedObject
- type GenericFederatedObjectCondition
- type GenericFederatedObjectSpec
- func (in *GenericFederatedObjectSpec) DeepCopy() *GenericFederatedObjectSpec
- func (in *GenericFederatedObjectSpec) DeepCopyInto(out *GenericFederatedObjectSpec)
- func (spec *GenericFederatedObjectSpec) DeleteControllerOverrides(controller string) bool
- func (spec *GenericFederatedObjectSpec) DeleteControllerPlacement(controller string) bool
- func (spec *GenericFederatedObjectSpec) GetControllerOverrides(controller string) []ClusterReferenceWithPatches
- func (spec *GenericFederatedObjectSpec) GetControllerPlacement(controller string) []ClusterReference
- func (spec *GenericFederatedObjectSpec) GetPlacementUnion() sets.Set[string]
- func (spec *GenericFederatedObjectSpec) GetTemplateAsUnstructured() (*unstructured.Unstructured, error)
- func (spec *GenericFederatedObjectSpec) GetTemplateMetadata() (*metav1.PartialObjectMetadata, error)
- func (spec *GenericFederatedObjectSpec) SetControllerOverrides(controller string, clusterOverrides []ClusterReferenceWithPatches) bool
- func (spec *GenericFederatedObjectSpec) SetControllerPlacement(controller string, clusterNames []string) bool
- type GenericFederatedObjectStatus
- type GenericOverridePolicy
- type GenericOverridePolicySpec
- type GenericPropagationPolicy
- type GenericRefCountedPolicy
- type GenericRefCountedStatus
- type ImageOverrider
- type JsonPatchOverrider
- type LeaderReference
- type LocalSecretReference
- type Operation
- type OverridePatch
- type OverridePatches
- type OverridePolicy
- func (in *OverridePolicy) DeepCopy() *OverridePolicy
- func (in *OverridePolicy) DeepCopyInto(out *OverridePolicy)
- func (in *OverridePolicy) DeepCopyObject() runtime.Object
- func (pp *OverridePolicy) GetKey() string
- func (pp *OverridePolicy) GetRefCountedStatus() *GenericRefCountedStatus
- func (pp *OverridePolicy) GetSpec() *GenericOverridePolicySpec
- type OverridePolicyList
- type OverridePolicyStatus
- type OverrideRule
- type OverrideWithController
- type Overriders
- type PathDefinition
- type PlacementWithController
- type Plugin
- type PluginConfig
- type PluginSet
- type PluginType
- type Plugins
- type Preferences
- type PropagatedVersion
- type PropagatedVersionList
- type PropagatedVersionStatus
- type PropagationPolicy
- func (in *PropagationPolicy) DeepCopy() *PropagationPolicy
- func (in *PropagationPolicy) DeepCopyInto(out *PropagationPolicy)
- func (in *PropagationPolicy) DeepCopyObject() runtime.Object
- func (pp *PropagationPolicy) GetRefCountedStatus() *GenericRefCountedStatus
- func (pp *PropagationPolicy) GetSpec() *PropagationPolicySpec
- func (pp *PropagationPolicy) GetStatus() *PropagationPolicyStatus
- type PropagationPolicyList
- type PropagationPolicySpec
- type PropagationPolicyStatus
- type PropagationStatus
- type PropagationStatusType
- type ReplicaRescheduling
- type ReplicasStrategy
- type ReschedulePolicy
- type RescheduleTrigger
- type Resources
- type SchedulerPluginWebhookConfiguration
- type SchedulerPluginWebhookConfigurationList
- type SchedulerPluginWebhookConfigurationSpec
- type SchedulingMode
- type SchedulingProfile
- type SchedulingProfileList
- type SchedulingProfileSpec
- type StatusAggregationConfig
- type StatusCollectionConfig
- type StringMapOverrider
- type TargetClusters
- type TypedRefCount
- type WebhookTLSConfig
Constants ¶
const (
// DefaultSchedulerName defines the name of default scheduler.
DefaultSchedulerName = "default-scheduler"
)
const (
NamespaceName = "namespaces"
)
Variables ¶
var ( // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. SchemeBuilder runtime.SchemeBuilder AddToScheme = localSchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{ Group: core.GroupName, Version: "v1alpha1", }
SchemeGroupVersion is the identifier for the API which includes the name of the group and the version of the API
Functions ¶
func GetDefaultEnabledPlugins ¶
func GetDefaultEnabledPlugins() *fedcore.EnabledPlugins
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type APIResource ¶
type APIResource struct { // Group of the resource. // +optional Group string `json:"group,omitempty"` // Version of the resource. Version string `json:"version"` // Kind of the resource. 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"` // Scope of the resource. Scope apiextv1beta1.ResourceScope `json:"scope"` }
APIResource represents a Kubernetes 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.
func (*APIResource) Namespaced ¶
func (a *APIResource) Namespaced() bool
type AutoMigration ¶
type AutoMigration struct { // When a replica should be subject to auto migration. // +optional // +kubebuilder:default:={podUnschedulableFor:"1m"} Trigger AutoMigrationTrigger `json:"when"` // Besides starting new replicas in other cluster(s), whether to keep the unschedulable replicas // in the original cluster so we can go back to the desired state when the cluster recovers. // +optional // +kubebuilder:default:=false KeepUnschedulableReplicas bool `json:"keepUnschedulableReplicas"` }
Preferences regarding auto migration.
func (*AutoMigration) DeepCopy ¶
func (in *AutoMigration) DeepCopy() *AutoMigration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoMigration.
func (*AutoMigration) DeepCopyInto ¶
func (in *AutoMigration) DeepCopyInto(out *AutoMigration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AutoMigrationConfig ¶
type AutoMigrationConfig struct { // Whether or not to automatically migrate unschedulable pods to a different cluster. Enabled bool `json:"enabled"` }
AutoMigrationConfig defines the configurations for the AutoMigration feature.
func (*AutoMigrationConfig) DeepCopy ¶
func (in *AutoMigrationConfig) DeepCopy() *AutoMigrationConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoMigrationConfig.
func (*AutoMigrationConfig) DeepCopyInto ¶
func (in *AutoMigrationConfig) DeepCopyInto(out *AutoMigrationConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AutoMigrationTrigger ¶
type AutoMigrationTrigger struct { // A pod will be subject to auto migration if it remains unschedulable beyond this duration. // Duration should be specified in a format that can be parsed by Go's time.ParseDuration. // +optional // +kubebuilder:validation:Format:=duration PodUnschedulableDuration *metav1.Duration `json:"podUnschedulableFor,omitempty"` }
Criteria for determining when a replica is subject to auto migration. +kubebuilder:validation:MinProperties:=1
func (*AutoMigrationTrigger) DeepCopy ¶
func (in *AutoMigrationTrigger) DeepCopy() *AutoMigrationTrigger
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoMigrationTrigger.
func (*AutoMigrationTrigger) DeepCopyInto ¶
func (in *AutoMigrationTrigger) DeepCopyInto(out *AutoMigrationTrigger)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterCollectedStatus ¶
type ClusterCollectedStatus struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` GenericCollectedStatus `json:",inline"` }
ClusterCollectedStatus stores the collected fields of Kubernetes objects from member clusters, that are propagated by a ClusterFederatedObject.
func (*ClusterCollectedStatus) DeepCopy ¶
func (in *ClusterCollectedStatus) DeepCopy() *ClusterCollectedStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterCollectedStatus.
func (*ClusterCollectedStatus) DeepCopyGenericCollectedStatusObject ¶
func (ccs *ClusterCollectedStatus) DeepCopyGenericCollectedStatusObject() GenericCollectedStatusObject
func (*ClusterCollectedStatus) DeepCopyInto ¶
func (in *ClusterCollectedStatus) DeepCopyInto(out *ClusterCollectedStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterCollectedStatus) DeepCopyObject ¶
func (in *ClusterCollectedStatus) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ClusterCollectedStatus) GetGenericCollectedStatus ¶
func (ccs *ClusterCollectedStatus) GetGenericCollectedStatus() *GenericCollectedStatus
func (*ClusterCollectedStatus) GetLastUpdateTime ¶
func (ccs *ClusterCollectedStatus) GetLastUpdateTime() *metav1.Time
type ClusterCollectedStatusList ¶
type ClusterCollectedStatusList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ClusterCollectedStatus `json:"items"` }
ClusterCollectedStatusList contains a list of ClusterCollectedStatuses.
func (*ClusterCollectedStatusList) DeepCopy ¶
func (in *ClusterCollectedStatusList) DeepCopy() *ClusterCollectedStatusList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterCollectedStatusList.
func (*ClusterCollectedStatusList) DeepCopyInto ¶
func (in *ClusterCollectedStatusList) DeepCopyInto(out *ClusterCollectedStatusList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterCollectedStatusList) DeepCopyObject ¶
func (in *ClusterCollectedStatusList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterCondition ¶
type ClusterCondition struct { // Type of cluster condition, Ready or Offline. Type ClusterConditionType `json:"type"` // Status of the condition, one of True, False, Unknown. Status corev1.ConditionStatus `json:"status"` // Last time the condition was checked. LastProbeTime metav1.Time `json:"lastProbeTime"` // Last time the condition transit from one status to another. LastTransitionTime metav1.Time `json:"lastTransitionTime"` // Programmatic identifier indicating the reason for the current status. Reason string `json:"reason"` // Human readable message indicating details about the current status. Message string `json:"message"` }
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 ClusterConditionType ¶
type ClusterConditionType string
const ( // ClusterJoined means the cluster has joined the federation. ClusterJoined ClusterConditionType = "Joined" // ClusterReady means the cluster is ready to accept workloads. ClusterReady ClusterConditionType = "Ready" // ClusterOffline means the cluster is temporarily down or not reachable. ClusterOffline ClusterConditionType = "Offline" )
These are valid conditions of a cluster.
type ClusterFederatedObject ¶
type ClusterFederatedObject struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // Spec defines the desired behavior of the FederatedObject. Spec GenericFederatedObjectSpec `json:"spec"` // Status describes the most recently observed status of the FederatedObject. // +optional Status GenericFederatedObjectStatus `json:"status,omitempty"` }
ClusterFederatedObject describes a cluster-scoped Kubernetes object and how it should be propagated to different member clusters.
func (*ClusterFederatedObject) DeepCopy ¶
func (in *ClusterFederatedObject) DeepCopy() *ClusterFederatedObject
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterFederatedObject.
func (*ClusterFederatedObject) DeepCopyGenericFederatedObject ¶
func (o *ClusterFederatedObject) DeepCopyGenericFederatedObject() GenericFederatedObject
func (*ClusterFederatedObject) DeepCopyInto ¶
func (in *ClusterFederatedObject) DeepCopyInto(out *ClusterFederatedObject)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterFederatedObject) DeepCopyObject ¶
func (in *ClusterFederatedObject) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ClusterFederatedObject) GetSpec ¶
func (o *ClusterFederatedObject) GetSpec() *GenericFederatedObjectSpec
func (*ClusterFederatedObject) GetStatus ¶
func (o *ClusterFederatedObject) GetStatus() *GenericFederatedObjectStatus
type ClusterFederatedObjectList ¶
type ClusterFederatedObjectList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ClusterFederatedObject `json:"items"` }
ClusterFederatedObjectList contains a list of ClusterFederatedObject.
func (*ClusterFederatedObjectList) DeepCopy ¶
func (in *ClusterFederatedObjectList) DeepCopy() *ClusterFederatedObjectList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterFederatedObjectList.
func (*ClusterFederatedObjectList) DeepCopyInto ¶
func (in *ClusterFederatedObjectList) DeepCopyInto(out *ClusterFederatedObjectList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterFederatedObjectList) DeepCopyObject ¶
func (in *ClusterFederatedObjectList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterObjectVersion ¶
type ClusterObjectVersion struct { // The name of the cluster the version is for. ClusterName string `json:"clusterName"` // The last version produced for the resource by a KubeAdmiral // operation. Version string `json:"version"` }
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 ClusterOverridePolicy ¶
type ClusterOverridePolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec GenericOverridePolicySpec `json:"spec"` // +optional Status OverridePolicyStatus `json:"status,omitempty"` }
ClusterOverridePolicy describes the override rules for a resource.
func (*ClusterOverridePolicy) DeepCopy ¶
func (in *ClusterOverridePolicy) DeepCopy() *ClusterOverridePolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterOverridePolicy.
func (*ClusterOverridePolicy) DeepCopyInto ¶
func (in *ClusterOverridePolicy) DeepCopyInto(out *ClusterOverridePolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterOverridePolicy) DeepCopyObject ¶
func (in *ClusterOverridePolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ClusterOverridePolicy) GetKey ¶
func (cpp *ClusterOverridePolicy) GetKey() string
func (*ClusterOverridePolicy) GetRefCountedStatus ¶
func (cpp *ClusterOverridePolicy) GetRefCountedStatus() *GenericRefCountedStatus
func (*ClusterOverridePolicy) GetSpec ¶
func (cpp *ClusterOverridePolicy) GetSpec() *GenericOverridePolicySpec
type ClusterOverridePolicyList ¶
type ClusterOverridePolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ClusterOverridePolicy `json:"items"` }
ClusterOverridePolicyList contains a list of ClusterOverridePolicy
func (*ClusterOverridePolicyList) DeepCopy ¶
func (in *ClusterOverridePolicyList) DeepCopy() *ClusterOverridePolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterOverridePolicyList.
func (*ClusterOverridePolicyList) DeepCopyInto ¶
func (in *ClusterOverridePolicyList) DeepCopyInto(out *ClusterOverridePolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterOverridePolicyList) DeepCopyObject ¶
func (in *ClusterOverridePolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterPropagatedVersion ¶
type ClusterPropagatedVersion struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // +optional Status PropagatedVersionStatus `json:"status,omitempty"` }
ClusterPropagatedVersion holds version information about the state propagated from ClusterFederatedObject to member clusters. The name of a ClusterPropagatedVersion is the same as its ClusterFederatedObject. If a target resource has a populated metadata.Generation field, the generation will be stored with a prefix of `gen:` as the version for the cluster. If metadata.Generation is not available, metadata.ResourceVersion will be stored with a prefix of `rv:` as the version for the cluster.
func (*ClusterPropagatedVersion) DeepCopy ¶
func (in *ClusterPropagatedVersion) DeepCopy() *ClusterPropagatedVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPropagatedVersion.
func (*ClusterPropagatedVersion) DeepCopyInto ¶
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 ¶
func (in *ClusterPropagatedVersion) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterPropagatedVersionList ¶
type ClusterPropagatedVersionList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ClusterPropagatedVersion `json:"items"` }
ClusterPropagatedVersionList contains a list of ClusterPropagatedVersion
func (*ClusterPropagatedVersionList) DeepCopy ¶
func (in *ClusterPropagatedVersionList) DeepCopy() *ClusterPropagatedVersionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPropagatedVersionList.
func (*ClusterPropagatedVersionList) DeepCopyInto ¶
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 ¶
func (in *ClusterPropagatedVersionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterPropagationPolicy ¶
type ClusterPropagationPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PropagationPolicySpec `json:"spec"` // +optional Status PropagationPolicyStatus `json:"status,omitempty"` }
ClusterPropagationPolicy describes the scheduling rules for a resource.
func (*ClusterPropagationPolicy) DeepCopy ¶
func (in *ClusterPropagationPolicy) DeepCopy() *ClusterPropagationPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPropagationPolicy.
func (*ClusterPropagationPolicy) DeepCopyInto ¶
func (in *ClusterPropagationPolicy) DeepCopyInto(out *ClusterPropagationPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterPropagationPolicy) DeepCopyObject ¶
func (in *ClusterPropagationPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ClusterPropagationPolicy) GetRefCountedStatus ¶
func (cpp *ClusterPropagationPolicy) GetRefCountedStatus() *GenericRefCountedStatus
func (*ClusterPropagationPolicy) GetSpec ¶
func (cpp *ClusterPropagationPolicy) GetSpec() *PropagationPolicySpec
func (*ClusterPropagationPolicy) GetStatus ¶
func (cpp *ClusterPropagationPolicy) GetStatus() *PropagationPolicyStatus
type ClusterPropagationPolicyList ¶
type ClusterPropagationPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ClusterPropagationPolicy `json:"items"` }
ClusterPropagationPolicyList contains a list of ClusterPropagationPolicy
func (*ClusterPropagationPolicyList) DeepCopy ¶
func (in *ClusterPropagationPolicyList) DeepCopy() *ClusterPropagationPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPropagationPolicyList.
func (*ClusterPropagationPolicyList) DeepCopyInto ¶
func (in *ClusterPropagationPolicyList) DeepCopyInto(out *ClusterPropagationPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterPropagationPolicyList) DeepCopyObject ¶
func (in *ClusterPropagationPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterReference ¶
type ClusterReference struct { // Cluster is the name of the member cluster. Cluster string `json:"cluster"` }
ClusterReference represents a single member cluster.
func (*ClusterReference) DeepCopy ¶
func (in *ClusterReference) DeepCopy() *ClusterReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterReference.
func (*ClusterReference) DeepCopyInto ¶
func (in *ClusterReference) DeepCopyInto(out *ClusterReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterReferenceWithPatches ¶
type ClusterReferenceWithPatches struct { // Cluster is the name of the member cluster. Cluster string `json:"cluster"` // Patches is the list of override patches for the member cluster. Patches OverridePatches `json:"patches,omitempty"` }
ClusterReferenceWithPatches represents a single member cluster and a list of override patches for the cluster.
func (*ClusterReferenceWithPatches) DeepCopy ¶
func (in *ClusterReferenceWithPatches) DeepCopy() *ClusterReferenceWithPatches
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterReferenceWithPatches.
func (*ClusterReferenceWithPatches) DeepCopyInto ¶
func (in *ClusterReferenceWithPatches) DeepCopyInto(out *ClusterReferenceWithPatches)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterSelectorOperator ¶
type ClusterSelectorOperator string
ClusterSelectorOperator is the set of operators that can be used in a cluster selector requirement. +kubebuilder:validation:Enum=In;NotIn;Exists;DoesNotExist;Gt;Lt
const ( ClusterSelectorOpIn ClusterSelectorOperator = "In" ClusterSelectorOpNotIn ClusterSelectorOperator = "NotIn" ClusterSelectorOpExists ClusterSelectorOperator = "Exists" ClusterSelectorOpDoesNotExist ClusterSelectorOperator = "DoesNotExist" ClusterSelectorOpGt ClusterSelectorOperator = "Gt" ClusterSelectorOpLt ClusterSelectorOperator = "Lt" )
type ClusterSelectorRequirement ¶
type ClusterSelectorRequirement struct { Key string `json:"key"` Operator ClusterSelectorOperator `json:"operator"` Values []string `json:"values"` }
ClusterSelectorRequirement is a selector that contains values, a key, and an operator that relates the values and keys
func (*ClusterSelectorRequirement) DeepCopy ¶
func (in *ClusterSelectorRequirement) DeepCopy() *ClusterSelectorRequirement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSelectorRequirement.
func (*ClusterSelectorRequirement) DeepCopyInto ¶
func (in *ClusterSelectorRequirement) DeepCopyInto(out *ClusterSelectorRequirement)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterSelectorTerm ¶
type ClusterSelectorTerm struct { // A list of cluster selector requirements by cluster labels. // +optional MatchExpressions []ClusterSelectorRequirement `json:"matchExpressions,omitempty"` // A list of cluster selector requirements by cluster fields. // +optional MatchFields []ClusterSelectorRequirement `json:"matchFields,omitempty"` }
func (*ClusterSelectorTerm) DeepCopy ¶
func (in *ClusterSelectorTerm) DeepCopy() *ClusterSelectorTerm
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSelectorTerm.
func (*ClusterSelectorTerm) DeepCopyInto ¶
func (in *ClusterSelectorTerm) DeepCopyInto(out *ClusterSelectorTerm)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CollectedFieldsWithCluster ¶
type CollectedFieldsWithCluster struct { // Cluster is the name of the member cluster. Cluster string `json:"cluster"` // CollectedFields is the the set of fields collected for the Kubernetes object. CollectedFields apiextensionsv1.JSON `json:"collectedFields"` // Error records any errors encountered while collecting fields from the cluster. // +optional Error string `json:"error,omitempty"` }
CollectedFieldsWithCluster stores the collected fields of a Kubernetes object in a member cluster.
func (*CollectedFieldsWithCluster) DeepCopy ¶
func (in *CollectedFieldsWithCluster) DeepCopy() *CollectedFieldsWithCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CollectedFieldsWithCluster.
func (*CollectedFieldsWithCluster) DeepCopyInto ¶
func (in *CollectedFieldsWithCluster) DeepCopyInto(out *CollectedFieldsWithCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CollectedStatus ¶
type CollectedStatus struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional metav1.ObjectMeta `json:"metadata,omitempty"` GenericCollectedStatus `json:",inline"` }
CollectedStatus stores the collected fields of Kubernetes objects from member clusters, that are propagated by a FederatedObject.
func (*CollectedStatus) DeepCopy ¶
func (in *CollectedStatus) DeepCopy() *CollectedStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CollectedStatus.
func (*CollectedStatus) DeepCopyGenericCollectedStatusObject ¶
func (cs *CollectedStatus) DeepCopyGenericCollectedStatusObject() GenericCollectedStatusObject
func (*CollectedStatus) DeepCopyInto ¶
func (in *CollectedStatus) DeepCopyInto(out *CollectedStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CollectedStatus) DeepCopyObject ¶
func (in *CollectedStatus) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CollectedStatus) GetGenericCollectedStatus ¶
func (cs *CollectedStatus) GetGenericCollectedStatus() *GenericCollectedStatus
func (*CollectedStatus) GetLastUpdateTime ¶
func (cs *CollectedStatus) GetLastUpdateTime() *metav1.Time
type CollectedStatusList ¶
type CollectedStatusList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []CollectedStatus `json:"items"` }
CollectedStatusList contains a list of CollectedStatuses.
func (*CollectedStatusList) DeepCopy ¶
func (in *CollectedStatusList) DeepCopy() *CollectedStatusList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CollectedStatusList.
func (*CollectedStatusList) DeepCopyInto ¶
func (in *CollectedStatusList) DeepCopyInto(out *CollectedStatusList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CollectedStatusList) DeepCopyObject ¶
func (in *CollectedStatusList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DesiredPlacement ¶
type DesiredPlacement struct { // Cluster is the name of the FederatedCluster to propagate to. Cluster string `json:"cluster"` // Preferences contains the cluster's propagation preferences. // +optional Preferences Preferences `json:"preferences,omitempty"` }
DesiredPlacement describes a cluster that a federated object can be propagated to and its propagation preferences.
func (*DesiredPlacement) DeepCopy ¶
func (in *DesiredPlacement) DeepCopy() *DesiredPlacement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DesiredPlacement.
func (*DesiredPlacement) DeepCopyInto ¶
func (in *DesiredPlacement) DeepCopyInto(out *DesiredPlacement)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EntrypointOverrider ¶
type EntrypointOverrider struct { // ContainerName targets the specified container or init container in the pod template. ContainerName string `json:"containerName"` // Operator specifies the operation. // If omitted, defaults to "overwrite". // +kubebuilder:validation:Enum=append;overwrite;delete // +optional Operator string `json:"operator,omitempty"` // Value is the value(s) that will be applied to command/args of ContainerName. // If Operator is 'append', items in Value (empty is not allowed) will be appended to command/args. // If Operator is 'overwrite', current command/args of ContainerName will be completely replaced by Value. // If Operator is 'delete', items in Value that match in command/args will be deleted. Value []string `json:"value"` }
func (*EntrypointOverrider) DeepCopy ¶
func (in *EntrypointOverrider) DeepCopy() *EntrypointOverrider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntrypointOverrider.
func (*EntrypointOverrider) DeepCopyInto ¶
func (in *EntrypointOverrider) DeepCopyInto(out *EntrypointOverrider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 is the Schema for the federatedclusters API
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.
func (*FederatedCluster) String ¶
func (fcluster *FederatedCluster) String() string
type FederatedClusterList ¶
type FederatedClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []FederatedCluster `json:"items"` }
FederatedClusterList contains a list of FederatedCluster
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 { // The API endpoint of the member cluster. This can be a hostname, hostname:port, IP or IP:port. APIEndpoint string `json:"apiEndpoint"` // Access API endpoint with security. // +optional Insecure bool `json:"insecure,omitempty"` // Whether to use service account token to authenticate to the member cluster. // +optional UseServiceAccountToken bool `json:"useServiceAccount"` // Name of the secret containing the token required to access the member cluster. // The secret needs to exist in the fed system namespace. SecretRef LocalSecretReference `json:"secretRef"` // If specified, the cluster's taints. // +optional Taints []corev1.Taint `json:"taints,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 // +listType=map // +listMapKey=type Conditions []ClusterCondition `json:"conditions,omitempty"` // Resources describes the cluster's resources. // +optional Resources Resources `json:"resources,omitempty"` // The list of api resource types defined in the federated cluster // +optional APIResourceTypes []APIResource `json:"apiResourceTypes,omitempty"` // Whether any effectual action was performed in the cluster while joining. // If true, clean-up is required on cluster removal to undo the side-effects. // +optional JoinPerformed bool `json:"joinPerformed,omitempty"` }
FederatedClusterStatus defines the observed state of FederatedCluster
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 FederatedObject ¶
type FederatedObject struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // Spec defines the desired behavior of the FederatedObject. Spec GenericFederatedObjectSpec `json:"spec"` // Status describes the most recently observed status of the FederatedObject. // +optional Status GenericFederatedObjectStatus `json:"status,omitempty"` }
FederatedObject describes a namespace-scoped Kubernetes object and how it should be propagated to different member clusters.
func (*FederatedObject) DeepCopy ¶
func (in *FederatedObject) DeepCopy() *FederatedObject
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FederatedObject.
func (*FederatedObject) DeepCopyGenericFederatedObject ¶
func (o *FederatedObject) DeepCopyGenericFederatedObject() GenericFederatedObject
func (*FederatedObject) DeepCopyInto ¶
func (in *FederatedObject) DeepCopyInto(out *FederatedObject)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FederatedObject) DeepCopyObject ¶
func (in *FederatedObject) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*FederatedObject) GetSpec ¶
func (o *FederatedObject) GetSpec() *GenericFederatedObjectSpec
func (*FederatedObject) GetStatus ¶
func (o *FederatedObject) GetStatus() *GenericFederatedObjectStatus
type FederatedObjectConditionReason ¶
type FederatedObjectConditionReason string
FederatedObjectConditionReason is a unique, camel-case word to describe the reason for the last status change of a FederatedObjectCondition.
const ( AggregateSuccess FederatedObjectConditionReason = "" ClusterRetrievalFailed FederatedObjectConditionReason = "ClusterRetrievalFailed" CheckClusters FederatedObjectConditionReason = "CheckClusters" EnsureDeletionFailed FederatedObjectConditionReason = "EnsureDeletionFailed" )
type FederatedObjectConditionType ¶
type FederatedObjectConditionType string
FederatedObjectConditionType is a unique, camel-case word to describe the type of a FederatedObjectCondition.
const (
PropagationConditionType FederatedObjectConditionType = "Propagated"
)
type FederatedObjectList ¶
type FederatedObjectList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []FederatedObject `json:"items"` }
FederatedObjectList contains a list of FederatedObject.
func (*FederatedObjectList) DeepCopy ¶
func (in *FederatedObjectList) DeepCopy() *FederatedObjectList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FederatedObjectList.
func (*FederatedObjectList) DeepCopyInto ¶
func (in *FederatedObjectList) DeepCopyInto(out *FederatedObjectList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FederatedObjectList) DeepCopyObject ¶
func (in *FederatedObjectList) 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"` }
FederatedTypeConfig specifies an API resource type to federate and various type-specific options.
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) GetAutoMigrationEnabled ¶
func (f *FederatedTypeConfig) GetAutoMigrationEnabled() bool
func (*FederatedTypeConfig) GetControllers ¶
func (f *FederatedTypeConfig) GetControllers() [][]string
func (*FederatedTypeConfig) GetNamespaced ¶
func (f *FederatedTypeConfig) GetNamespaced() bool
func (*FederatedTypeConfig) GetObjectMeta ¶
func (f *FederatedTypeConfig) GetObjectMeta() metav1.ObjectMeta
func (*FederatedTypeConfig) GetPolicyRcEnabled ¶
func (f *FederatedTypeConfig) GetPolicyRcEnabled() bool
func (*FederatedTypeConfig) GetPropagationEnabled ¶
func (f *FederatedTypeConfig) GetPropagationEnabled() bool
func (*FederatedTypeConfig) GetSourceType ¶
func (f *FederatedTypeConfig) GetSourceType() metav1.APIResource
func (*FederatedTypeConfig) GetSourceTypeGVK ¶
func (f *FederatedTypeConfig) GetSourceTypeGVK() schema.GroupVersionKind
func (*FederatedTypeConfig) GetSourceTypeGVR ¶
func (f *FederatedTypeConfig) GetSourceTypeGVR() schema.GroupVersionResource
func (*FederatedTypeConfig) GetStatusAggregationEnabled ¶
func (f *FederatedTypeConfig) GetStatusAggregationEnabled() bool
func (*FederatedTypeConfig) GetStatusCollectionEnabled ¶
func (f *FederatedTypeConfig) GetStatusCollectionEnabled() bool
func (*FederatedTypeConfig) IsNamespace ¶
func (f *FederatedTypeConfig) IsNamespace() bool
func (*FederatedTypeConfig) IsStatusCollectionEnabled ¶
func (f *FederatedTypeConfig) IsStatusCollectionEnabled() bool
type FederatedTypeConfigList ¶
type FederatedTypeConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []FederatedTypeConfig `json:"items"` }
FederatedTypeConfigList contains a list of FederatedTypeConfig
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 API resource type to be federated. SourceType APIResource `json:"sourceType"` // Configuration for StatusAggregation. // +optional // +kubebuilder:default:={enabled:true} StatusAggregation *StatusAggregationConfig `json:"statusAggregation,omitempty"` // Configuration for StatusCollection. If left empty, the StatusCollection feature will be disabled. // +optional StatusCollection *StatusCollectionConfig `json:"statusCollection,omitempty"` // Configuration for AutoMigration. If left empty, the AutoMigration feature will be disabled. // +optional AutoMigration *AutoMigrationConfig `json:"autoMigration,omitempty"` // The controllers that must run before the source object can be propagated to member clusters. // Each inner slice specifies a step. Step T must complete before step T+1 can commence. // Controllers within each step can execute in parallel. // +optional Controllers [][]string `json:"controllers,omitempty"` // Defines the paths to various fields in the target object's schema. // +optional PathDefinition PathDefinition `json:"pathDefinition,omitempty"` }
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 GenericCollectedStatus ¶
type GenericCollectedStatus struct { // Clusters is the list of member clusters and collected fields for its propagated Kubernetes object. Clusters []CollectedFieldsWithCluster `json:"clusters"` // LastUpdateTime is the last time that a collection was performed. LastUpdateTime metav1.Time `json:"lastUpdateTime"` }
GenericCollectedStatus contains the shared fields of CollectedStatus and ClusterCollectedStatus
func (*GenericCollectedStatus) DeepCopy ¶
func (in *GenericCollectedStatus) DeepCopy() *GenericCollectedStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericCollectedStatus.
func (*GenericCollectedStatus) DeepCopyInto ¶
func (in *GenericCollectedStatus) DeepCopyInto(out *GenericCollectedStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GenericCollectedStatusObject ¶
type GenericCollectedStatusObject interface { metav1.Object pkgruntime.Object GetGenericCollectedStatus() *GenericCollectedStatus GetLastUpdateTime() *metav1.Time DeepCopyGenericCollectedStatusObject() GenericCollectedStatusObject }
type GenericFederatedObject ¶
type GenericFederatedObject interface { metav1.Object pkgruntime.Object GetSpec() *GenericFederatedObjectSpec GetStatus() *GenericFederatedObjectStatus DeepCopyGenericFederatedObject() GenericFederatedObject }
type GenericFederatedObjectCondition ¶
type GenericFederatedObjectCondition struct { // Type is the type of the condition. Type FederatedObjectConditionType `json:"type"` // Status is the status of the condition, one of True, False or Unknown. Status corev1.ConditionStatus `json:"status"` // LastUpdateTime is the last time a reconciliation for this condition occurred. // +optional LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"` // LastTransitionTime is the last time the status of this condition changed. // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` // Reason is the reason for the last status change of this condition. // +optional Reason FederatedObjectConditionReason `json:"reason,omitempty"` }
GenericFederatedObjectCondition contains the current details about a particular condition of a FederatedObject.
func (*GenericFederatedObjectCondition) DeepCopy ¶
func (in *GenericFederatedObjectCondition) DeepCopy() *GenericFederatedObjectCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericFederatedObjectCondition.
func (*GenericFederatedObjectCondition) DeepCopyInto ¶
func (in *GenericFederatedObjectCondition) DeepCopyInto(out *GenericFederatedObjectCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GenericFederatedObjectSpec ¶
type GenericFederatedObjectSpec struct { // Template is the base template of the Kubernetes object to be propagated. Template apiextensionsv1.JSON `json:"template"` // Overrides describe the overrides that should be applied to the base template of the Kubernetes object before it // is propagated to individual member clusters. // +optional Overrides []OverrideWithController `json:"overrides,omitempty"` // Placements describe the member clusters that the Kubernetes object will be propagated to, which is a union of all // the listed clusters. // +optional Placements []PlacementWithController `json:"placements,omitempty"` // Follows defines other objects, or "leaders", that the Kubernetes object should follow during propagation, i.e. // the Kubernetes object should be propagated to all member clusters that its "leaders" are placed in. // +optional Follows []LeaderReference `json:"follows,omitempty"` }
GenericFederatedObjectSpec defines the desired behavior of a FederatedObject or ClusterFederatedObject.
func (*GenericFederatedObjectSpec) DeepCopy ¶
func (in *GenericFederatedObjectSpec) DeepCopy() *GenericFederatedObjectSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericFederatedObjectSpec.
func (*GenericFederatedObjectSpec) DeepCopyInto ¶
func (in *GenericFederatedObjectSpec) DeepCopyInto(out *GenericFederatedObjectSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GenericFederatedObjectSpec) DeleteControllerOverrides ¶
func (spec *GenericFederatedObjectSpec) DeleteControllerOverrides(controller string) bool
DeleteControllerOverrides deletes a controller's overrides, returning a bool to indicate if the GenericFederatedObject has changed.
func (*GenericFederatedObjectSpec) DeleteControllerPlacement ¶
func (spec *GenericFederatedObjectSpec) DeleteControllerPlacement(controller string) bool
DeleteClusterPlacement deletes a controller's placement, returning a bool to indicate if the GenericFederatedObject has changed.
func (*GenericFederatedObjectSpec) GetControllerOverrides ¶
func (spec *GenericFederatedObjectSpec) GetControllerOverrides(controller string) []ClusterReferenceWithPatches
func (*GenericFederatedObjectSpec) GetControllerPlacement ¶
func (spec *GenericFederatedObjectSpec) GetControllerPlacement(controller string) []ClusterReference
GetControllerPlacement returns the slice containing all the ClusterPlacements from a given controller. Returns nil if the controller is not present.
func (*GenericFederatedObjectSpec) GetPlacementUnion ¶
func (spec *GenericFederatedObjectSpec) GetPlacementUnion() sets.Set[string]
GetPlacementUnion returns the union of all clusters listed under the Placement field of the GenericFederatedObject.
func (*GenericFederatedObjectSpec) GetTemplateAsUnstructured ¶
func (spec *GenericFederatedObjectSpec) GetTemplateAsUnstructured() (*unstructured.Unstructured, error)
GetTemplateAsUnstructured returns the FederatedObject's template unmarshalled into an *unstructured.Unstructured.
func (*GenericFederatedObjectSpec) GetTemplateMetadata ¶
func (spec *GenericFederatedObjectSpec) GetTemplateMetadata() (*metav1.PartialObjectMetadata, error)
func (*GenericFederatedObjectSpec) SetControllerOverrides ¶
func (spec *GenericFederatedObjectSpec) SetControllerOverrides( controller string, clusterOverrides []ClusterReferenceWithPatches, ) bool
SetControllerOverrides sets the cluster overrides for a given controller. If clusterNames is nil or empty, the previous overrides for the given controller will be deleted. Returns a bool indicating if the GenericFederatedObject has changed.
func (*GenericFederatedObjectSpec) SetControllerPlacement ¶
func (spec *GenericFederatedObjectSpec) SetControllerPlacement(controller string, clusterNames []string) bool
SetControllerPlacement sets the cluster placements for a given controller. If clusterNames is nil or empty, the previous placement for the given controller will be deleted. Returns a bool indicating if the GenericFederatedObject has changed.
type GenericFederatedObjectStatus ¶
type GenericFederatedObjectStatus struct { // SyncedGeneration is the generation of this FederatedObject when it was last synced to selected member clusters. SyncedGeneration int64 `json:"syncedGeneration,omitempty"` // Conditions describe the current state of this FederatedObject. Conditions []GenericFederatedObjectCondition `json:"conditions,omitempty"` // Clusters contains the propagation status of the Kubernetes object for individual member clusters. Clusters []PropagationStatus `json:"clusters,omitempty"` }
GenericFederatedObjectStatus describes the most recently observed status of a FederatedObject or ClusterFederatedObject.
func (*GenericFederatedObjectStatus) DeepCopy ¶
func (in *GenericFederatedObjectStatus) DeepCopy() *GenericFederatedObjectStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericFederatedObjectStatus.
func (*GenericFederatedObjectStatus) DeepCopyInto ¶
func (in *GenericFederatedObjectStatus) DeepCopyInto(out *GenericFederatedObjectStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GenericOverridePolicy ¶
type GenericOverridePolicy interface { metav1.Object pkgruntime.Object GetSpec() *GenericOverridePolicySpec GetKey() string GenericRefCountedPolicy }
type GenericOverridePolicySpec ¶
type GenericOverridePolicySpec struct { // OverrideRules specify the override rules. // Each rule specifies the overriders and the clusters these overriders should be applied to. // +optional OverrideRules []OverrideRule `json:"overrideRules,omitempty"` }
func (*GenericOverridePolicySpec) DeepCopy ¶
func (in *GenericOverridePolicySpec) DeepCopy() *GenericOverridePolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericOverridePolicySpec.
func (*GenericOverridePolicySpec) DeepCopyInto ¶
func (in *GenericOverridePolicySpec) DeepCopyInto(out *GenericOverridePolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GenericPropagationPolicy ¶
type GenericPropagationPolicy interface { metav1.Object pkgruntime.Object GetSpec() *PropagationPolicySpec GenericRefCountedPolicy }
type GenericRefCountedPolicy ¶
type GenericRefCountedPolicy interface { metav1.Object pkgruntime.Object GetRefCountedStatus() *GenericRefCountedStatus }
type GenericRefCountedStatus ¶
type GenericRefCountedStatus struct { // +kubebuilder:validation:Minimum=0 RefCount int64 `json:"refCount,omitempty"` TypedRefCount []TypedRefCount `json:"typedRefCount,omitempty"` }
func (*GenericRefCountedStatus) DeepCopy ¶
func (in *GenericRefCountedStatus) DeepCopy() *GenericRefCountedStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericRefCountedStatus.
func (*GenericRefCountedStatus) DeepCopyInto ¶
func (in *GenericRefCountedStatus) DeepCopyInto(out *GenericRefCountedStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageOverrider ¶
type ImageOverrider struct { // ContainerNames are ignored when ImagePath is set. // If empty, the image override rule applies to all containers. // Otherwise, this override targets the specified container(s) or init container(s) in the pod template. // +optional ContainerNames []string `json:"containerNames,omitempty"` // ImagePath indicates the image path to target. // For Example: /spec/template/spec/containers/0/image // // If empty, the system will automatically resolve the image path if the resource type is // Pod, CronJob, Deployment, StatefulSet, DaemonSet or Job. // +optional ImagePath string `json:"imagePath,omitempty"` // Operations are the specific operations to be performed on ContainerNames or ImagePath. Operations []Operation `json:"operations"` }
func (*ImageOverrider) DeepCopy ¶
func (in *ImageOverrider) DeepCopy() *ImageOverrider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageOverrider.
func (*ImageOverrider) DeepCopyInto ¶
func (in *ImageOverrider) DeepCopyInto(out *ImageOverrider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JsonPatchOverrider ¶
type JsonPatchOverrider struct { // Operator specifies the operation. // If omitted, defaults to "replace". // +optional Operator string `json:"operator,omitempty"` // Path is a JSON pointer (RFC 6901) specifying the location within the resource document where the // operation is performed. // Each key in the path should be prefixed with "/", // while "~" and "/" should be escaped as "~0" and "~1" respectively. // For example, to add a label "kubeadmiral.io/label", // the path should be "/metadata/labels/kubeadmiral.io~1label". Path string `json:"path"` // Value is the value(s) required by the operation. Value apiextensionsv1.JSON `json:"value,omitempty"` }
func (*JsonPatchOverrider) DeepCopy ¶
func (in *JsonPatchOverrider) DeepCopy() *JsonPatchOverrider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JsonPatchOverrider.
func (*JsonPatchOverrider) DeepCopyInto ¶
func (in *JsonPatchOverrider) DeepCopyInto(out *JsonPatchOverrider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LeaderReference ¶
type LeaderReference struct { Group string `json:"group,omitempty"` Kind string `json:"kind"` Namespace string `json:"namespace,omitempty"` Name string `json:"name"` }
LeaderReference contains the identifying metadata of a "leader" Kubernetes object.
func (*LeaderReference) DeepCopy ¶
func (in *LeaderReference) DeepCopy() *LeaderReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeaderReference.
func (*LeaderReference) DeepCopyInto ¶
func (in *LeaderReference) DeepCopyInto(out *LeaderReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LeaderReference) GroupKind ¶
func (l *LeaderReference) GroupKind() schema.GroupKind
type LocalSecretReference ¶
type LocalSecretReference struct { // Name of a secret within the enclosing namespace Name string `json:"name"` }
LocalSecretReference is a reference to a secret within the enclosing namespace.
func (*LocalSecretReference) DeepCopy ¶
func (in *LocalSecretReference) DeepCopy() *LocalSecretReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalSecretReference.
func (*LocalSecretReference) DeepCopyInto ¶
func (in *LocalSecretReference) DeepCopyInto(out *LocalSecretReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Operation ¶
type Operation struct { // ImageComponent is the part of the image to override. // +kubebuilder:validation:Enum=Registry;Repository;Tag;Digest ImageComponent string `json:"imageComponent"` // Operator specifies the operation. // If omitted, defaults to "overwrite". // +kubebuilder:validation:Enum=addIfAbsent;overwrite;delete // +optional Operator string `json:"operator,omitempty"` // Value is the value required by the operation. // For 'addIfAbsent' Operator, the old value of ImageComponent should be empty, and the Value shouldn't be empty. // +optional Value string `json:"value,omitempty"` }
func (*Operation) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Operation.
func (*Operation) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OverridePatch ¶
type OverridePatch struct { Op string `json:"op,omitempty"` Path string `json:"path"` Value apiextensionsv1.JSON `json:"value,omitempty"` }
OverridePatch defines a JSON patch.
func (*OverridePatch) DeepCopy ¶
func (in *OverridePatch) DeepCopy() *OverridePatch
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverridePatch.
func (*OverridePatch) DeepCopyInto ¶
func (in *OverridePatch) DeepCopyInto(out *OverridePatch)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OverridePatches ¶
type OverridePatches []OverridePatch
OverridePatches is a list of OverridePatch.
func (OverridePatches) DeepCopy ¶
func (in OverridePatches) DeepCopy() OverridePatches
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverridePatches.
func (OverridePatches) DeepCopyInto ¶
func (in OverridePatches) DeepCopyInto(out *OverridePatches)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OverridePolicy ¶
type OverridePolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec GenericOverridePolicySpec `json:"spec"` // +optional Status OverridePolicyStatus `json:"status,omitempty"` }
OverridePolicy describes the override rules for a resource.
func (*OverridePolicy) DeepCopy ¶
func (in *OverridePolicy) DeepCopy() *OverridePolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverridePolicy.
func (*OverridePolicy) DeepCopyInto ¶
func (in *OverridePolicy) DeepCopyInto(out *OverridePolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OverridePolicy) DeepCopyObject ¶
func (in *OverridePolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*OverridePolicy) GetKey ¶
func (pp *OverridePolicy) GetKey() string
func (*OverridePolicy) GetRefCountedStatus ¶
func (pp *OverridePolicy) GetRefCountedStatus() *GenericRefCountedStatus
func (*OverridePolicy) GetSpec ¶
func (pp *OverridePolicy) GetSpec() *GenericOverridePolicySpec
type OverridePolicyList ¶
type OverridePolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []OverridePolicy `json:"items"` }
OverridePolicyList contains a list of OverridePolicy
func (*OverridePolicyList) DeepCopy ¶
func (in *OverridePolicyList) DeepCopy() *OverridePolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverridePolicyList.
func (*OverridePolicyList) DeepCopyInto ¶
func (in *OverridePolicyList) DeepCopyInto(out *OverridePolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OverridePolicyList) DeepCopyObject ¶
func (in *OverridePolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type OverridePolicyStatus ¶
type OverridePolicyStatus struct {
GenericRefCountedStatus `json:",inline"`
}
func (*OverridePolicyStatus) DeepCopy ¶
func (in *OverridePolicyStatus) DeepCopy() *OverridePolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverridePolicyStatus.
func (*OverridePolicyStatus) DeepCopyInto ¶
func (in *OverridePolicyStatus) DeepCopyInto(out *OverridePolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OverrideRule ¶
type OverrideRule struct { // TargetClusters selects the clusters in which the overriders in this rule should be applied. // If multiple types of selectors are specified, the overall result is the intersection of all of them. // +optional TargetClusters *TargetClusters `json:"targetClusters,omitempty"` // Overriders specify the overriders to be applied in the target clusters. // +optional Overriders *Overriders `json:"overriders,omitempty"` }
func (*OverrideRule) DeepCopy ¶
func (in *OverrideRule) DeepCopy() *OverrideRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverrideRule.
func (*OverrideRule) DeepCopyInto ¶
func (in *OverrideRule) DeepCopyInto(out *OverrideRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OverrideWithController ¶
type OverrideWithController struct { // Controller identifies the controller responsible for this override. Controller string `json:"controller"` // Override is the list of member clusters and their respective override patches. Override []ClusterReferenceWithPatches `json:"clusters"` }
OverrideWithController describes the overrides that will be applied to a Kubernetes object before it is propagated to individual member clusters.
func (*OverrideWithController) DeepCopy ¶
func (in *OverrideWithController) DeepCopy() *OverrideWithController
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverrideWithController.
func (*OverrideWithController) DeepCopyInto ¶
func (in *OverrideWithController) DeepCopyInto(out *OverrideWithController)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Overriders ¶
type Overriders struct { // Image specifies the overriders that apply to the image. // +optional Image []ImageOverrider `json:"image,omitempty"` // Command specifies overriders that apply to the container commands. // +optional Command []EntrypointOverrider `json:"command,omitempty"` // Args specifies overriders that apply to the container arguments. // +optional Args []EntrypointOverrider `json:"args,omitempty"` // Annotation specifies overriders that apply to the resource annotations. // +optional Annotations []StringMapOverrider `json:"annotations,omitempty"` // Label specifies overriders that apply to the resource labels. // +optional Labels []StringMapOverrider `json:"labels,omitempty"` // JsonPatch specifies overriders in a syntax similar to RFC6902 JSON Patch. // +optional JsonPatch []JsonPatchOverrider `json:"jsonpatch,omitempty"` }
Overriders contains a list of override patches. The order in which the override patches take effect is: - Image - Command - Args - Annotations - Labels - JsonPatch
func (*Overriders) DeepCopy ¶
func (in *Overriders) DeepCopy() *Overriders
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Overriders.
func (*Overriders) DeepCopyInto ¶
func (in *Overriders) DeepCopyInto(out *Overriders)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PathDefinition ¶
type PathDefinition struct { // Path to a metav1.LabelSelector field that selects the replicas for this object. // E.g. `spec.selector` for Deployment and ReplicaSet. // +optional LabelSelector string `json:"labelSelector,omitempty"` // Path to a numeric field that indicates the number of replicas that an object can be divided into. // E.g. `spec.replicas` for Deployment and ReplicaSet. // +optional ReplicasSpec string `json:"replicasSpec,omitempty"` // Path to a numeric field that reflects the number of replicas that the object currently has. // E.g. `status.replicas` for Deployment and ReplicaSet. // +optional ReplicasStatus string `json:"replicasStatus,omitempty"` // Path to a numeric field that reflects the number of available replicas that the object currently has. // E.g. `status.availableReplicas` for Deployment and ReplicaSet. // +optional AvailableReplicasStatus string `json:"availableReplicasStatus,omitempty"` // Path to a numeric field that reflects the number of ready replicas that the object currently has. // E.g. `status.readyReplicas` for Deployment and ReplicaSet. // +optional ReadyReplicasStatus string `json:"readyReplicasStatus,omitempty"` }
PathDefinition contains paths to various fields in the source object that are required by controllers.
func (*PathDefinition) DeepCopy ¶
func (in *PathDefinition) DeepCopy() *PathDefinition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathDefinition.
func (*PathDefinition) DeepCopyInto ¶
func (in *PathDefinition) DeepCopyInto(out *PathDefinition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PlacementWithController ¶
type PlacementWithController struct { // Controller identifies the controller responsible for this placement. Controller string `json:"controller"` // Placement is the list of member clusters that the Kubernetes object should be propagated to. Placement []ClusterReference `json:"placement"` }
PlacementWithController describes the member clusters that a Kubernetes object should be propagated to.
func (*PlacementWithController) DeepCopy ¶
func (in *PlacementWithController) DeepCopy() *PlacementWithController
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlacementWithController.
func (*PlacementWithController) DeepCopyInto ¶
func (in *PlacementWithController) DeepCopyInto(out *PlacementWithController)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Plugin ¶
type Plugin struct { // Type defines the type of the plugin. Type should be omitted when referencing in-tree plugins. // +optional Type PluginType `json:"type,omitempty"` // Name defines the name of the plugin. Name string `json:"name,omitempty"` // Weight defines the weight of the plugin. // +kubebuilder:validation:Minimum=0 // +optional Weight int64 `json:"wait,omitempty"` }
Plugin specifies a plugin type, name and its weight when applicable. Weight is used only for Score plugins.
func (*Plugin) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Plugin.
func (*Plugin) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PluginConfig ¶
type PluginConfig struct { // Name defines the name of plugin being configured. Name string `json:"name"` // Args defines the arguments passed to the plugins at the time of initialization. Args can have arbitrary structure. // +optional Args apiextensionsv1.JSON `json:"args"` }
PluginConfig specifies arguments that should be passed to a plugin at the time of initialization. A plugin that is invoked at multiple extension points is initialized once. Args can have arbitrary structure. It is up to the plugin to process these Args.
func (*PluginConfig) DeepCopy ¶
func (in *PluginConfig) DeepCopy() *PluginConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginConfig.
func (*PluginConfig) DeepCopyInto ¶
func (in *PluginConfig) DeepCopyInto(out *PluginConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PluginSet ¶
type PluginSet struct { // Enabled specifies plugins that should be enabled in addition to the default plugins. // Enabled plugins are called in the order specified here, after default plugins. If they need to // be invoked before default plugins, default plugins must be disabled and re-enabled here in desired order. // +optional Enabled []Plugin `json:"enabled,omitempty"` // Disabled specifies default plugins that should be disabled. // +optional Disabled []Plugin `json:"disabled,omitempty"` }
PluginSet contains the list of enabled and disabled plugins.
func (*PluginSet) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginSet.
func (*PluginSet) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PluginType ¶
type PluginType string
+kubebuilder:validation:Enum=Webhook
const (
WebhookPlugin PluginType = "Webhook"
)
type Plugins ¶
type Plugins struct { // Filter is the list of plugins that should be invoked during the filter phase. // +optional Filter PluginSet `json:"filter,omitempty"` // Score is the list of plugins that should be invoked during the score phase. // +optional Score PluginSet `json:"score,omitempty"` // Select is the list of plugins that should be invoked during the select phase. // +optional Select PluginSet `json:"select,omitempty"` }
Plugins include multiple extension points. When specified, the list of plugins for a particular extension point are the only ones enabled. If an extension point is omitted from the config, then the default set of plugins is used for that extension point.
func (*Plugins) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Plugins.
func (*Plugins) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Preferences ¶
type Preferences struct { // Minimum number of replicas that should be assigned to this cluster workload object. 0 by default. // +optional // +kubebuilder:validation:Minimum=0 MinReplicas int64 `json:"minReplicas,omitempty"` // Maximum number of replicas that should be assigned to this cluster workload object. // Unbounded if no value provided (default). // +optional // +kubebuilder:validation:Minimum=0 MaxReplicas *int64 `json:"maxReplicas,omitempty"` // A number expressing the preference to put an additional replica to this cluster workload object. // It will not take effect when ReplicasStrategy is Binpack. // +optional // +kubebuilder:validation:Minimum=0 Weight *int64 `json:"weight,omitempty"` // A number expressing the priority of the cluster. // The higher the value, the higher the priority. // When selecting clusters for propagation, clusters with higher priority are preferred. // When the Binpack ReplicasStrategy is selected, replicas will be scheduled to clusters with higher priority first. // +optional // +kubebuilder:validation:Minimum=0 Priority *int64 `json:"priority,omitempty"` }
Preferences regarding number of replicas assigned to a cluster workload object (dep, rs, ..) within a federated workload object.
func (*Preferences) DeepCopy ¶
func (in *Preferences) DeepCopy() *Preferences
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Preferences.
func (*Preferences) DeepCopyInto ¶
func (in *Preferences) DeepCopyInto(out *Preferences)
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"` // +optional Status PropagatedVersionStatus `json:"status,omitempty"` }
PropagatedVersion holds version information about the state propagated from FederatedObject to member clusters. The name of a PropagatedVersion is the same as its FederatedObject. If a target resource has a populated metadata.Generation field, the generation will be stored with a prefix of `gen:` as the version for the cluster. If metadata.Generation is not available, metadata.ResourceVersion will be stored with a prefix of `rv:` as the version for the cluster.
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"` }
PropagatedVersionList contains a list of PropagatedVersion
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 PropagatedVersionStatus ¶
type PropagatedVersionStatus struct { // The observed version of the template for this resource. TemplateVersion string `json:"templateVersion"` // The observed version of the overrides for this resource. OverrideVersion string `json:"overridesVersion"` // The last versions produced in each cluster for this resource. // +optional 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.
type PropagationPolicy ¶
type PropagationPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PropagationPolicySpec `json:"spec"` // +optional Status PropagationPolicyStatus `json:"status,omitempty"` }
PropagationPolicy describes the scheduling rules for a resource.
func (*PropagationPolicy) DeepCopy ¶
func (in *PropagationPolicy) DeepCopy() *PropagationPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PropagationPolicy.
func (*PropagationPolicy) DeepCopyInto ¶
func (in *PropagationPolicy) DeepCopyInto(out *PropagationPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PropagationPolicy) DeepCopyObject ¶
func (in *PropagationPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*PropagationPolicy) GetRefCountedStatus ¶
func (pp *PropagationPolicy) GetRefCountedStatus() *GenericRefCountedStatus
func (*PropagationPolicy) GetSpec ¶
func (pp *PropagationPolicy) GetSpec() *PropagationPolicySpec
func (*PropagationPolicy) GetStatus ¶
func (pp *PropagationPolicy) GetStatus() *PropagationPolicyStatus
type PropagationPolicyList ¶
type PropagationPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PropagationPolicy `json:"items"` }
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true
func (*PropagationPolicyList) DeepCopy ¶
func (in *PropagationPolicyList) DeepCopy() *PropagationPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PropagationPolicyList.
func (*PropagationPolicyList) DeepCopyInto ¶
func (in *PropagationPolicyList) DeepCopyInto(out *PropagationPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PropagationPolicyList) DeepCopyObject ¶
func (in *PropagationPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PropagationPolicySpec ¶
type PropagationPolicySpec struct { // Profile determines the scheduling profile to be used for scheduling // +optional SchedulingProfile string `json:"schedulingProfile"` // SchedulingMode determines the mode used for scheduling. SchedulingMode SchedulingMode `json:"schedulingMode"` // ReplicasStrategy is the strategy used for scheduling replicas. // +optional // +kubebuilder:default:=Spread ReplicasStrategy *ReplicasStrategy `json:"replicasStrategy,omitempty"` // ClusterSelector is a label query over clusters to consider for scheduling. // An empty or nil ClusterSelector selects everything. // +optional ClusterSelector map[string]string `json:"clusterSelector,omitempty"` // ClusterAffinity is a list of cluster selector terms, the terms are ORed. // A empty or nil ClusterAffinity selects everything. // +optional ClusterAffinity []ClusterSelectorTerm `json:"clusterAffinity,omitempty"` // Tolerations describe a set of cluster taints that the policy tolerates. // +optional Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // MaxClusters is the maximum number of replicas that the federated object can be propagated to. // The maximum number of clusters is unbounded if no value is provided. // +optional MaxClusters *int64 `json:"maxClusters,omitempty"` // Placement is an explicit list of clusters used to select member clusters to propagate resources to. // +optional Placements []DesiredPlacement `json:"placement,omitempty"` // DisableFollowerScheduling is a boolean that determines if follower scheduling is disabled. // Resources that depend on other resources (e.g. deployments) are called leaders, // and resources that are depended on (e.g. configmaps and secrets) are called followers. // If a leader enables follower scheduling, its followers will additionally be scheduled // to clusters where the leader is scheduled. // +optional DisableFollowerScheduling bool `json:"disableFollowerScheduling,omitempty"` // Configures behaviors related to auto migration. If absent, auto migration will be disabled. // +optional AutoMigration *AutoMigration `json:"autoMigration,omitempty"` // Configures behaviors related to rescheduling. // +optional // +kubebuilder:default:={rescheduleWhen:{policyContentChanged:true}} ReschedulePolicy *ReschedulePolicy `json:"reschedulePolicy,omitempty"` }
func (*PropagationPolicySpec) DeepCopy ¶
func (in *PropagationPolicySpec) DeepCopy() *PropagationPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PropagationPolicySpec.
func (*PropagationPolicySpec) DeepCopyInto ¶
func (in *PropagationPolicySpec) DeepCopyInto(out *PropagationPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PropagationPolicyStatus ¶
type PropagationPolicyStatus struct {
GenericRefCountedStatus `json:",inline"`
}
func (*PropagationPolicyStatus) DeepCopy ¶
func (in *PropagationPolicyStatus) DeepCopy() *PropagationPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PropagationPolicyStatus.
func (*PropagationPolicyStatus) DeepCopyInto ¶
func (in *PropagationPolicyStatus) DeepCopyInto(out *PropagationPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PropagationStatus ¶
type PropagationStatus struct { // Cluster is the name of the member cluster. Cluster string `json:"cluster"` // Status describes the current status of propagating the Kubernetes object to the member cluster. Status PropagationStatusType `json:"status"` // LastObservedGeneration is the last observed generation of the Kubernetes object in the member cluster. LastObservedGeneration int64 `json:"lastObservedGeneration,omitempty"` }
PropagationStatus describes the propagation of a Kubernetes object to a given member cluster.
func (*PropagationStatus) DeepCopy ¶
func (in *PropagationStatus) DeepCopy() *PropagationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PropagationStatus.
func (*PropagationStatus) DeepCopyInto ¶
func (in *PropagationStatus) DeepCopyInto(out *PropagationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PropagationStatusType ¶
type PropagationStatusType string
PropagationStatusType is a unique, camel-case word to describe the current status of propagating a Kubernetes object to a member cluster.
const ( ClusterPropagationOK PropagationStatusType = "OK" WaitingForRemoval PropagationStatusType = "WaitingForRemoval" WaitingForCascadingDeletion PropagationStatusType = "WaitingForCascadingDeletion" PendingCreate PropagationStatusType = "PendingCreate" ClusterNotReady PropagationStatusType = "ClusterNotReady" ClusterTerminating PropagationStatusType = "ClusterTerminating" CachedRetrievalFailed PropagationStatusType = "CachedRetrievalFailed" ComputeResourceFailed PropagationStatusType = "ComputeResourceFailed" ApplyOverridesFailed PropagationStatusType = "ApplyOverridesFailed" CreationFailed PropagationStatusType = "CreationFailed" UpdateFailed PropagationStatusType = "UpdateFailed" DeletionFailed PropagationStatusType = "DeletionFailed" LabelRemovalFailed PropagationStatusType = "LabelRemovalFailed" RetrievalFailed PropagationStatusType = "RetrievalFailed" AlreadyExists PropagationStatusType = "AlreadyExists" FieldRetentionFailed PropagationStatusType = "FieldRetentionFailed" SetLastReplicasetNameFailed PropagationStatusType = "SetLastReplicasetNameFailed" VersionRetrievalFailed PropagationStatusType = "VersionRetrievalFailed" ClientRetrievalFailed PropagationStatusType = "ClientRetrievalFailed" ManagedLabelFalse PropagationStatusType = "ManagedLabelFalse" FinalizerCheckFailed PropagationStatusType = "FinalizerCheckFailed" CreationTimedOut PropagationStatusType = "CreationTimedOut" UpdateTimedOut PropagationStatusType = "UpdateTimedOut" DeletionTimedOut PropagationStatusType = "DeletionTimedOut" LabelRemovalTimedOut PropagationStatusType = "LabelRemovalTimedOut" )
type ReplicaRescheduling ¶
type ReplicaRescheduling struct { // If set to true, the scheduler will attempt to prevent migrating existing replicas during rescheduling. // In order to do so, replica scheduling preferences might not be fully respected. // If set to false, the scheduler will always rebalance the replicas based on the specified preferences, which might // cause temporary service disruption. // +optional // +kubebuilder:default:=true AvoidDisruption bool `json:"avoidDisruption"` }
Preferences regarding replica rescheduling.
func (*ReplicaRescheduling) DeepCopy ¶
func (in *ReplicaRescheduling) DeepCopy() *ReplicaRescheduling
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicaRescheduling.
func (*ReplicaRescheduling) DeepCopyInto ¶
func (in *ReplicaRescheduling) DeepCopyInto(out *ReplicaRescheduling)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReplicasStrategy ¶
type ReplicasStrategy string
ReplicasStrategy is the strategy used by the scheduler when assigning replicas. It will not take effect when SchedulingMode is Duplicate. +kubebuilder:validation:Enum=Binpack;Spread
const ( // ReplicasStrategyBinpack minimizes the number of clusters to schedule replicas, // while considering clusters' capacity during the division. ReplicasStrategyBinpack ReplicasStrategy = "Binpack" // ReplicasStrategySpread spreads the replicas into clusters according to their weights. // If weights are not specified, replicas will be dynamically divided // according to allocatable and available resources of clusters. ReplicasStrategySpread ReplicasStrategy = "Spread" )
type ReschedulePolicy ¶
type ReschedulePolicy struct { // DisableRescheduling determines if a federated object can be rescheduled. // +optional DisableRescheduling bool `json:"disableRescheduling,omitempty"` // When the related objects should be subject to reschedule. // +optional Trigger *RescheduleTrigger `json:"rescheduleWhen,omitempty"` // Configures behaviors related to replica rescheduling. // +optional // Default set via a post-generation patch. // See patch file for details. ReplicaRescheduling *ReplicaRescheduling `json:"replicaRescheduling,omitempty"` }
ReschedulePolicy describes the rescheduling policy.
func (*ReschedulePolicy) DeepCopy ¶
func (in *ReschedulePolicy) DeepCopy() *ReschedulePolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReschedulePolicy.
func (*ReschedulePolicy) DeepCopyInto ¶
func (in *ReschedulePolicy) DeepCopyInto(out *ReschedulePolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RescheduleTrigger ¶
type RescheduleTrigger struct { // If set to true, the scheduler will trigger rescheduling when the semantics of the policy changes. For example, // modifying placement, schedulingMode, maxClusters, clusterSelector, and other configurations related to // scheduling (includes reschedulePolicy itself) will immediately trigger rescheduling. Modifying the labels, // annotations, autoMigration configuration will not trigger rescheduling. // It set to false, the scheduler will not reschedule when the policy content changes. // +optional // +kubebuilder:default:=true PolicyContentChanged bool `json:"policyContentChanged"` // If set to true, clusters joining the federation will trigger rescheduling. // It set to false, the scheduler will reschedule only when other options are triggered or the replicas or the // requested resources of the template changed. // +optional // +kubebuilder:default:=false ClusterJoined bool `json:"clusterJoined"` // If set to true, changes to cluster labels will trigger rescheduling. // It set to false, the scheduler will reschedule only when other options are triggered or the replicas or the // requested resources of the template changed. // +optional // +kubebuilder:default:=false ClusterLabelsChanged bool `json:"clusterLabelsChanged"` // If set to true, changes to clusters' enabled list of api resources will trigger rescheduling. // It set to false, the scheduler will reschedule only when other options are triggered or the replicas or the // requested resources of the template changed. // +optional // +kubebuilder:default:=false ClusterAPIResourcesChanged bool `json:"clusterAPIResourcesChanged"` }
RescheduleTrigger configures the criteria for triggering rescheduling.
func (*RescheduleTrigger) DeepCopy ¶
func (in *RescheduleTrigger) DeepCopy() *RescheduleTrigger
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RescheduleTrigger.
func (*RescheduleTrigger) DeepCopyInto ¶
func (in *RescheduleTrigger) DeepCopyInto(out *RescheduleTrigger)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Resources ¶
type Resources struct { // SchedulableNodes represents number of nodes which is ready and schedulable. // +optional SchedulableNodes *int64 `json:"schedulableNodes,omitempty"` // Allocatable represents the total resources that are allocatable for scheduling. // +optional Allocatable corev1.ResourceList `json:"allocatable,omitempty"` // Available represents the resources currently available for scheduling. // +optional Available corev1.ResourceList `json:"available,omitempty"` }
Resources describes a cluster's resources
func (*Resources) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resources.
func (*Resources) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SchedulerPluginWebhookConfiguration ¶
type SchedulerPluginWebhookConfiguration struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec SchedulerPluginWebhookConfigurationSpec `json:"spec"` }
SchedulerPluginWebhookConfiguration is a webhook that can be used as a scheduler plugin.
func (*SchedulerPluginWebhookConfiguration) DeepCopy ¶
func (in *SchedulerPluginWebhookConfiguration) DeepCopy() *SchedulerPluginWebhookConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulerPluginWebhookConfiguration.
func (*SchedulerPluginWebhookConfiguration) DeepCopyInto ¶
func (in *SchedulerPluginWebhookConfiguration) DeepCopyInto(out *SchedulerPluginWebhookConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SchedulerPluginWebhookConfiguration) DeepCopyObject ¶
func (in *SchedulerPluginWebhookConfiguration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SchedulerPluginWebhookConfigurationList ¶
type SchedulerPluginWebhookConfigurationList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []SchedulerPluginWebhookConfiguration `json:"items"` }
SchedulerPluginWebhookConfigurationList contains a list of SchedulerPluginWebhookConfiguration.
func (*SchedulerPluginWebhookConfigurationList) DeepCopy ¶
func (in *SchedulerPluginWebhookConfigurationList) DeepCopy() *SchedulerPluginWebhookConfigurationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulerPluginWebhookConfigurationList.
func (*SchedulerPluginWebhookConfigurationList) DeepCopyInto ¶
func (in *SchedulerPluginWebhookConfigurationList) DeepCopyInto(out *SchedulerPluginWebhookConfigurationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SchedulerPluginWebhookConfigurationList) DeepCopyObject ¶
func (in *SchedulerPluginWebhookConfigurationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SchedulerPluginWebhookConfigurationSpec ¶
type SchedulerPluginWebhookConfigurationSpec struct { // PayloadVersions is an ordered list of preferred request and response // versions the webhook expects. // The scheduler will try to use the first version in // the list which it supports. If none of the versions specified in this list // supported by the scheduler, scheduling will fail for this object. // +kubebuilder:validation:Required // +kubebuilder:validation:MinItems=1 PayloadVersions []string `json:"payloadVersions"` // URLPrefix at which the webhook is available // +kubebuilder:validation:Required URLPrefix string `json:"urlPrefix"` // Path for the filter call, empty if not supported. This path is appended to the URLPrefix when issuing the filter call to webhook. FilterPath string `json:"filterPath,omitempty"` // Path for the score call, empty if not supported. This verb is appended to the URLPrefix when issuing the score call to webhook. ScorePath string `json:"scorePath,omitempty"` // Path for the select call, empty if not supported. This verb is appended to the URLPrefix when issuing the select call to webhook. SelectPath string `json:"selectPath,omitempty"` // TLSConfig specifies the transport layer security config. TLSConfig *WebhookTLSConfig `json:"tlsConfig,omitempty"` // HTTPTimeout specifies the timeout duration for a call to the webhook. Timeout fails the scheduling of the workload. // Defaults to 5 seconds. // +kubebuilder:default:="5s" // +kubebuilder:validation:Format:=duration HTTPTimeout metav1.Duration `json:"httpTimeout,omitempty"` }
func (*SchedulerPluginWebhookConfigurationSpec) DeepCopy ¶
func (in *SchedulerPluginWebhookConfigurationSpec) DeepCopy() *SchedulerPluginWebhookConfigurationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulerPluginWebhookConfigurationSpec.
func (*SchedulerPluginWebhookConfigurationSpec) DeepCopyInto ¶
func (in *SchedulerPluginWebhookConfigurationSpec) DeepCopyInto(out *SchedulerPluginWebhookConfigurationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SchedulingMode ¶
type SchedulingMode string
SchedulingMode determines the mode used by the scheduler when scheduling federated objects. +kubebuilder:validation:Enum=Duplicate;Divide
const ( // Duplicate mode means the federated object will be duplicated to member clusters. SchedulingModeDuplicate SchedulingMode = "Duplicate" // Divide mode means the federated object's replicas will be divided between member clusters. SchedulingModeDivide SchedulingMode = "Divide" )
type SchedulingProfile ¶
type SchedulingProfile struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec SchedulingProfileSpec `json:"spec"` }
SchedulingProfile configures the plugins to use when scheduling a resource
func (*SchedulingProfile) DeepCopy ¶
func (in *SchedulingProfile) DeepCopy() *SchedulingProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingProfile.
func (*SchedulingProfile) DeepCopyInto ¶
func (in *SchedulingProfile) DeepCopyInto(out *SchedulingProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SchedulingProfile) DeepCopyObject ¶
func (in *SchedulingProfile) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*SchedulingProfile) ProfileName ¶
func (s *SchedulingProfile) ProfileName() string
type SchedulingProfileList ¶
type SchedulingProfileList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []SchedulingProfile `json:"items"` }
SchedulingProfileList contains a list of SchedulingProfile
func (*SchedulingProfileList) DeepCopy ¶
func (in *SchedulingProfileList) DeepCopy() *SchedulingProfileList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingProfileList.
func (*SchedulingProfileList) DeepCopyInto ¶
func (in *SchedulingProfileList) DeepCopyInto(out *SchedulingProfileList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SchedulingProfileList) DeepCopyObject ¶
func (in *SchedulingProfileList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SchedulingProfileSpec ¶
type SchedulingProfileSpec struct { // Plugins specify the set of plugins that should be enabled or disabled. // Enabled plugins are the ones that should be enabled in addition to the // default plugins. Disabled plugins are any of the default plugins that // should be disabled. // When no enabled or disabled plugin is specified for an extension point, // default plugins for that extension point will be used if there is any. // +optional Plugins *Plugins `json:"plugins,omitempty"` // PluginConfig is an optional set of custom plugin arguments for each plugin. // Omitting config args for a plugin is equivalent to using the default config // for that plugin. // +optional PluginConfig []PluginConfig `json:"pluginConfig,omitempty"` }
func (*SchedulingProfileSpec) DeepCopy ¶
func (in *SchedulingProfileSpec) DeepCopy() *SchedulingProfileSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingProfileSpec.
func (*SchedulingProfileSpec) DeepCopyInto ¶
func (in *SchedulingProfileSpec) DeepCopyInto(out *SchedulingProfileSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StatusAggregationConfig ¶
type StatusAggregationConfig struct { // Whether or not to enable status aggregation. // +kubebuilder:default:=true Enabled bool `json:"enabled"` }
StatusAggregationConfig defines the configurations for the StatusAggregation feature.
func (*StatusAggregationConfig) DeepCopy ¶
func (in *StatusAggregationConfig) DeepCopy() *StatusAggregationConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusAggregationConfig.
func (*StatusAggregationConfig) DeepCopyInto ¶
func (in *StatusAggregationConfig) DeepCopyInto(out *StatusAggregationConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StatusCollectionConfig ¶
type StatusCollectionConfig struct { // Whether or not to enable status collection. Enabled bool `json:"enabled"` // Contains the fields to be collected during status collection. Each field is a dot separated string that // corresponds to its path in the source object's schema. // E.g. `metadata.creationTimestamp`. Fields []string `json:"fields,omitempty"` }
StatusCollectionConfig defines the configurations for the StatusCollection feature.
func (*StatusCollectionConfig) DeepCopy ¶
func (in *StatusCollectionConfig) DeepCopy() *StatusCollectionConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusCollectionConfig.
func (*StatusCollectionConfig) DeepCopyInto ¶
func (in *StatusCollectionConfig) DeepCopyInto(out *StatusCollectionConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StringMapOverrider ¶
type StringMapOverrider struct { // Operator specifies the operation. // If omitted, defaults to "overwrite". // +kubebuilder:validation:Enum=addIfAbsent;overwrite;delete // +optional Operator string `json:"operator,omitempty"` // Value is the value(s) that will be applied to annotations/labels of resource. // If Operator is 'addIfAbsent', items in Value (empty is not allowed) will be added in annotations/labels. // - For 'addIfAbsent' Operator, the keys in Value cannot conflict with annotations/labels. // If Operator is 'overwrite', items in Value which match in annotations/labels will be replaced. // If Operator is 'delete', items in Value which match in annotations/labels will be deleted. Value map[string]string `json:"value"` }
StringMapOverrider represents the rules dedicated to handling resource labels/annotations
func (*StringMapOverrider) DeepCopy ¶
func (in *StringMapOverrider) DeepCopy() *StringMapOverrider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StringMapOverrider.
func (*StringMapOverrider) DeepCopyInto ¶
func (in *StringMapOverrider) DeepCopyInto(out *StringMapOverrider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TargetClusters ¶
type TargetClusters struct { // Clusters selects FederatedClusters by their names. // Empty Clusters selects all FederatedClusters. // +optional Clusters []string `json:"clusters,omitempty"` // ClusterSelector selects FederatedClusters by their labels. // Empty labels selects all FederatedClusters. // +optional ClusterSelector map[string]string `json:"clusterSelector,omitempty"` // ClusterAffinity selects FederatedClusters by matching their labels and fields against expressions. // If multiple terms are specified, their results are ORed. // +optional ClusterAffinity []ClusterSelectorTerm `json:"clusterAffinity,omitempty"` }
func (*TargetClusters) DeepCopy ¶
func (in *TargetClusters) DeepCopy() *TargetClusters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetClusters.
func (*TargetClusters) DeepCopyInto ¶
func (in *TargetClusters) DeepCopyInto(out *TargetClusters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TypedRefCount ¶
type TypedRefCount struct { Group string `json:"group,omitempty"` Resource string `json:"resource"` // +kubebuilder:validation:Minimum=0 Count int64 `json:"count"` }
func (*TypedRefCount) DeepCopy ¶
func (in *TypedRefCount) DeepCopy() *TypedRefCount
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TypedRefCount.
func (*TypedRefCount) DeepCopyInto ¶
func (in *TypedRefCount) DeepCopyInto(out *TypedRefCount)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WebhookTLSConfig ¶
type WebhookTLSConfig struct { // Server should be accessed without verifying the TLS certificate. For testing only. Insecure bool `json:"insecure,omitempty"` // ServerName is passed to the server for SNI and is used in the client to check server // certificates against. If ServerName is empty, the hostname used to contact the // server is used. ServerName string `json:"serverName,omitempty"` // CertData holds PEM-encoded bytes (typically read from a client certificate file). CertData []byte `json:"certData,omitempty"` // KeyData holds PEM-encoded bytes (typically read from a client certificate key file). KeyData []byte `json:"keyData,omitempty"` // CAData holds PEM-encoded bytes (typically read from a root certificates bundle). CAData []byte `json:"caData,omitempty"` }
WebhookTLSConfig contains settings to enable TLS with the webhook server.
func (*WebhookTLSConfig) DeepCopy ¶
func (in *WebhookTLSConfig) DeepCopy() *WebhookTLSConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookTLSConfig.
func (*WebhookTLSConfig) DeepCopyInto ¶
func (in *WebhookTLSConfig) DeepCopyInto(out *WebhookTLSConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files ¶
- doc.go
- extensions_collectedstatus.go
- extensions_federatedcluster.go
- extensions_federatedobject.go
- extensions_federatedtypeconfig.go
- extensions_overridepolicy.go
- extensions_propagationpolicy.go
- extensions_schedulingprofile.go
- interface.go
- register.go
- types_collectedstatus.go
- types_common.go
- types_federatedcluster.go
- types_federatedobject.go
- types_federatedtypeconfig.go
- types_overridepolicy.go
- types_propagationpolicy.go
- types_propgatedversion.go
- types_schedulerpluginwebhookconfiguration.go
- types_schedulingprofile.go
- zz_generated.deepcopy.go