Ctrl K
ComunidadGuías…

monitoring/ceph-mixin/test-jsonnet.sh

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
#!/bin/sh -e

TEMPDIR=$(mktemp -d)
BASEDIR=$(dirname "$0")

jsonnet -J vendor -m ${TEMPDIR} $BASEDIR/dashboards.jsonnet

truncate -s 0 ${TEMPDIR}/json_difference.log
for file in ${BASEDIR}/dashboards_out/*.json
do
    file_name="$(basename $file)"
    for generated_file in ${TEMPDIR}/*.json
    do
        generated_file_name="$(basename $generated_file)"
        if [ "$file_name" == "$generated_file_name" ]; then
            jsondiff --indent 2 "${generated_file}" "${file}" \
                | tee -a ${TEMPDIR}/json_difference.log
        fi
    done
done

jsonnet -J vendor -S alerts.jsonnet -o ${TEMPDIR}/prometheus_alerts.yml
jsondiff --indent 2 "prometheus_alerts.yml" "${TEMPDIR}/prometheus_alerts.yml" \
    | tee -a ${TEMPDIR}/json_difference.log

err=0
if [ $(wc -l < ${TEMPDIR}/json_difference.log) -eq 0 ]
then
    rm -rf ${TEMPDIR}
    echo "Congratulations! Grafonnet Check Passed"
else
    rm -rf ${TEMPDIR}
    echo "Grafonnet Check Failed, failed comparing generated file with existing"
    exit 1
fi