---
id: scheduling-nodeselector-on
name: "Capability: nodeSelector settable on ALL workloads (ON)"
description: >-
  Renders the product chart with nodeSelector.disktype=ssd configured and asserts that every workload pod spec carries nodeSelector with the configured value. The sample chart does NOT expose a nodeSelector knob in its values.yaml and has no nodeSelector block in any Deployment template — setting nodeSelector has no effect. This scenario is EXPECTED to FAIL (honest red gap) documenting that the chart lacks the nodeSelector scheduling knob on its workloads.
labels: {customer: enterprise, profile: compliance}
cluster:
  provider: kind
  k8s_version: v1.30.0
product:
  chart: ./chart
  release: sample
  namespace: sample
  set:
    nodeSelector.disktype: ssd
asserts:
  - type: scheduling-present
    namespace: sample
    source: rendered
    expect_present: true
    check_nodeSelector: true
    check_tolerations: false
    check_affinity: false
    check_topologySpreadConstraints: false
    nodeSelector:
      disktype: ssd
tags: [capability, compliance]
category: capability
capability: node-selector
tier: capability
mechanisms: ["capability:scheduling"]
