Document the tolerations deprecation and fix the dev nodeSelector notes - #1329
Open
rberrelleza wants to merge 5 commits into
Open
Document the tolerations deprecation and fix the dev nodeSelector notes#1329rberrelleza wants to merge 5 commits into
rberrelleza wants to merge 5 commits into
Conversation
The chart has warned since 1.21 that tolerations.oktetoPool / buildPool / devPool are deprecated and removed in Chart 2.0, but the docs never said so and two runnable examples still taught the old form. - Add a deprecation warning under globals.tolerations, linking the community migration guide (previously reachable only from the chart's install output). - Update the daemonset example to globals.nodeSelectors / globals.tolerations. - Remove an orphaned tolerations.devPool block in defaultBackend that had no surrounding prose. - Drop the claim that globals.nodeSelectors.dev only applies when tolerations.devPool is set. Verified against chart 1.47.0 with OKTETO_DEV_POOL empty: user workloads still receive the dev node selector. - Fix the note telling users to define a devPool entry under globals.tolerations. That key does not exist; it takes okteto and dev. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
rberrelleza
requested review from
codyjlandstrom,
ifbyol,
pchico83 and
rlamana
as code owners
August 13, 2026 23:08
✅ Deploy Preview for okteto-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
This value was undocumented. Every other component uses replicaCount, so setting replicaCount everywhere silently leaves regcredsManager at 2. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Member
Author
|
Added one more commit: |
replicas was already documented in that section. Reverting my addition so the list has a single entry again. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Member
Author
|
Correction to my earlier comment: |
The autoscaler section was the last place in the reference still directing users to the deprecated tolerations.devPool. Verified against the backend: cmd/autoscaler.go calls GetUserPoolNodeSelector(config.OktetoDevPool, config.GlobalNodeSelectors.Dev), which falls back to globals.nodeSelectors.dev when devPool is empty. So the autoscaler already honors the supported value; the docs just never said so. devPool still takes precedence when set, which the note now states. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…eduling globals.nodeSelectors and globals.tolerations cover Okteto's own components but not ingress-nginx, okteto-nginx or reloader, which are separate charts reading their own values. Omitting those blocks fails silently: the install succeeds and the three schedule onto whatever nodes accept them. This pattern was only shown on the ARM Support page, framed as a workaround for the arch taint GKE applies, so nobody configuring node pools would find it. - Add "Node selectors and tolerations" under Dependencies, next to the existing subchart Sample configuration, with a full example and the upstream value references for ingress-nginx and Reloader. - Cross-reference it from globals.nodeSelectors and globals.tolerations, which is where people configuring node pools actually land. - Link the ARM page as a worked example so the two stay connected. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The Okteto Helm chart has warned since 1.21 that these values are deprecated:
The docs have never carried that deprecation. There is no reference entry for these values, the word "deprecated" appears on the Helm configuration page only under the unrelated
autoscalerheading, and the migration guide is reachable only from the chart's install-time output. Meanwhile two runnable examples on the page still teach the deprecated form, so the docs are actively producing new users of a value scheduled for removal.Changes
globals.tolerations, linking the community migration guide.tolerations.devPooltoglobals.nodeSelectors/globals.tolerations.defaultBackendsection. It was a baretolerations: devPool: devsnippet with no surrounding prose, immediately after the "Custom error pages" bullet, and reads as a copy-paste artifact.devPoolentry inglobals.tolerations". No such key exists;globals.tolerationstakesoktetoanddev. Following it literally produces an invalid config.On the coupling claim
The page stated, in four places, that
globals.nodeSelectors.devonly applies whentolerations.devPoolis also set, described as legacy behavior.That is worth a careful look because it is self-contradictory: it tells users to keep setting the value the chart says is being removed. It also does not match observed behavior.
Verified on a live GKE cluster running chart 1.47.0, configured entirely with the new form so that the configmap carried
OKTETO_DEV_POOL: "":OKTETO_GLOBAL_NODE_SELECTORS: {"dev":{"okteto-node-pool":"dev"},"okteto":{"okteto-node-pool":"okteto"}}nodeSelector: {"okteto-node-pool":"dev"}plus the matching toleration, and scheduled onto the dev pool. Confirmed with a scratch namespace and separately with a realokteto deployof an 8-service app.So the dev node selectors are applied unconditionally. What was genuinely gated on
devPoolis the auto-generated taint toleration, which is why the replacement notes now tell you to spell outglobals.tolerations.devwhen the target nodes are tainted.Please sanity-check this against the backend, since it is the one change here based on observed behavior rather than on the chart source.
Not changed
The
autoscalersection still says "Usetolerations.devPoolto limit the autoscaler analysis to a subset of cluster nodes." I left it alone: the autoscaler is deprecated and disabled by default, and I could not verify whether it reads the new values. Worth a follow-up from whoever owns it.Related
Complements #1328, which documents the
ingress-nginxdefault-certificate override. Both touchhelm-configuration.mdx, so the second to merge will need a trivial rebase.Applied to both
src/contentandversioned_docs/version-1.47, which were byte-identical beforehand and remain in sync.🤖 Generated with Claude Code