UNPKG

@kubernetes-models/fission

Version:
785 lines (784 loc) 363 kB
import { IObjectMeta } from "@kubernetes-models/apimachinery/apis/meta/v1/ObjectMeta"; import { Model, ModelData } from "@kubernetes-models/base"; /** * MessageQueueTrigger invokes functions when messages arrive to certain topic that trigger subscribes to. */ export interface IMessageQueueTrigger { /** * 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 */ "apiVersion": "fission.io/v1"; /** * 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 */ "kind": "MessageQueueTrigger"; "metadata": IObjectMeta; /** * MessageQueueTriggerSpec defines a binding from a topic in a * message queue to a function. */ "spec": { /** * Content type of payload */ "contentType"?: string; /** * The period to wait after the last trigger reported active before scaling the deployment back to 0 */ "cooldownPeriod"?: number; /** * Topic to collect error response sent from function */ "errorTopic"?: string; /** * The reference to a function for message queue trigger to invoke with * when receiving messages from subscribed topic. */ "functionref"?: { /** * Function Reference by weight. this map contains function name as key and its weight * as the value. This is for canary upgrade purpose. */ "functionweights"?: { [key: string]: number; }; /** * Name of the function. */ "name": string; /** * Type indicates whether this function reference is by name or selector. For now, * the only supported reference type is by "name". Future reference types: * \* Function by label or annotation * \* Branch or tag of a versioned function * \* A "rolling upgrade" from one version of a function to another * Available value: * - name * - function-weights */ "type": string; }; /** * Maximum number of replicas KEDA will scale the deployment up to */ "maxReplicaCount"?: number; /** * Maximum times for message queue trigger to retry */ "maxRetries"?: number; /** * Type of message queue (NATS, Kafka, AzureQueue) */ "messageQueueType"?: string; /** * ScalerTrigger fields */ "metadata"?: { [key: string]: string; }; /** * Minimum number of replicas KEDA will scale the deployment down to */ "minReplicaCount"?: number; /** * Kind of Message Queue Trigger to be created, by default its fission */ "mqtkind"?: string; /** * (Optional) Podspec allows modification of deployed runtime pod with Kubernetes PodSpec * The merging logic is briefly described below and detailed MergePodSpec function * - Volumes mounts and env variables for function and fetcher container are appended * - All additional containers and init containers are appended * - Volume definitions are appended * - Lists such as tolerations, ImagePullSecrets, HostAliases are appended * - Structs are merged and variables from pod spec take precedence */ "podspec"?: { /** * Optional duration in seconds the pod may be active on the node relative to * StartTime before the system will actively try to mark it failed and kill associated containers. * Value must be a positive integer. */ "activeDeadlineSeconds"?: number; /** * If specified, the pod's scheduling constraints */ "affinity"?: { /** * Describes node affinity scheduling rules for the pod. */ "nodeAffinity"?: { /** * The scheduler will prefer to schedule pods to nodes that satisfy * the affinity expressions specified by this field, but it may choose * a node that violates one or more of the expressions. The node that is * most preferred is the one with the greatest sum of weights, i.e. * for each node that meets all of the scheduling requirements (resource * request, requiredDuringScheduling affinity expressions, etc.), * compute a sum by iterating through the elements of this field and adding * "weight" to the sum if the node matches the corresponding matchExpressions; the * node(s) with the highest sum are the most preferred. */ "preferredDuringSchedulingIgnoredDuringExecution"?: Array<{ /** * A node selector term, associated with the corresponding weight. */ "preference": { /** * A list of node selector requirements by node's labels. */ "matchExpressions"?: Array<{ /** * The label key that the selector applies to. */ "key": string; /** * Represents a key's relationship to a set of values. * Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. */ "operator": string; /** * 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. */ "values"?: Array<string>; }>; /** * A list of node selector requirements by node's fields. */ "matchFields"?: Array<{ /** * The label key that the selector applies to. */ "key": string; /** * Represents a key's relationship to a set of values. * Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. */ "operator": string; /** * 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. */ "values"?: Array<string>; }>; }; /** * Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. */ "weight": number; }>; /** * If the affinity requirements specified by this field are not met at * scheduling time, the pod will not be scheduled onto the node. * If the affinity requirements specified by this field cease to be met * at some point during pod execution (e.g. due to an update), the system * may or may not try to eventually evict the pod from its node. */ "requiredDuringSchedulingIgnoredDuringExecution"?: { /** * Required. A list of node selector terms. The terms are ORed. */ "nodeSelectorTerms": Array<{ /** * A list of node selector requirements by node's labels. */ "matchExpressions"?: Array<{ /** * The label key that the selector applies to. */ "key": string; /** * Represents a key's relationship to a set of values. * Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. */ "operator": string; /** * 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. */ "values"?: Array<string>; }>; /** * A list of node selector requirements by node's fields. */ "matchFields"?: Array<{ /** * The label key that the selector applies to. */ "key": string; /** * Represents a key's relationship to a set of values. * Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. */ "operator": string; /** * 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. */ "values"?: Array<string>; }>; }>; }; }; /** * Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). */ "podAffinity"?: { /** * The scheduler will prefer to schedule pods to nodes that satisfy * the affinity expressions specified by this field, but it may choose * a node that violates one or more of the expressions. The node that is * most preferred is the one with the greatest sum of weights, i.e. * for each node that meets all of the scheduling requirements (resource * request, requiredDuringScheduling affinity expressions, etc.), * compute a sum by iterating through the elements of this field and adding * "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the * node(s) with the highest sum are the most preferred. */ "preferredDuringSchedulingIgnoredDuringExecution"?: Array<{ /** * Required. A pod affinity term, associated with the corresponding weight. */ "podAffinityTerm": { /** * A label query over a set of resources, in this case pods. * If it's null, this PodAffinityTerm matches with no Pods. */ "labelSelector"?: { /** * matchExpressions is a list of label selector requirements. The requirements are ANDed. */ "matchExpressions"?: Array<{ /** * key is the label key that the selector applies to. */ "key": string; /** * operator represents a key's relationship to a set of values. * Valid operators are In, NotIn, Exists and DoesNotExist. */ "operator": string; /** * 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. */ "values"?: Array<string>; }>; /** * 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. */ "matchLabels"?: { [key: string]: string; }; }; /** * MatchLabelKeys is a set of pod label keys to select which pods will * be taken into consideration. The keys are used to lookup values from the * incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` * to select the group of existing pods which pods will be taken into consideration * for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming * pod labels will be ignored. The default value is empty. * The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. * Also, MatchLabelKeys cannot be set when LabelSelector isn't set. * This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. */ "matchLabelKeys"?: Array<string>; /** * MismatchLabelKeys is a set of pod label keys to select which pods will * be taken into consideration. The keys are used to lookup values from the * incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)` * to select the group of existing pods which pods will be taken into consideration * for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming * pod labels will be ignored. The default value is empty. * The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector. * Also, MismatchLabelKeys cannot be set when LabelSelector isn't set. * This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. */ "mismatchLabelKeys"?: Array<string>; /** * A label query over the set of namespaces that the term applies to. * The term is applied to the union of the namespaces selected by this field * and the ones listed in the namespaces field. * null selector and null or empty namespaces list means "this pod's namespace". * An empty selector ({}) matches all namespaces. */ "namespaceSelector"?: { /** * matchExpressions is a list of label selector requirements. The requirements are ANDed. */ "matchExpressions"?: Array<{ /** * key is the label key that the selector applies to. */ "key": string; /** * operator represents a key's relationship to a set of values. * Valid operators are In, NotIn, Exists and DoesNotExist. */ "operator": string; /** * 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. */ "values"?: Array<string>; }>; /** * 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. */ "matchLabels"?: { [key: string]: string; }; }; /** * namespaces specifies a static list of namespace names that the term applies to. * The term is applied to the union of the namespaces listed in this field * and the ones selected by namespaceSelector. * null or empty namespaces list and null namespaceSelector means "this pod's namespace". */ "namespaces"?: Array<string>; /** * This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching * the labelSelector in the specified namespaces, where co-located is defined as running on a node * whose value of the label with key topologyKey matches that of any node on which any of the * selected pods is running. * Empty topologyKey is not allowed. */ "topologyKey": string; }; /** * weight associated with matching the corresponding podAffinityTerm, * in the range 1-100. */ "weight": number; }>; /** * If the affinity requirements specified by this field are not met at * scheduling time, the pod will not be scheduled onto the node. * If the affinity requirements specified by this field cease to be met * at some point during pod execution (e.g. due to a pod label update), the * system may or may not try to eventually evict the pod from its node. * When there are multiple elements, the lists of nodes corresponding to each * podAffinityTerm are intersected, i.e. all terms must be satisfied. */ "requiredDuringSchedulingIgnoredDuringExecution"?: Array<{ /** * A label query over a set of resources, in this case pods. * If it's null, this PodAffinityTerm matches with no Pods. */ "labelSelector"?: { /** * matchExpressions is a list of label selector requirements. The requirements are ANDed. */ "matchExpressions"?: Array<{ /** * key is the label key that the selector applies to. */ "key": string; /** * operator represents a key's relationship to a set of values. * Valid operators are In, NotIn, Exists and DoesNotExist. */ "operator": string; /** * 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. */ "values"?: Array<string>; }>; /** * 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. */ "matchLabels"?: { [key: string]: string; }; }; /** * MatchLabelKeys is a set of pod label keys to select which pods will * be taken into consideration. The keys are used to lookup values from the * incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` * to select the group of existing pods which pods will be taken into consideration * for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming * pod labels will be ignored. The default value is empty. * The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. * Also, MatchLabelKeys cannot be set when LabelSelector isn't set. * This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. */ "matchLabelKeys"?: Array<string>; /** * MismatchLabelKeys is a set of pod label keys to select which pods will * be taken into consideration. The keys are used to lookup values from the * incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)` * to select the group of existing pods which pods will be taken into consideration * for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming * pod labels will be ignored. The default value is empty. * The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector. * Also, MismatchLabelKeys cannot be set when LabelSelector isn't set. * This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. */ "mismatchLabelKeys"?: Array<string>; /** * A label query over the set of namespaces that the term applies to. * The term is applied to the union of the namespaces selected by this field * and the ones listed in the namespaces field. * null selector and null or empty namespaces list means "this pod's namespace". * An empty selector ({}) matches all namespaces. */ "namespaceSelector"?: { /** * matchExpressions is a list of label selector requirements. The requirements are ANDed. */ "matchExpressions"?: Array<{ /** * key is the label key that the selector applies to. */ "key": string; /** * operator represents a key's relationship to a set of values. * Valid operators are In, NotIn, Exists and DoesNotExist. */ "operator": string; /** * 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. */ "values"?: Array<string>; }>; /** * 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. */ "matchLabels"?: { [key: string]: string; }; }; /** * namespaces specifies a static list of namespace names that the term applies to. * The term is applied to the union of the namespaces listed in this field * and the ones selected by namespaceSelector. * null or empty namespaces list and null namespaceSelector means "this pod's namespace". */ "namespaces"?: Array<string>; /** * This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching * the labelSelector in the specified namespaces, where co-located is defined as running on a node * whose value of the label with key topologyKey matches that of any node on which any of the * selected pods is running. * Empty topologyKey is not allowed. */ "topologyKey": string; }>; }; /** * Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). */ "podAntiAffinity"?: { /** * The scheduler will prefer to schedule pods to nodes that satisfy * the anti-affinity expressions specified by this field, but it may choose * a node that violates one or more of the expressions. The node that is * most preferred is the one with the greatest sum of weights, i.e. * for each node that meets all of the scheduling requirements (resource * request, requiredDuringScheduling anti-affinity expressions, etc.), * compute a sum by iterating through the elements of this field and adding * "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the * node(s) with the highest sum are the most preferred. */ "preferredDuringSchedulingIgnoredDuringExecution"?: Array<{ /** * Required. A pod affinity term, associated with the corresponding weight. */ "podAffinityTerm": { /** * A label query over a set of resources, in this case pods. * If it's null, this PodAffinityTerm matches with no Pods. */ "labelSelector"?: { /** * matchExpressions is a list of label selector requirements. The requirements are ANDed. */ "matchExpressions"?: Array<{ /** * key is the label key that the selector applies to. */ "key": string; /** * operator represents a key's relationship to a set of values. * Valid operators are In, NotIn, Exists and DoesNotExist. */ "operator": string; /** * 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. */ "values"?: Array<string>; }>; /** * 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. */ "matchLabels"?: { [key: string]: string; }; }; /** * MatchLabelKeys is a set of pod label keys to select which pods will * be taken into consideration. The keys are used to lookup values from the * incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` * to select the group of existing pods which pods will be taken into consideration * for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming * pod labels will be ignored. The default value is empty. * The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. * Also, MatchLabelKeys cannot be set when LabelSelector isn't set. * This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. */ "matchLabelKeys"?: Array<string>; /** * MismatchLabelKeys is a set of pod label keys to select which pods will * be taken into consideration. The keys are used to lookup values from the * incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)` * to select the group of existing pods which pods will be taken into consideration * for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming * pod labels will be ignored. The default value is empty. * The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector. * Also, MismatchLabelKeys cannot be set when LabelSelector isn't set. * This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. */ "mismatchLabelKeys"?: Array<string>; /** * A label query over the set of namespaces that the term applies to. * The term is applied to the union of the namespaces selected by this field * and the ones listed in the namespaces field. * null selector and null or empty namespaces list means "this pod's namespace". * An empty selector ({}) matches all namespaces. */ "namespaceSelector"?: { /** * matchExpressions is a list of label selector requirements. The requirements are ANDed. */ "matchExpressions"?: Array<{ /** * key is the label key that the selector applies to. */ "key": string; /** * operator represents a key's relationship to a set of values. * Valid operators are In, NotIn, Exists and DoesNotExist. */ "operator": string; /** * 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. */ "values"?: Array<string>; }>; /** * 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. */ "matchLabels"?: { [key: string]: string; }; }; /** * namespaces specifies a static list of namespace names that the term applies to. * The term is applied to the union of the namespaces listed in this field * and the ones selected by namespaceSelector. * null or empty namespaces list and null namespaceSelector means "this pod's namespace". */ "namespaces"?: Array<string>; /** * This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching * the labelSelector in the specified namespaces, where co-located is defined as running on a node * whose value of the label with key topologyKey matches that of any node on which any of the * selected pods is running. * Empty topologyKey is not allowed. */ "topologyKey": string; }; /** * weight associated with matching the corresponding podAffinityTerm, * in the range 1-100. */ "weight": number; }>; /** * If the anti-affinity requirements specified by this field are not met at * scheduling time, the pod will not be scheduled onto the node. * If the anti-affinity requirements specified by this field cease to be met * at some point during pod execution (e.g. due to a pod label update), the * system may or may not try to eventually evict the pod from its node. * When there are multiple elements, the lists of nodes corresponding to each * podAffinityTerm are intersected, i.e. all terms must be satisfied. */ "requiredDuringSchedulingIgnoredDuringExecution"?: Array<{ /** * A label query over a set of resources, in this case pods. * If it's null, this PodAffinityTerm matches with no Pods. */ "labelSelector"?: { /** * matchExpressions is a list of label selector requirements. The requirements are ANDed. */ "matchExpressions"?: Array<{ /** * key is the label key that the selector applies to. */ "key": string; /** * operator represents a key's relationship to a set of values. * Valid operators are In, NotIn, Exists and DoesNotExist. */ "operator": string; /** * 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. */ "values"?: Array<string>; }>; /** * 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. */ "matchLabels"?: { [key: string]: string; }; }; /** * MatchLabelKeys is a set of pod label keys to select which pods will * be taken into consideration. The keys are used to lookup values from the * incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` * to select the group of existing pods which pods will be taken into consideration * for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming * pod labels will be ignored. The default value is empty. * The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. * Also, MatchLabelKeys cannot be set when LabelSelector isn't set. * This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. */ "matchLabelKeys"?: Array<string>; /** * MismatchLabelKeys is a set of pod label keys to select which pods will * be taken into consideration. The keys are used to lookup values from the * incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)` * to select the group of existing pods which pods will be taken into consideration * for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming * pod labels will be ignored. The default value is empty. * The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector. * Also, MismatchLabelKeys cannot be set when LabelSelector isn't set. * This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. */ "mismatchLabelKeys"?: Array<string>; /** * A label query over the set of namespaces that the term applies to. * The term is applied to the union of the namespaces selected by this field * and the ones listed in the namespaces field. * null selector and null or empty namespaces list means "this pod's namespace". * An empty selector ({}) matches all namespaces. */ "namespaceSelector"?: { /** * matchExpressions is a list of label selector requirements. The requirements are ANDed. */ "matchExpressions"?: Array<{ /** * key is the label key that the selector applies to. */ "key": string; /** * operator represents a key's relationship to a set of values. * Valid operators are In, NotIn, Exists and DoesNotExist. */ "operator": string; /** * 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. */ "values"?: Array<string>; }>; /** * 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. */ "matchLabels"?: { [key: string]: string; }; }; /** * namespaces specifies a static list of namespace names that the term applies to. * The term is applied to the union of the namespaces listed in this field * and the ones selected by namespaceSelector. * null or empty namespaces list and null namespaceSelector means "this pod's namespace". */ "namespaces"?: Array<string>; /** * This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching * the labelSelector in the specified namespaces, where co-located is defined as running on a node * whose value of the label with key topologyKey matches that of any node on which any of the * selected pods is running. * Empty topologyKey is not allowed. */ "topologyKey": string; }>; }; }; /** * AutomountServiceAccountToken indicates whether a service account token should be automatically mounted. */ "automountServiceAccountToken"?: boolean; /** * List of containers belonging to the pod. * Containers cannot currently be added or removed. * There must be at least one container in a Pod. * Cannot be updated. */ "containers": Array<{ /** * Arguments to the entrypoint. * The container image's CMD is used if this is not provided. * Variable references $(VAR_NAME) are expanded using the container's environment. If a variable