Label Sync / Label Sync (push) Failing after 1m7s
E2E / reject-invalid (bad-bgp-asn) (push) Skipped
E2E / reject-invalid (bad-mac-address) (push) Skipped
E2E / reject-invalid (bad-repo-url) (push) Skipped
E2E / reject-invalid (bad-vlan-tag) (push) Skipped
E2E / reject-invalid (duplicate-gateway-addrs) (push) Skipped
E2E / reject-invalid (duplicate-node-names) (push) Skipped
E2E / reject-invalid (gateway-node-collision) (push) Skipped
E2E / reject-invalid (missing-dns-token) (push) Skipped
E2E / reject-invalid (nested-cidr-overlap) (push) Skipped
E2E / reject-invalid (node-addr-outside-cidr) (push) Skipped
E2E / reject-invalid (tunnel-without-dns) (push) Skipped
E2E / accept-valid (selfhosted) (push) Skipped
E2E / reject-invalid (missing-known-hosts) (push) Skipped
E2E / reject-invalid (missing-schematic) (push) Skipped
E2E / reject-invalid (partial-bgp) (push) Skipped
E2E / accept-valid (internal) (push) Skipped
E2E / reject-invalid (missing-external-gateway) (push) Skipped
E2E / reject-invalid (node-uses-gateway-addr) (push) Skipped
E2E / reject-invalid (non-canonical-cidr) (push) Skipped
E2E / accept-valid (private) (push) Skipped
E2E / accept-valid (single-node) (push) Skipped
E2E / reject-invalid (overlapping-cidrs) (push) Skipped
E2E / reject-invalid (reserved-node-name) (push) Skipped
E2E / reject-invalid (tiny-svc-cidr) (push) Skipped
E2E / validator-tests (push) Skipped
E2E / accept-valid (direct) (push) Skipped
E2E / accept-valid (multi-controller) (push) Skipped
E2E / accept-valid (no-webhook) (push) Skipped
E2E / accept-valid (public) (push) Skipped
51 lines
1.7 KiB
Bash
51 lines
1.7 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
KUBERNETES_DIR=$1
|
|
|
|
[[ -z "${KUBERNETES_DIR}" ]] && echo "Kubernetes location not specified" && exit 1
|
|
|
|
kustomize_args=("--load-restrictor=LoadRestrictionsNone")
|
|
kustomize_config="kustomization.yaml"
|
|
kubeconform_args=(
|
|
"-strict"
|
|
"-ignore-missing-schemas"
|
|
"-skip"
|
|
"Gateway,HTTPRoute,Secret"
|
|
"-schema-location"
|
|
"default"
|
|
"-schema-location"
|
|
"https://k8s-schemas.home-operations.com/{{.Group}}/{{.ResourceKind}}_{{.ResourceAPIVersion}}.json"
|
|
"-verbose"
|
|
)
|
|
|
|
echo "=== Validating standalone manifests in ${KUBERNETES_DIR}/flux ==="
|
|
find "${KUBERNETES_DIR}/flux" -maxdepth 1 -type f -name '*.yaml' -print0 | while IFS= read -r -d $'\0' file;
|
|
do
|
|
kubeconform "${kubeconform_args[@]}" "${file}"
|
|
if [[ ${PIPESTATUS[0]} != 0 ]]; then
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
echo "=== Validating kustomizations in ${KUBERNETES_DIR}/flux ==="
|
|
find "${KUBERNETES_DIR}/flux" -type f -name $kustomize_config -print0 | while IFS= read -r -d $'\0' file;
|
|
do
|
|
echo "=== Validating kustomizations in ${file/%$kustomize_config} ==="
|
|
kustomize build "${file/%$kustomize_config}" "${kustomize_args[@]}" | kubeconform "${kubeconform_args[@]}"
|
|
if [[ ${PIPESTATUS[0]} != 0 ]]; then
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
echo "=== Validating kustomizations in ${KUBERNETES_DIR}/apps ==="
|
|
find "${KUBERNETES_DIR}/apps" -type f -name $kustomize_config -print0 | while IFS= read -r -d $'\0' file;
|
|
do
|
|
echo "=== Validating kustomizations in ${file/%$kustomize_config} ==="
|
|
kustomize build "${file/%$kustomize_config}" "${kustomize_args[@]}" | kubeconform "${kubeconform_args[@]}"
|
|
if [[ ${PIPESTATUS[0]} != 0 ]]; then
|
|
exit 1
|
|
fi
|
|
done
|