Add JSON schema generation for kubeconform CRD validation #212

Merged
benvin merged 1 commits from benvin/generate-schemas into main 2026-06-28 17:26:10 +10:00
Owner

Summary

  • New ci/generate-schemas.sh script that generates JSON schemas from three sources:
    1. Live cluster CRDs via kubectl get crds
    2. Offline CRD manifests (ArgoCD v3.3.2, Gateway API v1.5.1)
    3. Kubernetes v1.33.7 swagger spec for native types
  • Schemas follow Datree catalog convention (<group>/<Kind>_<version>.json)
  • validate-apps.sh and validate-clusters.sh check local schemas first, falling back to remote
  • Fixes TLSRoute (and other CRD) schema validation failures in kubeconform

Sources

  • ArgoCD: artifactapi.../argoproj/argo-cd/refs/tags/v3.3.2/manifests/ha/install.yaml
  • Gateway API: artifactapi.../kubernetes-sigs/gateway-api/releases/download/v1.5.1/standard-install.yaml
  • Kubernetes: artifactapi.../kubernetes/kubernetes/refs/tags/v1.33.7/api/openapi-spec/swagger.json
## Summary - New `ci/generate-schemas.sh` script that generates JSON schemas from three sources: 1. Live cluster CRDs via `kubectl get crds` 2. Offline CRD manifests (ArgoCD v3.3.2, Gateway API v1.5.1) 3. Kubernetes v1.33.7 swagger spec for native types - Schemas follow Datree catalog convention (`<group>/<Kind>_<version>.json`) - `validate-apps.sh` and `validate-clusters.sh` check local schemas first, falling back to remote - Fixes TLSRoute (and other CRD) schema validation failures in kubeconform ## Sources - ArgoCD: `artifactapi.../argoproj/argo-cd/refs/tags/v3.3.2/manifests/ha/install.yaml` - Gateway API: `artifactapi.../kubernetes-sigs/gateway-api/releases/download/v1.5.1/standard-install.yaml` - Kubernetes: `artifactapi.../kubernetes/kubernetes/refs/tags/v1.33.7/api/openapi-spec/swagger.json`
unkinben force-pushed benvin/generate-schemas from 42dbecc2b7 to 06c3c59ea2 2026-06-28 17:03:30 +10:00 Compare
unkinben force-pushed benvin/generate-schemas from 06c3c59ea2 to 817bde2289 2026-06-28 17:17:58 +10:00 Compare
unkinben force-pushed benvin/generate-schemas from 817bde2289 to d497db04be 2026-06-28 17:18:23 +10:00 Compare
unkinben force-pushed benvin/generate-schemas from d497db04be to 041016fc80 2026-06-28 17:21:16 +10:00 Compare
unkinben force-pushed benvin/generate-schemas from 041016fc80 to 423287ff3f 2026-06-28 17:22:55 +10:00 Compare
unkinben added 1 commit 2026-06-28 17:24:52 +10:00
Add JSON schema generation for kubeconform CRD validation
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/kubeconform Pipeline was successful
2bd8fcc0c2
- ci/generate-schemas.sh extracts schemas from live cluster CRDs via kubectl
- Generated schemas committed to schemas/ for CI use
- Run `make schemas` to regenerate after CRD or K8s version changes
- validate-apps.sh and validate-clusters.sh check local schemas first
- CRD instances (Gateway, TLSRoute, Pooler, etc.) now validated instead of skipped
- CustomResourceDefinition meta-type still skipped (no schema exists upstream)
unkinben force-pushed benvin/generate-schemas from 423287ff3f to 2bd8fcc0c2 2026-06-28 17:24:52 +10:00 Compare
benvin merged commit 784c3b5de1 into main 2026-06-28 17:26:10 +10:00
benvin deleted branch benvin/generate-schemas 2026-06-28 17:26:11 +10:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: unkin/argocd-apps#212