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." }