v1alpha1

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

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

Go to latest
Published: Apr 18, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// DefaultSchedulerName defines the name of default scheduler.
	DefaultSchedulerName = "default-scheduler"
)
View Source
const (
	NamespaceName = "namespaces"
)

Variables

View Source
var (
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	AddToScheme = localSchemeBuilder.AddToScheme
)
View Source
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

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

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

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

func (*ClusterCollectedStatusList) DeepCopyInto

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

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 (*ClusterFederatedObject) GetStatus

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

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

func (*ClusterFederatedObjectList) DeepCopyInto

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

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

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

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

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

func (*ClusterOverridePolicyList) DeepCopyInto

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

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

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

func (*ClusterPropagatedVersionList) DeepCopyInto

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

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 (*ClusterPropagationPolicy) GetStatus

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

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

func (*ClusterPropagationPolicyList) DeepCopyInto

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

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

func (*ClusterReferenceWithPatches) DeepCopyInto

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

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

func (*ClusterSelectorRequirement) DeepCopyInto

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

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

func (*CollectedFieldsWithCluster) DeepCopyInto

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

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

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

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 (*FederatedObject) GetStatus

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

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

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

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

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

func (*GenericFederatedObjectCondition) DeepCopyInto

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

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

func (*GenericFederatedObjectSpec) DeepCopyInto

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

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

func (*GenericFederatedObjectStatus) DeepCopyInto

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

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

func (*GenericOverridePolicySpec) DeepCopyInto

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

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

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

func (in *Operation) DeepCopy() *Operation

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

func (*Operation) DeepCopyInto

func (in *Operation) DeepCopyInto(out *Operation)

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

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

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

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

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

func (in *Plugin) DeepCopy() *Plugin

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

func (*Plugin) DeepCopyInto

func (in *Plugin) DeepCopyInto(out *Plugin)

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

func (in *PluginSet) DeepCopy() *PluginSet

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

func (*PluginSet) DeepCopyInto

func (in *PluginSet) DeepCopyInto(out *PluginSet)

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

func (in *Plugins) DeepCopy() *Plugins

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

func (*Plugins) DeepCopyInto

func (in *Plugins) DeepCopyInto(out *Plugins)

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

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

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 (*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

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

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

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

func (in *Resources) DeepCopy() *Resources

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

func (*Resources) DeepCopyInto

func (in *Resources) DeepCopyInto(out *Resources)

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

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

func (*SchedulerPluginWebhookConfiguration) DeepCopyInto

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

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

func (*SchedulerPluginWebhookConfigurationList) DeepCopyInto

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

func (*SchedulerPluginWebhookConfigurationList) DeepCopyObject

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

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

func (*SchedulerPluginWebhookConfigurationSpec) DeepCopyInto

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

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

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

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

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL