--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.4.0 creationTimestamp: null name: propagationpolicies.propagationstrategy.karmada.io spec: group: propagationstrategy.karmada.io names: kind: PropagationPolicy listKind: PropagationPolicyList plural: propagationpolicies singular: propagationpolicy scope: Namespaced versions: - name: v1alpha1 schema: openAPIV3Schema: description: PropagationPolicy represents the policy that propagates a group of resources to one or more clusters. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: description: Spec represents the desired behavior of PropagationPolicy. properties: association: description: Association tells if relevant resources should be selected automatically. e.g. a ConfigMap referred by a Deployment. default false. type: boolean placement: description: Placement represents the rule for select clusters to propagate resources. properties: clusterAffinity: description: ClusterAffinity represents scheduling restrictions to a certain set of clusters. If not set, any cluster can be scheduling candidate. properties: clusterNames: description: ClusterNames is the list of clusters to be selected. items: type: string type: array exclude: description: ExcludedClusters is the list of clusters to be ignored. items: type: string type: array fieldSelector: description: FieldSelector is a filter to select member clusters by fields. If non-nil and non-empty, only the clusters match this filter will be selected. properties: matchExpressions: description: A list of field selector requirements. items: description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array type: object labelSelector: description: LabelSelector is a filter to select member clusters by labels. If non-nil and non-empty, only the clusters match this filter will be selected. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array matchLabels: additionalProperties: type: string description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object type: object clusterTolerations: description: ClusterTolerations represents the tolerations. items: description: The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . properties: effect: description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. type: string key: description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. type: string operator: description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. type: string tolerationSeconds: description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. format: int64 type: integer value: description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. type: string type: object type: array spreadConstraints: description: SpreadConstraints represents a list of the scheduling constraints. items: description: SpreadConstraint represents the spread constraints on resources. properties: maximumClusters: description: Maximum restricts the maximum number of cluster units to be selected. type: integer minimumClusters: description: Minimum restricts the minimum number of cluster units to be selected. type: integer spreadByField: description: 'SpreadByField represents the field used for grouping member clusters into units. Resources will be spread among different cluster units. Available field for spreading are: region, zone, cluster and provider.' type: string spreadByLabel: description: SpreadByLabel represents the label key used for grouping member clusters into units. Resources will be spread among different cluster units. type: string type: object type: array type: object resourceSelector: description: ResourceSelectors used to select resources. nil represents all resources. items: description: ResourceSelector the resources will be selected. properties: apiVersion: description: APIVersion represents the API version of the target resources. type: string excludeNamespaces: description: ExcludeNamespaces is a list of namespaces that the ResourceSelector will ignore. Default is empty, which means don't ignore any namespace. items: type: string type: array kind: description: Kind represents the Kind of the target resources. type: string labelSelector: description: A label query over a set of resources. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array matchLabels: additionalProperties: type: string description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object names: description: Names restricts a list of referent names that the ResourceSelector will only select. Default is empty, which means selecting all resources. items: type: string type: array namespaces: description: Namespaces restricts a list of namespaces that the ResourceSelector will only select. If set, only resources in the listed namespaces will be selected. Default is empty, which means selecting all namespaces. items: type: string type: array required: - apiVersion - kind type: object type: array schedulerName: description: SchedulerName represents which scheduler to proceed the scheduling. If specified, the policy will be dispatched by specified scheduler. If not specified, the policy will be dispatched by default scheduler. type: string type: object required: - spec type: object served: true storage: true status: acceptedNames: kind: "" plural: "" conditions: [] storedVersions: []