Conftest vs kubeconform
Conftest
conftest.devkubeconform
kubeconform.mandragor.orgSide by side
| Figure | Conftest | kubeconform |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Infrastructure Testing Tools | 8.4 (#4) | 7.7 (#14) |
| Output formats | Conftest supports plaintext, JSON, TAP, table, JUnit, GitHub, Azure DevOps and SARIF output. | The command line supports JSON, JUnit, TAP, and text output formats. |
| Purpose | Conftest is a utility for writing tests against structured configuration data. | Kubeconform validates Kubernetes manifests so users can catch broken configuration before deploying. |
Plans
In their own words
Conftest
Conftest is a free utility for testing structured configuration data, designed for use in CI environments. It uses the Open Policy Agent Rego language to express policies, then evaluates deny, violation, and warning rules within namespaces. Configuration can be read from individual files, directories, multiple files, or standard input. Supported inputs include Kubernetes-style YAML, JSON, HCL and HCL2, Dockerfiles, Terraform-related data, JSONnet, TOML, and XML. Results can be output as plaintext, JSON, TAP, table, JUnit, GitHub, Azure DevOps, or SARIF; the GitHub outputter can annotate test results in workflows. The `conftest verify` command runs policy unit tests. Policies can be pulled from HTTPS URLs, Git repositories, and OCI registries, or pushed to compatible OCI registries. Plugins extend the CLI, with downloads available from sources including OCI, Git, HTTP/HTTPS, Mercurial, and cloud storage. Pre-commit hooks support policy workflows, and integrations are documented for CircleCI, GitHub Actions, and Tekton. Conftest is available for Linux, macOS, and Windows.
kubeconform
Kubeconform is a command-line tool for validating Kubernetes manifests before deployment. It checks files against Kubernetes OpenAPI specifications, helping catch configuration problems before they reach a cluster. Validation and schema downloads run concurrently, and downloaded files are cached in memory. By default, it uses a self-updating fork of the Kubernetes JSON schema registry to supply schemas for recent Kubernetes versions. For custom resources, users can point it to local or remote schemas; local schemas also make offline validation possible. Results can be produced as JSON, JUnit, TAP, or plain text. Documentation describes using its Docker images in GitHub Actions and GitLab CI, and the images are published to GitHub Container Registry. It is free, with a listed plan of free. Installation instructions cover Linux, macOS through Homebrew, and Windows. Its checks do not cover additional server-side validation, and its Go module interface is still work in progress and unstable.