Skip to main content
The automation configuration controls how crew pods (automation workloads) are scheduled within your Kubernetes cluster. These settings apply to all crew pods provisioned by the platform, including web servers, workers, and Redis instances for each automation.
This feature requires chart version 0.1.14 or later.

automation.podScheduling.*

Scheduling constraints applied to every crew pod provisioned by this platform installation. These settings are applied to each crew pod at creation time.
object
default:"{}"
Node selector labels for crew pod placement.Purpose: Constrains crew pods to nodes with specific labels, useful for dedicating certain nodes to automation workloads.Default Behavior: Empty object ({}) - no node selector constraints applied.Example - Pin crews to dedicated node pool:
Example - Pin to specific cloud provider node group:
When to Use:
  • Isolate automation workloads on dedicated nodes
  • Ensure crews run on nodes with specific hardware (GPU, high CPU, SSD)
  • Separate automation pods from platform infrastructure pods
array
default:"[]"
Tolerations for crew pods to schedule on tainted nodes.Purpose: Allows crew pods to be scheduled on nodes with matching taints, typically used in combination with nodeSelector to reserve nodes exclusively for automation workloads.Default Behavior: Empty array ([]) - no tolerations applied.Example - Tolerate dedicated automation node pool:
Example - Multiple tolerations:
Toleration Operators:
  • Equal - Key and value must match
  • Exists - Only key must exist (value ignored)
Taint Effects:
  • NoSchedule - Pods won’t schedule unless toleration exists
  • PreferNoSchedule - Soft constraint (scheduler tries to avoid)
  • NoExecute - Evicts running pods without matching toleration
object
default:"{}"
Advanced scheduling rules for crew pod placement.Purpose: Provides fine-grained control over pod scheduling using node affinity, pod affinity, and pod anti-affinity rules.Default Behavior: Empty object ({}) - no affinity rules applied.Example - Require SSD nodes:
Example - Prefer specific availability zones:
Affinity Types:
  • nodeAffinity - Schedule based on node labels
  • podAffinity - Schedule near other pods
  • podAntiAffinity - Schedule away from other pods
Scheduling Modes:
  • requiredDuringSchedulingIgnoredDuringExecution - Hard constraint (pod won’t schedule if rule not met)
  • preferredDuringSchedulingIgnoredDuringExecution - Soft constraint (scheduler tries to satisfy but not guaranteed)

Complete Example

This example demonstrates isolating automation workloads on a dedicated, tainted node pool with specific hardware requirements:

Important Notes

Changing automation.podScheduling values requires two steps to take effect:
  1. Run helm upgrade to update the platform configuration (this restarts the platform pod)
  2. Redeploy existing crews for them to adopt the new scheduling constraints
Kubernetes only applies scheduling fields (nodeSelector, tolerations, affinity) at pod creation time. Existing crew pods will continue running with their previous scheduling configuration until redeployed.

Chart Version Requirement

This feature is available in chart version 0.1.14 or later. Earlier chart versions do not support automation pod scheduling configuration.

Empty Values Behavior

The chart preserves empty values ({} for objects, [] for arrays) so the platform can distinguish between:
  • Unset - Key not present (use platform defaults)
  • Reset to empty - Key present but empty (explicitly remove constraints)
Leave a sub-key at its default empty value to omit that scheduling constraint type.