@installdoc/ansible-gas-station
Version:
An Ansible playbook that provisions your network with software from GitHub Awesome lists, developed with disaster recovery in mind ⛽🔥🤤
58 lines (50 loc) • 1.41 kB
YAML
- name: "Ensure {{ app_name }}'s dependencies are installed"
dnf:
name: "{{ sanoid_dependencies }}"
state: "{{ app_state | default('present') }}"
update_cache: "{{ omit if skip_package_cache_update is defined else 'true' }}"
- name: "Ensure {{ app_name }}'s source directory is present"
file:
mode: 0755
path: "{{ sanoid_src_dir }}"
state: directory
- name: "Ensure {{ app_name }}'s source is cloned and up-to-date"
git:
dest: "{{ sanoid_src_dir }}"
repo: "{{ sanoid_git_url }}"
version: master
register: sanoid_git
- name: Copy the executables
copy:
src: "{{ item }}"
dest: /usr/local/sbin/
mode: preserve
remote_src: true
loop:
- "{{ sanoid_src_dir }}/sanoid"
- "{{ sanoid_src_dir }}/syncoid"
- "{{ sanoid_src_dir }}/findoid"
- "{{ sanoid_src_dir }}/sleepymutex"
- name: Ensure /etc/sanoid directory exists
file:
path: /etc/sanoid
mode: 0755
state: directory
- name: Copy sanoid.defaults.conf to /etc/sanoid
copy:
src: "{{ sanoid_src_dir }}/sanoid.defaults.conf"
dest: /etc/sanoid/
mode: preserve
remote_src: true
- name: Setup Systemd Services and Timers
copy:
src: "{{ item }}"
dest: /etc/systemd/system/
mode: 0644
loop:
- sanoid.service
- sanoid.timer
- sanoid-prune.service
- name: Run generic configuration tasks
include_tasks: config-Linux.yml