Skip to content

Conversation

justin-tahara
Copy link
Contributor

@justin-tahara justin-tahara commented Sep 10, 2025

Description

[Provide a brief description of the changes in this PR]
Adding in the Node Selector option into the templates in order to allow users to configure specific nodes for their pods to be able to schedule them on specific instances.

How Has This Been Tested?

[Describe the tests you ran to verify your changes]
Ran helm template and validated that the template was properly generated and created proper labels for the pods.

Backporting (check the box to trigger backport action)

Note: You have to check that the action passes, otherwise resolve the conflicts manually and tag the patches.

  • This PR should be backported (make sure to check that the backport attempt succeeds)
  • [Optional] Override Linear Check

@justin-tahara justin-tahara requested a review from a team as a code owner September 10, 2025 03:50
Copy link

vercel bot commented Sep 10, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
internal-search Ready Ready Preview Comment Sep 10, 2025 5:30pm

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Greptile Summary

This PR systematically adds nodeSelector support to all Kubernetes deployment templates in the Onyx Helm chart. The changes enable users to control pod scheduling by specifying which nodes their workloads should run on based on node labels.

The implementation follows a consistent pattern across all 13 deployment templates (webserver, API, celery workers, model servers, and Slack bot). Each template now includes a conditional {{- with .Values.<component>.nodeSelector }} block that only renders the nodeSelector configuration when values are provided. The values.yaml file has been updated with nodeSelector: {} defaults for all components, maintaining backward compatibility.

This enhancement integrates well with the existing Helm chart structure and follows established patterns already used for other pod-level configurations like podAnnotations and podLabels. The conditional templating approach ensures clean YAML output when nodeSelector is not configured, while providing the flexibility needed for production deployments where different workloads require placement on specific node types (GPU nodes, memory-optimized instances, availability zones, etc.).

Confidence score: 5/5

  • This PR is extremely safe to merge with no production risks or breaking changes
  • Score reflects comprehensive implementation following established patterns with proper defaults and backward compatibility
  • No files require special attention as all changes follow identical, well-tested patterns

14 files reviewed, no comments

Edit Code Review Bot Settings | Greptile

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 14 files

@justin-tahara justin-tahara merged commit a3f41e2 into main Sep 10, 2025
11 of 13 checks passed
@justin-tahara justin-tahara deleted the jtahara/add-node-selector-option branch September 10, 2025 17:23
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.

1 participant