Summary
Kubernetes Operator backend users cannot currently constrain generated terminal pods to specific node pools because the operator does not expose nodeSelector or tolerations for the pods it creates.
Use case
In multi-tenant or mixed-workload clusters, operators may want terminal pods to run only on dedicated nodes, for example nodes with stronger isolation, special hardware, different storage, or taints that keep ordinary workloads away.
Today, the generated terminal pods cannot tolerate those taints or target those labels without an external admission controller.
Proposed behavior
Add optional environment-based scheduling overrides for the Kubernetes Operator backend:
TERMINALS_KUBERNETES_NODE_SELECTOR
TERMINALS_KUBERNETES_TOLERATIONS
These would be applied to generated terminal pods. The same scheduling settings should also apply to reset pods so cleanup/reset work can run in the same node pool.
Notes
This keeps the CRD unchanged and is backward-compatible: if the env vars are unset, generated pods behave as they do today.
Status
I've created a MR #30
Summary
Kubernetes Operator backend users cannot currently constrain generated terminal pods to specific node pools because the operator does not expose
nodeSelectorortolerationsfor the pods it creates.Use case
In multi-tenant or mixed-workload clusters, operators may want terminal pods to run only on dedicated nodes, for example nodes with stronger isolation, special hardware, different storage, or taints that keep ordinary workloads away.
Today, the generated terminal pods cannot tolerate those taints or target those labels without an external admission controller.
Proposed behavior
Add optional environment-based scheduling overrides for the Kubernetes Operator backend:
TERMINALS_KUBERNETES_NODE_SELECTORTERMINALS_KUBERNETES_TOLERATIONSThese would be applied to generated terminal pods. The same scheduling settings should also apply to reset pods so cleanup/reset work can run in the same node pool.
Notes
This keeps the CRD unchanged and is backward-compatible: if the env vars are unset, generated pods behave as they do today.
Status
I've created a MR #30