feat(Makefile): Add up target with installation state detection

This commit is contained in:
Tanguy Herbron 2023-11-10 21:50:45 +01:00
parent 625c2c0433
commit 34ffb7fd14

View File

@ -1,18 +1,35 @@
up:
@echo "Checking for Homelab installation..."
@vagrant status | grep "not created" > /dev/null; \
if [ "$$?" -gt 0 ]; then \
echo "Installation found, bringing it up..."; \
vagrant up; \
else \
echo "No Homelab installation found or missing components, creating..."; \
$(MAKE) install_vb; \
fi
install_vb: install_vb:
vagrant up @echo "Creating components..."
cd ansible && ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -i ../inventory/lab.yml -i ../inventory/outsider.yml init.yml --extra-vars "enable_setup=true enable_wireguard=true enable_k3s=true" @vagrant up
make get_k3s_credentials @echo "Installing k3s backbone configuration..."
@cd ansible && ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -i ../inventory/lab.yml -i ../inventory/outsider.yml init.yml --extra-vars "enable_setup=true enable_wireguard=true enable_k3s=true"
@make get_k3s_credentials
k3s_reset: k3s_reset:
cd ansible && ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -i ../inventory/lab.yml -i ../inventory/outsider.yml k3s-ansible/reset.yml @echo "Resetting k3s configuration..."
cd ansible && ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -i ../inventory/lab.yml -i ../inventory/outsider.yml init.yml --extra-vars "enable_setup=true enable_wireguard=true enable_k3s=true" @cd ansible && ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -i ../inventory/lab.yml -i ../inventory/outsider.yml k3s-ansible/reset.yml
make get_k3s_credentials @cd ansible && ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -i ../inventory/lab.yml -i ../inventory/outsider.yml init.yml --extra-vars "enable_setup=true enable_wireguard=true enable_k3s=true"
@make get_k3s_credentials
destroy: destroy:
vagrant destroy -f @echo "Destroy Homelab installation..."
@vagrant destroy -f
get_k3s_credentials: get_k3s_credentials:
vagrant ssh -c "sudo cat /home/creator/.kube/config" hb-wide-1 > ~/.kube/config-halia @echo "Retrieving k3s credentials locally..."
sed -i 's/10.20.*:/192.168.56.101:/g' ~/.kube/config-halia @vagrant ssh -c "sudo cat /home/creator/.kube/config" hb-wide-1 > ~/.kube/config-halia
kube-merge @sed -i 's/10.20.*:/192.168.56.101:/g' ~/.kube/config-halia
kubectl get nodes --context halia @kube-merge
@kubectl get nodes --context halia