Make copy charts script backup old charts
This commit is contained in:
@@ -5,6 +5,8 @@ let
|
|||||||
|
|
||||||
pki = import ./pki.nix { inherit pkgs; ca = cfg.initca; };
|
pki = import ./pki.nix { inherit pkgs; ca = cfg.initca; };
|
||||||
|
|
||||||
|
linkerd-certs = import ./linkerd-certs.nix { inherit pkgs; };
|
||||||
|
|
||||||
masterAddress = cfg.k8s.master.address;
|
masterAddress = cfg.k8s.master.address;
|
||||||
|
|
||||||
apiserverAddress = "https://${masterAddress}:4443";
|
apiserverAddress = "https://${masterAddress}:4443";
|
||||||
@@ -43,7 +45,6 @@ let
|
|||||||
# $(date)
|
# $(date)
|
||||||
# Charts in ${kubernetes-charts}/share/kubernetes-charts
|
# Charts in ${kubernetes-charts}/share/kubernetes-charts
|
||||||
|
|
||||||
|
|
||||||
vars=(
|
vars=(
|
||||||
initca="${pki.initca}"
|
initca="${pki.initca}"
|
||||||
apiserver="${cfg.k8s.master.name}"
|
apiserver="${cfg.k8s.master.name}"
|
||||||
@@ -54,10 +55,14 @@ let
|
|||||||
acme_email="${cfg.k8s.charts.acme_email}"
|
acme_email="${cfg.k8s.charts.acme_email}"
|
||||||
grafana_smtp_user="$(echo -n ${cfg.k8s.charts.grafana_smtp_user} | base64 -w0)"
|
grafana_smtp_user="$(echo -n ${cfg.k8s.charts.grafana_smtp_user} | base64 -w0)"
|
||||||
grafana_smtp_password="$(echo -n ${cfg.k8s.charts.grafana_smtp_password} | base64 -w0)"
|
grafana_smtp_password="$(echo -n ${cfg.k8s.charts.grafana_smtp_password} | base64 -w0)"
|
||||||
|
linkerd_identity_ca="${linkerd-certs.identity}"
|
||||||
|
linkerd_webhook_ca="${linkerd-certs.webhook}"
|
||||||
)
|
)
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
cat << '"'"'EOF'"'"'
|
cat << '"'"'EOF'"'"'
|
||||||
|
apply=''${KUBECTL_CMD:-apply}
|
||||||
|
|
||||||
substitute_all () {
|
substitute_all () {
|
||||||
local x i k v subs
|
local x i k v subs
|
||||||
x="$(</dev/stdin)"
|
x="$(</dev/stdin)"
|
||||||
@@ -84,36 +89,35 @@ let
|
|||||||
}
|
}
|
||||||
|
|
||||||
kubectl_apply () {
|
kubectl_apply () {
|
||||||
local x namespace
|
local x
|
||||||
namespace="$1"; shift
|
|
||||||
x="$(</dev/stdin)"
|
x="$(</dev/stdin)"
|
||||||
create_namespace $namespace
|
create_namespace
|
||||||
echo "$x" | \
|
echo "$x" | \
|
||||||
substitute_defaults | \
|
substitute_defaults | \
|
||||||
kubectl -n $namespace apply $@ -f -
|
kubectl -n $namespace $apply $@ -f -
|
||||||
}
|
}
|
||||||
|
|
||||||
kubectl_apply_files () {
|
kubectl_apply_files () {
|
||||||
local i namespace charts
|
local i charts
|
||||||
namespace=$1; shift
|
|
||||||
charts=("$@")
|
charts=("$@")
|
||||||
for i in "''${charts[@]}"; do
|
for i in "''${charts[@]}"; do
|
||||||
cat "$i" | kubectl_apply $namespace
|
cat "$i" | kubectl_apply
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
helm_apply () {
|
helm_apply () {
|
||||||
local namespace name chart
|
local name chart
|
||||||
namespace="$1"
|
name="$1"
|
||||||
name="$2"
|
chart="$2"
|
||||||
chart="$3"
|
|
||||||
create_namespace $namespace
|
create_namespace $namespace
|
||||||
cat values.yaml | \
|
cat values.yaml | \
|
||||||
substitute_defaults | \
|
substitute_defaults | \
|
||||||
helm template -n $namespace -f- $name $chart | \
|
helm template -n $namespace -f- $name $chart | \
|
||||||
kubectl -n $namespace apply -f -
|
kubectl -n $namespace $apply -f -
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[ -z "$namespace" ] && echo "namespace must be set" && exit 1
|
||||||
|
export_vars
|
||||||
EOF
|
EOF
|
||||||
'';
|
'';
|
||||||
copy-kubernetes-charts = ''
|
copy-kubernetes-charts = ''
|
||||||
@@ -123,6 +127,8 @@ let
|
|||||||
else
|
else
|
||||||
dest=\$1
|
dest=\$1
|
||||||
fi
|
fi
|
||||||
|
[ -e $dest.bak ] && rm -rf $dest.bak
|
||||||
|
[ -e $dest ] && mv $dest $dest.bak
|
||||||
echo "Copying charts into \$dest"
|
echo "Copying charts into \$dest"
|
||||||
cp -r ${kubernetes-charts}/share/kubernetes-charts \$dest
|
cp -r ${kubernetes-charts}/share/kubernetes-charts \$dest
|
||||||
chown -R \$USER \$dest
|
chown -R \$USER \$dest
|
||||||
@@ -353,5 +359,6 @@ in {
|
|||||||
);
|
);
|
||||||
|
|
||||||
imports = [ ./os.nix ];
|
imports = [ ./os.nix ];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user