2024-11-12 14:08:53 +01:00
|
|
|
.PHONY: all deploy check clean create
|
2024-11-08 20:08:56 +01:00
|
|
|
|
2024-11-12 14:08:53 +01:00
|
|
|
TOKEN = $(shell ansible-vault decrypt --vault-password-file \
|
|
|
|
|
~/.config/ansible/hcloud.secret --output - group_vars/all/vars.yaml | cut -d' ' -f2)
|
2024-11-08 20:08:56 +01:00
|
|
|
|
2024-11-12 14:08:53 +01:00
|
|
|
SNAPSHOT = $(shell hcloud image list -t snapshot -o yaml | \
|
|
|
|
|
yq '. | map(select(.description == "FreeBSD-14.1-RELEASE-hcloud-init")) | .[].id')
|
2024-11-11 19:28:55 +01:00
|
|
|
|
2024-11-12 14:08:53 +01:00
|
|
|
CREATE_COMMAND = ansible-playbook create.yaml -i inventory
|
2024-11-11 19:28:55 +01:00
|
|
|
DEPLOY_COMMAND = ansible-playbook deploy.yaml -i inventory
|
|
|
|
|
CLEAN_COMMAND = ansible-playbook cleanup.yaml -i inventory
|
2024-11-12 14:08:53 +01:00
|
|
|
HOSTS_COMMAND = ansible-playbook knownhosts.yaml -i inventory
|
2024-11-06 19:51:04 +01:00
|
|
|
|
2024-11-12 14:08:53 +01:00
|
|
|
ENV = HCLOUD_TOKEN="$(TOKEN)" SNAPSHOT="$(SNAPSHOT)" ANSIBLE_VERBOSITY=$(verbose)
|
2024-11-08 20:08:56 +01:00
|
|
|
|
2024-11-12 14:08:53 +01:00
|
|
|
create:
|
|
|
|
|
$(ENV) $(CREATE_COMMAND)
|
2024-11-08 20:08:56 +01:00
|
|
|
|
2024-11-12 14:08:53 +01:00
|
|
|
hosts:
|
|
|
|
|
$(ENV) $(HOSTS_COMMAND)
|
2024-11-08 20:08:56 +01:00
|
|
|
|
2024-11-12 14:08:53 +01:00
|
|
|
deploy: create
|
|
|
|
|
$(ENV) $(DEPLOY_COMMAND)
|
2024-11-11 19:28:55 +01:00
|
|
|
|
|
|
|
|
clean:
|
|
|
|
|
$(ENV) $(CLEAN_COMMAND)
|
|
|
|
|
|
2024-11-06 19:51:04 +01:00
|
|
|
check:
|
2024-11-08 20:08:56 +01:00
|
|
|
ansible-playbook -vvv --ask-vault-pass deploy.yaml -i inventory --syntax-check
|