From 6e6cb9e027af9669f48e880a8b6bc16db92dfa73 Mon Sep 17 00:00:00 2001 From: Robert Kaussow Date: Wed, 8 Mar 2023 13:45:11 +0100 Subject: [PATCH] feat: add option to overwrite KUBECONFORM_CONFIG --- overlay/usr/local/bin/flux-validate | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/overlay/usr/local/bin/flux-validate b/overlay/usr/local/bin/flux-validate index be042e2..4062d9b 100755 --- a/overlay/usr/local/bin/flux-validate +++ b/overlay/usr/local/bin/flux-validate @@ -35,22 +35,24 @@ find "${FLUX_PATH%/}" -type f -name '*.yaml' -print0 | while IFS= read -r -d $'\ yq e 'true' "$file" >/dev/null done -kubeconform_config=( - "-strict" - "-schema-location" "default" - "-schema-location" "/etc/kube-tools/schemas/flux" - "-schema-location" "/etc/kube-tools/schemas/calico/master-standalone-strict/{{ .ResourceKind }}_{{ .ResourceAPIVersion }}.json" - "-schema-location" "/etc/kube-tools/schemas/cert-manager/master-standalone-strict/{{ .ResourceKind }}_{{ .ResourceAPIVersion }}.json" - "-schema-location" "/etc/kube-tools/schemas/cloudnative-pg/master-standalone-strict/{{ .ResourceKind }}_{{ .ResourceAPIVersion }}.json" - "-exit-on-error" - "-summary" - "-skip" "Secret,CustomResourceDefinition" -) +if [ -z "$KUBECONFORM_CONFIG" ]; then + KUBECONFORM_CONFIG=( + "-strict" + "-schema-location" "default" + "-schema-location" "https://gitea.rknet.org/infra/crds-catalog/raw/branch/catalog/{{.Group}}/{{.ResourceKind}}_{{.ResourceAPIVersion}}.json" + "-exit-on-error" + "-summary" + "-skip" "Secret,CustomResourceDefinition" + ) +else + # shellcheck disable=SC2128 + IFS=', ' read -r -a KUBECONFORM_CONFIG <<<"$KUBECONFORM_CONFIG" +fi printf "\nINFO - Validating clusters\n" find "${FLUX_PATH%/}/clusters" -maxdepth 2 -type f -name '*.yaml' -print0 | while IFS= read -r -d $'\0' file; do printf "INFO - Validating cluster file %s\n" "${file}" - kubeconform "${kubeconform_config[@]}" "${file}" + kubeconform "${KUBECONFORM_CONFIG[@]}" "${file}" if [[ ${PIPESTATUS[0]} != 0 ]]; then exit 1 fi @@ -60,7 +62,7 @@ printf "\nINFO - Validating kustomize overlays\n" find "${FLUX_PATH%/}" -type f -name $KUSTOMIZE_CONFIG -print0 | while IFS= read -r -d $'\0' file; do printf "INFO - Validating kustomization %s\n" "${file/%$KUSTOMIZE_CONFIG/}" kustomize build "${file/%$KUSTOMIZE_CONFIG/}" "${KUSTOMIZE_FLAGS[@]}" | - kubeconform "${kubeconform_config[@]}" + kubeconform "${KUBECONFORM_CONFIG[@]}" echo if [[ ${PIPESTATUS[0]} != 0 ]]; then exit 1