From fac15bfe4fc3849ff83ed513763f17e7a65ee061 Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Wed, 3 Apr 2024 13:24:47 +0200 Subject: Absort k3s-master into master --- playbooks.d/k3s-master | 1 - playbooks.d/k3s-master/description.txt | 1 + playbooks.d/k3s-master/etc/defaults | 4 +++ playbooks.d/k3s-master/etc/os.d/linux-gentoo | 2 ++ playbooks.d/k3s-master/playbook.bash | 54 ++++++++++++++++++++++++++++ 5 files changed, 61 insertions(+), 1 deletion(-) delete mode 160000 playbooks.d/k3s-master create mode 100644 playbooks.d/k3s-master/description.txt create mode 100644 playbooks.d/k3s-master/etc/defaults create mode 100644 playbooks.d/k3s-master/etc/os.d/linux-gentoo create mode 100644 playbooks.d/k3s-master/playbook.bash diff --git a/playbooks.d/k3s-master b/playbooks.d/k3s-master deleted file mode 160000 index 27d48e4..0000000 --- a/playbooks.d/k3s-master +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 27d48e4dec3e2eee30d6000f16dc7eb8f67b85eb diff --git a/playbooks.d/k3s-master/description.txt b/playbooks.d/k3s-master/description.txt new file mode 100644 index 0000000..bf1fbab --- /dev/null +++ b/playbooks.d/k3s-master/description.txt @@ -0,0 +1 @@ +Playbook for a k3s node diff --git a/playbooks.d/k3s-master/etc/defaults b/playbooks.d/k3s-master/etc/defaults new file mode 100644 index 0000000..3cbca90 --- /dev/null +++ b/playbooks.d/k3s-master/etc/defaults @@ -0,0 +1,4 @@ +pkg.curl=curl +pkg.kubectl=kubectl +pkg.nfs-common=nfs-common +pkg.open-iscsi=open-iscsi diff --git a/playbooks.d/k3s-master/etc/os.d/linux-gentoo b/playbooks.d/k3s-master/etc/os.d/linux-gentoo new file mode 100644 index 0000000..5e7bc08 --- /dev/null +++ b/playbooks.d/k3s-master/etc/os.d/linux-gentoo @@ -0,0 +1,2 @@ +pkg.nfs-common=net-fs/nfs-utils +pkg.open-iscsi=sys-block/open-iscsi diff --git a/playbooks.d/k3s-master/playbook.bash b/playbooks.d/k3s-master/playbook.bash new file mode 100644 index 0000000..be24f36 --- /dev/null +++ b/playbooks.d/k3s-master/playbook.bash @@ -0,0 +1,54 @@ +#!/usr/bin/env bash + +playbook_add() { + pkg install curl + + info "$BASHTARD_PLAYBOOK/add" "Writing config.yaml for k3s" + mkdir -pv -- /etc/rancher/k3s + cat <<-EOF > /etc/rancher/k3s/config.yaml + node-name: "${BASHTARD_PLATFORM[fqdn]}" + node-ip: "$(config "$BASHTARD_PLAYBOOK.internal-ip" "127.0.0.1")" + bind-address: "$(config "$BASHTARD_PLAYBOOK.bind-address" "0.0.0.0")" + cluster-cidr: "$(config "$BASHTARD_PLAYBOOK.cluster-cidr" "172.19.0.0/16")" + service-cidr: "$(config "$BASHTARD_PLAYBOOK.service-cidr" "172.20.0.0/16")" + cluster-domain: "$(config "$BASHTARD_PLAYBOOK.cluster-domain" "cluster.local")" + service-node-port-range: "$(config "$BASHTARD_PLAYBOOK.service-node-port-min" "30000")-$(config "$BASHTARD_PLAYBOOK.service-node-port-max" "32767")" + flannel-ipv6-masq: true + disable: + - traefik + EOF + + if [[ -n "$(config "$BASHTARD_PLAYBOOK.external-ip" "")" ]] + then + printf "%s: %s\n" "node-external-ip" "$(config "$BASHTARD_PLAYBOOK.external-ip" "")"\ + >> /etc/rancher/k3s/config.yaml + fi + + info "$BASHTARD_PLAYBOOK/add" "Installing k3s" + curl -sfL https://get.k3s.io | sh -s - server --cluster-init # I hate this + + notice "$BASHTARD_PLAYBOOK/add" "Creating data directories" + mkdir -pv -- "$(playbook_path "data")/manifests.d" + + notice "$BASHTARD_PLAYBOOK/add" "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 kubeconfig + local manifest_prefix + local values + + data="$(playbook_path "data")" + kubeconfig="$(config "fs.etcdir")/rancher/k3s/k3s.yaml" + + notice "$BASHTARD_PLAYBOOK/sync" "Applying manifests.d" + kubectl --kubeconfig "$kubeconfig" apply --recursive --filename "$data/manifests.d" || true +} + +playbook_del() { + /usr/local/bin/k3s-uninstall.sh +} -- cgit v1.1