video-iac/scripts/update-crds.sh

39 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
set -e
# Directory of this script
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
ROOT_DIR="${SCRIPT_DIR}/.."
CHART_PATH="${ROOT_DIR}/k8s/monitoring/charts/kube-prometheus-stack-75.12.0.tgz"
OUTPUT_FILE="${ROOT_DIR}/k8s/crds/all-crds.yaml"
TEMP_DIR=$(mktemp -d)
echo "Extracting CRDs from ${CHART_PATH}..."
# Extract the chart to a temporary directory
tar -xf "${CHART_PATH}" -C "${TEMP_DIR}"
# Concatenate all CRDs into the output file
echo "# Generated by scripts/update-crds.sh" > "${OUTPUT_FILE}"
echo "# Source: kube-prometheus-stack-75.12.0.tgz" >> "${OUTPUT_FILE}"
# The CRDs are located in kube-prometheus-stack/charts/crds/crds/
CRD_DIR="${TEMP_DIR}/kube-prometheus-stack/charts/crds/crds"
if [ ! -d "${CRD_DIR}" ]; then
echo "Error: CRD directory not found at ${CRD_DIR}"
rm -rf "${TEMP_DIR}"
exit 1
fi
# Loop through yaml files and append them
for crd in "${CRD_DIR}"/*.yaml; do
echo "---" >> "${OUTPUT_FILE}"
cat "${crd}" >> "${OUTPUT_FILE}"
done
echo "CRDs updated in ${OUTPUT_FILE}"
# Cleanup
rm -rf "${TEMP_DIR}"