summaryrefslogtreecommitdiff
path: root/playbooks.d/k3s-master/playbook.bash
diff options
context:
space:
mode:
Diffstat (limited to 'playbooks.d/k3s-master/playbook.bash')
-rw-r--r--playbooks.d/k3s-master/playbook.bash91
1 files changed, 0 insertions, 91 deletions
diff --git a/playbooks.d/k3s-master/playbook.bash b/playbooks.d/k3s-master/playbook.bash
deleted file mode 100644
index a2a301b..0000000
--- a/playbooks.d/k3s-master/playbook.bash
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/usr/bin/env bash
-
-playbook_add() {
- pkg install curl
-
- case "${BASHTARD_PLATFORM[key]}" in
- linux-debian|linux-ubuntu)
- info "$BASHTARD_PLAYBOOK" "Configure package manager repositories"
- curl https://baltocdn.com/helm/signing.asc | gpg --dearmor > /usr/share/keyrings/helm.gpg
- printf "deb [arch=%s signed-by=%s] %s all main\n" \
- "$(dpkg --print-architecture)" \
- "/usr/share/keyrings/helm.gpg" \
- "https://baltocdn.com/helm/stable/debian/" \
- > "/etc/apt/sources.list.d/$BASHTARD_PLAYBOOK.list"
- apt update
- ;;
- esac
-
- info "$BASHTARD_PLAYBOOK" "Installing additional programs"
- pkg install helm
-
- info "$BASHTARD_PLAYBOOK" "Writing config.yaml for k3s"
- mkdir -pv -- /etc/rancher/k3s
- cat <<-EOF > /etc/rancher/k3s/config.yaml
- node-name: "${BASHTARD_PLATFORM[fqdn]}"
- cluster-cidr: 172.19.0.0/16
- service-cidr: 172.20.0.0/16
- cluster-domain: cluster.local
- EOF
-
- info "$BASHTARD_PLAYBOOK" "Installing k3s"
- curl -sfL https://get.k3s.io | sh - # I hate this
-
- notice "$BASHTARD_PLAYBOOK" "Creating data directories"
- mkdir -pv -- "$(playbook_path "data")/manifests.d"
- mkdir -pv -- "$(playbook_path "data")/helm.d"
-
- notice "$BASHTARD_PLAYBOOK" "Waiting for node to become available"
- { grep -q -m 1 "${BASHTARD_PLATFORM[fqdn]}[[:space:]]\+Ready"; kill $!; } < <(k3s kubectl get node -w)
-
- playbook_sync
-}
-
-playbook_sync() {
- local data
- local helm_cmd
- local kubeconfig
-
- data="$(playbook_path "data")"
- kubeconfig="$(config "fs.etcdir")/rancher/k3s/k3s.yaml"
-
- notice "$BASHTARD_PLAYBOOK/manifests" "Applying manifests.d"
- kubectl --kubeconfig "$kubeconfig" apply --recursive --filename "$data/manifests.d"
-
- notice "$BASHTARD_PLAYBOOK/helm" "Ensure all Helm repos exist"
- while read -r repo
- do
- helm repo add "$repo" "$(config "$BASHTARD_PLAYBOOK.helm.repos.$repo.url")"
- done < <(config_subkeys "$BASHTARD_PLAYBOOK.helm.repos")
-
- notice "$BASHTARD_PLAYBOOK/helm" "Updating Helm repository contents"
- helm repo update
-
- notice "$BASHTARD_PLAYBOOK/helm" "Upgrading Helm charts"
- while read -r app
- do
- helm_cmd=(
- "helm" "upgrade"
- "--install"
- "--kubeconfig" "$kubeconfig"
- "--timeout" "$(config "$BASHTARD_PLAYBOOK.helm.timeout" "30s")"
- "--namespace" "$(config "$BASHTARD_PLAYBOOK.helm.apps.$app.namespace" "default")"
- )
-
- # Add values
- helm_cmd+=("--values" "$data/helm.d/$(config "$BASHTARD_PLAYBOOK.helm.apps.$app.values")")
-
- # Set which chart to upgrade
- helm_cmd+=("$app")
- helm_cmd+=("$(config "$BASHTARD_PLAYBOOK.helm.apps.$app.repo")/$(config "$BASHTARD_PLAYBOOK.helm.apps.$app.chart")")
-
- notice "$BASHTARD_PLAYBOOK/helm/$app" "> ${helm_cmd[*]}"
- ${helm_cmd[@]}
-
- unset helm_cmd
- done < <(config_subkeys "$BASHTARD_PLAYBOOK.helm.apps")
-}
-
-playbook_del() {
- /usr/local/bin/k3s-uninstall.sh
-}