Helm "values don't meet the specifications of the schema" in CI - Fix it
A chart can ship a values.schema.json. Helm validates your merged values against it before rendering. This error means the values you passed violate that schema - a wrong type, an out-of-range/enum value, or a missing required field.
What this error means
helm upgrade/template fails with Error: values don't meet the specifications of the schema(s) in the following chart(s): <chart>: followed by the specific JSON-schema violations.
helm
Error: values don't meet the specifications of the schema(s) in the following
chart(s):
api:
- replicaCount: Invalid type. Expected: integer, given: stringCommon causes
Wrong value type or format
A value is the wrong type (string vs integer/bool), or violates a pattern/enum/min-max the schema enforces.
Missing required value
A field the schema marks required is absent from the merged values.
How to fix it
Read the violations and the schema
The error lists each failing path; compare to values.schema.json.
Terminal
cat charts/api/values.schema.json
helm template api ./charts/api -f my-values.yaml # reproduce locallyCorrect the values
- Fix each flagged path to the expected type/format (e.g. quote vs unquote numbers).
- Supply any missing required fields.
- Re-run; this is a config error, not something a retry fixes.
How to prevent it
- Validate values against the schema in CI (
helm template/helm lint) before deploy. - Keep environment values files in sync with schema changes.
- Quote values carefully so YAML does not coerce types unexpectedly.
Related guides
Helm "failed post-install hook" in CI - Fix itFix "Error: ... failed post-install: ... hook ... failed" in CI - a Helm post-install/post-upgrade hook Job d…
Helm "rendered manifests contain a resource that already exists" in CIFix "Error: rendered manifests contain a resource that already exists ... not managed by Helm" in CI - the ch…
Kubernetes "kubectl apply: field is immutable" in CI - Fix itFix "The <resource> is invalid: ... field is immutable" in CI - you changed a field Kubernetes does not allow…