Files
platform/charts/config.sh
2020-11-06 10:17:11 +01:00

46 lines
938 B
Bash
Executable File

#!/usr/bin/env bash
vars=(
initca="replace_me"
apiserver="replace_me"
cluster="replace_me"
ingress_nodes="[ replace_me"
ingress_replica_count="replace_me"
filseserver="replace_me"
acme_email="replace_me"
grafana_smtp_user="replace_me"
grafana_smtp_password="replace_me"
)
substitute_all () {
read x
subs=("$@")
for i in "${subs[@]}"; do
k=$(echo "$i" | cut -d= -f1)
v=$(echo "$i" | cut -d= -f2)
echo "$x" | sed "s/@$k@/$v/g"
done
}
substitute_defaults () {
substitute_all "${vars[@]}"
}
kubectl_apply () {
read x
namespace=$1; shift
kubectl get ns $namespace 2>&1 >/dev/null || kubectl create ns $namespace
cat $x | substitute_defaults | kubectl -n $namespace apply -f -
}
kubectl_apply_files () {
namespace=$1; shift
charts=("$@")
for i in "${charts[@]}"; do
cat $i | kubectl_apply $namespace
done
}
# vim:ft=sh