Helm · Schema

Helm Values YAML

Schema for the values.yaml file in a Helm chart. The values.yaml file provides default configuration values for a chart. Values can be overridden during installation or upgrade using --set flags or additional values files. While the structure of values.yaml is chart-specific, this schema describes common conventional patterns used across the Helm ecosystem.

ChartsCloud-NativeContainer OrchestrationDevOpsKubernetesPackage Manager

Properties

Name Type Description
replicaCount integer Number of pod replicas to deploy.
image object Container image configuration.
nameOverride string Override the chart name used in resource names.
fullnameOverride string Override the full resource name prefix.
serviceAccount object Service account configuration.
podAnnotations object Annotations to add to the pod.
podLabels object Labels to add to the pod.
podSecurityContext object Security context for the pod.
securityContext object Security context for the container.
service object Kubernetes Service configuration.
ingress object Kubernetes Ingress configuration.
resources object CPU and memory resource requests and limits for the container.
autoscaling object Horizontal Pod Autoscaler configuration.
nodeSelector object Node labels for pod assignment.
tolerations array Tolerations for pod scheduling.
affinity object Affinity rules for pod scheduling.
global object Global values shared across all chart dependencies. These values are accessible to both the parent chart and all subcharts.
View JSON Schema on GitHub

JSON Schema

