You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
2.5 KiB
YAML
114 lines
2.5 KiB
YAML
---
|
|
- name: Update packages and ensure users on all hosts.
|
|
hosts: all
|
|
become: true
|
|
pre_tasks:
|
|
- name: Update Packages
|
|
ansible.builtin.apt:
|
|
upgrade: dist
|
|
update_cache: true
|
|
roles:
|
|
- role: setup_users
|
|
|
|
|
|
- name: Configure mergerfs pools.
|
|
hosts: mergerfs
|
|
become: true
|
|
roles:
|
|
- role: setup_mergerfs
|
|
tags: [mergerfs]
|
|
|
|
- name: Configure samba shares.
|
|
hosts: all
|
|
become: true
|
|
roles:
|
|
- role: geerlingguy.samba
|
|
tags: [samba]
|
|
|
|
- name: Configure samba shares.
|
|
hosts: samba
|
|
become: true
|
|
roles:
|
|
- role: setup_samba
|
|
tags: [samba]
|
|
|
|
- name: Samba Clients
|
|
hosts: sambaclients
|
|
become: true
|
|
tags: [samba]
|
|
pre_tasks:
|
|
- name: Include vault variables.
|
|
ansible.builtin.include_vars: '../{{ vault_file }}'
|
|
tags: [always]
|
|
tasks:
|
|
- name: Install CIFS and other required packages for mounting with apt
|
|
apt:
|
|
name: "{{ item }}"
|
|
state: present
|
|
with_items:
|
|
- smbclient
|
|
- cifs-utils
|
|
|
|
- name: Check mountpoint exists.
|
|
ansible.builtin.file:
|
|
path: "/mnt/mergerfs"
|
|
state: directory
|
|
mode: '0777'
|
|
owner: root
|
|
group: root
|
|
|
|
- name: Check mountpoint exists.
|
|
ansible.builtin.file:
|
|
path: "/mnt/ssd0/downloads"
|
|
state: directory
|
|
mode: '0777'
|
|
owner: root
|
|
group: root
|
|
|
|
- name: Mount shares.
|
|
mount:
|
|
state: "mounted"
|
|
fstype: "cifs"
|
|
path: /mnt/mergerfs
|
|
src: '//192.168.178.42/mergerfs'
|
|
opts: 'username=cianhatton,password={{ cianhatton_password }},dir_mode=0777,file_mode=0777,umask=0000'
|
|
|
|
- name: Mount shares.
|
|
mount:
|
|
state: "mounted"
|
|
fstype: "cifs"
|
|
path: /mnt/ssd0/downloads
|
|
src: '//192.168.178.42/downloads'
|
|
opts: 'username=cianhatton,password={{ cianhatton_password }},dir_mode=0777,file_mode=0777,umask=0000'
|
|
|
|
- name: Install Docker on Docker hosts.
|
|
hosts: docker
|
|
become: true
|
|
roles:
|
|
- geerlingguy.pip
|
|
- geerlingguy.docker
|
|
|
|
|
|
- name: Install Portainer on Portainer host.
|
|
hosts: portainer
|
|
become: true
|
|
pre_tasks:
|
|
- name: Include vault variables.
|
|
ansible.builtin.include_vars: '../{{ vault_file }}'
|
|
tags: [always]
|
|
roles:
|
|
- role: setup_portainer
|
|
tags: [services, portainer]
|
|
|
|
|
|
- name: Setup and deploy services.
|
|
hosts: servers
|
|
become: true
|
|
pre_tasks:
|
|
- name: Include vault variables.
|
|
ansible.builtin.include_vars: '../{{ vault_file }}'
|
|
tags: [always]
|
|
roles:
|
|
- role: setup_hosted_services
|
|
tags: [services]
|