diff --git a/Makefile b/Makefile index 6276d61..94f3fdf 100644 --- a/Makefile +++ b/Makefile @@ -33,3 +33,6 @@ backup: deps restore: deps ansible-playbook playbooks/restore-docker-volumes.yml + +cron: + ansible-playbook playbooks/setup-homelab.yml --tags cron diff --git a/playbooks/setup-homelab.yml b/playbooks/setup-homelab.yml index 9f97cf4..3d4ac3f 100644 --- a/playbooks/setup-homelab.yml +++ b/playbooks/setup-homelab.yml @@ -23,7 +23,7 @@ become: true pre_tasks: - name: Include vault variables. - include_vars: '../{{vault_file}}' + include_vars: '../{{ vault_file }}' tags: [always] roles: @@ -42,7 +42,7 @@ pre_tasks: - name: Include vault variables. - include_vars: '../{{vault_file}}' + include_vars: '../{{ vault_file }}' tags: [always] roles: diff --git a/roles/bootstrap/tasks/main.yml b/roles/bootstrap/tasks/main.yml index 8512ab4..c382ae3 100644 --- a/roles/bootstrap/tasks/main.yml +++ b/roles/bootstrap/tasks/main.yml @@ -7,7 +7,7 @@ user: name: ansible groups: root - system: true + shell: /bin/bash - name: Add ssh key for ansible authorized_key: diff --git a/roles/setup_hosted_services/tasks/main.yml b/roles/setup_hosted_services/tasks/main.yml index 8204f9a..3b0be00 100644 --- a/roles/setup_hosted_services/tasks/main.yml +++ b/roles/setup_hosted_services/tasks/main.yml @@ -105,16 +105,25 @@ state: present with_items: '{{services}}' + +- name: Install Ansible pull + tags: ["cron"] + ansible.builtin.pip: + name: + - ansible + +# TODO: need to specify ansible pull directly, it doesn't find it when it's in PATH - name: Ensure Nightly Cron Backups tags: ["cron"] ansible.builtin.cron: name: backup docker volumes (nightly) weekday: "0" minute: "0" - hour: "3" - user: ansible - job: "ansible-pull -U https://github.com/chatton/ansible-homelab playbooks/backup-docker-volumes.yml -e schedule=nightly >> /home/cianhatton/logs/nightly.log 2>&1" + hour: "4" + user: "{{ homelab_user }}" + job: "/home/{{ homelab_user }}/.local/bin/ansible-pull -U https://github.com/chatton/ansible-homelab playbooks/backup-docker-volumes.yml -e schedule=nightly >> ~/logs/nightly.log 2>&1" cron_file: ansible_nightly_docker_volume_backup + state: present - name: Ensure Monthly Cron Backups tags: ["cron"] @@ -122,6 +131,7 @@ name: backup docker volumes (monthly) month: "*" day : "1" - user: ansible - job: "ansible-pull -U https://github.com/chatton/ansible-homelab playbooks/backup-docker-volumes.yml -e schedule=monthly >> /home/cianhatton/logs/monthly.log 2>&1" + user: "{{ homelab_user }}" + job: "/home/{{ homelab_user }}/.local/bin/ansible-pull -U https://github.com/chatton/ansible-homelab playbooks/backup-docker-volumes.yml -e schedule=monthly >> ~/logs/monthly.log 2>&1" cron_file: ansible_monthly_docker_volume_backup + state: present