42dbecc2b7
- ci/generate-schemas.sh fetches CRDs from the cluster via kubectl, supplements with offline CRD manifests (ArgoCD, Gateway API) and Kubernetes swagger spec - Schemas use Datree catalog convention: <group>/<Kind>_<version>.json - validate-apps.sh and validate-clusters.sh check local schemas first - Makefile schemas target runs before kubeconform
25 lines
616 B
Makefile
25 lines
616 B
Makefile
.PHONY: build clean
|
|
|
|
# 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
|
|
schemas:
|
|
@ci/generate-schemas.sh schemas
|
|
|
|
# kubeconform
|
|
kubeconform: schemas
|
|
@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
|
|
%:
|
|
@:
|