charts/hack/gen-chart-summary.sh
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs 5fe9446653
[meta] Generate charts summary page (#982)
* [meta] Generate charts summary page

Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2021-06-11 17:09:14 +02:00

42 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
set -e
# require yq
command -v yq >/dev/null 2>&1 || {
echo >&2 "yq (https://github.com/mikefarah/yq) is not installed. Aborting."
exit 1
}
# Absolute path of repository
repository=$(git rev-parse --show-toplevel)
charts_folder="${repository}/charts"
charts_summary_file="${charts_folder}"/README.md
# Gather all charts using the common library, excluding common-test
incubator_charts=$(find "${charts_folder}/incubator" -name "Chart.yaml" | sort)
stable_charts=$(find "${charts_folder}/stable" -name "Chart.yaml" | sort)
echo "# Helm charts overview" > "${charts_summary_file}"
echo "### Stable charts:" >> "${charts_summary_file}"
echo "| Chart | Description |" >> "${charts_summary_file}"
echo "| ----- | ----------- |" >> "${charts_summary_file}"
for i in ${stable_charts[@]}
do
chart_data=($(yq eval '.name, .description' "$i"))
chart_name="${chart_data[0]}"
chart_description="${chart_data[@]:1}"
echo "| [${chart_name}](stable/${chart_name}) | ${chart_description} |" >> "${charts_summary_file}"
done
echo "### Incubator charts:" >> "${charts_summary_file}"
echo "| Chart | Description |" >> "${charts_summary_file}"
echo "| ----- | ----------- |" >> "${charts_summary_file}"
for i in ${incubator_charts[@]}
do
chart_data=($(yq eval '.name, .description' "$i"))
chart_name="${chart_data[0]}"
chart_description="${chart_data[@]:1}"
echo "| [${chart_name}](incubator/${chart_name}) | ${chart_description} |" >> "${charts_summary_file}"
done