42 lines
738 B
Bash
Executable File
42 lines
738 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -o pipefail
|
|
|
|
cmd=$1
|
|
chart=$2
|
|
manifests=${4:-manifests}
|
|
outdir=${5:-_manifests}
|
|
|
|
build() {
|
|
mkdir -p "${outdir}"/templates
|
|
echo "Creating ${outdir}/templates"
|
|
|
|
echo "generating ${outdir}/Chart.yaml" 1>&2
|
|
|
|
cat <<EOF > "${outdir}"/Chart.yaml
|
|
apiVersion: v1
|
|
appVersion: "1.0"
|
|
# description: A Helm chart for Kubernetes
|
|
name: ${chart}
|
|
version: 0.1.0
|
|
EOF
|
|
|
|
if [[ -d "${manifests}" ]]; then
|
|
cp -r "${manifests}"/* "${outdir}"/templates
|
|
elif [[ -f "${manifests}" ]]; then
|
|
cp "${manifests}" "${outdir}"/templates
|
|
fi
|
|
}
|
|
|
|
clean() {
|
|
echo "cleaning ${outdir}" 1>&2
|
|
rm -rf "${outdir}"
|
|
}
|
|
|
|
case "${cmd}" in
|
|
"build" ) build ;;
|
|
"clean" ) clean ;;
|
|
* ) echo "unsupported command: ${cmd}" 1>&2; exit 1 ;;
|
|
esac
|
|
|