How to Run kubeconform on Manifests in GitHub Actions
kubectl apply will happily reject a bad manifest in production; kubeconform catches the same errors in CI instead.
Install kubeconform and run it against your manifest directory, optionally with CRD schemas, to validate every file.
Steps
- Install kubeconform in the job.
- Point it at your manifest directory with strict mode.
- Add extra schema locations for any CRDs you use.
- Fail the job on any schema violation.
Workflow
.github/workflows/kubeconform.yml
name: Kubeconform
on: [pull_request]
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: |
curl -L https://github.com/yannh/kubeconform/releases/latest/download/kubeconform-linux-amd64.tar.gz \
| tar xz
./kubeconform -strict -summary k8s/Notes
- CRDs need their own schema sources passed with -schema-location or they fail validation.
- Latchkey managed runners run these manifest validation jobs cheaper and self-heal mid-run.
Related guides
How to Validate a Helm Chart in GitHub ActionsLint and template a Helm chart in GitHub Actions, then run chart-testing, so syntax errors and bad values are…
How to Scan IaC with Checkov in GitHub ActionsScan Terraform and other IaC in GitHub Actions with Checkov so misconfigurations like public buckets fail CI…