TF:=terraform SSH:=ssh USER_SSH_OPTS:= SSH_OPTS:=-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no $(USER_SSH_OPTS) RUN_EPOCH:=$(shell date +%s) .PHONY: all all: up .PHONY: rebuild rebuild: down up .PHONY: up up: plan $(TF) apply -auto-approve .PHONY: plan plan: $(TF) plan .PHONY: down down: $(TF) destroy -auto-approve .PHONY: ssh ssh: $(SSH) $(SSH_OPTS) root@`$(TF) output ipv4` attic: install -dm755 $@ .PHONY: backup backup: backup-history backup-ssl backup-gitea backup-syncthing .PHONY: backup-history backup-history: attic -$(SSH) $(SSH_OPTS) root@`$(TF) output ipv4` 'cat /root/.ash_history' > attic/.ash_history.$(RUN_EPOCH) [ -z attic/.ash_history.$(RUN_EPOCH) ] && rm attic/.ash_history.$(RUN_EPOCH) || ln -f attic/.ash_history.$(RUN_EPOCH) attic/.ash_history .PHONY: backup-gitea backup-gitea: attic $(SSH) $(SSH_OPTS) root@`$(TF) output ipv4` 'tar --exclude /var/lib/gitea/unix-domain-socket -cvJf - /var/lib/gitea /etc/gitea' > attic/gitea.txz.$(RUN_EPOCH) ln -f attic/gitea.txz.$(RUN_EPOCH) attic/gitea.txz .PHONY: backup-ssl backup-ssl: attic $(SSH) $(SSH_OPTS) root@`$(TF) output ipv4` 'tar cvJf - /etc/ssl/uacme' > attic/uacme.txz.$(RUN_EPOCH) ln -f attic/uacme.txz.$(RUN_EPOCH) attic/uacme.txz .PHONY: backup-syncthing backup-syncthing: attic $(SSH) $(SSH_OPTS) root@`$(TF) output ipv4` 'tar cvJf - /var/lib/syncthing' > attic/syncthing.txz.$(RUN_EPOCH) ln -f attic/syncthing.txz.$(RUN_EPOCH) attic/syncthing.txz