Validate a Basic Web App values.yaml

Validate a standard Helm values.yaml for a web application with image, service, ingress, and resource settings. Covers the most common chart patterns.

Basic Configuration

Detailed Explanation

Standard Web Application Values

The most common Helm chart pattern is a simple web application deployment with an image, a Service, an optional Ingress, and resource limits. The validator checks that each section follows Helm conventions.

Example values.yaml

replicaCount: 1

image:
  repository: nginx
  pullPolicy: IfNotPresent
  tag: "1.25.0"

service:
  type: ClusterIP
  port: 80

ingress:
  enabled: false
  className: ""
  annotations: {}
  hosts:
    - host: chart-example.local
      paths:
        - path: /
          pathType: ImplementationSpecific
  tls: []

resources:
  limits:
    cpu: 100m
    memory: 128Mi
  requests:
    cpu: 100m
    memory: 128Mi

What Gets Validated

  1. Image section: image.repository must be a string, image.tag should not be empty or "latest", and image.pullPolicy must be one of Always, IfNotPresent, or Never.
  2. Service section: service.type is checked against valid Kubernetes service types (ClusterIP, NodePort, LoadBalancer, ExternalName).
  3. Ingress section: When enabled, host paths must have valid pathType values (ImplementationSpecific, Exact, Prefix).
  4. Resources section: Both limits and requests should be present; having limits without requests or vice versa is flagged.

Common Issues

  • Using image.tag: latest (warning: not recommended for production)
  • Missing resources.requests when resources.limits is defined
  • Invalid service.type values like "Headless" (should be ClusterIP with clusterIP: None)

Use Case

Reviewing a newly scaffolded Helm chart (from 'helm create') before your first deployment. Ensures the default values follow Kubernetes and Helm best practices.

Try It — Helm Values Validator

Open full tool