Automation and setup for sites I own.
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 
 

54 рядки
1.4 KiB

  1. TF:=terraform
  2. SSH:=ssh
  3. USER_SSH_OPTS:=
  4. SSH_OPTS:=-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no $(USER_SSH_OPTS)
  5. RUN_EPOCH:=$(shell date +%s)
  6. .PHONY: all
  7. all: up
  8. .PHONY: rebuild
  9. rebuild: down up
  10. .PHONY: up
  11. up: plan
  12. $(TF) apply -auto-approve
  13. .PHONY: plan
  14. plan:
  15. $(TF) plan
  16. .PHONY: down
  17. down:
  18. $(TF) destroy -auto-approve
  19. .PHONY: ssh
  20. ssh:
  21. $(SSH) $(SSH_OPTS) root@`$(TF) output ipv4`
  22. attic:
  23. install -dm755 $@
  24. .PHONY: backup
  25. backup: backup-history backup-ssl backup-gitea backup-syncthing
  26. .PHONY: backup-history
  27. backup-history: attic
  28. -$(SSH) $(SSH_OPTS) root@`$(TF) output ipv4` 'cat /root/.ash_history' > attic/.ash_history.$(RUN_EPOCH)
  29. [ -z attic/.ash_history.$(RUN_EPOCH) ] && rm attic/.ash_history.$(RUN_EPOCH) || ln -f attic/.ash_history.$(RUN_EPOCH) attic/.ash_history
  30. .PHONY: backup-gitea
  31. backup-gitea: attic
  32. $(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)
  33. ln -f attic/gitea.txz.$(RUN_EPOCH) attic/gitea.txz
  34. .PHONY: backup-ssl
  35. backup-ssl: attic
  36. $(SSH) $(SSH_OPTS) root@`$(TF) output ipv4` 'tar cvJf - /etc/ssl/uacme' > attic/uacme.txz.$(RUN_EPOCH)
  37. ln -f attic/uacme.txz.$(RUN_EPOCH) attic/uacme.txz
  38. .PHONY: backup-syncthing
  39. backup-syncthing: attic
  40. $(SSH) $(SSH_OPTS) root@`$(TF) output ipv4` 'tar cvJf - /var/lib/syncthing' > attic/syncthing.txz.$(RUN_EPOCH)
  41. ln -f attic/syncthing.txz.$(RUN_EPOCH) attic/syncthing.txz