Files
homelab-infrastructure/Justfile
T

36 lines
1.3 KiB
Makefile

#!/usr/bin/env just
opentofu_dir := "infra/"
ansible_proton_pass_plugin_ref := "4bd0741c347646060ec59c73f8adf7ed8e706cf3"
ansible_proton_pass_plugin_url := "https://raw.githubusercontent.com/protonpass/proton-pass-ansible-integration/" + ansible_proton_pass_plugin_ref + "/lookup_plugins/proton_pass.py"
up: tofu-apply ansible-run-playbook
down: tofu-destroy
tofu-init:
tofu -chdir={{ opentofu_dir }} init -upgrade
tofu-apply: tofu-init
tofu -chdir={{ opentofu_dir }} apply -auto-approve
tofu-destroy: tofu-init
tofu -chdir={{ opentofu_dir }} apply -auto-approve -destroy
tofu-destroy-instances:
tofu -chdir={{ opentofu_dir }} apply -auto-approve -destroy -target=module.master -target=module.worker
ansible-run-playbook:
ansible-playbook -i ansible/inventories/incus/incus.yaml -c community.general.incus ansible/playbooks/provisioning.yaml -e ansible_user=root
ansible-playbook -i ansible/inventories/incus/incus.yaml -c community.general.incus ansible/site.yaml
headlamp:
incus exec master-0 -- cat /etc/kubernetes/admin.conf > .incus-admin.conf
flatpak run io.kinvolk.Headlamp --kubeconfig "$(pwd)/.incus-admin.conf"
clean: tofu-destroy
git clean -fdx
fetch-plugins:
mkdir -p ansible/lookup_plugins
curl -fsSL -o ansible/lookup_plugins/proton_pass.py {{ ansible_proton_pass_plugin_url }}