diff --git a/kubernetes/apps/dragonfly-operator-system/dragonfly-operator/app/dragonfly-operator-crd.yaml b/kubernetes/apps/dragonfly-operator-system/dragonfly-operator/app/dragonfly-operator-crd.yaml index c5179726..cc183bf7 100644 --- a/kubernetes/apps/dragonfly-operator-system/dragonfly-operator/app/dragonfly-operator-crd.yaml +++ b/kubernetes/apps/dragonfly-operator-system/dragonfly-operator/app/dragonfly-operator-crd.yaml @@ -1,4 +1,3 @@ ---- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: @@ -1187,6 +1186,14 @@ spec: type: string description: (Optional) Labels to add to the Dragonfly pods. type: object + nodeSelector: + additionalProperties: + type: string + description: (Optional) Dragonfly pod node selector + type: object + priorityClassName: + description: (Optional) Dragonfly pod priority class name + type: string replicas: description: Replicas is the total number of Dragonfly instances including @@ -1567,6 +1574,109 @@ spec: type: string type: object type: array + topologySpreadConstraints: + description: (Optional) Dragonfly pod topologySpreadConstraints + items: + description: The pod this TopologySpreadConstraints is attached + properties: + maxSkew: + description: + the degree to which Pods may be unevenly distributed. + You must specify this field and the number must be greater than zero. + Its semantics differ according to the value of whenUnsatisfiable + format: int32 + type: integer + minDomains: + description: + (Optional) indicates a minimum number of eligible domains. + This field is optional. A domain is a particular instance of a topology. + An eligible domain is a domain whose nodes match the node selector + format: int32 + type: integer + topologyKey: + description: + the key of node labels. Nodes that have a label with this key and + identical values are considered to be in the same topology. We call each + instance of a topology (in other words, a pair) a domain. + The scheduler will try to put a balanced number of pods into each domain. + Also, we define an eligible domain as a domain whose nodes meet the + requirements of nodeAffinityPolicy and nodeTaintsPolicy. + type: string + whenUnsatisfiable: + description: + DoNotSchedule (default) tells the scheduler not to schedule it. + ScheduleAnyway tells the scheduler to still schedule it while prioritizing + nodes that minimize the skew. + type: string + labelSelector: + description: A label query over a set of resources, + in this case pods. + 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 + x-kubernetes-map-type: atomic + matchLabelKeys: + description: + field is a beta-level field and enabled by default in 1.27. + You can disable it by disabling the MatchLabelKeysInPodTopologySpread + items: + type: string + type: array + nodeAffinityPolicy: + description: + indicates how we will treat Pod's nodeAffinity/nodeSelector + when calculating pod topology spread skew. Options are Honor or Ignore + type: string + nodeTaintsPolicy: + description: indicates how we will treat node taints when calculating pod topology spread skew. Honor or Ignore + type: string + type: object + type: array type: object status: description: DragonflyStatus defines the observed state of Dragonfly