Skip to content
Latchkey

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

Run this faster and cheaper on Latchkey managed runners. Start free →