784c3b5de1
## 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` Reviewed-on: #212 Co-authored-by: Ben Vincent <ben@unkin.net> Co-committed-by: Ben Vincent <ben@unkin.net>
25 lines
650 B
Makefile
25 lines
650 B
Makefile
.PHONY: build clean schemas
|
|
|
|
# Build a kustomization path to manifests directory
|
|
# Usage: make build clusters/au-syd1/bootstrap
|
|
build:
|
|
@mkdir -p manifests/$(filter-out $@,$(MAKECMDGOALS))
|
|
@kustomize build --enable-helm $(filter-out $@,$(MAKECMDGOALS)) --output manifests/$(filter-out $@,$(MAKECMDGOALS))
|
|
|
|
# Generate JSON schemas from CRDs and Kubernetes swagger spec (run manually, results committed)
|
|
schemas:
|
|
@ci/generate-schemas.sh schemas
|
|
|
|
# kubeconform
|
|
kubeconform:
|
|
@ci/validate-apps.sh && \
|
|
ci/validate-clusters.sh
|
|
|
|
# Clean all generated manifests
|
|
clean:
|
|
@rm -rf manifests/
|
|
|
|
# Allow any argument after build to be treated as a path
|
|
%:
|
|
@:
|