65 lines
2.2 KiB
Bash
Executable File
65 lines
2.2 KiB
Bash
Executable File
up() {
|
|
echo "Deploying the homelab infrastructure..."
|
|
|
|
cd bootstrap/cluster
|
|
tofu init
|
|
tofu apply -auto-approve
|
|
|
|
cd ../platform
|
|
tofu init
|
|
tofu apply -auto-approve
|
|
|
|
cd ../apps
|
|
tofu init
|
|
tofu apply -auto-approve
|
|
|
|
cd ../..
|
|
echo "Deployment successfully completed!"
|
|
}
|
|
|
|
nuke() {
|
|
echo "Brutally nuking the homelab infrastructure..."
|
|
|
|
echo "--> Terminating local OpenTofu tasks..."
|
|
killall tofu terraform 2>/dev/null || true
|
|
|
|
echo "--> Eviscerating local Kubernetes components (Laptop)..."
|
|
sudo kubeadm reset --force || true
|
|
sudo systemctl stop containerd 2>/dev/null || true
|
|
sudo killall containerd-shim-runc-v2 2>/dev/null || true
|
|
|
|
sudo umount /var/lib/containerd/srun/* 2>/dev/null || true
|
|
sudo rm -rf /var/lib/containerd/* /run/containerd/*
|
|
sudo rm -rf /etc/kubernetes/ /var/lib/etcd/ /var/lib/kubelet/ /var/lib/cni/ /etc/cni/net.d /home/jv/.kube/
|
|
|
|
sudo iptables -F && sudo iptables -t nat -F && sudo iptables -t mangle -F && sudo iptables -X
|
|
sudo ip link delete cilium_host 2>/dev/null || true
|
|
sudo ip link delete cilium_net 2>/dev/null || true
|
|
sudo ip link delete cilium_vxlan 2>/dev/null || true
|
|
|
|
sudo systemctl start containerd
|
|
|
|
echo "--> Eviscerating remote Kubernetes components (Raspberry Pi)..."
|
|
ssh -o ConnectTimeout=5 jv@192.168.100.89 << 'EOF' 2>/dev/null || true
|
|
sudo kubeadm reset --force
|
|
sudo killall containerd-shim-runc-v2 2>/dev/null || true
|
|
sudo rm -rf /var/lib/kubelet/ /var/lib/cni/ /etc/cni/net.d /var/lib/containerd/*
|
|
sudo iptables -F && sudo iptables -t nat -F && sudo iptables -t mangle -F && sudo iptables -X
|
|
EOF
|
|
|
|
echo "--> Deleting OpenTofu tracking state files..."
|
|
rm -rf bootstrap/cluster/terraform.tfstate*
|
|
rm -rf bootstrap/cluster/.terraform/
|
|
rm -rf bootstrap/cluster/.terraform.lock.hcl
|
|
|
|
rm -rf bootstrap/platform/terraform.tfstate*
|
|
rm -rf bootstrap/platform/.terraform/
|
|
rm -rf bootstrap/platform/.terraform.lock.hcl
|
|
|
|
rm -rf bootstrap/apps/terraform.tfstate*
|
|
rm -rf bootstrap/apps/.terraform/
|
|
rm -rf bootstrap/apps/.terraform.lock.hcl
|
|
|
|
echo "Destruction complete! Your hardware is completely sanitized."
|
|
}
|