helm-values-yaml-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://helm.sh/schemas/values-yaml.json",
  "title": "Helm Values YAML",
  "description": "Schema for the values.yaml file in a Helm chart. The values.yaml file provides default configuration values for a chart. Values can be overridden during installation or upgrade using --set flags or additional values files. While the structure of values.yaml is chart-specific, this schema describes common conventional patterns used across the Helm ecosystem.",
  "type": "object",
  "properties": {
    "replicaCount": {
      "type": "integer",
      "description": "Number of pod replicas to deploy.",
      "minimum": 0,
      "default": 1
    },
    "image": {
      "type": "object",
      "description": "Container image configuration.",
      "properties": {
        "repository": {
          "type": "string",
          "description": "Container image repository and name.",
          "examples": [
            "nginx",
            "docker.io/library/nginx"
          ]
        },
        "tag": {
          "type": "string",
          "description": "Container image tag. Defaults to the chart appVersion if empty."
        },
        "pullPolicy": {
          "type": "string",
          "description": "Image pull policy for Kubernetes.",
          "enum": [
            "Always",
            "IfNotPresent",
            "Never"
          ],
          "default": "IfNotPresent"
        },
        "pullSecrets": {
          "type": "array",
          "description": "List of image pull secret names.",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "nameOverride": {
      "type": "string",
      "description": "Override the chart name used in resource names."
    },
    "fullnameOverride": {
      "type": "string",
      "description": "Override the full resource name prefix."
    },
    "serviceAccount": {
      "type": "object",
      "description": "Service account configuration.",
      "properties": {
        "create": {
          "type": "boolean",
          "description": "Whether to create a service account.",
          "default": true
        },
        "name": {
          "type": "string",
          "description": "The name of the service account. Auto-generated if not set."
        },
        "annotations": {
          "type": "object",
          "description": "Annotations to add to the service account.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "automount": {
          "type": "boolean",
          "description": "Whether to automount the service account token.",
          "default": true
        }
      }
    },
    "podAnnotations": {
      "type": "object",
      "description": "Annotations to add to the pod.",
      "additionalProperties": {
        "type": "string"
      }
    },
    "podLabels": {
      "type": "object",
      "description": "Labels to add to the pod.",
      "additionalProperties": {
        "type": "string"
      }
    },
    "podSecurityContext": {
      "type": "object",
      "description": "Security context for the pod.",
      "properties": {
        "fsGroup": {
          "type": "integer"
        },
        "runAsUser": {
          "type": "integer"
        },
        "runAsGroup": {
          "type": "integer"
        },
        "runAsNonRoot": {
          "type": "boolean"
        }
      }
    },
    "securityContext": {
      "type": "object",
      "description": "Security context for the container.",
      "properties": {
        "allowPrivilegeEscalation": {
          "type": "boolean"
        },
        "capabilities": {
          "type": "object",
          "properties": {
            "drop": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "add": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "readOnlyRootFilesystem": {
          "type": "boolean"
        },
        "runAsNonRoot": {
          "type": "boolean"
        },
        "runAsUser": {
          "type": "integer"
        }
      }
    },
    "service": {
      "type": "object",
      "description": "Kubernetes Service configuration.",
      "properties": {
        "type": {
          "type": "string",
          "description": "Kubernetes Service type.",
          "enum": [
            "ClusterIP",
            "NodePort",
            "LoadBalancer",
            "ExternalName"
          ],
          "default": "ClusterIP"
        },
        "port": {
          "type": "integer",
          "description": "Service port number.",
          "default": 80
        },
        "annotations": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "ingress": {
      "type": "object",
      "description": "Kubernetes Ingress configuration.",
      "properties": {
        "enabled": {
          "type": "boolean",
          "default": false
        },
        "className": {
          "type": "string",
          "description": "Ingress class name."
        },
        "annotations": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "hosts": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "host": {
                "type": "string"
              },
              "paths": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "path": {
                      "type": "string"
                    },
                    "pathType": {
                      "type": "string",
                      "enum": [
                        "Exact",
                        "Prefix",
                        "ImplementationSpecific"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "tls": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "secretName": {
                "type": "string"
              },
              "hosts": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "resources": {
      "type": "object",
      "description": "CPU and memory resource requests and limits for the container.",
      "properties": {
        "limits": {
          "type": "object",
          "properties": {
            "cpu": {
              "type": "string",
              "examples": ["500m", "1"]
            },
            "memory": {
              "type": "string",
              "examples": ["128Mi", "512Mi"]
            }
          }
        },
        "requests": {
          "type": "object",
          "properties": {
            "cpu": {
              "type": "string",
              "examples": ["100m", "250m"]
            },
            "memory": {
              "type": "string",
              "examples": ["64Mi", "256Mi"]
            }
          }
        }
      }
    },
    "autoscaling": {
      "type": "object",
      "description": "Horizontal Pod Autoscaler configuration.",
      "properties": {
        "enabled": {
          "type": "boolean",
          "default": false
        },
        "minReplicas": {
          "type": "integer",
          "default": 1
        },
        "maxReplicas": {
          "type": "integer",
          "default": 100
        },
        "targetCPUUtilizationPercentage": {
          "type": "integer"
        },
        "targetMemoryUtilizationPercentage": {
          "type": "integer"
        }
      }
    },
    "nodeSelector": {
      "type": "object",
      "description": "Node labels for pod assignment.",
      "additionalProperties": {
        "type": "string"
      }
    },
    "tolerations": {
      "type": "array",
      "description": "Tolerations for pod scheduling.",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "operator": {
            "type": "string",
            "enum": ["Exists", "Equal"]
          },
          "value": {
            "type": "string"
          },
          "effect": {
            "type": "string",
            "enum": ["NoSchedule", "PreferNoSchedule", "NoExecute"]
          },
          "tolerationSeconds": {
            "type": "integer"
          }
        }
      }
    },
    "affinity": {
      "type": "object",
      "description": "Affinity rules for pod scheduling.",
      "properties": {
        "nodeAffinity": {
          "type": "object"
        },
        "podAffinity": {
          "type": "object"
        },
        "podAntiAffinity": {
          "type": "object"
        }
      }
    },
    "global": {
      "type": "object",
      "description": "Global values shared across all chart dependencies. These values are accessible to both the parent chart and all subcharts.",
      "additionalProperties": true
    }
  },
  "additionalProperties": true
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/helm-values-yaml"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.