Skip to content

fix(operators): honor nodeSelector/tolerations/affinity values#563

Merged
shimpa1 merged 2 commits into
mainfrom
fix/operators-nodeselector-tolerations
Apr 21, 2026
Merged

fix(operators): honor nodeSelector/tolerations/affinity values#563
shimpa1 merged 2 commits into
mainfrom
fix/operators-nodeselector-tolerations

Conversation

@shimpa1
Copy link
Copy Markdown
Contributor

@shimpa1 shimpa1 commented Apr 21, 2026

Problem

The akash-hostname-operator and akash-inventory-operator charts declare nodeSelector / tolerations / affinity values but the templates/deployment.yaml in both charts never references those values, so they are silently ignored.

This prevents operators from scheduling on clusters where every non-control-plane node is tainted (for example a single ingress-only worker tainted akash.network/role=ingress:NoSchedule) — there is no way to make Helm emit a toleration onto the pod spec.

Fix

Adds the standard with / toYaml blocks at the bottom of spec.template.spec in both Deployment templates, matching the pattern already used in akash-provider/templates/statefulset.yaml:346-357:

      {{- with .Values.nodeSelector }}
      nodeSelector:
        {{- toYaml . | nindent 8 }}
      {{- end }}
      {{- with .Values.affinity }}
      affinity:
        {{- toYaml . | nindent 8 }}
      {{- end }}
      {{- with .Values.tolerations }}
      tolerations:
        {{- toYaml . | nindent 8 }}
      {{- end }}

Also adds the three keys to akash-inventory-operator/values.yaml, which were previously missing entirely (only akash-hostname-operator/values.yaml had them declared).

Backward compatibility

Empty values render no blocks — existing users see no behavior change. Verified with helm template against both charts with and without overrides, and helm lint passes on both.

The akash-hostname-operator and akash-inventory-operator Deployment
templates did not reference nodeSelector/tolerations/affinity, so those
values were silently ignored. Adds the standard with/toYaml blocks at
the pod spec level (matching the pattern used in akash-provider's
StatefulSet). Also adds the three values keys to akash-inventory-operator
values.yaml where they were previously missing.
@shimpa1 shimpa1 requested a review from a team as a code owner April 21, 2026 10:37
Comment thread charts/akash-hostname-operator/templates/deployment.yaml
@shimpa1 shimpa1 merged commit 3a94604 into main Apr 21, 2026
2 checks passed
@shimpa1 shimpa1 deleted the fix/operators-nodeselector-tolerations branch April 21, 2026 18:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants