Complete helm toolkit with generation and validation capabilities
94
94%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
{
"context": "Tests whether the agent uses a layered values approach (no env-specific values in the default values.yaml), and whether CI/CD deployment scripts use --atomic to prevent broken release states on failure.",
"type": "weighted_checklist",
"checklist": [
{
"name": "No env values in chart",
"description": "values.yaml inside the chart directory does NOT contain any environment-specific strings (e.g., production hostnames, prod database URLs, or environment names like 'prod', 'staging')",
"max_score": 14
},
{
"name": "Separate override file",
"description": "A separate values-production.yaml (or equivalent env-specific file) exists outside the chart directory with at least 2 override entries",
"max_score": 10
},
{
"name": "Layered -f flag usage",
"description": "deploy.sh passes the environment override file to helm using the -f flag (e.g., -f values-production.yaml), not by editing values.yaml",
"max_score": 12
},
{
"name": "atomic flag present",
"description": "The helm upgrade command in deploy.sh includes the --atomic flag",
"max_score": 14
},
{
"name": "timeout with atomic",
"description": "The helm upgrade command in deploy.sh includes a --timeout flag alongside --atomic (e.g., --timeout 5m)",
"max_score": 10
},
{
"name": "upgrade --install used",
"description": "deploy.sh uses 'helm upgrade --install' (idempotent form) rather than separate helm install and helm upgrade commands",
"max_score": 8
},
{
"name": "Image tag not latest",
"description": "values.yaml does NOT set the image tag to 'latest'; it is either empty or a placeholder variable",
"max_score": 8
},
{
"name": "Resources defined",
"description": "The chart template or values.yaml includes a resources block with CPU and memory settings",
"max_score": 8
},
{
"name": "values.yaml comments",
"description": "values.yaml contains at least 3 comment lines (starting with #) documenting individual settings",
"max_score": 8
},
{
"name": "Environment param in script",
"description": "deploy.sh accepts the target environment as a script argument or variable and selects the appropriate values file based on it",
"max_score": 8
}
]
}