Helm cannot find or read the values YAML file specified with the -f flag.
Helm looks for values files at the exact path specified. If the file doesn't exist, is unreadable, or has permissions issues, the operation fails before the chart is even rendered.
Check file presence:
ls -la /path/to/values.yaml
file /path/to/values.yamlAlways use full paths in automation:
# Bad
helm install RELEASE CHART -f values.yaml
# Good
helm install RELEASE CHART -f /full/path/to/values.yaml
helm install RELEASE CHART -f "$(pwd)/values.yaml"Ensure file is readable:
chmod 644 values.yaml
ls -l values.yamlOutput should show read permission (r--).
Check if the file is valid YAML:
yaml-lint values.yaml
# Or use Python
python3 -c "import yaml; yaml.safe_load(open('values.yaml'))"In CI/CD, always resolve paths to absolute before using. Use environment variables to set paths (helm -f $VALUES_FILE). For sensitive data, use separate values files with restricted permissions. Consider using kube-seal or External Secrets to manage secrets. Test values file parsing with: helm template RELEASE CHART -f values.yaml > manifest.yaml
Service port already allocated
How to fix "Service port already allocated" in Kubernetes
minimum cpu usage per Container
How to fix "minimum cpu usage per Container" in Kubernetes
Failed to connect to server: connection refused (HTTP/2)
How to fix "HTTP/2 connection refused" error in Kubernetes
Run Helm with validated path:
helm install RELEASE CHART -f $(pwd)/values.yaml -n NAMESPACEOr use --values for multiple files:
helm install RELEASE CHART --values values.yaml --values secrets.yaml