46 lines
938 B
Bash
Executable File
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
|
|
|