{"adoption": {"forks": 175, "observed_at": "2026-08-28T04:07:46.575176+00:00", "stars": 3162}, "canonical_url": "https://ross.abutalabs.com/products/kubeconform", "card": {"archived": false, "artifact_type": "cli-tool", "description": "A FAST Kubernetes manifests validator, with support for Custom Resources!", "domain": ["developer-tools", "infrastructure-as-code"], "enriched": true, "function": ["testing", "developer-tools", "configuration-management", "ci-cd"], "health_score": 91, "homepage": null, "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["yannh/kubeconform"], "name": "yannh/kubeconform", "platform": ["cli", "windows", "go"], "pushed_at": "2026-06-13T11:53:23+00:00", "repo": "yannh/kubeconform", "stars": 3162, "tags": ["kubernetes", "manifest-validation", "-schema", "crd", "kubeval-successor", "yaml", "devops", "containers", "linux", "macos", "docker"], "topics": ["kubernetes", "validation", "compliance"], "urls": [], "use_cases": ["validate kubernetes manifests in ci", "check yaml files against kubernetes schemas", "validate custom resource definitions", "lint helm chart output before deploying", "offline validation of kubernetes configs", "replace kubeval with a faster validator"], "what_it_is": "Kubeconform is a fast Kubernetes manifest validator written in Go, inspired by Kubeval. It validates YAML manifests against JSON schemas, supports custom resources (CRDs), local or remote schema locations, and parallel validation for CI pipelines.", "when_to_avoid": ["you need full semantic validation of cluster state rather than schema checks", "you want policy enforcement beyond JSON schema validation (use OPA/Kyverno)", "you need to validate live cluster resources rather than manifest files"], "when_to_choose": ["you need fast, parallel validation of large numbers of Kubernetes manifests", "you want to validate CRDs with custom schema locations", "you need offline validation with locally cached schemas", "you want a maintained, actively updated alternative to Kubeval"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/kubeconform", "repo": "yannh/kubeconform", "role": "main", "score": 78}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:46.575176+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:25:13.576502+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b90b1c7b75819c018bf9af57c95ca9137fbc5be5102d94860912c060a7d1ffd5", "fetched_at": "2026-08-28T04:07:46.575176+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yannh/kubeconform"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:46.575176+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:25:13.576502+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b90b1c7b75819c018bf9af57c95ca9137fbc5be5102d94860912c060a7d1ffd5", "fetched_at": "2026-08-28T04:07:46.575176+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yannh/kubeconform"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:25:13.576502+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b90b1c7b75819c018bf9af57c95ca9137fbc5be5102d94860912c060a7d1ffd5", "fetched_at": "2026-08-28T04:07:46.575176+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yannh/kubeconform"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:46.575176+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:46.575176+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:46.575176+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:25:13.576502+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b90b1c7b75819c018bf9af57c95ca9137fbc5be5102d94860912c060a7d1ffd5", "fetched_at": "2026-08-28T04:07:46.575176+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yannh/kubeconform"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:46.575176+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:46.575176+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:25:13.576502+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b90b1c7b75819c018bf9af57c95ca9137fbc5be5102d94860912c060a7d1ffd5", "fetched_at": "2026-08-28T04:07:46.575176+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yannh/kubeconform"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:46.575176+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:46.575176+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:46.575176+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:25:13.576502+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b90b1c7b75819c018bf9af57c95ca9137fbc5be5102d94860912c060a7d1ffd5", "fetched_at": "2026-08-28T04:07:46.575176+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yannh/kubeconform"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:46.575176+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:46.575176+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:25:13.576502+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b90b1c7b75819c018bf9af57c95ca9137fbc5be5102d94860912c060a7d1ffd5", "fetched_at": "2026-08-28T04:07:46.575176+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yannh/kubeconform"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:25:13.576502+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b90b1c7b75819c018bf9af57c95ca9137fbc5be5102d94860912c060a7d1ffd5", "fetched_at": "2026-08-28T04:07:46.575176+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yannh/kubeconform"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:25:13.576502+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b90b1c7b75819c018bf9af57c95ca9137fbc5be5102d94860912c060a7d1ffd5", "fetched_at": "2026-08-28T04:07:46.575176+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yannh/kubeconform"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:25:13.576502+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b90b1c7b75819c018bf9af57c95ca9137fbc5be5102d94860912c060a7d1ffd5", "fetched_at": "2026-08-28T04:07:46.575176+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yannh/kubeconform"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 87, "longevity": 100, "rhythm": 55}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2286, "days_push": 81, "days_rel": 90, "gap_med": 388, "n_releases_24m": 2}, "score": 78, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}